Many of us have in mind changes we would like to apply to the workplace. I define the work environment as the set of structures, customs, rules, and tools that are present daily and are used by people to perform their tasks and achieve expected outcomes.
After more than a decade of working in very diverse environments, both as a software engineer and as a manager, I have compiled a set of structures, customs, rules, and tools that I would like to have in my work environment. This combines what I desire as a software engineer and what I need as a manager, aiming to achieve EXCELLENCE. It may seem like managers and engineers have very different views, but with the right objective, I’ve found there are more similarities than differences.
Obviously, I did not invent any of these practices. I’ve simply observed and gathered lessons from the great mentors I’ve had so far in my career. Very little of this would be possible without the guidance and support of the company I work for (CERC), and the excellent mentors and managers I’ve had (José Belchior Monteiro Jr, Thiago Suzano, and Edson Fregni).
Without further ado, let’s get to the point of the text.
Regarding technical aspects: We use cutting-edge technology, 100% cloud-based, with the latest versions of major market languages (Java, Python, Node, C#, PHP, JavaScript, Dart, etc.), microservices architecture (with maturity evaluation), eventual architecture (for processes that require high resilience and scalability), fully automated code promotion and continuous delivery pipelines (Azure DevOps), observability and monitoring tools (New Relic, ELK…), automated infrastructure with IaC tools (Terraform, Atlantis…), and we also apply methodologies like Kanban and Kaizen daily. Estimates are based on historical data, not guesses. We extract various metrics to assess our progress and have well-defined OKRs and KPIs with bi-weekly follow-up meetings.
The cherry on top is PEOPLE! The remote work team is highly collaborative and communicative, actively participating in technology and product discussions, able to suggest changes at all project phases and actively exercising this ability, high-level ownership. We have meetings for continuous improvement (OKRs, KPIs, retrospectives…) that generate good ideas and action plans. At the end of each phase, we celebrate together.
These practices and values I’ve shared form the basis of the work environment I so aspire to and am committed to creating and sustaining. I believe that a genuinely collaborative environment, where knowledge exchange is encouraged and responsibility is shared, leads to exponential growth of the team and the results achieved.
Each line of code we write is an investment in the future. Therefore, we aim to maintain highly maintainable code, supported by comprehensive tests and good design practices. We believe that technical excellence and a concern for quality are fundamental for the ongoing success of the business and for satisfying our customers.
Working side-by-side with colleagues who share the same passion for software and development, we not only build incredible products but also a culture of respect, collaboration, and celebration of each achievement. Together, we are stronger and driven by the desire to overcome challenges and reach new heights.
I am excited to continue this journey of learning and evolution, alongside a team that embraces innovation and strives for excellence. If you share this vision and seek a work environment full of opportunities to grow and stand out, let’s connect and explore how we can build something extraordinary together!
What:
Truly Collaborative Environment
How:
We encourage practices such as pair-programming, peer review, knowledge-sharing events. All metrics (KPIs) are team-oriented, not individual. We believe there’s a greater scale advantage in sharing knowledge rather than doing everything alone and retaining knowledge. Together we are stronger.
What:
Highly Maintainable Code (Good Practices)
How:
Broad business knowledge by the technical team, good code design practices (Clean Code, Clean Architecture, Design Patterns, SOLID…), extensive test coverage (Unit, Integration, Mutation, Load…), sanitized logs, monitoring, observability, a complete local environment (Docker). Application of tools like SonarCloud with a quality gate to block pull requests that are not in compliance and tracking code coverage and test effectiveness metrics (mutation testing) in OKR meetings.
What:
Focus on Continuous Improvement
How:
We adopt the Kaizen methodology to allow us to identify continuous improvement opportunities in our processes. We maintain an open and proactive mindset to review, refine, and improve what we do. In addition, we encourage all team members to contribute ideas to improve the way we work.
What:
Innovation and Openness to New Ideas
How:
We believe everyone has something valuable to contribute, so we encourage open and direct communication, where new ideas are always welcome and considered. We regularly hold hackathons and innovation workshops to encourage innovation and out-of-the-box thinking.
What:
Work-Life Balance
How:
We value the health and well-being of our team and recognize the importance of a good work-life balance. We offer flexible work hours and the option for remote work. Also, the relationship between the application of good practices in the software lifecycle is inversely proportional to the number of incidents that can disrupt the work-life balance.