At Bluecode we're building the first European mobile payment scheme that enables cashless payments combined with value-added services. It's a solution from and for Europe; accepted at 20'000 locations, from large and small department stores and supermarket chains to famous events like Oktoberfest (watch our CEO pitching at NOAH18 for more).
We just got additional funding, and we are making a strong push to increase the velocity and confidence at which we can continuously deploy our systems while more and more engineers work on them. A central part of that effort is remote API and UI testing, to guarantee that our systems continue to support every API flow and UI interaction flawlessly.
To that end we're looking for a talented Software Engineer in Test that will help build, maintain, and scale our business critical automated acceptance test suite.
Engineering @ Bluecode
- We build new features on top of a modern stack, consisting of web apps (in a mix of Vue, Svelte, and Typescript) and native mobile SDKs communicating through APIs to Elixir services, backed by Postgres, all deployed in docker containers in a continuous delivery cycle to Kubernetes on AWS EKS, orchestrated by Pulumi.
- You don't need to have experience in any of our specific technologies: we're great at teaching good engineers how to use our modern SaaS stack.
- We don't follow rigid Scrum or Kanban, but we do work in an agile, iterative way, and try to continuously improve and implement what works for us.
What will you do?
- You will join the automation and tooling team, a small, collaborative team of senior engineers, and be mainly working on the remote testing infrastructure, which we are building out (some prototypes exist, otherwise greenfield). This means there's a lot of opportunity and freedom to influence and help define direction, technology choices, etc. of the test automation infrastructure.
- Your work will be the guard rails and launch track to allow our software engineers to develop and deploy at ever higher speeds and undertake deep refactorings without fear, because the automated acceptance tests will catch any changes in externally observable behavior of the system. In short, you will be a key enabler of developer velocity.
- You will be building stuff like any other software engineering work, this means coding, delivering new features, code reviews, fixing bugs, pair programming and incident response.
- You will own and be accountable for the different remote/UI acceptance test suites and any other high-leverage coding/automation/tooling projects you take on.
- You will be learning from and teaching other engineers; sharing your knowledge to enable them to contribute to the different test suites, reducing knowledge silos in the process. As a senior engineer you're also encouraged to take on mentoring of junior engineers.
- You will structure initial delivery and extension of the test suites into small, actionable tasks to deliver the most value in no time.
- You will be involved with the product and engineering teams starting from the design phase to ensure high quality products for our customers and partners, which includes among other things to ensure the system remains very testable and that automated acceptance tests are in place before product/feature launch.
- As you will have a deep understanding of the externally visible behavior (or model) of our system, you will also have a voice on whether new features "make sense", ie. whether they fit into the model of the existing system or are a departure.
- Once the remote and UI acceptance test automation is on a good track, there are opportunities for you to help with other automation and tooling tasks to support the engineering team (infrastructure automation, load and stress testing, improve tooling to shorten feedback cycle for developers, etc.).
Who are you?
- You're passionate about polished products, engineering excellence, and productivity.
- You love to understand how a product or system is supposed to work, and then enjoy thinking through complex product and system interactions to find gaps, failure modes, and edge cases.
- You love to read and write code, because that's really the only truth there is.
- You've worked to automate and remove repetitive and manual tasks because inefficiency is one of your least favorite things.
- You love to design, implement, and improve tools, frameworks, metrics, and processes.
- You love to work, collaborate, and lead cross-functionally.
What do you need to bring?
- You have previous experience as a Software Engineer in Test including both successes and failures ("scars"), which help you make better decisions.
- You have helped define the architecture, tooling, and strategy for a large-scale remote acceptance test suite.
- You have tested stateful systems by writing code using a generative or property-based testing framework, and used it to find state-machine bugs and concurrency issues.
- You have engineered automated acceptance test suites for web and mobile UI flows to ensure the UI experience doesn't change as the system evolves.
What would be nice to have?
- You're familiar with one or multiple of Elixir, Postgres, Vue, Svelte, Typescript, AWS, Kubernetes, and Pulumi (our tech stack).
- You have experience with load testing & simulation.
Why do you want to work at Bluecode?
- You can help build an amazing product in a company big enough for growth but lean enough to make a genuine impact.
- The experience of being able to pay in real life with the system you've helped build is priceless.
- A startup you'd be proud to use, we are putting consumer's privacy first.
- We will provide you with opportunities to develop your career.
- You will be offered a competitive salary.
- The work is fully remote and we have flexible working hours (though you're expected to overlap with Europe/Zurich for 5h per day).
- Your equipment needs get covered by a recurring equipment stipend.
- You will have a yearly budget for attending conferences.
At Bluecode, we foster an inclusive, supportive, fun yet challenging team environment. We value having a team that is made up of a diverse set of backgrounds and respect the healthy expression of diverse opinions. We embrace experimentation and the examination of all kinds of ideas through reasoning and testing. Come join us as we continue to change the world of mobile payment.
If you have any questions, please feel free to reach out to (paste into a Bourne-compatible shell):
echo "moc tod edoceulb ta relleum tod d" | rev
Interested? We'd love to hear from you.