My ambition has evolved beyond being a technical 'expert'
Tags: reflection
Published: 2021-08-07 16:47:15

![You must choose](https://i.imgflip.com/5ivy1l.jpg)

Being in Thoughtworks, a rare company that treats its developers like human beings, has given me the luxury of stepping back from the fierce race of constantly learning the latest framework, reading its 100 page documentation, and discovering its intricacies in StackOverflow answers. Thoughtworks makes it very clear to developers that they are appreciated and encouraged to do a lot more than just write code to help fulfil the company's promises to clients. Developers are told to be leaders, manage stakeholder expectations, have expertise in security, conduct workshops for other developers, anchor communities, give talks in external platforms to promote the TW brand, work in social change projects that do not earn revenue, and so on.

This directive from TW has made me ask myself for the first time "Do I really want to be the guy who has in depth knowledge and years of experience in, say, frontend JavaScript? Do I really want to be known as the go-to guy for technical expertise in things like CSS,  and hidden gems buried deep in a single line of OJET documentation?" My answer is No. And the clarity of my answer does not solely spawn from TW's support, but also things I learnt recently about product delivery, and the importance of doing things that matter in the larger scheme of life.

---

## Product delivery

Product delivery has been broken down into a scientific and management endeavour over the last few decades. Research has been done, books have been written, conferences have been held, spin-off ideas have been spawned in multiple industries, and experts have arisen. And yet there still remains a creative aspect to it. You need to solve problems on the fly. You need to have people skills to notice which team members are producing poor results due to confidence issues rather than technical ineptitude. You need to focus on the most important problem when there are multiple fires you need to put out. For example, I've been having an itch for the last 3 months to write code to automate tracking of our Jira stories when a build reaches our QA environment, and send an alert to our Teams' group chat. Similar to Slack's Github bot. But I know that the more important problem is finding out why our automation environment sometimes has 17 random failures before succeeding, delaying our pipeline by 5+ hours. So I haven't scratched the itch yet.


## Why we do what we do

Also, not enough people are able to connect the dots between what they're tasked and the larger goal of delivering a product that clients are happy with. If all developers only focused on technical tasks, while only the Technical Lead, Business Analyst, Manager and Quality Analyst focused on the business and functional logic, we're guaranteed to have a lot more bugs in our code. We're also guaranteed to miss our deadlines often - which affects our reputation, the client's bottom line, and our chances of getting more projects. Not enough people realise this. I do, and I care a lot about getting it right. It would be painful if a team of 100+ developers worked on a project for 1+ years, heroic moments were witnessed, all nighters were pulled, technical legends were praised, and at the 12th hour the client's end users saw a 502 error because there weren't enough integration tests.

As long as I'm able to contribute by helping more of my teammates realise this, I'm happy to step back from trying to be a technical wizard. I've anyway noticed that I'm not able to come up with clever bits of logic as fast as some teammates. I'll leave them to it instead of having a meaningless competition.

*Disclaimer: I'm a complete proponent of doing things that have no value other than for the giggles. Just not when it comes to work.*


## What's the point anyway?

And finally, I've realised the importance of only doing things that will make a difference in people's lives. The world has so many problems, most of which cannot be solved in one lifetime. Add to it that there are millions of people creating more problems everyday, and it can feel like a suffocating, losing battle. In the midst of all this, what value are we adding for anyone, including our own, when we spend time on problems that don't make a difference? You may be busy, you may be seen as hardworking. But you are not making a difference in people's lives. 

I'd rather be anyone but that person.