Hello, folks! This month is my fifth anniversary working at Plataformatec. For all these years working there, I’ve learned a lot about programming and software development process. The best part is the Plataformatec team is amazing, the people there is very welcoming and inspiring. I just not have coworkers, I have friends. This post is a repost from “Plataformatec blog.”
One year ago I joined Plataformatec and today, I’m going to tell you some practices that I have learned while working here during all this year. I hope you’ll find something helpful to improve your team or your company.
Sustainable work hours
Some companies expect their employees to work overtime when a project gets close to the deadline and it’s not finished yet. When I came to Plataformatec, I discovered that the default here is to work in a sustainable way (40 hours/week). There have been a few exceptions, but we are not encouraged to do so, and the extra hours can be compensated as well.
Software development tools and practices
At Plataformatec we choose to start with a small set of basic tools and practices, adapting as we learn about the project and the customer.
One of the practices that I liked the most and had no previous experience with is the retrospective meetings. If you never heard about it, it’s simple! It’s a meeting that we do at the end of an iteration, reviewing everything that happened: not only the good things but also the ones that we need to make better so that we can plan actions to continually improve. For me, it is a very pleasant meeting because it’s an opportunity to recognize the good work someone has done or to search for a solution to a recurring problem. One interesting fact is that we also use retrospective meetings internally, for the whole company itself.
We don’t cut corners
We really care about our customer’s products and the code quality. We don’t like adding ineffective, incomprehensible or quick-and-dirty code (also known in Brazil as “gambiarra”), because we know that it may cause problems in the future.
We know that it’s not that easy to avoid bad code and beginners mistakes, but there is no definitive solution for this kind of problem. Here at Plataformatec, we use two tools to achieve a greater level of code quality: our guidelines and a simple process called code review via pull request. If you’re going to adopt just one of these practices, choose Code Review.
Every single line of code matters, that’s why it’s better not to put all that responsibility on just one person’s shoulders. The code review process can help with that. When doing code reviews, everyone in the team is accountable for the code that is being shipped, not just the developer that created the pull request.
Before working here, I thought pull requests were only an open source practice, that it didn’t have a place in commercial projects. It was really mind-blowing to see how it works on a daily basis. We reduce errors, ask for help from an experienced programmer, learn about features of frameworks and languages, discuss algorithms… it is an awesome communication tool, and the best part is, all that communication happens in the context of the source code.
It’s simple: we do software development, we work hard to improve the way we do it and to become one of the best references on it. The whole company works as a team, and everyone shares the same goal. It means that the salespeople close the deals with terms that developers and managers can work in a healthy and challenging environment, and, most importantly, the customers know what to expect from us.
It was a surprise to me when I came here and saw that all of my new coworkers love the programming community and that most of the open source work is done during their free time. We are frequently encouraged to contribute to open source, attend to local and international events, write blog posts, present talks and discuss software development subjects on our Hacking Evening every Tuesday. Best of all, you don’t need to do it alone, there is always someone to lend you a hand. Knowing these people and working with them motivates me and help me love more what I do every day.
That’s all I had to say for now. Working at Plataformatec has taught me a lot of good lessons and I know I still have a lot of things to learn. I selected the practices that I liked the most and wanted to share.
Do you have any practice that you appreciate? Tell us about in the comments below!