Flashpoint · Sep 2nd 2019
What we look for:
Our best engineers are collaborative and selfless. They enjoy writing code but they prioritize mentoring and supporting others. They leave code cleaner than when they found it but don’t insist on particular patterns. They optimize for simplicity and readability. They are involved in the full lifecycle of software development: understanding the requirements, designing the solution, writing the code, testing the code, testing the integration, deploying it to production, and monitoring the deployment. They are fully engaged in the problem domain.
What you will do:
As a senior engineer on the Platform team, you will design and build backend apps that are the closest to the customer. You must care that the team's interfaces are reliable, responsive, simple, and predictable.
Your main technical responsibilities will include:
Build, maintain, and document customer-facing APIs
Build, maintain, and document applications that consume streaming data
Design small projects lasting from one to three months.
Design testing strategies for your apps, including integration, performance, functional, and failure scenarios
Collaborate with the product team as well as cyber threat, fraud, and security experts to understand the problems that customers want to solve
Collaborate with the data and operations teams to design infrastructure that supports the APIs you will be building
Identify opportunities for automation and drive process improvements
As a senior member of the team, you will also be encouraged to set examples and provide guidance to other team members. A desire to train and mentor others, explain your decisions, and conduct thorough code reviews is preferred.
Technologies you will work with:
The core responsibility of a delivery engineer is to build and maintain well-running APIs. This means you must work with:
API frameworks like GraphQL and OpenAPI
Python web frameworks like Flask and Django
Python testing frameworks like pytest
Search databases like Elasticsearch and Solr
Monitoring tools like ElasticAPM, Prometheus, and Grafana
Our developers succeed when they know how their work fits in within the entire infrastructure. They integrate their work with the data team’s or operation team’s stack. Therefore, engineers on all of our teams have a chance to work with a varied list of technologies, like:
Streaming pipelines using tools like Kafka, AWS MSK, and Google PubSub
Cloud providers like AWS and GCP
Containers technologies like Docker and Kubernetes
Configuration management and IaC tools like Ansible, Puppet, Chef, and Terraform
What you will bring:
5+ years experience as a software engineer
Proficiency in Python