Name: Francis Kiwana
Joined ThoughtWorks: 2015
Role: Senior Consultant
Tell us one fun fact about yourself.
When I was seven years old, I fell from a third-floor balcony while I was playing. I suffered a concussion and a dislocated neck but I was out of the hospital after a couple of days. Needless to say, I gave my family a big scare and after that experience I have never been entirely comfortable with heights.
What was your pathway into a Tech career?
When I finished high school and was waiting to start university, I spent a significant amount of time playing video games. I became curious about how video games were made, and that’s how I discovered programming. I eventually applied for an internship at a software development company. Whilst I didn’t get to build any video games during the internship, it did help me find a career that satisfied my desire to solve complex problems and build things.
What has your journey been like at ThoughtWorks?I joined ThoughtWorks in the now-closed Kampala office in Uganda, before transferring to Australia. One of the things I love about working at ThoughtWorks is the opportunity to work on different types of engagements with some of the smartest people in the industry. Whether it’s a legacy replacement of a core banking platform or working on a government service to make it easier for people to deal with the loss of their loved ones, each engagement has enabled me to develop my consulting and software engineering skills.
What are you working on at the moment?
I am currently working on an internal project to roll out a technical solution to help ThoughtWorks globally manage the return-to-office transition following the COVID-19 pandemic. It’s an interesting project because it involves managing several global stakeholders from different countries and understanding their situation as well as balancing the duty of care with privacy and data protection. It’s an example of how important it is to stay committed to using technology to do the right thing. It has also given me a better appreciation of the change management that’s required when rolling out new technical solutions.
How has your technical expertise evolved throughout your career?Earlier in my career, I was mostly interested in the technical aspects of the projects I worked on. I was more interested in tools and frameworks than business outcomes and quality. However over time, I came to value enduring software engineering practices that insist on building quality into solutions and make software delivery more successful. My time at ThoughtWorks has also exposed me to clients with different problem spaces and a range of technologies. This has enabled me to broaden my technical knowledge and increase my ability to learn new technologies that I haven’t used before.
What are you most proud of in your career so far?
As my career has evolved, I have come to realise the positive contributions technological interventions can have on making the world a better place. I have previously worked on systems that have a clear social impact such as saving lives by improving the efficiency of relief agencies in war torn regions. We built a system that improved the tracking of the delivery of consignments and provided up-to-date relevant information to relief workers in the field. I have immense pride in such work but I have also learnt to be a technologist that thinks of how my contributions can have a positive impact even when it isn’t easily discernible. This ability to have empathy for the end users as well as a sense of accountability for the work I do is something I am proud of.
What unique opportunities do technologists have when it comes to advocating for positive and social change?
Nowadays, almost every sector relies on the contributions of technologists which means that we build the tools and the platforms that run the world. With this power comes the responsibility to ensure that the injustices that exist in the world are not incorporated into the technologies we build. As technologists we are also privileged by virtue of our careers to have the ability to amplify voices that advocate for positive and social change. Unlike many people in the world, we have the opportunity to make a stand against social injustice through our work or by making our voices heard via the platforms we build.
What is the one trend in recent technology that has captured your interest the most?
Over the past few years, the emergence of technologies like Kafka means that organisations are more confident in using an Event-Driven Architecture to design high performance systems that are also highly scalable and durable. I’m particularly interested in how events can be used together with Domain Driven Design to model systems with complex business processes. Sometimes I reflect on some of the complex systems that I’ve worked on in the past that could have been easier to implement and scale if we had used some of the patterns for an Event-Driven Architecture.
What’s the best advice you’ve been given?
A mentor once told me that I should find one particular technology and invest in getting a deep understanding of it. Build out the core concepts from scratch until I find the limitations that require me to use available libraries or tools. This is important because it helps you to ask the right questions when you are presented with a new technology and gives you a good basis to focus your learning. It’s particularly helpful in ThoughtWorks where change of client engagements can imply learning new technologies quickly. Knowing what to focus on can be quite beneficial.