Tech Lead (backend) - Core Services (L5)
Engineering Manager, Core Services
Who we are
Runa is changing the way people work in Latin America. The first step in that mission was to create an automated payroll product for the 17.5MM SMBs that rely on Excel. Moving forward, Runa will expand its product offering to include an ecosystem of financial services and benefits that will improve how companies operate and how employees work. With a recent valuation of $75MM, Runa is backed by Ribbit Capital, Salesforce Ventures, and Y-Combinator.
As Tech Lead Engineer, you will lead one or two agile, cross-functional squads, partner with the Product and Delivery Leads to prioritize the backlog. You will code, create and review pull requests, write technical documentations, identify risks, reduce complexity and remove impediments.
You lead the development team to refine, define and implement maintainable, scalable, low-latency, resilient and efficient backend applications and APIs focused on delivering continuous value in HR and payroll areas.
Your role serves the squads with the appropriate level of technical oversight, technical design and technical excellence filling the gap between product's business requirements and high effective technical solutions.
Who you are
As our Tech Lead Engineer in Core Services, you are an experienced software developer in more than one programming language, you don't believe in silver bullets, you opt for the best technology to solve the problems considering the context.
You have a great knowledge and experience with agile methods, Nodejs, microservices architecture (integration patterns, messaging, event driven, RESTful, service mesh, etc), API design, databases, and software engineering best practices (TDD, clean code, refactoring, CI//CD, etc).
You are a great communicator, are actively seeking growth opportunities, enjoy working in a team and leading from a technology perspective.
- Contribute to and lead the efforts of development teams, including internal and external team members, to continuous delivery functional software.
- Contribute and lead the efforts of development teams to design, evolve, and implement scalable, low-latency, resilient, maintainable, and efficient new or existent backend applications and APIs for a high-scale growth company.
- Lead your squads to support the applications you own on production ensuring a great experience to our clients and users.
- Do code reviews of pull requests and provide great feedback to improve our codebase and raise the technical bar of our team.
- Mentor other software engineers to allow for skill/knowledge development through advice, coaching, and training opportunities.
- Remain current on new technologies, evaluate and make recommendations as necessary.
- Ensure process compliance, improvements and best practices, and develop new processes when needed.
- Work in close partnership with cross-functional teams, product and delivery leads and managers.
- Lead refinements, plannings, estimations, and staffing.
- Determine root causes for complex software issues, write post-mortem when needed, and implement practical, efficient, and permanent technical solutions.
- Interview, and onboarding new software engineers.
- Own the quality of the technical solutions for your squads.
- Bachelor's Degree in Computer Science (or related field) or equivalent work experience (10 years).
- 8+ years of experience working as software engineer (or related position), of which 3+ years as senior software engineer and 1+ year as tech lead.
- 3+ years experience designing, programming, and implementing large distributed, high-performance and scalable applications, microservices or APIs.
- 4+ years experience with AWS and relational and/or nosql databases.
- Senior-level knowledge (3+ experience) with Typescript, Nodejs and its popular frameworks and libraries to execute common tasks like build APIs, implement unit tests, integrate with databases, and others.
- Experience with RESTful APIs.
- Ability to create clean, modern, testable, well-documented code.
- English fluency, verbal and written.
- Experience with agile processes, primarily Scrum, and agile development best practices (pair programming, refactoring, CI/CD, etc).
- Personality traits: Professional, results oriented, proactive, organized, passionate, team player, good communication.
- Proficiency with RoR, C# (.Net Core) or another programming language other than Typescript.
- Experience with NestJS, Postgres, NoSQL databases, API gateways, authentication and authorization solutions, terraform (or related).
- Experience leading a project that has had to scale to tens or hundreds of millions of users.
- Open to learning and implementing best practices in new languages in a polyglot environment.
- Experience exposing API as a service to partners.
- Experience with queuing / event systems (RabbitMQ, SQS, SNS, Kafka, etc).
- Experience deploying large scale systems.
- Experience creating technical roadmaps for large distributed applications.
- Familiar with tools such as CircleCI, CodeClimate, Git/GitHub, DataDog, PagerDuty, Sentry, Slack, Jira, and Confluence.