Skip to main content

Roles

People can assume specific roles on the engineering team accordingly to their skills, experience, and responsibilities. We have the positions:

Culture

It's essential that you feel comfortable with our working culture.

Internโ€‹

Requisites: Undergraduate students of any IT course.

Undergraduate students that don't have experience with software development.

Junior Full Stack Developerโ€‹

Junior Full Stack Developers are responsible for learning our technologies stack and our workflow. They are expected to work on our projects and become a Mid-Level Full Stack Developer.

Scopeโ€‹

  • Responsibility: Can be responsible for a specific module within a part of the application, such as a specific feature in the frontend, a simple route in the API, or a set of queries in the database.
  • Example: Implement the contact form interface on the frontend, create a simple endpoint in the API to receive form data, or develop basic database queries to support this feature.

Technical Skillsโ€‹

  • Basic knowledge of HTML, CSS, and JavaScript.
  • Familiarity with Node.js and React.js.
  • Basic knowledge of frontend, backend development, and databases (e.g., SQL, NoSQL).
  • Basic understanding of version control using Git.

Responsibilitiesโ€‹

  • Implement simple tasks under direct supervision.
  • Fix bugs and make small improvements to existing code.
  • Write basic tests to ensure code functionality.
  • Participate in code reviews as a recipient and occasionally as a reviewer.

Autonomyโ€‹

  • Requires frequent guidance and supervision.
  • Tends to work on well-defined and limited tasks.

Leadership and Communicationโ€‹

  • Participate in team meetings and feedback sessions.
  • Communicate clearly and proactively about task progress and encountered difficulties.
  • Collaborate with other developers to learn and grow.

Mid-Level Full Stack Developerโ€‹

They have more experience and higher knowledge and assume more complex tasks, from the backend to the frontend. They also know most of our company's technologies stack and take responsibility for part of the projects.

Mid-Level developers have two directions for career progression: Senior Full Stack Developer for a technical (keep coding career) or Tech Lead for management and leadership paths.

Scopeโ€‹

  • Responsibility: Can be responsible for a complete part of the application, such as the entire frontend, the entire API, or the entire database layer.
  • Example: Develop and maintain the entire frontend of the application, including integrating with the API and implementing complex components. Alternatively, be responsible for the entire API, ensuring all routes work correctly and efficiently, or manage the database, including data modeling and query optimization.

Technical Skillsโ€‹

  • Proficient in HTML, CSS, and JavaScript.
  • Proficient in Node.js and React.js.
  • Solid knowledge of backend development and API integration.
  • Skill in responsive design and cross-browser compatibility.
  • Experience with version control and collaborative development practices.

Responsibilitiesโ€‹

  • Develop complete and complex features independently.
  • Review and maintain code, ensuring high quality and efficiency.
  • Actively participate in code reviews, providing constructive feedback.
  • Collaborate with the product team (managers, designers and others engineers) to implement new features.

Autonomyโ€‹

  • Ability to work independently with minimal supervision.
  • Solve complex technical problems and find creative solutions.

Leadership and Communicationโ€‹

  • Technical leadership in smaller projects or specific components.
  • Mentor for junior developers.
  • Effective communication with stakeholders to understand requirements and offer solutions.

Senior Full Stack Developerโ€‹

They can assume tasks of any complexity and work on defining the project's architectures. They take full responsibility for projects.

Scopeโ€‹

  • Responsibility: Can be responsible for the entire system, ensuring harmonious integration and functioning between all parts (frontend, API, database).
  • Example: Oversee the architecture and design of the complete system, ensuring that the frontend, API (handling transactions, authentication, etc.), and database (storing products, orders, users, etc.) are well integrated and functioning efficiently. This includes high-level decisions about technology, performance, and scalability, as well as guiding and supporting mid-level and junior developers.

Technical Skillsโ€‹

  • Proficiency in HTML, CSS, JavaScript, and our stack.
  • Advanced experience in backend development, continuous integration, and DevOps practices.
  • Ability to architect and design complex systems.
  • Deep understanding of performance and optimization of web applications.

Responsibilitiesโ€‹

  • Lead the development of complex and large-scale projects.
  • Define coding standards and best practices for the team.
  • Conduct detailed code reviews and provide strategic guidance.
  • Identify and resolve critical production issues.

Autonomyโ€‹

  • High autonomy, capable of making strategic development decisions.
  • Responsible for architecture and system design decisions.

Leadership and Communicationโ€‹

Tech Leadโ€‹

The Tech Lead is usually the leader of a small number of developers. They act as mentors, examples, and guides for the rest of the team. In addition, they're responsible for the team's code quality measures, such as ensuring that the group conducts good code reviews and follows the company's technical standards.

Scopeโ€‹

  • Responsibility: Oversees the entire development process, ensuring that technical solutions align with business goals and that all components (frontend, backend, database, and infrastructure) are well integrated.
  • Example: Provides architectural guidance, ensures the scalability and maintainability of the system, and leads technical discussions and decision-making processes.

Technical Skillsโ€‹

  • Extensive knowledge of web development technologies.
  • Deep expertise in backend technologies and database systems (SQL and NoSQL).
  • Strong understanding of system architecture, design patterns, and best practices.
  • Experience with DevOps practices, including continuous integration/continuous deployment (CI/CD), containerization (e.g., Docker), and cloud services (e.g., AWS, Azure, Google Cloud).
  • Ability to assess and implement new technologies and tools that can enhance the development process.

Responsibilitiesโ€‹

  • Define and enforce coding standards and best practices across the development team.
  • Lead the design and architecture of the system, ensuring scalability, performance, and security.
  • Conduct detailed code reviews and provide mentorship to developers of all levels.
  • Troubleshoot and resolve critical technical issues in production.
  • Collaborate with stakeholders to understand business requirements and translate them into technical solutions.
  • Oversee the technical roadmap and ensure alignment with product goals and timelines.
  • Facilitate technical discussions and decision-making processes within the team.

Autonomyโ€‹

  • High degree of autonomy in making technical decisions and setting the direction for the development team.
  • Responsible for strategic technical decisions, including technology stack choices, architectural patterns, and long-term technical vision.
  • Empowered to implement changes that improve the development process and product quality.

Leadership and Communicationโ€‹

  • Lead and inspire the development team, fostering a collaborative and high-performance culture.
  • Mentor and guide junior, mid-level, and senior developers, providing opportunities for growth and development.
  • Communicate effectively with stakeholders, including product managers, executives, and other departments, to ensure alignment on goals and priorities.
  • Represent the technical team in strategic meetings and discussions, advocating for technical needs and priorities.
  • Facilitate regular team meetings, such as stand-ups, sprint planning, and retrospectives, to ensure effective communication and coordination.