About the role
Draftable’s core technology is what makes us unique. It includes our document structure reconstruction and document comparison algorithms. Most of this code was written by our founder but, as we have grown, we are looking to hand over responsibility to an experienced engineer.
You will be spearheading our core technology development. You will start out working closely with our founder making some key improvements to our algorithms. Over time, you will take leadership and become the chief innovator of the technology that sits at the heart of all Draftable products.
You will spend 90% of your time reading the literature, thinking about how to implement things, and writing code.
- You are a problem solver and you love learning.
- You have very strong theoretical and practical knowledge of data structures and algorithms. Maybe you’ve done graduate level study and research, or maybe you’ve been involved in programming competitions like the Informatics Olympiad or Topcoder.
- Once you figure out how you want to implement something, you write code really fast.
- You have at least a few years experience working as a software engineer and you pride yourself on writing clean, well-structured and well-tested code.
- You are independent and self-reliant. You’re happy working on a task by yourself but you will take initiative to involve other team members when necessary.
We understand you have a life outside work and we will respect your non-working and family time. We expect engineers to work a full time load of 40 hours per week (and no more) and to be very productive during that time.
Our team is mostly remote and we prefer working with remote engineers, but also we’re also open to welcoming you into our Melbourne office.
You will have flexibility to schedule your work around your other obligations but you will usually work at a fixed time. If your work hours don’t have much overlap with Australian business hours, you will need to be flexible with scheduling meetings late at night or early in the morning.
We don’t need you to be on-call, except for when you push potentially breaking changes. Our service is very stable and we haven’t had any critical incidents that required urgent attention in the last few months.
About our culture
We’re easy-going and easy to work with. We’re developer-led and have a flat structure. We are collaborative, and we expect you to take an active role in evolving our engineering culture. We like writing things down. We love Slack.
We launch things as soon as they’re ready. We do things right the first time, even if it takes a little longer. We don’t have much technical debt. From time to time we promise a feature to customer, but we otherwise don’t have many external deadlines.
Some things you might be doing in your first few months
- Adjust the tuning on our PDF header/footer detection code. Implement a new multilevel Bayesian approach, learning what that is if necessary, and see if it improves performance
- Hunt down some memory leaks in our PDF processing code
- Debug a performance issue on a particular set of documents.
- Design and implement a space-efficient algorithm for comparing documents that are too large to fit in memory.
About our technical stack
Our core algorithms and products are written in .NET (mostly C# with some F# and some C++). Otherwise, we have a fairly standard tech stack: Python (Django, Celery, SaltStack), React, PostgreSQL, Redis and RabbitMQ.
In this role, you’ll mainly be working on C# code but it’s okay if you don’t have so much experience with C#, as we have experts on staff.
How to apply