Software Engineer

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

Requirements:

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

Extra points:

You have experience developing in Go

You have experience with DevOps

To apply please send an email to cassio@contasimples.com with your CV.