Software Engineer on Product – Full stack
We are looking for a full-stack software engineer that knows how to build products. Who knows how to work both on the frontend and backend. Ready to take the technical leadership of the product. Is not the type of person that just takes tickets out of a backlog but is someone who is ready to talk to users and understand their problems, think about and make big technical decisions in the architectural level of the system.
Is able to take ownership of parts of the product and knows how to work in the entire life cycle of development: from the conception and validation of the idea, defining the scope and gathering of requirements, development, testing, release and maintenance.
Believes that moving fast and building quality go together. Is diligent about the quality of the software and believes in creating automated tests to guarantee the quality and good functioning of the system.
Knows how to learn and is ready to use the best tools and languages for the task at hand. Preferably has experience building distributed systems and has strong knowledge of software architecture and design – although not a deal breaker if not. Knows how to make decisions and trade-offs – especially when its about tech-debt.
Knows how to talk to users and discover what are their pains, design and develop the solution and deliver the final product (or feature).
Wants to and is ready to develop the best financial solution in the Brazilian market and wants to solve the problems of millions of entrepreneurs and businesses.
Your responsibilities will consist of:
- Working in the entire cycle of software development: from conception and solution validation all the way to release and maintenance
- Thinking, discussing and making decisions on the system architecture and tools to be used in conjunction with the rest of the team
- Creating a distributed systems from scratch using the best tools available for any given task
- Creating a system capable of easily evolving and scaling to millions of daily users while only handling very few users initially
- Guarantee proper functioning of the system as a whole while abiding by the SLAs
- Interview and hiring future engineers to the team
- Working closely with designers, giving and receiving feedback, to develop the best product possible
- Working closely with the end user in order to understand their problems and to create solutions to solve them
- Working both in the backend as well as in the frontend
- Likes to learn and doesn’t mind using different languages and tools to complete specific tasks
- You are diligent about the quality of the software you write. You are adept of writing Clean Code
- You know how to go fast without sacrificing quality
- You write automated tests as part of your daily work in order to guarantee quality and the correct functioning of the written code
- You know when and how to make technical trade-offs and take on tech-debt
- You have experience building distributed systems and you know about their limitations, difficulties and pitfalls
- You can take ownership of features and entire parts of the product
- You know how to design and develop REST APIs
- You can work both in the frontend as well as in the backend
- You have experience developing in Go
- You have experience with DevOps