
Practical pillars for (future) epilot engineers
"We are different people, different teams, and work with different technologies in different countries, but we have one shared engineering culture!”
Continuous Delivery
● Ship early, ship often. Your job is to deliver working software and outcomes. Not estimates, plans and promises.● main must always be deployable to production.● Use Feature Flags to roll out changes.● We test and integrate our whole software together as one monolith in a shared CI pipeline.● Build once deploy anywhere: Make sure rolling back is easy when shit hits the fan.


Quality and Bugs
● Every week is quality week. Do not wait for permission to remove tech debt.● Bugs in production take priority over other work● You build it you run it. You own your bugs, monitoring, scaling, performance, technical debt. There is no team you can hand off work to.● Testing is not optional. Engineers are expected to invest in both automated tests and human testing, i.e. using the software yourself to find issues and optimize the experience.● Security is quality. Building secure software is a non-negotiable core competence for all engineers, not a specialist role.
Collaboration
● We win together as a team. Ask for help when you get stuck. Unblock others before doing anything else.● Show don’t tell. You are expected to demo frequently. Show software, not documentation. Concrete results over abstract ideas.● You are responsible to merge your own code to main.● Pair / ensemble programming is preferred over async PR reviews.● 4-eyes-principle: Code that touches production should always be seen by more than just one person.


Design & Architecture
● Each team is free to pick their own tools and experiment with new technologies. Your job is not to decide the best library/tool/code style for everyone.● Think long-term. Write code your future self and teammates will thank you for. Shortcuts create debt. Opt for scalable solutions.● Write RFCs to be transparent and show you did the work to understand the problem first.● Rent over build: Avoid building in-house shared libraries and custom tools. Use SaaS and open source instead. Serverless and managed solutions are preferred over stuff we have to run ourselves.● API First: We use API contracts as the single source of truth for data models in our application.
Product Thinking
● Always seek to understand the problem before diving into writing code.● Ask Why. Engineers at epilot are expected to own the problem, not just the code. Don’t wait for PMs, Designers or Sales to tell you what to build. You prioritise your own work.● Complete the mission. You are expected to set clear delivery goals and commit to executing them. It's not done until it's in production and solving the customer’s problem. Only outcomes matter.● Customer First. You are expected to know the customers you are building for. You should AT LEAST know the names of your most important customers.

Meet our Team!
