Evolved Binary is looking for a remote Engineer to join our team. At the moment we are a small remote-first company, but we are growing and have big ambitions! We are a company with a position where you can make a significant impact. As one of the earliest team members you will need to be both an excellent software engineer, and a highly motivated individual who is capable of assuming responsibility. We believe this role would best suit an upper mid-level backend developer who is looking to progress to the next level. You should have at least 5+ years’ experience of either Java or C++, and some experience or working knowledge of the other… or the confidence that you can pick it up quickly!
Formatted Job Description - https://www.evolvedbinary.com/jobs/eb.j6-engineer-java-cpp.pdf
This full-time position is suitable for either a UK employee (PAYE) or a non-UK employee (paid as a contractor). Our work hours centre around the CET Time Zone, but we can be flexible as long as there is overlap between working hours of our employees.
What we do
Evolved Binary helps companies with their information storage and retrieval needs. Our flagship product is FusionDB, a new multi-model NoSQL database which we are actively developing. As well as building the tools to manage data, we also love to help organisations better understand and work with their information. Our clients include well known Publishers, Archives, and Social Media networks.
What you’ll do here
- You will be a force in advancing FusionDB. You will be adding and suggesting new features, fixing issues, and improving performance.
- Take ownership of your role by understanding the product and building what is needed.
- Building and managing the delivery of major features, including - New Query Parser, Improved Transactions, Compiling Query Language to Native Code, JSON Storage, JSONiq, HTML DOM Storage, Quad Storage, and Clustering.
- Engage with and contribute to the existing technical communities from which we have sprung, and help build a new community around FusionDB.
- Become an active member of various Open Source projects.
- Grow with us, eventually providing mentorship and technical direction to junior team members.
What we are looking for and why
- A solid engineer with experience of debugging hard issues. Many of the issues we have to investigate are low-level and often nondeterministic.
- Experience of concurrent programming. We make heavy use of threading, locking, and lock-free algorithms.
- An engineer whose primary languages are Java and/or C++. FusionDB is developed predominantly in Java, but also has modern C++ components. Like most modern developers we are also polyglot, and to a lesser extent we also use Rust, XQuery, Scala, and TypeScript.
- An engineer who can quickly get to grips with a foreign code-base. We often need to add features or solve bugs in 3rd-party Open Source components.
- Familiarity with working in Open Source communities. When we improve Open Source code, we always try and give back for the benefit of everyone else. You should be comfortable with performing Git rebase from the terminal, juggling multiple source branches, and iterating through code-reviews (e.g. via GitHub Pull Requests).
- People and Equal Opportunities, we believe in continuous selfimprovement, and most importantly we want to build a happy and lasting team.
- Challenges, we expect our team to challenge each other when deciding on the best solution.
- Community Engagement, and would help you to attend relevant conferences, meetups, and events.
- Research, and would help you in producing papers for publication.
- Open Source, we use a large amount of Open Source components and contribute back to many projects.
- The Right Approach, we rarely prioritise the quick or easy approach.
You will love this job if you…
- are Passionate. This is a job for someone who wants to deliver the best solution
- are Highly Self-Motivated. We are a small company, and so we require inspired team members.
- want to Have a Voice. You can influence the product and be listened to.
- want others to See Your Work. We attend conferences, engage with communities, and much of our (and potentially your) work is Open Source or performed in the open.
- enjoy Solving Difficult Problems. Database engines touch on many parts of computer science, and in our opinion offer some of the most interesting technical challenges. We are always learning, and we think you should be too!
- FusionDB is multi-platform (Linux/Mac/Windows), all applicants should be comfortable working in a Linux or Mac environment by default. Experience of building C++ products on Windows is considered a bonus.
- FusionDB is multi-model, its first model is an XML document store. Knowledge of XQuery and/or XSLT would be a bonus. Sure, every developer knows a bit of XML and XPath, but perhaps you can show us more?
- Performance is a concern for all databases systems. Performance engineering experience and experience with developing benchmarks, and using profiling tools such as YourKit, JMH, ValGrind/CallGrind, gperftools, etc, is a bonus.
- Open Source chops. If you have made significant contributions to one or more Open Source projects, then let us know!
What you get
- To be one of our first employees.
- Remote-first position.
- Competitive market salary (employee) or rate (contractor).
- Benefits appropriate to your country of residence, e.g. health insurance/pension/etc.
- Home Office equipment / Local Co-Work membership as needed.