Software Engineer II - Back End (Full Time)
Favor
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.
Do you get a thrill when you impact hundreds of thousands of users? Do you want to work for a purpose-driven, value-driven company in a high growth environment? Our engineers create the tools and applications to connect our customers, Runners, merchants, and support teams. As a Software Engineer at Favor you will be responsible for all phases of development, testing, and deployment of our web applications, back-end services, databases, and data warehouse. You will work closely with our product and operations teams to understand customer needs, build simple solutions to complex problems, and deliver delightful experiences to all our users.
At Favor, we are committed to building a world-class team that shares a passion for modern, clean code and products that make a difference. We need engineers like you to help us achieve our mission of ‘Anything Delivered’.
What you'll do:
- Assist in research and fact finding to develop or modify applications.
- Fix bugs and update the code base while working closely with senior engineers.
- Participate in the planning and execution of development projects.
- Partner with cross-functional technology teams to integrate solutions.
Skills you have:
- A related degree or comparable formal training, certification, or work experience.
- 2+ years of experience in software engineering.
- Experience with object-oriented or functional programming languages including SOLID principles.
- Experience in a high-growth startup a plus.
- Ability to take technical direction to deliver well-scoped work.
- Ability to design working algorithms and analyze their performance.
- Knowledge of application testing strategies, including unit, integration, end-to-end, and performance tests.
- Ability to plan and design individual components and functions.
- Familiar with architecture patterns such as SOA, Event-driven, or n-tier.
- Ability to walk through and manually debug existing code. Understanding of RESTful API best practices.
- Ability to communicate clearly with UX and design, product management, and across engineering teams.
- Understanding database concepts such as joins and indexes, and the ability to alter data structures.
- Experience or familiarity with one or more of the following technologies: PHP, Scala, Kotlin, Java, MySQL, Postgres, Kafka, Docker, Kubernetes, Terraform, AWS, Elasticsearch, JUnit, Github Actions.
Who you are:
- Appreciate simple design.
- Love to write clean, well-tested code - test first or TDD approaches a plus.
- Enjoy working with other engineers in a collaborative and iterative environment.
- Communicate well with technical and non-technical stakeholders.