We’re looking for experienced software engineers to work on our global network of air quality and climate monitoring. Clarity sells low-cost devices that measure the environment and pollution in the air. These devices relay data into a global network that monitors air quality to solve big health and climate challenges. Your work will help bring cleaner air to the world.
We’re looking for several friendly, competent developers who want to write good code and make a difference in the world. You might be front-end strong, back-end strong, or full-stack. We care more about what you are capable of than what you’ve already done.
Our Tech Stack
We’re primarily in AWS. Getting the right architecture is important.
The front end is Node.js / React. Our users interact via a full-featured web app and RESTful APIs. There are some older web apps in Angular that we are moving away from.
The back end is crafted as an event-based data pipeline and microservices. We use a lot of AWS services, High volume / high-reliability data flows through Kafka and processing is primarily serverless. We prefer Python for the back-end services. There are a lot of Chalice-based lambdas (and some older container-based deployments on ECS and Fargate).
How We Work
The team is truly distributed around the world. We have people on four continents. We find time during our days to work together via video and peer-programming. We use the usual remote collaboration tools. Everyone has a nice home setup. We usually have a daily touch base, Monday through Thursday.
We use a Kanban-ish board to manage our work and frequently adjust the work as we convert the unknown into the known. There’s a strong documentation ethic – you have to write things down when you are remote. We don’t just write things down once, we curate the online documentation so that it is actually useful.
We have typical modern software practices: GitHub integrated with Travis for source control and CI. Code review. Automated test. Promotion from development through to a production environment.
We stay abreast of what’s new and evaluate technologies that look like they will be helpful, with an experiment to prove that they are ready for prime time. We believe that everyone on the team has something to learn and something to teach. We together manage the competing needs of shipping fast and shipping well-built.
You’ve already coded in more than one language. Developers understand your code. You can work in someone else’s code and find a bug. You have enough years of professional experience that you have an informed opinion about the right design for a technical problem.
You’ve comfortable in the basics of computer science, data structures, complexity, state/stateless, domain modeling, coherency & distributed processing. You are not afraid to search the web to learn technical details, work with APIs, compose networking, or set up infrastructure.
You understand that there’s a big difference between code that just works in the happy case and code that is production-worthy when things go wrong. If you’ve already built large production systems, you’ll be using that experience and leading on design/build. If you haven’t, you’ll be learning quickly.
Your English is strong enough that you can communicate in real-time and write truly explanatory documentation.