Staying in the tech — my career journey
Career development and progression have many forms and are subjective to individuals. For some it can mean stepping up the ladder, leading a bigger team or focusing on being an individual contributor. Don’t copy others or expect others to tell you, but find which pathway fits you and that you enjoy doing the most. Here, I’d like to share my career progression journey with you and hopefully there are some learnings you can take out of it.
I started my IT career prior to commencing a Bachelor’s degree in Computer Science and Robotics at Monash University, by building games and authoring a games programming book in 1995. Apart from this helping to financially support my tuition and living expenses as an overseas student, I found it very rewarding to solve hard problems and teaching others how to do so. In fact, the last 6 years of my career have reflected exactly this, just in different shapes.
1998 — Games and 3D Computer Graphics Animation
My first few jobs after graduation were in 3D Computer Graphics and Animation ranging from building a Motion Capture Software for Movie Special Effects called Famous3D and Flash Animation authoring tools called SwishMax.
2009 — iOS App Tech Lead
I joined carsales.com ltd as their first and only iOS App Developer working in a team of five building carsales’ first iOS app. It was a web app (mobi site running in a WebView) and we had lots of problem trying to deliver the best experience under the constraint of not being a native app. My tenure did not last long. I resigned a year later due to the different alignment between the company’s vision and mine. I wanted to build the native iOS app but carsales wanted to keep building the web app. Three months later, I re-joined the same team with the new direction to build a native app.
We released our first app and our rating shot to 4.5 stars! In 2012, as the iOS team grew, I became the Lead iOS Developer, working together with and mentoring the junior team members. The apps teams itself was also growing, we grew an Android team, more API developers, a designer and a QA. As native app development was still not well understood, there was a lot of exploration and experimentation required which aligned to my interests in solving hard problems.
2016 — AI/ML Tech Lead
After a few years, as the native app development process became more mature and standard, I started seeking a new challenge in an uncharted territory. Coincidently, AI was the new hot topic that year. I raised my hand to take the opportunity to run the first AI guild at carsales, leading three teams of volunteers (developers from other teams who were given 1 day/week to participate in building AI tech in this guild) to build a POC to use AI to solve business problems. This initiative, give birth to Cyclops, image recognition which was proven to deliver business value in saving thousands of dollars automating the photographer’s process in classifying thousands of photos daily. This success gave birth to a formal small AI/ML team which I technically lead.
Since then, we have been building and productionising more and more AI tech powering various products within carsales to identify the car spec from photos, decoding the car spec from a vin number, automating approval of private ads and blurring rego numbers in a photo. Each of these projects comes with different challenges which was what I was/am after in my work.
We are a small team of super passionate individuals who all love to solve hard problems together and have so much fun at the same time. This is a small enough team which leaves plenty of opportunity for me to still be hands on in the technical.
One of the most memorable projects we did was deploying a car identification system on top of highways, identifying cars zooming pass at 100kph in real-time. A few times our team had to climbed up the highway at night to collect sample footage to train our model. The most challenging factor was that it was not feasible to climb the tower where the system was mounted to fix any bugs. The shear technical and logistic complexity of the project totally reset the bar of building a robust system with multiple layers of redundancy. It was nerve wrecking but very fun!
The first few years of this AI/ML chapter taught me one important lesson. It doesn’t matter how cool the technology you build is, if it doesn’t solve a problem, it won’t materialise as you will not get the support you need to integrate it into real products. I am still having fun building the technology with the team, however nothing compares to the feeling of seeing your technology being used by customers and to seeing the impact it brings. It is this that drives me further and encourages me to be passionate about the outcomes of our tech.
From here I started to think more strategically, investigating what were the problems our business was facing and trying to marry them with technology to solve these problems.
2017 AI/ML Evangelist
Realising how hard it was to build AI Tech in these early days, I started to speak at various AI & Tech conferences to share my experience and knowledge. I also wanted to encourage others to jump into AI/ML and to grow the AI ecosystem in Australia which was far behind countries like the US and UK. Through this evangelism I was awarded an AWS AI/ML Hero in 2018.
2020 Multiplier — Scaling Up AI & MLOps
We have been building and productionising AI tech since 2017. Today only two small teams within carsales are building AI models and only one team can productionise them. However, the demand for AI tech is growing rapidly. This is the common problem many organisations face. How do we scale up AI production without proportionally needing to grow the AI/ML team? I believe the answer is by enabling AI capability to all of our large pool of software developers with the help of tools and high level AI services.
So our AI team strategy shifted from building for others into helping others to build themselves. This is being achieved by building an MLOps platform and tools for other teams to use and providing training/guidance on AI.
You can be the best software engineer in the world, building a software 5x faster than normal engineer, however, you are still a human being and, there is still a maximum cap to your throughput. In order to surpass that cap you need to start influencing and multiplying and amplifying others around you, where you will bring much bigger impact to the business.
As you can see from my early career days until now, my career has been about constant learning, solving challenges with similar minded people and encouraging and mentoring others to do the same. This is what career progression is for me.
Here are a few takeaways:
- Career is a lifetime journey and it is very important to enjoy what you do.
- Take charge of your own career progression — Identify problems within your organisation which are aligned to your interests and raise your hand to propose solutions and lead the charge.
- Money should not always be your biggest drive. It matters, but not if it means you don’t enjoy what you are doing every day.