Are you passionate about building scalable, fast and fault-tolerant
applications? Are you excited about cloud native architectures and would
love to apply the latest and greatest advancements in software design
into practice? Do you often feel underwhelmed by backend software
development opportunities and want to do more if given the opportunity?
At Undefined Labs we are empowering developers to do more, faster.
Our first product to market gives engineering teams unprecedented
visibility into their CI process to quickly identify, troubleshoot and
fix failed builds. To accomplish this, we need you to develop a
scalable, reliable and performant backend application to collect, store
and analyze large amounts of distributed tracing information, making it
instantly available to a diverse set of clients. Are you up for the
challenge?
What you’ll do
* Architect our backend application with performance, scalability and simplicity in mind.
* Help build and lead a team of passionate software engineers.
* Create and enforce best practices for software development that consistently results in high quality code.
* Design and implement a reliable, scalable, zero-downtime real time data ingestion pipeline for distributed tracing events.
* Design and implement a reliable, scalable and performant GraphQL
API for querying data in near real time, as well as a streaming service
for client updates.
* Make sure the application can be deployed, scaled, upgraded and rolled back safely in any Kubernetes cluster.
* You code it, you ship it, you own it - from development to production.
* Be a role model for your team, inspiring your colleagues with a drive for excellence.
What we’re looking for
* You have architected, developed and owned complex cloud-native applications for several years.
* You have mentored and coached other engineers in the past.
* Python is one of your native tongues.
* You design clean, developer-friendly, high quality APIs, and know
common patterns for handling multi-tenancy, pagination, errors,
authentication and authorization.
* You design highly performant, elegant, simple code; you apply well
known design patterns as appropriate to maximize code scalability and
reusability, and you write code that is easily testable and debuggable.
* You have experience designing and developing software
architectures based on microservices, and you regularly keep up with new
technologies and products in the space.
* You are a Docker wizard and have used it on a regular basis for everything from development to running things in production.
* You have extensive experience using SQL databases (i.e. MySQL,
PostgreSQL...). You know data access patterns and how to properly
structure data for optimal read/write throughput.
* You want to work in high growth startup environment where ownership and accountability is a given.
What we’d prefer to see
* You have designed stateful applications for deployment into Kubernetes clusters.
* You use observability tools (i.e. ELK, AppDynamics, NewRelic,
Datadog, Sentry…) to continuously monitor, fix and improve the
performance of your code.
* You discovered GraphQL and refuse to work with REST anymore.
* You have implemented a streaming API before (i.e. websockets) and are familiar with its design pattern.
What we offer
* A company culture that values passion, integrity and excellence.
* An engineering culture that values development agility, automation, high quality code, ownership and continuous learning.
* Weekly team lunches, monthly get-togethers, and bi-annual company retreats.
* Yearly tech conference sponsorships.
* Quarterly team hackathons (with prizes!).
* Linux or Mac? Dual monitors? Trackpad or mouse? Headphones? Make your work setup the perfect setup.
* An opportunity to share our collective success by owning a piece of the company.