We are looking for a strong programmer for ongoing work implementing algorithms. You should be familiar with:
* common data structures like how binary trees, heaps, and hash tables work
* common algorithms like quicksort, dynamic programming
* how to compute computational complexity and optimize algorithms
* how to debug code and problem solve -- these algorithms are complex enough you won't always get it right the first time, so we'll need to work together to understand the problems and fix them.
The CEO will be designing the algorithms and sketching them out in psuedo code -- or you can help work together to design the algorithms if you are interested in the design phase as well. You will be responsible for implementing, testing and optimizing the algorithms, as well as inserting them into an existing code base with about 3k lines of code that you'll need to gain familiarity with.
You should be fluent in Python. It's helpful, but not required, to have experience programming in C and/or Rust. We'll be doing our development primarily in Python, but we do use some Cython to speed things up, and we have some projects planned in Rust.
The ability to think through problems thoroughly and learn fast is more important than your existing knowledge. We generally work on cutting edge algorithms that have never been built before.
We are flexible on the number of hours you choose to work, and when you work, as long as this job has your full attention, you get your work done, and can make time for scheduled meetings. Most of the team works during business hours either in EST (London-5) or EEST (London+2), so we usually schedule meetings for early afternoon London time.
Let us know how much you expect to work and we'll set a salary accordingly. If you end up working more than you expected or otherwise outperform, we'll pay you a proportionally larger bonus. Target salary is $100-130k USD.
To apply, email us at careers@pearlbridgepartners.com