Article
It’s been a year since I joined AI Singapore and I’m grateful for the experience so far. I’ve been on a few projects up until now and gathered a lot of experience. My journey, however, is far from over and I have many things to learn.
I remember when I started my job, I asked my supervisor: What is my role as a “Senior Engineer”? Am I a “Tech Lead”? Am I an “Engineering Manager”? What am I suppose to be doing?
At that time, I shared with him a great blog post by Pat Kua on the topic of different types of engineering managers and he pointed out that my responsibility is to be Tech Lead EM for the project. At the time, it was kind of a relief for me: I knew the “title” of the role I needed to play. But, to be honest, it took a year for the actual responsibilities to sink in. I think that’s learning on the job.
I’m going to be starting a new project very soon, and I decided to have a fresh look at my responsibilities as a Tech Lead in the 100E projects. I plan on writing a series of posts on the topic and hopefully, by doing so, organize my own mind as well.
Before I jump into some of the aspects of being a Tech Lead that I’ve understood, I think it’s best I clarify why the “Tech Lead EM” (TLEM from now on) isn’t the exact stereotype that describes my job. Yes, I am the TLEM but first and foremost, I’m a mentor. Let me explain.
When a person enrolls to the AI Singapore Apprenticeship Program (AIAP), they are looking for a fresh start. They’re looking to upskill themselves and understand the world of Machine Learning (ML). They want to learn the ropes and see how a project is carried on from start to finish. When they choose to do a 100E Project, they’ve decided on learning about ML while doing an industrial real-life project.
This complicates matters. As the person leading the project:
I have to rely on the apprentices joining my project to design and develop and at the same time, teach them and guide them in an area that they’ve had minimal exposure to.
I have to answer to the client/project’s sponsor who is relying on me for an ML product to be passed to them and also, I have to make sure that the apprentices have learned enough to be able to carry out their own projects in the future.
There is a need for the right blend of guiding, teaching, hand-holding, management, and software development. If I make decisions on the project, I need to explain how I reached the decision. If I design, I need to help the apprentices understand what details I’ve considered when ending up with the design.
It’s not only about how fast and good you develop. It’s also about how much you’re able to convey experiences as well.
The following are just a list of things that I’ve decided to consider for the new project. Although I’ve adopted the practices in my previous projects, but I’ve come to realize that some of them need more attention this time round.
(Note: This list is going to grow.)
I will be writing more about each of the items above and link the related posts.