Technical Lead – Sr. Staff Software Engineer
Full Time - Texas or Remote
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 make an impact on hundreds of thousands of users? Do you want to work for a purpose and value driven company in a high growth environment? Our engineers create the tools and applications necessary to connect our customers, Runners, merchants, and support teams. 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’. As a Senior Staff Tech Lead at Favor you will be responsible for all phases of development, testing, and deployment of our applications.
What you'll do:
- Responsible for defining solution architecture to include evaluation, selection and integration of necessary technical components that realize the defined functional, non-functional and security requirements.
- Act as the technical point of contact for your given pillar of Favor Engineering.
- Collaborate with other technical leads and engineers across all disciplines to design unified cross-squad solutions and help manage the technical debt roadmap.
- Work with product partners across multiple squads to understand and solve complex business problems, by presenting various solutions and technical concepts in a comprehensible manner and then be able to break them down into manageable iterations for a smooth product flow.
- Get hands-on coding with a strong emphasis on prototypes, proof of concepts and technical spikes. Lead and participate in troubleshooting application incidents, resolving deployment issues, integration failures, ability to mine the logs, coordinate cross functional triage and provide long term implementation guidance.
- Eliminate barriers to scale through technology and process and providing building blocks of first-class applications and distributed services.
- Understand company and squad goals, and develop technical solutions, vision, and strategy to advance the company's priorities.
- Challenge the status quo and bring your experiences to look at things differently and Identify new technologies, strategies and processes that can help provide business value.
- Define and contribute to standards that improve developer workflows, recommend best practices, and help mentor junior engineers on the team to grow their technical expertise.
- Be an advocate for devops solutions, automation and maintaining our CI/CD pipelines.
Skills you have:
- Experience or familiarity with one or more of the following technologies: Java, Kotlin, Scala, PHP, Python, Node.js, C#, MySQL, Postgres, DynamoDB, DocumentDB/MongoDB, Kafka, Docker, Kubernetes, Terraform, AWS, Elasticsearch.
- Appreciates simple design.
- Has experience defining and evangelizing technical solutions and strategies
- Loves to write clean, well-tested code - test first or TDD approaches a plus.
- Enjoys working with other engineers in a collaborative and iterative environment.
- Has experience in a high-growth startup.
- Communicates well with technical and non-technical stakeholders.
- A true full stack engineer who owns every part of engineering including: design, development, deployment, debugging, monitoring and support.
Who you are:
- A related degree or comparable formal training, certification, or work experience.
- 10+ years of software engineering experience.
- Ability to get hands on and write clean, well structured code but also be able take a step back to focus on product strategy and execution.
- Ability to lead larger initiatives working with the product, design, and engineering teams.
- Strong understanding of all aspects of software engineering including test automation techniques, data engineering, security and devops.
- Ability to gather and define software requirements considering multiple patterns and strategies to build efficient solutions.
- Knowledge of how different parts of a system architecture will work together and can diagnose issues within the system.
- Ability to communicate difficult technical concepts in precise, concise, and unambiguous terms.
- Ability to interact with Vendors, external Partners, Suppliers to evaluate tooling, products and integration solutions meeting technical and security standards.