I have a pretty strong set of values. Values that I built over the years. I try, as much as I can, to use them as a guide in all decisions that I make. This is pretty easy when the decision does not have big consequences. It’s a win-win situation. It’s pretty hard though when the decision that I believe it’s right has big consequences. One could argue that in some situations it’s wiser to close an eye for your values and go to the more “sensible” option. I don’t buy that. I stand for what I believe. I prefer to be honest with myself (and with others) than doing something I might regret later.
It’s easier said than done. I have my skeletons of decisions that I regret or decisions I should have known better. The important thing for me is to be stupidly honest with myself. Honest about my achievements, about my wins but particularly about my mistakes and my losses (which are many). That’s the only way I know where I can sleep soundly at night and still improve as a person.
Many companies have their values published on their website. For some of them, this is quite important and a drive to do their business. So I thought I should do the same for me. Not only to other people to get to know me better, but also to keep me honest. To keep me accountable for the decisions I take on a daily basis.
So if you want to work with me as an employer/in an open source project/in a mentorship program you might find that a good read of what you will encounter. Now, without further ado, these are my values:
Tell the hard truth
This might sound obvious, but it’s not. I believe honesty is tremendously important in any kind of relationship. This is not only about honesty like “Don’t steal stuff”. This is about being honest even when the truth hurts. Be honest to say the hard things that people don’t want to say.
For example, I was on a project once where despite our best efforts we’re not achieving good results. People didn’t want to acknowledge that the project was failing. Failure is a word most people don’t like. But I said it. People didn’t like to hear that but doing that triggered a conversation that helped our team to go to a better place. Truth hurts, lies hurt even more.
It does not matter to me if you are the cleaner that comes once in a week to clean the office or the CEO of a big corporation. I will respect you nevertheless and I demand the same. If respect it’s not in place in a conversation, I leave. No exceptions. No good will come from a relationship where mutual respect is not present. At the end of the day, we’re all people with our own set of problems to take care of. And neither you or I have the time or desire to waste with disrespect.
For example, when I was overseas I used to work in an office where the cleaners were treated like invisible people. People only interacted with them to request something but never talked to them as people. I used to greet them every day, even though they couldn’t understand much English they tried to make an effort to have a conversation with me. They are humans and deserve respect like any other. As a result of that, I received feedback from my peers telling me how they felt ashamed to not do the same and they started greeting them too.
Lead by example
I believe leadership is not a title, it’s a skill. For me, leadership only works if it’s by example. You cannot ask other people to be honest if you are not. You cannot ask people to treat others with respect if you do not. I also think leadership is a big responsibility and a leader needs to be held accountable by her team. I worked with many leaders through my career, the ones I respected most were the ones who cared about me and my team. The ones who were transparent and trusted their team to solve the customer problems while they were focused on fix the team problems.
For example, I was coaching a brand new Scrum Master in a big bank, the project was late in its schedule and the business was disappointed. In a private conversation, the Scrum Master told me he would force the developers to work over the next few weekend to get that done. I asked him to don’t do that. Instead, I said, let’s bring them together, show the problem to them and see what’s the solution they would come up with. I also said that I was confident they would come up to the same conclusion as he did and we should be prepared to help them to meet the deadline. We got everyone together and, unsurprisingly, the development team said they would need to work over the weekend. The Scrum Master was alleviated and let them know that for each day they would work on weekends, they would be able to take a day off between Christmas and New Year’s Eve. The product owner also managed to reduce the scope for the MVP making the developers life easier and still delivering business value to the client. A win-win situation. The team morale was higher after the meeting than before and we managed to deliver on time after all.
Challenge all the things!
I am a challenger. I believe continuous improvement is only achieved by constant challenges. Challenge ourselves, challenge our processes, challenge our assumptions. I particularly like to challenge processes or assumptions that have been around for years unchanged. Things move very quickly and if a process is stuck in time it’s very likely an old habit rather than a useful process. I believe it’s a healthy process where the outcome usually is pretty good.
For example, one process I usually challenge is retrospectives. In most places, they are always the same and lose value over time. In some places, there is no retrospective at all. I like to think I am a reasonable retrospective facilitator since I learned with the best facilitator Paulo Caroli! I facilitated a retrospective for a client once, where the discussion that happened was so good they actually were very thankful I jumped in and facilitated. Same team, same meeting, but with a different facilitator can indeed bring value!
Zero tolerance for bullies
That should sound obvious, but unfortunately, it’s not. It’s 2017 and it should be clear by now that bullies (or the famous brilliant jerks) are counter productive. They hurt the team performance overall, they centralise power and they make good people leave the organisation. Nevertheless, they are still out there. I don’t work with bullies. Period. No excuse, no exception. It does not matter if he (it’s usually a he) is the new Linus Torvalds or the most important person in the organisation. I refuse to have my mental health and others to be affected by it. There are many and many and many stories about how those people impact an organisation and drive the culture.
For example, I joined a company where I found out the most senior person on the team was a bully. A bully with capital B. He was consistently bullying people over the 10 years working there and also across multiple open projects where he never contributed with code – only opened issues. I, obviously, didn’t know before the first day. I talked to the HR which they said they knew about that, but he was untouchable. I talked to my manager and he said to me to be like Dalai Lama and work around him (I’m serious he actually mentioned Dalai Lama!). He also said that everybody in the team did that and even he himself was afraid to talk to the bully because he never knew what his mood would like.
I like conversations that go directly to the point. When I talk to my kids I respect their intelligence and I am always straight to the point. They are 8 and 11 years old as of today. I respect their intelligence and don’t keep going over and over to explain something. I always go to the point, make myself clear and ask them if they understood me. When they don’t I explain in another way until I am sure they understood me. Although they are young, they appreciated that. I do that with kids, of course, I do with adults as well. That does not mean I need to be rude. I can be nice and direct to the point. I expect others to do the same with me. Particularly about sensitive topics. A no bullshit policy means everyone is clear what it’s being talked about and there is no room to “interpret” something. In general, people appreciate that I am direct to the point. And more than once, they reached out to me precisely they know I won’t bullshit them. Some other people don’t like that so much.
For example, I was working for a company that was trying to get a big contract with a very big client. My manager was quite hopeful that would the first of many other contracts. As part of work with this big company, they asked us some questions regarding security and my manager asked to me answer those. It was an extensive spreadsheet where I went from item to item answering them. Then I reviewed it with another person in my team, we changed a bit and sent to my manager. My manager was reviewing our answers and started to get anxious about. He asked me to look at those questions with more “positive eyes”. I then said in a sensitive topic as security is, I don’t have “positive eyes” only “technical eyes”. It was my duty to report what I saw and not what it should look like. But he was free to change the answers and send the spreadsheet in his name instead of mine, which he did.
No rock stars
I don’t believe in rock stars if your company is looking for one, that’s definitely not me. In fact, I never met one. I met dozens of awesome developers though. People strong technically and great team players. They weren’t rock stars. In fact, most of the time, they were in the background. Mentoring team members, helping with infrastructure, removing blockers and etc. Their value was in improving the team itself and not going to the front stage and solving all problems. A team of software developers is not a rock’n roll band where the singer is the most important person. A team of software developers should have much more collaboration between members than a competition about how’s the protagonist. A rock star or a ninja are terrible analogies for good team players. And I definitely don’t want to work with those.
For example, one of the most awesome developers I ever met, used to do pair programming a lot. He knew he could leverage new team members easily that way, but he also knew he could learn with other people too. He also organised brown bag sessions and encourage people to share their knowledge. He was very patient to break down a technical problem and explain it to whoever wanted to hear. He always listened to other people’s ideas and took them seriously even though the idea itself wasn’t very good. He never took the front stage and tried to show how awesome he was. He was in the background, making sure everyone got the support they needed to do a great job. Not a ninja, not a rock start, but a great developer!
Diversity for the win!
Although this is implicit on the values above, I believe this is so important that needs to be mentioned. Tech has a problem with diversity. Look at any tech company and most developers are white, male from an English speaking country. So boring. I love diversity to talk to people with different backgrounds, different culture and having different experiences. I also noticed if a team is diverse, chances that are no rock stars or brilliant jerks on it. Collaboration is also improved too. In 2017 and beyond we need to improve on that. And more we need to encourage more minority groups to join us and create a safe environment for them.
For example, at ThoughtWorks Brasil I used to mentor some female junior developers. Besides the regular mentorship program, I also called out when they were interrupted in meetings so people can actually hear their voice. When I was facilitating meetings, I specifically asked their opinion so their voice can be heard. It’s very well known the women have a harder to time to speak of in meetings and are much more interrupted than men. Just to make sure that’s not a problem with women, it’s a problem with men. Men create this problem and we need to fix it.
That’s all folks
If you got down here I really appreciated. I like to challenge these values a lot and they are constantly changing. So I might update this in a few months.