Favor’s mission is ‘Anything Delivered’. Our engineers make high-touch logistics happen. The Favor technology platform is the engine behind the business, enabling millions of Favors. Our technology efficiently manages the real-time assignment of Runners to Favors, facilitates communication between customers, Runners, and support, keeps thousands of customer and Runner mobile applications in sync, and more.
We are seeking a Senior Software Engineer – Back End to take on a highly influential, individual contributor role within our Promotions and Engagement squad. You will create the tools and applications necessary to connect customers, Runners, merchants, and support teams and work closely with product and operations teams to understand customer needs, build simple solutions to complex problems, and deliver delightful experiences to all users.
What you'll do:
- Assist in research and fact finding to develop or modify applications.
- Fix bugs and perform updates to the code base while working closely with team members across product, design, and engineering.
- Participate in the planning and execution of development projects.
- Mentor less experienced engineers and help organize squad members around project goals.
- Partner with cross-functional technology teams to integrate solutions.
- Responsible for all phases of development, testing, and deployment of web applications, back-end services, databases, and data warehouse.
Skills you have:
- A related degree or comparable formal training, certification, or work experience.
- Knowledge of coding patterns and their applicable uses to write performant, testable code.
- 5+ years of relevant software engineering experience.
- Experience developing solutions within a system architecture such as SOA, Event-driven, or n-tier.
- Ability to design and build technical solutions without direct oversight.
- Ability to read through code and identify areas that may lead to bugs.
- Ability to identify and communicate potential issues early and significantly contribute to team discussions.
- Ability to write tests that cover most common use cases and code paths and use design patterns to design efficient, maintainable, and scalable features.
- Understanding of the performance impact of queries and ability to generate complex data structures.
- Ability to make updates to existing APIs by adding endpoints, changing responses, and handling errors following HTTP best practices according to RFC-7231.
- Experience or familiarity with one or more of PHP, Scala, Kotlin, Java, MySQL, Postgres, Kafka, Docker, Kubernetes, Terraform, AWS, Elasticsearch, JUnit, Jenkins.
Who you are:
- Appreciation of simple design and a love to write clean, well-tested code - test first or TDD approaches are a plus.
- Experience in a high-growth startup a plus.
- Excellent written and verbal communication skills.
- Ability to communicate clearly with technical (UX, design, product management and across engineering teams) and non-technical stakeholders and work with other engineers in a collaborative and iterative environment.