João is a Principal Consultant at Xebia, a Global consultancy company. As part of his consultancy practice, João fulfills roles as interim CTO/CPTO in scale-ups or gives advise to enterprises. He is passionate about sociotechnical systems, and how companies organise around work to fulfill their mission. He is one of the authors of the book Software Architecture Metrics, and curator of the book Visual Collaboration Tools. He hosts his podcast, Software Crafts Podcast, and speaks at conferences. When he is not on his duties, you can find him travelling with his daughter and wife, or laying down on the beach reading a book. João is an amateur cook in his remaining time.
Exaltitude newsletter is packed with advice for navigating your engineering career journey successfully. Sign up to stay tuned!
A successful leader has two key traits: empathy and transformational. We are way past when a leader was the go-to person who had “all the answers”. And then people in different rankings pushed down the “answer” in the organisation. Software changed how we interact with each other and opened new possibilities.
Since the rise of software, we have started to see the world as a mechanical machine, trying to predict all the connections; we have learned that we are humans and need to foster relationships. Hence, empathy is crucial. Tech industry’s awareness on the importance of empathy has been incresing over the years – we are creating software for people. A leader should use empathy to fuel connections between people, where people come to an answer to their questions.
The empathy trait leads to the second one: a successful leader has a transformational capability. We operate more and more in a network, ranging from a network of teams inside an organisation to a network of organisations within a region. Leaders must support the evolution of the organisation. Specifically, in our industry, CTOs, and CPTOs are in a privileged position to do so, given that, in one way or another, organisations are digital.
Exciting topic! I like to keep things simple, and I look for three aspects: the first one is if the person will fit in the organisational context. Hiring is a two-way street, and I believe that people should know the highs and lows of the organisation, and the organisation should check if the person will fit. The second aspect is the skill level of people, given that each organisation is unique and they will need different skill levels across time to achieve their goals. The third one, and probably the most important one, is what will this person add to the team. I always look for someone that adds something different to the team to increase diversity. It can be the background, the formal education, the way of thinking and experience, amongst others. I strongly advise companies to avoid the cloning pattern when hiring.
Empathy towards the people using the software. Understanding the challenges that the software solves and what challenges it creates; is critical to creating a positive feedback cycle between the people using the software and the people designing, building, and maintaining the software. The software aims to solve complex problems, and by using feedback cycles and empathy, we can tune and improve our software solutions.
I must say that is one from Alberto Brandolini, the creator of EventStorming:
“It is not the domain experts' knowledge that goes to production, it is the assumption of the developers that go into production”.
The quote hits home; and goes to the point that software is a collaboration-based activity. Did I already talk about empathy? :)
“Focus on doing good work, and the rest will come.”
I learned to go with the flow rather than fight against the flow. It is inspired by the Chinese legend dating around 2000 BC, where in ancient China, two lords tried to tame the Yellow River. The emperor appointed one lord to build a solution to control the waters of the Yellow River and avoid floods. The lord tries to make a complex system of dams, emphasising control, governance, and structure. It failed due to the nature of the river. His son was appointed to continue his work, taking a different approach. He decided to “follow the water as his master… and followed the way of the water” (you can read Vanishing into Things: Knowledge in Chinese Traditions by Allen B.). The solution was based on an irrigation system with canals to use the power of water rather than fight against it. When I’m facing complex problems, I reflect if my behaviour is fighting against the problem or if I can guide it towards a potential solution that solves it.
Learn more about João Rosa on joaorosa.io
Exaltitude newsletter is packed with advice for navigating your engineering career journey successfully. Sign up to stay tuned!
Copyright @Exaltitude