Monday, January 4, 2016

«Creating a great [software] engineering culture» roundtable at Merge Lisbon #3 – Post event thoughts

(this post is somewhat late, but this time of the year is always busy).

I thoroughly enjoyed the roundtable at Merge Lisbon #3. It was a very interesting and lively discussion, and having two people coming from the online product world/startup, plus two from the development/system integration services world, contributed a lot to the discussion and exchange of different points of view. RUPEAL’s organization was top-notch, and I’ll be waiting for the future editions of Merge Lisbon.

Like I said, there were several topics on the table, starting with what creates a great engineering culture, what is culture anyway, and what is the influence of the “founding fathers” of a company in its culture (”if the founders live 10.000km away, not much”, was one of the answers).
Having founded a services company, of which I was the CTO for 14 years, these are questions that made me think and that I feel as my own. In my view, my company was a mix of the personal views of each of the founders (which mostly – but obviousy not exacly – coincided). A vision of values like agility, transparency, qualitity in the delivery, informality, etc. In time, I do think that this changed - one day at a time - towards a more processual way of working, a trend that was luckily identified and reversed.

Reflecting on my own experience, I think that a founder working in his own company has a bond that is much stronger than that of employees, who can leave whenever they want. Making sure that he creates an adequate workspace, with a great team, challenging work, great culture – is essential to his own happyness and the company itself. And this leads me to one of the points mentioned that night, that a lot of this culture issue relates to “fit” - between the people and the founders and the way the company does business. Which reminds me of the recent example of Holacracy implementation at Zappos – and if I can empathise with the wish to have a specific way of managing the company, I can’t feel the same regarding the “either you’re in, or leave” way of putting things. I’m sure Zappos lost amazing talent in that process. Was it worth it?

One of the big topics discussed at the roundtable was the Hiring process, and how to decide who to hire. My take is that while technical skills are critical, behavioural fit is also as essential, and being able to work as a team. One reference I gave out was the (absolutelly mandatory) book Peopleware by Tom DeMarco and Timothy Lister, which suggests that the team which the new employee is joining should be involved in the hiring/interview process. Other books that have shaped my view on this are Belbin’s Management Teams: Why they work or fail and Team Roles at Work. These defend that – at least in management teams – complementarity between the “types” of people is what makes the teams work. One extreme example is: does anyone believe a team of 5 people like Steve Jobs would get anything done?

Some roles Belbin identifies are the Shaper (the classical “I Have a Vision” guy), the Chairman/Coordinator, the Creative (“Plant”), etc. Joining these views together leads, however, to a very real risk: that of creating a “mono culture”, where people who have very different team roles don’t get hired. For example, a company with a focus on “conservative” team roles will tend not to hire creatives/disruptors (“Plant” and “Resource Investigator”, in Belbin’s terms). Would you hire someone like Elon Musk for your team, if you were recruting him?
I do ask myself if this role categorization captures all there is to it, and tend to think it doesn’t. In my first job, over 90% of the people (web designers/creatives, all) voted in the same left-wing party, for example. Some more food for thought.

A specific question from the audience was on the value of having handbooks with the “principles” and vision of a company, much like Valve’s Handbook for new Employees. While I agree that these documents can be seen as a way of “marketing”, I still see value in them. They represent a vision for what the company strives to be, helping keeping focus/remembering of what the core values are. Time generaly turns organizations into the convervative/bureocrat side (as Jullian Birkinshaw brilliant argued in his Coursera course on Managing the Company of the Future), and these documents can help fight that tendency. Other examples I know of are Ricardo Semler’s “Employee Survival Manual” at Semco (a sample of which is at the end of his book, Maverick), and recently I found out about Outsystem’s The Small Book of The Few Big Rules as a a great portuguese example.

The topic of being a specialist (someone with specific skills in a given area of technology) or a generalist (broad know-howin several areas of technology) was also on the table. The trend seemed to tend towards a tendency to prefer specialists in the hiring process, people who can quickly deliver results in their area of expertise. My only take here was a sentence from an experienced software architect I admire professionally, when describing himself: “I’m an expert in generalities”. This is somewhat obvious if you think about it, but as you grow in experience you will start doing architecture, and it’ll be impossible to know all the technical details of the different parts of your solutions. You’ll have to focus more on knowing the capabilities, and forget about knowing the specific details of each technology. In my experience, making this leap (realizing you don’t have to be an expert in everything) is perhaps the most important one on the career path from developer to tech lead/architect.

Another of the questions from the audience was on how to keep the culture of a company when a team is working at a customer’s site. This is a challenge I am well aware of, because of my work in the last 4 years, and my answer to this was to take your company’s culture with you. One example (a small thing) is just shake everybody’s hands when reaching the site – incluing the client’s people - , and going for a cup of coffee together [as you would in your office]. But this is a simplistic answer and example. Other factors that I think are important are: try to bring people over to your office regularly, even if just for half a day every two weeks, have leadership/management people work at the site as well (even if on different contexts), in internal communication try not to forget that some people are out of the office (for example, if scheduling training sessions, birthday lunches, etc.). “But what if the client’s culture turns out to be better than yours?” “That’s good on two ways: first, you’ve learned something about what motivates your team, and second, you can try to bring that experience to your own company”.

There is a promotional video of the event, which you can checkout at KWAN’s Facebook page, for a small taste of what it was.

1 comment: