Name: Shohre Mansouri
Joined ThoughtWorks: 2018
Role: Senior Consultant
Tell us one fun fact about yourself.
I live with three cats that do funny things. One of them finds a place high enough to tap my shoulder every time he is hungry. The other one doesn’t meow, he says “brrrr?” as though he’s asking a question. And the last one goes absolutely bonkers when he sees a piece of thread.
What was your pathway into a tech career?
I have loved programming ever since I was a teenager for two main reasons. First, I love to build things that work. It satisfies the ‘doer’ in me. Second, I love being able to focus on something for a really long time. I enjoy being in the ‘flow’, experiencing the Zen-like calm. I started programming with the Commodore 64, an 8-bit home computer introduced in 1982, which was such an advanced piece of equipment back then. Then I went to uni and graduated as a software engineer in 2000, and have been in the industry ever since.
What has your journey been like at ThoughtWorks?
I have been with ThoughtWorks for two years as a senior consultant and an engagement lead. During this time, I’ve worked with many different organisations across banking, real estate and financial services. I also had the pleasure of working alongside and learning from some of the smartest people in the industry. Over the years, I have become a better software engineer thanks to the great environment and amazingly supportive community here at ThoughtWorks. With the skills I’ve developed along the way, I’ve learnt better ways of working as a software engineer and how to deliver software products well. I’ve also become more confident and I never imagined that I would speak at a conference. Last year, I built up the courage to speak at three tech conferences including ThoughtWorks’ XConf and YOW!.
What are you working on at the moment?
Currently I am working for an Australian company that has been around for a couple of decades. Many of their products, either built in-house or acquired, needed to be retired. The ones that will remain are big monoliths that need to be re-architectured. While we’re working on these products, we’re also helping the whole company restructure and adopt new ways of working so that it’s more aligned with the modern way of software delivery.
Whilst this is a really complex project, I’m incredibly excited to be a part of this. As a ThoughtWorks consultant, you often get called in when the problem is difficult to solve; problems that are really complex and uncommon. I enjoy helping a company and witnessing how things pan out in very special circumstances.
How has your technical expertise evolved throughout your career?
In the past I have written code with no tests, I have deployed to production manually, I have done things in a waterfall method. I have learnt the hard way that these methods don’t work and that there is a better way of doing things. At one point in my professional life, I decided I wanted to leave this industry because I couldn’t handle the stress anymore. I felt that no matter how hard I tried or how good my intention was, things didn’t work out and that made my working life so stressful. Then I found a good mentor, one of my colleagues, who kindly offered to share his knowledge with me. I can’t tell you how important that was.
I also learnt that technology is just a ‘tool’. The really important skill that as an engineer I have, is how to ask good questions, how to understand what the user wants and how to use technology to deliver something that helps people and the steps you need to take to deliver it well. I’ve also learnt (and still learning) the importance of how to learn. I’ve realised that you need to deliberately practice how to learn well in order to grow your knowledge and develop skills quickly. I believe that is a maturity on its own.
What are you most proud of in your career so far?
ّI am proud that I have empathy for the users of my software. I think of the user of my code and their experience. This user can be the next developer that comes and needs to change the code or the end user. I genuinely want everyone to have a pleasurable experience or at least not torturous anyway. Haha!
What unique opportunities do technologists have when it comes to advocating for positive and social change?
To be brutally honest, tech jobs are usually well or very well paid. And having more money means you have a greater opportunity to help others and also spend the money for the right cause. You don’t need to go much further. Earn well and give back to people who are not as fortunate as you or who are working on social justice. It’s not rocket science!
What is also unique about technology is that almost everything now needs a piece of software. We can be the advocate for fairness in our society when we are building the software. However, technologists have failed in the past. For example, when we built in the code that was messing with the emission of the cars for Volkswagen, or worse, when we built the code that changed the result of the election for the US. But we also have some of the best whistleblowers against the injustice in the world. Almost everything is done by software these days. We are building it and we need to build fairness and justness into it.
What is the one trend in recent technology that has captured your interest the most?
I am a fan of event-based architecture. I find it fascinating and so easy to understand and beautiful. I find it so close to the real world.
What’s the best advice you’ve been given?
The technology landscape is changing at a frightening speed. My current mentor helped me understand that despite the pace of technology and emerging trends, we will always have some ‘engineering practices that are enduring’. This advice has helped me navigate this ever-changing environment. In uncertain situations, I try to keep calm and fall back on these lasting practices. This gives me the confidence and a good starting point for tackling most problems.
What's next for your career?
I am trying to become a better technical lead and work on tougher problems with clients. My aim is to have more opportunities to look at the problems as a whole and solve the problems in a holistic way. This is what a software architect does. I do want to become one but I want to be an architect that delivers. I don’t want to be the type of architect that draws arrows and boxes on a piece of paper and expects developers to magically make it work without knowing if it’s possible. I want to be hands on. I want to build things but I also want to get more involved in designing enterprise applications.