Early March I started to work at SAJ ADV, a Brazilian LawTech. More than a simplistic overview of the kind of work I do here, or how it’s done, in this post I wrote about three points that improved me as a developer.
In the upcoming weeks I’ll write a more thorough post about the methodologies we use here, but suffices to say that we use the Lean methodology, which gives every developer in the team more autonomy and ownership over the product.
Freedom from upper management
Because of this autonomy, the first thing that struck me (because I had never seen it out in the wild) was the freedom and trust given by upper management (that being the tech lead, scrum master and manager), which comes mostly from Lean’s “empowerment” principle. There’s little to no micromanagement in every task I do, and I feel much more confident in “taking my time” to deliver quality to the client (a trade-off is needed here, of course).
Every quarter we set 2 to 4 OKRs as being the most important topics to be addressed by the team, and in the following 2 weeks we create the Kanban stories that better represent and address such OKRs. Having these high level stories, we’re free to pick any of them throughout the quarter, the way we better see fit, and also create new ones as necessity arises.
From Lean’s “amplify learning” principle, every developer is given huge incentives to grow as a professional and as a person. One such example is that, every week, one developer from the team is motivated (almost coerced :) ) to take a day off to study something of his/her interest. Afterwards, that person is asked to share the gained knowledge with the rest of the team, to discourage silos of knowledge, where just one person would hold the truth about a topic.
The past 3 times I took a day off I was able to study topics that were interesting to me, and that I could use to improve the team’s performance, such as Solr/Lucene, Logging standardization and Site Reliability Engineering (I’ll make sure to blog one post per topic in the upcoming weeks).
Update from Nov 15, 2018: I did the post on Site Reliability Engineering
Also, developers are given a financial incentive every year to go to meetups, workshops and/or courses. Here, the knowledge should also be shared with the rest of the team!
Everybody in the team is motivated to embrace all aspects of the product and, more specifically, of the software itself. No one team member should be the sole-responsible for any microservice or any part of the process (like meetings and feedbacks). We have, of course, specialty areas, where one developer is more of a DevOps engineer than anybody else, so he’s the go-to guy to implement new deploy pipelines or infrastructure architectures and whatnot, but everybody in the team should be able to deploy new versions of the microservices and fix minor DevOps-related problems.
I feel that this way of work gives the development team much more flexibility in dealing with daily tasks and problems, and allows me to broad my software developer skills.
Customer success (Lean’s “see the whole” principle)
Technical aspect aside, one of the best things I’ve been learning at SAJ ADV is Customer Success. Before developers reading this start to cringe just thinking about contacting customers all around the country, no, I haven’t spoken with customers, because we have dedicated teams for that (Customer Success and Customer Service). What I mean is, mainly, empathy and UX.
By realizing that the software I develop truly changes people’s lives and that it improves the overall state of Brazilian’s legal system (a long overdue problem we have here), every little task or bug I solve gains a whole new perspective.
Before mindlessly solving a bug the easiest way possible, I get myself thinking of how such a bug affects the user’s life, how it makes things more difficult for the user, and what could I do differently here that, instead of just fixing the bug, could actually improve the overall experience?
This kind of knowledge is something I’ll surely take to my career and life, going forward!
It’s been truly enlightening to work at SAJ ADV, gaining one piece of useful knowledge everyday and being able to solve a myriad of problems and developing new solutions. I hope it continues like this, or even better!
Big plus: my team’s called Dragonball :)
Wherever I referenced Lean’s principles, I meant the ones described on Wikipedia’s article