Runa HR

Group Tech Lead - Core Services

Job Description

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.

Your role

As a Group Tech Lead Engineer, you will take ownership over technical deliveries for a whole engineering group ensuring they are solid and long-term solutions. You mentor and lead others tech leads and software engineers to design and implement maintainable, scalable, low-latency, resilient, and efficient backend applications, and APIs focused on delivering continuous value in HR and payroll areas.

You partner with delivery managers, product managers, and engineering managers to lead architectural and technology decisions to evolve and create new products and features. You define standards, create technical roadmaps and OKRs to empower squads' tech leads and engineers to make good decisions, deliver with excellence, aligned with the Runa technical vision.

You understand company dynamics, write technical documentation, identify risks, reduce complexity and remain current on new technology trends to support innovative solutions.

Who you are

As our Group Tech Lead Engineer in Core Services, you are an experienced software developer in more than one programming language, have great experience leading other software engineers, and don't believe in silver bullets, you opt for the best technology to solve the problems based on relevant aspects for the context.

You have great knowledge and experience with agile methods, Nodejs, microservices architecture (integration patterns, messaging, event-driven, service mesh, API gateway, RESTful, RPC, etc), API design, databases, and software engineering best practices (TDD, clean code, refactoring, CI//CD, etc).

You are a great communicator, data-informed, and are actively seeking growth opportunities, enjoy working in a team and leading from a technology perspective.

Primary Responsibilities

  • Serve as a Software Architect contributing to and leading the efforts of development teams, including internal and external team members, to continuous delivery functional, long-term software solutions.
  • Contribute and lead tech leads and 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.
  • Help to define processes and take tools' decisions to support the applications on production ensuring a great experience for our clients and users.
  • Make code reviews of pull requests and provide feedback to improve our codebase and raise the technical bar of our team.
  • Build and foster a high-performance culture and mentor tech leads and 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.
  • Build collaborative partnerships with cross-functional teams tech leads, delivery and product lead, engineering manager, and key individuals within other functional organizations.
  • Lead or support during refinements, plannings, estimations, and staffing.
  • Lead the resolution for complex software issues understanding root causes, participating in post-mortem sessions, and implement practical, efficient, and permanent technical solutions.
  • Define technical approaches, long and mid-term roadmaps, and OKRs that will support the Runa scale.
  • Interview, and onboarding new software engineers.
  • Own the quality of the technical solutions for your group.

Required Qualifications

  • Bachelor's Degree in Computer Science (or related field) or equivalent work experience (10 years).
  • 12+ years of experience working as a software engineer (or related position), of which 4+ years as a senior software engineer and 2+ years as a tech lead or software architect.
  • 4+ years experience designing, programming, and implementing large distributed, high-performance, and scalable applications or APIs.
  • 5+ years experience with AWS and relational databases.
  • Senior-level knowledge (3+ experience) with Typescript, Nodejs, and its popular frameworks and libraries to execute common tasks like building APIs, implement unit tests, integrate with databases, etc.
  • Experience with RESTful APIs.
  • Experience in architecting and building as well as evaluating third parties platform services such as authentication, messaging, mailing, etc.
  • Sense of decision to buy vs builds as necessary.
  • Ability to create clean, modern, testable, well-documented code.
  • English fluency, verbal and written.
  • Experience with agile processes, primarily Scrum.
  • Personality traits: Professional, results-oriented, self-driven, proactive, organized, passionate, collaborative, curious, great communicator.

Desired Qualifications

  • Familiar with RoR and/or C# (.Net Core).
  • 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.
  • Experience migrating from monolith to a distributed, and resilient architecture.
  • Experience exposing API as a service and implementing SDKs.
  • Experience with queuing / event systems (RabbitMQ, SQS, SNS, Kafka, etc).
  • Experience deploying large-scale systems.
  • Experience creating technical roadmaps and OKRs for large and global distributed applications.
  • Familiar with tools such as CircleCI, CodeClimate, Git/GitHub, DataDog, PagerDuty, Sentry, Slack, Jira, and Confluence.
  • Experience in another programming language other than Typescript (preferable Go, Java, Scala, or Kotlin).