Working at Evolved Binary - Cutting-edge Data Processing and Storage
29 Mar 2021
29 March 2021
4 min read
Evolved Binary is a remote company founded in 2014, that specialises in structured information storage and retrieval. Their flagship product is FusionDB, a modern multi-model NoSQL database with a strong document storage pedigree.
Evolved Binary also provides Development and Consultancy services to help organisations with their complex information storage, retrieval, and transformation. They are experts in Document, Graph, Relational, and Key/Value technologies.
The company is working with the world's largest social media companies, national archives, and domain expert publishers, constantly engaging in research activities to push the boundaries of what is possible today.
Evolve Binary has a multicultural team of highly professional developers, working with tools that include: XQuery, XSLT, SPARQL, Scala, Java, C++, and TypeScript.
We interviewed Adam Retter, the founder and director of Evolved Binary, to find out more about their exciting journey.
How would you pitch Evolved Binary to a developer?
We are currently a small but ambitious company. On one hand, we are trying to upend a large enterprise market by overthrowing the proprietary monopolistic incumbents, with an open and modern alternative product. On the other hand, we believe in people first, and try to help our developers grow and raise their own profiles.
Evolved Binary is not your average development job!
We are interested in highly technical and self-motivated individuals that love working with Open Source communities.
Take a look at their open positions here!
What technology does your team use when working with clients?
We have both front-end and back-end products. For the back-end, we develop predominantly in Java and C++. For the front-end, we develop primarily in TypeScript and make use of Frameworks such as React, Rx.js, and D3. We use a variety of tools across the organisation, we are fans of CircleCI, GitHub, Docker, and Puppet. We target all 3 major Operating Systems, Windows, macOS, and Linux (Ubuntu and Redhat).
We also build smaller tools and proofs-of-concept using a variety of ad-hoc languages and tools, including Rust, Scala, Python, and Haskell.
What are some tech challenges you are currently trying to solve?
We are developing a concurrent transactionional ACID NoSQL Multi-model database - FusionDB (in Java and C++). There are many challenges involved in this, some recent ones we faced, include:
- Caching of immutable common objects across queries,
- Improving isolation and performance of transaction locking,
- Building a new query Parser and compiling query language to native machine code,
- Implementing native JSON DOM like storage,
- Implementing a new database security provider including, SAML, OpenID, and OAuth.
We are also developing an IDE and Management tool front-end for our database (FusionDB) in TypeScript - Fusion Studio. This runs in both the web-browser and as an Electron application. Some things we are working on are:
- Transparent drag-and-drop upload/download of files(s) between the users-computer and the IDE,
- Syntax highlighting of queries and results,
- IntelliSense like auto-suggest for code-completion,
- Adding charts and statistics to the IDE for monitoring the servers and queries.
Tell us about Evolved Binary’s relationship with open source technology, what was your reasoning for taking this path?
As the founder, I have been working with Open Source since 2004 and have been a core contributor to some projects since as early as 2005. I believe that as a developer working with Open Source has many advantages, and that these can help businesses to achieve their goals quickly, reliably and with higher confidence.
At Evolved Binary we take an Open Source first approach. We rely on lots of Open Source projects, but unlike most organisations, we don’t just consume! If we find problems with a project or need enhancements we don’t just open an issue and/or complain, instead we allow our developers the time to get involved in those Open Source communities and contribute back fixes and improvements to those projects.
On the flip-side, we are also producers. All of our products and tools are either Open Source or Source Available, and we are building communities and a business around these principles.
We encourage our developers to attend conferences to either talk about their contributions to other communities or to talk about our own open projects.
How can developers get involved with your open source projects?
Almost all of our projects are now on GitHub - github.com/evolvedbinary if someone is interested in adding features or contributing, please send a PR, if you want to discuss it beforehand feel free to reach out in either a GitHub issue or email us at firstname.lastname@example.org.
How would you describe Evolved Binary’s culture?
I would say it is very flexible. We are happy to trust our developers first, and allow them as much responsibility and self-direction as they wish. Ultimately as long as the work gets done and you have overlap to meet with colleagues as needed, you can pick your own working schedule. As a small company, your opinions are welcome and appreciated. At the moment all of us here are helping shape the company's future!
How would you describe the dev team at Evolved Binary?
We are split between front-end and back-end developers, but there is space to try new things and move between projects if you are interested in something particular. The team itself is multi-cultural and distributed currently across 4 countries. Our developers range in skills from Trainees (who are enrolled in Further Education) up to the CTO. Everyone is encouraged to grow, learn and help each other out. Formally we offer training to employees, on a requested basis or whenever they need to learn something new.
We have a daily stand-up like most companies and run a Kanban-esque approach using the online Zube project management software.
Can you tell us a bit about the interviewing process at Evolved Binary?
After receiving an application we check the candidate’s CV, GitHub, LinkedIn etc. Afterwards, we invite the prospective candidate for an informal chat via Google Meet, with the CTO and a member of the development team. This lets us ask any questions we have, and for the prospective candidate to ask us any questions they might have and get a feel for the company as well. We try to be very open and transparent throughout. From there, we move on to issuing a Technical Challenge, which is usually about solving an Open Issue in a relevant Open Source project. Then finally, we check any references and start the onboarding process.
If you want to challenge yourself with interesting and difficult technical problems, whilst enjoying the freedom and decision making opportunities offered by contributing to the growth of a new company then you should definitely check out Evolve Binary’s open roles!
Marketing Manager at WorksHubSee other articles by Mihaela