As a Lead Software Engineer on the Back End Infrastructure (BEI) team you will be part of the larger DevX Group with the goal of improving engineering velocity and efficiency. You will play a technical leadership role in the core development team (maintainer) of cross cutting libraries, tools and services empowering product development at Dave. The majority of your time will be spent leading the team through all levels of design and implementing code for abstract large sized initiatives, providing PR feedback to both immediate and extended teammates, and having lots and lots of fun!
We’re looking for someone who thrives on solving hard problems, is passionate about finding innovative solutions, and inspires colleagues. This role reports to the Manager of Software Engineering.
Key Responsibilities
Participating and occasionally leading roadmap planning and scrum events
Leading design and work breakdown sessions
Implementing requirements in TypeScript, JavaScript, Golang and Bash
Lead and mentor other engineers in contributing to projects on our roadmap, including but not limited to, productivity tooling, test frameworks, ci/cd frameworks, common libraries, and common services
Implement dashboards and alerts for system faults and participate in on-call rotations
Work closely with product development engineers to learn and understand cross cutting concerns in order to create and evangelize easier ways for product engineers to adopt tools, packages, solutions and best practices
Work closely with Front End Infrastructure Engineering (FEI) to deliver on overlapping initiatives
Work closely with SRE to design and provision the necessary infrastructure for BEI initiatives
Lead and evangelize best practices through code reviews and pair programming
Champion code quality and testability
Participate in 24/7 on call rotations
Experience Required
BS in CS or equivalent discipline and 6+ years of software engineering experience
2+ years of technical leadership experience
Ability to make sense of abstract initiatives and break work down into digestible work packages in order to distribute work among teammates
Basic understanding of algorithm design paradigms, data structures, asymptotic analysis
Basic understanding of concurrency, parallel programming and multithreading fundamentals
Advanced detailed design principles: OOP, SOLID, robustness principle, dependency injection, GoF, MVC, Pipes & Adaptors and other software architectural patterns
Ability to write provable code in various types of imperative and declarative programming languages and the ability to make trade off decisions
Understanding of mocking, unit testing, code coverage and integration testing
System design paradigms: monoliths, SOA, microservices
Understanding of native vs managed code, and garbage collection
Intermediate understanding of computer communication: OSI Model, TCP vs UDP vs HTTP, web sockets, binary sockets, encoding technologies (Thrift, Protobuf)
Intermediate understanding of databases: RDBMS, NoSQL, OLTP vs OLAP, indexes, read replicas, data partitioning patterns
Understanding of database query analyzers for performance tuning
Intermediate knowledge of the following: load balancing, CAP theorem, caching strategies, message queueing, containerization, developing applications for kubernetes, IaC, CI/CD pipelines, telemetry and operational tools
Some familiarity with the following: ETL pipelines, data warehousing,
Pluses
Experience building libraries, tools, services for other Software Engineers instead of end users
Experience with one or more of the following: TypeScript; JavaScript; Golang, Node JS and its ecosystem and Auxiliary Tooling; GraphQL and API Gateway; MySQL; Redis; RabbitMQ; ArgoCD; Helm; Terraform; DataDog; SumoLogic; GCP Cloud Offerings.
Experience working in a start-up environment
Don’t let imposter syndrome get in your way of an incredible opportunity. We’re looking for people who can help us achieve our mission and vision, not just check off the boxes. If you’re excited about this role, we encourage you to apply. You may just be the right candidate for this or other roles.
Why you’ll love working here:
At Dave, our people are just as important as our product. Our culture is a reflection of our values that guide who we are, how we work, and what we aspire to be. Daves are member centric, helpful, transparent, persistent, and better together. We strive to create an environment where all Daves feel valued, heard, and empowered to do their best work. As a virtual first company, team members can live and work anywhere in the United States, with the exception of Hawaii.
A few of our benefits & perks:
💚 Opportunity to tackle tough challenges, learn and grow from fellow top talent, and help millions of people reach their personal financial goals
💻 Flexible hours and virtual first work culture with a home office stipend
🏥 Premium Medical, Dental, and Vision Insurance plans
👶 Generous paid parental and caregiver leave
💰 401(k) savings plan with matching contributions
📈 Financial advisor and financial wellness support
🏖️ Flexible PTO and generous company holidays, including Juneteenth and Winter Break
🎉 All-company in-person events once or twice a year and virtual events throughout to connect with your team members and leadership team
Dave Operating LLC is proud to be an Equal Employment Opportunity employer and is dedicated to cultivating a diverse and inclusive workplace. We will consider for employment all qualified applicants and do not discriminate on any basis protected by federal, state, or local law, including the City of Los Angeles’ Fair Chance Initiative for Hiring Ordinance relating to an applicant's criminal history.
#LI-REMOTE