Pipefy’s goal is to empower its users, bringing unprecedented productivity levels to doers all around the globe. We’re always looking for passionate and energetic people to join our team to make that happen.
We have an innovative mindset. Things around here always change, so if you were looking for a company that’ll promote substantial changes, you’ve just found it.
More than just empowering our users, we’re also focused on empowering our team members so they can achieve their dreams. At Pipefy, you’ll find a safe, inclusive, and respectful environment where everyone is welcome. We take pride in being a People First company and caring for our customers, team members, and community equally.
About The Role
Going back to the very first thing we said, 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.
What You'll Do
- Anticipate broad technical change and scalability challenges. Ensures Pipefy is always ahead of the curve.
- Lead internal conversations about the direction of significant technology areas, drive wide-team consensus to adoption, and use this direction to inspire our engineers.
- Drive a pipeline of potential staff engineers by identifying technical stars and providing focused technical mentorship.
- Take part in the continuous improvement of Engineering processes, like recruiting, hiring, onboarding, documentation, incidents, tech talks, etc.
- Sought out for technical guidance on your squad and related ones, anticipate technical issues at the product level, and make architectural and design decisions to avoid them.
- Consistently reduce the complexity of projects, systems, and processes to get more done with less work. Breaks up deliverables to optimize for earlier feedback and incremental delivery of business value.
- Help the team develop a robust engineering culture focused on quality and impactful deliveries by setting an example and mentorship.
- Primarily act as a multiplier by building systems, authoring tools, or introducing policies or patterns that raise the level of productivity of the entire Engineering.
What We Are Looking For
- Always put people first: Our main goal is to help users and ensure their experience with Pipefy is exceptional. We don’t settle for good; we aim to be extraordinary.
- Problem-solving: Identify the issue, analyze the causes, generate a set of alternatives, evaluate the best solutions, and assess the effectiveness.
- Ability and willingness to learn: You’ll teach yourself and learn new things from your colleagues every day.
- Speed in prioritizing and making decisions: Things change very fast in our environment, so we need you to think fast to identify, prioritize and make decisions on your own.
- Data orientation: At Pipefy, we’re always looking for ways to improve our work, and we do so by analyzing and interpreting data. Things that are not measured can’t be improved, so we need you to be data-obsessed.
- Keep it Simple: Straightforward solutions are our antidote of choice to the poison of over-engineering.
- Business Oriented: Your decisions and what you build impact our business. Instead of choosing what is cool or in the hype of technology, your choices must be focused on what is necessary to achieve Pipefy’s goals.
Skills and Qualifications
- 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.
- Able to seamlessly learn and guide others across large sections of our codebase.
- Actively contributes to the technical design of features.
- Understand and make well-reasoned design tradeoffs in their area.
- Strong ability with RESTful and/or GraphQL APIs.
- An excellent technical understanding of client/server fundamentals and enterprise architecture.
- Strong understanding of object-oriented programming.
- Proficient with Ruby on Rails, Golang, or any other object-oriented language.
- 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.
- Have the ability to conceive of and create abstractions, tools, and libraries that are useful more broadly than the initial impetus.
- Have working knowledge of software architecture, application design, and quality assurance principles.
Bonus points
- Experience with Umbrella projects such as GraphQL and Ruby on Rails.
- Infrastructure: Cloud Computing, AWS, Networks, Balancers, Web Servers, Containerization, Kubernetes, Docker, Disaster Recovery, Monitoring.
- Process Development: CI/CD, Git, Travis, Drone, Unit/Functional/Regression/Acceptation/E2E/Integration testing.
- Have good communication in oral and written English.
- Experience working on agile and lean methodologies.
- Experience building and scaling complex, high-performance, high-transaction applications.