Who said a job description had to be a one-pager?
Your time is valuable, and so is ours. And this is a huge decision for both of us.
So we've done our best to provide you with all the information you need to decide whether to pursue this opportunity – or just as importantly, not pursue it.
Table of contents
- TLDR – is this for me?
// should i read on, or move on?
- About Stepsize
// why do these people get out of bed in the morning?
- About this role
// where would i fit in? why does it matter?
// are we meant to be together? 💞
- Next steps
// ok i'm sold, what now?
TLDR – is this for me?
Read on if...
- You would be proud to help people create software
- You care about the quality of your work
- You want to be challenged and grow
- You are self-motivated
- You seek out different & opposing points of view
- You enjoy healthy debates and scrutinise consensus
Move on if...
- You're happy with the way you do things
- You find it difficult to move forward when some people disagree with you
- You dislike uncertainty
- You're looking for a stable job that won't change much
Our mission is to make software development universally accessible.
Software fuels progress, but creating and maintaining it is hard. It’s painful to think about all the ideas that never saw the light of day because of this, and how different the world could be if they had.
We want to live in a world where anyone can create software on their own, without technical knowledge.
This is a multi-decade plan. We’re aware of it, but we don’t shy away from it.
We can’t make software development universally accessible today, but we can accelerate it. So the journey begins with software development teams.
Today we help teams access and use knowledge to create better software faster
Agile engineering teams face a really tough challenge: their codebases change constantly which means it’s impossible to have accurate and up-to-date internal documentation. This is particularly problematic for teams growing rapidly or those with high turnover.
Our product solves this problem by creating self-maintaining documentation, automatically tying together data from all the tools these teams use every day. We start with the assumption that codebases are evolving constantly and generate documentation that is tailored to capture change, like a version control system. The traditional approach is to capture the state of things at a single point in time, ideally the present – this cannot work in a world of continuous delivery.
With Stepsize knowledge doesn’t get lost, time isn’t wasted digging it up, and teams are happier and more performant.
Tomorrow we’ll help teams turn knowledge into superpowers to create better software faster
Embedded in this data are insights about how to work smarter. Certain mundane activities can be automated while others can be done better with assistance. Tomorrow's teams will get superhuman amounts of 💩 done.
This paves the way to our long term vision of universal software development.
The data software development teams generate in their day-to-day represents how human concepts become functioning software. By assisting teams in that process, we'll gradually deepen our understanding of how the sausage gets made. Eventually, Stepsize will become a sausage software factory.
About this role
In a nutshell, you’ll work behind the scenes to make this happen:
We take all the valuable information they generate and tie it together as self maintaining documentation.
This means integrating with the tools used by software development teams, ingesting that data, making it flow to the various services that need it, processing it, and building APIs for the frontend team to access it.
At this stage of the company, we need a “full stack data engineer”. You won’t be implementing someone else’s algorithms or models in production, you’ll be implementing your own. And you won’t just be coming up with algorithms and models, you’ll bring them to production as well.
The core of our backend is a service that processes Git repos’ histories and provides an API to retrieve the relevant commits for any set of repos / directories / files. From this, other services aggregate the data requested by the user, whether that’s the relevant tasks, or the key contributors, or the team’s velocity for that part of the codebase.
Some of the data you’ll work with:
- Tasks (e.g. Jira)
- Pull requests (e.g. GitHub)
- Documentation (e.g. Confluence)
- Messages (e.g. Slack)
- Design assets (e.g. Sketch)
- Version control history (e.g. Git)
- Code (you know what this is)
Some of the technologies you’ll work with:
- REST & GraphQL
- PostgreSQL, ArangoDB, Redis, MongoDB
Basically, moving data around and doing useful things with it is what you do for a living. You might be:
- a data scientist who can't stay locked up in the lab 👩🔬
- an engineer who can't help but get really intimate with the data you handle 🕵️♀️
- Implementing complex production systems moving lots of data around and processing it in non-trivial ways
- Conceptualising elegant solutions to complex data modelling problems
More than anything, you've shown an ability and hunger to pick up new technologies to get things done. Technology is a means to an end.
- Typed languages (we use Typescript – you'll have to pick it up quickly)
- Web frameworks (we use Express)
- Relational databases (we use PostgreSQL)
- Graph databases (we use ArangoDB)
- Document stores (we use ArangoDB & MongoDB)
- Message brokers & event buses (we use Kafka & Redis)
Machine learning experience is not required.
Note that these are the technologies we use today but they’ll evolve over time and you’ll contribute to this evolution.
We look for people who behave, communicate, and think in ways that exemplify the culture that we want to preserve and nurture as the company grows.
Something can be done better? Something doesn't look right? You take it upon yourself to bring it up and do something about it.
Your work is yours. You own the journey, the successes, and the failures.
You adapt to the situation at hand. In particular, you recognise:
- the conditions calling for hacky solutions & those calling for robust solutions
- the time for disagreement & the time to disagree and commit
- the difference between reversible & irreversible decisions
You cultivate good teamwork and understand its value. You make the most of your teammates’ knowledge, and you enjoy helping them back.
You realise that being a good communicator is mostly about being a good listener.
Efficiency, clarity, and precision
You value efficiency so you're constantly solving for the shortest path solution in any exchange.
Understand > convince
You focus on understanding the other person's perspective when you have a disagreement before even considering convincing them that yours is the right one.
You have a tendency to over-communicate to build alignment with the team.
You see your education as a life long project and driving it forward a priority.
You see being wrong as an opportunity to learn from your peers rather than as a display of weakness or something to be ashamed of.
You look for the best argument for and against every idea, regardless of where the idea came from, and in the end the best argument wins. Ego never gets in the way of truth.
You respect established knowledge, recognise its value, and make the most of it whenever you can...
...but ultimately you make up your own mind about things. Even about things that are widely accepted to be the case.
To get a better sense of where we are today, play around with our
If this all sounds exciting to you and you’d like to be considered for this position, fantastic! There are two ways for you to proceed.
Drop us a line at
firstname.lastname@example.org and tell us a bit about
yourself and why you'd like to apply for this position (include some sort of CV please).
Our process looks like this:
- 1) We’ll screen your profile
- 2a) We’ll schedule an initial conversation of ~1hr that you can choose to have face-to-face or on a call
- 2b) If you would like to know more about Stepsize and the team before proceeding, you’ll have the option to schedule an additional ~1hr–1hr30m conversation to discuss our product, market, and plans for the future
- 3) You’ll work on a take home exercise that brings you closer to our backend and involves some coding and some writing
- 4) We’ll schedule a half day for you to come in to our offices, meet the whole team, have various technical & behavioural conversations, and have lunch or drinks with us
If you have some time on your hands and want to speed up the process, or if you don’t meet our requirements but think you’re the right person for the job nonetheless, then we’d love to invite you to complete our take home exercise.
In this case, our process looks like this:
- 1) You’ll work on a take home exercise that brings you closer to our backend and involves some coding and some writing
- 2) We’ll schedule a half day for you to come in to our offices, meet the whole team, have various technical & behavioural conversations, and have lunch or drinks with us
We’d hope this went without saying, but sadly it doesn’t, so we want to explicitly note that we’re an equal opportunity employer and value diversity at our company. We do not discriminate on the basis of race, religion, color, national origin, gender, sexual orientation, age, marital status, veteran status, or disability status.