We are a collective group of fearless people with a clear purpose: to empower professionals around the world through intelligent workflow automation software. Currently, more than 500 people across 7 countries work with us, remotely or in a hybrid way, to make life easier for over 3,000 companies using Pipefy in more than 180 countries. Since our founding in 2015, we have put people at the center of everything we do, so we invite you to learn more about this position and apply to be part of our team.
You’ll be responsible for empowering users to make the productivity revolution happen in their companies.
As a Back-end Engineer at Pipefy, your mission is to solve our users’ problems - sometimes before they even happen! It can be programming a new feature, polishing existing features, supporting a team member, giving feedback, or solving a bug. Your work will be an essential part of our engine.
You'll have the opportunity to conduct and participate in experiments, make suggestions to improve our architecture and product and use tons of data to make the best decisions.
Since we are fully remote, you'll meet and work with people from all around the world.
Main Responsibilities:
- Develop new features from start to finish: through conception, research, implementation, and maintenance, as well as improve existing ones.
- You will work primarily with Node.js, while also collaborating on services built with Ruby on Rails, Python, and other technologies as needed.
- You'll help improve our components' performance, scalability, and reliability so that Pipefy is always available and at the top of its game.
- Take responsibility for system stability, ensuring proper testing and observability, actively monitoring production behavior, and reacting quickly to incidents.
- Work alongside our Product Development team to find out the best way to solve our customers’ problems - then work on making that solution happen!
- Share knowledge with the team and learn together. We believe knowledge is much more valuable when shared, so we’re always learning and teaching each other.
- Remove technical roadblocks to the team’s progress, such as fixing problems in the continuous deployment pipelines, removing noisy irrelevant alerts, keeping the exception volume down, creating analytical controls and monitoring, etc.).
- Take part in the continuous improvement of Engineering processes, like recruiting, hiring, onboarding, documentation, incidents, tech talks, etc.
Requirements:
- Write correct, clean code with periodic guidance; consistently follows best practices, including tests (unit, functional, integration).
- Have practical knowledge about infrastructure, service architectures, tools, libraries, frameworks, and continuous deployment systems.
- Demonstrate ability to perform and guide methodical, data-driven performance and scalability optimizations.
- Actively contributes to the technical design of features.
- Understand and make well-reasoned design tradeoffs in their area.
- Familiarity with RESTful and/or GraphQL APIs.
- Strong understanding of object-oriented programming.
- Proficiency in Node.js, with experience in Ruby on Rails, Python, or other programming languages considered a plus.
- Effective in collaborating with the team, pairing, seeking help, and communicating status and challenges. Takes part in the continuous improvement of team processes.
- Practice egoless programming. Accepts feedback graciously and seeks opportunities for collaborating in pair and mob programming sessions.
- Anticipate and identify problems with requirement specifications and customer requests.