(Senior) Software Engineer - Rust (m/f/d)
Type: Full Time
Created: 2021-05-07 05:00:56
At Luminovo, we believe that technical progress is the key to solving some of the biggest challenges facing humankind today. We see it as our core purpose to accelerate that technical progress.
When not working on achieving our mission, you'll find us working on building an incredible company culture for our team. We take our values seriously and work hard to ensure we embody them, as well as foster an environment of psychological safety. This forms the foundation for direct and continuous feedback between Luminerds, something that we encourage on a daily basis, regardless of being an intern, founder, full-time Luminerd or casual bystander. We've seen that direct and continuous feedback translates into continuous learning, and continuous learning is something we all want more of.
Since the founding of Luminovo, we've welcomed over twenty different nationalities into our team. With English as our internal operating language, we hope to increase this number as we continue to grow. Saying this, it's also important to us that you bring your whole, authentic self to work every day, and actively teach us what it means to be you.
We love to work with exceptional people on interesting problems. You'll find that some of our team members have graduated from renowned universities, while others have worked for some pretty innovative companies - but this doesn't matter too much to us. What matters most is what you bring to the table everyday and that you resonate with our company values. If you want to know more about the team you could be joining - as well as how we got to where we are now - head over to our About Us page.
We've just shipped the v1 of LumiQuote - a B2B SaaS application for the electronics industry and Luminovo's first step in redefining the software stack used to bring electronics to life. Read more about what we're up to here. We decided to write most of our code in Rust around a year ago and have been loving it ever since. Now we want to pick up steam and need your help.
Here's what you'll be getting up to
- Take responsibility for keeping our Rust codebase healthy (easy to understand and easy to change) and provide guidance (through code reviews, pair programming and insight hours) to our other engineers to do the same
- Help us deliver value to our users in a speedy and reliable manner by developing and deploying new features. Break down your work into small user stories and make your progress visible. You will own features from conception until and after they are in production. If you are a full-stack developer that's a plus, but a pure backend-focus is also fine for this role!
- Help us reduce the number of bugs introduced into our application and make it easier to refactor with confidence by improving our automated tests
- Solidify our observability setup to monitor, identify and debug performance bottlenecks (such as database connections, locks, TCP sockets, threads, CPU, memory etc.) before they become a problem
- We will soon try to find a good boundary in our domain model and split our product team into two to reduce cognitive load on our engineers. Help us break our Rust monolith into two and ensure both teams can deploy independently.
- Keep learning about new technologies and practices related to using Rust in production; assess whether and how they can be used at Luminovo
We always try to use the best tools available for the job. As of now our tech stack looks more or less like this. Don't worry we don't need you to be familiar with all of these.
- Main monolith written in Rust (using actix-web as our web framework; soon switching from diesel to sqlx); one stateless service in Python (using FastAPI); frontend with React and Typescript
- PostgreSQL for persisting our data
- Kubestack, terraform, flux and flagger for GitOps
- Logrocket and Honeycomb for monitoring and observability
- garden-io for developing on Kubernetes
- Azure for cloud computing
What we value
Just so you know - we purposefully did not create a standard list of minimum qualifications for this role. We care much more about your motivation and ability to help us accelerate technical progress than we care just about your CV. If you're interested to find out more about why we banned requirements from our performance profiles - see here.
What to expect
- We're an ambitious team located in the center of Munich. We do regular 1:1s, retrospectives, and insight hours to make sure we are constantly getting better at what we do.
- We greatly value psychological safety and honest feedback. We always expect you to speak up and share your ideas about what we can improve within the company, and take these views to heart.
- We offer a flexible working environment, weekly company lunch, and do regular team events together (from rafting on the Loisach in the summer, celebrating at Oktoberfest, keeping our team close through virtual events during Covid, or staying overnight at a winter hut during our hiking trip to the Alps).
- We're excited to revolutionize the electronics industry - and we want you to be too. That's why all full-time Luminerds receive competitive salary and strong company stock option packages. We also support you in finding your perfect set-up, and help you choose between team Mac or team ThinkPad.
- As cycling crazy as some of our team members? We offer JobRad®.
We are looking to add more than one engineer to our team, so both applications of experienced and less experienced devs are welcome. We tend to prefer if you can swing by our office in Munich a few times per month, but fully remote is possible as long as you live in the same time zone.