Software Engineer in Test (local or remote)

Monetas is looking for experienced software engineers to join the Q/A team. Responsibilities:

  • Build advanced automated test suites to exercise our digital finance platform
  • Work with the development teams to automate testing.
  • Analyze and decompose a complicated software system and design a strategy to test this system.

Desired Skills and Experience

  • BS in Computer Science or related technical field or equivalent practical experience.
  • Extensive knowledge of UNIX/Linux environments.
  • Excellent coding skills in Python (skills in C++ or Go are a bonus)
  • experience with automation in a cloud computing setting

If successful, you will be testing the software in the Open Transactions [1] and voting pools [2,3] eco-system.

NB: we are a distributed organisation and applications by remote candidates are welcome. We do not sponsor relocations to Switzerland at this time however.

[1] http://opentransactions.org/
[2] http://opentransactions.org/wiki/index.php?title=Category:Voting_Pools
[3] http://www.cryptocoinsnews.com/news/open-transactions-multisig-voting-pools/2014/05/23

To apply please send your CV to: careers AT monetas DOT net.

Looking for a senior test engineer

I am currently looking for a senior test engineer (in Zug or remotely) who is expected to lay the Q/A groundwork and establish automated software testing in our organisation.

Monetas is one of the hottest startup companies in the decentralised/crypto finance space. For more information about us please see a

To apply please send your CV to the following email: careers AT monetas DOT net. Thank you!

Looking for a seasoned computer security pro

Monetas is looking for an experienced computer security professional to

  • help secure our IT infrastructure
  • review and secure the tools and processes we use
  • provide security guidance and education to our product development team

This is a criticaly important position and hence can not be filled remotely. We are based in Zug, Switzerland and applicants need to be willing to operate from there.

Monetas is one of the hottest startup companies in the decentralised/crypto finance space. For more information about us please see a

To apply please send your CV to the following email: careers AT monetas DOT net. Thank you!

Exciting times ahead!

If you followed my tweets in the last couple of weeks you may have noticed a new interest of mine: crypto finance.

Decentralised/crypto finance facilitates fast, global and secure transactions without hold-ups at national boundaries and the need to trust third parties, governments or central banks.

This is powerful and bound to bring about change on the same scale as the internet IMHO.

I hence consider myself lucky to join the party as a director of engineering for Monetas, one of the hottest startup companies in the decentralised/crypto finance space.

Based on the open source http://opentransactions.org/ project started by Chris Odom Monetas is building a universal transaction platform that facilitates the trading of all kinds of commodities including bitcoin or any other crypto currencies.

If you’d like to learn more, see this short video on our vision or a more detailed/longer video on the problems Monetas is looking to solve and the benefits of the Open Transactions platform.

P.S.: you have strong C++ development or testing and Q/A chops and wanna change the world with us? Please send your CV to careers at monetas dot net.

Shifting gears

After almost 2 years with the OpenQuake project I will be joining Rackspace as a technical cloud advocate on 01-Nov-2012.

This is novel and exciting in many ways as I will have the opportunity to pursue long standing interests and passions (cloud computing, scalable and robust IT architectures, open source, strategic thinking, reaching out to technical audiences etc.) as part of my *day* job.

I am looking forward to working with the good folks at Rackspace, the cloud community at large and anybody interested in putting cloud technology to good use!

See you around!

EuroPython talk info

The slides from the EuroPython talk (python & amqp) I held this morning are here. I’ll post a link to the video when it becomes available.

There are two things I wanted to mention but did not get to:

  1. python-celery: if you are looking to partition and distribute computations do take a look at it. We are using it in the OpenQuake project and are very happy with it.
  2. RabbitMQ in Action: in case you are using RabbitMQ or plan to do so get this book. I started reading it recently and derived a lot of value from it.

How to dual-boot a stable/experimental system with minimal breakage

For a couple of years now I have been using a scheme that allows me to dual-boot a stable system (for work) and an experimental system (for fun) with minimal breakage.
Recent reports of people who upgraded their linux machines and ended up with a broken system prompted me to share it.

The idea is to divide your hard disk into at least 7 partitions

    root/usr system 1            12GB
    root/usr system 2            12GB
    /var partition system 1       6GB
    /var partition system 2       6GB
    shared /tmp partition         4GB
    shared swap partition         2GB
    shared home partition       100GB

Just in case you are wondering about the small partition sizes: I am using a 160 GB SSD. It was the best hardware investment in a long time and really makes a difference.
If you are using e.g. a 320/500GB hard disk feel free to double the partition sizes (and/or triple the size of the home partition).

When installing a new linux now only two partitions dedicated to that particular installation are needed:

  • a root/usr partition
  • a /var partition

All the others (/tmp, swap, and /home) are shared. This works particularly well when the two installed systems are reasonably similar (e.g. Ubuntu 10.10 and 11.04). What you can do with the set-up described above is a full/proper installation of the desired system as opposed to an upgrade.

Please note that backing up data you cannot afford to lose is a standard procedure before you tinker with your system (e.g. prior to OS installations and/or upgrades).

Sometimes the experimental system is so unstable that I use another technique: a chroot/schroot combination.

There was e.g. a period during which an installed Ubuntu 11.04 was “unusable” (for me) but I needed to run it for a number of reasons.
I resorted to running Ubuntu 10.10 as my main work system and having an 11.04 chroot. Entering the latter via the schroot utility made for a fairly seamless experience.

I hope this helps :-)