My First Year as an Engineering Manager at takealot.com

Megan Blazic
Takealot Engineering
9 min readFeb 27, 2023

Introduction

When I tell friends and family that I am an engineering manager they tend to smile and nod with fairly vacant expressions on their faces and I can see the cogs slowly turning in their heads — like watching Windows Explorer trying to load a web page. I’m an engineering manager, yes, but what is that and what exactly is it that I do? By the end of this article, I will have answered that question — with the aim of giving some insight to software engineers interested in management.

“A phrase that I said a lot over the past year about a day’s work was that it felt like I was doing ‘everything and nothing’ at the same time.”

Bright-eyed and bushy-tailed Megan.

Starting my career

I started fresh out of university, bright-eyed and bushy-tailed, with zero working experience.

I had no idea what to expect from the software engineering industry or any workspace for that matter. After interviewing at one or two companies, I saw that takealot.com was offering a graduate program where they onboard young inquisitive engineers via a two-month program before placing them into their teams. This turned out to be a very successful program as it is still going strong six years later.

I joined the takealot.com Marketplace team as a junior software engineer after completing the graduate program. The Marketplace team takes care of third-party sellers' interactions — from updating product information to fulfilling their customer orders to recording their transactions.

I promptly got to work causing a production incident with my first deployment. Some would say this is a rite of passage. Luckily I had a supportive team and manager who resolved the issue in no time and had us laugh it off (it was a very minor incident but it is something that has stuck with me). I stayed in the Marketplace team for five years where I had a few different managers — all of whom had similar ideals.

I progressed to an intermediate software engineer role and was working my way toward a senior position when a management role within another team opened up. I enjoyed being the technical lead on several projects which helped grow my project management skills. I was actively helping new starters get up to speed with their setup and domain knowledge. The management position was drafted for a junior manager so that takealot.com could look at internal talent and promote from within. With that in mind and knowing I would be supported, I decided to interview for the position and ended up switching teams as well as my role.

I was now an engineering manager.

The managers I learned from

I am grateful for the managers I started my career with.

  • They were patient, understanding, and good at connecting with their team members.
  • They understood that tasks would take different amounts of time depending if it was assigned to a junior, intermediate, or senior. Similarly, that different levels of detail would need to be given on the task.
  • They cultivated an excellent culture within our team. The junior members of the team felt safe asking the senior members questions as well as for assistance. We were a tightly knit group that shared a similar sense of humour. I believe this helped us with the transition to the world of remote work.
  • My managers missed so few 1:1s that I can probably count on my hand the number of missed sessions we had. For some context, a 1:1 (one-on-one) meeting is a regular check-in between a manager and an employee. It is used to provide feedback and keep each other in the loop.
  • They bore the responsibility of late projects and kept the stress away from the team members. Stress can be healthy in promoting productivity and determination but too much for too long has the exact opposite effect. Any time we had to work late hours to get a project out they insisted we take an early Friday or start late the next day — and this was factored into the sprint capacity.

I have definitely moulded my core management style by their examples. I know that they themselves were also still learning and developing their skills over time, but they were what I needed at various points in my career.

Fun at the office during a social event taking pictures on classic instant film.

My first year as a manager

“Each team has its own way of doing things and this one was no different; I was a foreigner in a foreign land. I had to build up a new set of domain knowledge and get used to a completely new way of doing things.”

It felt like chaos and mayhem most of the time, but in an interesting way. I admit, once or twice it was quite stressful but my team has been amazing and overall we had a really good year. I would attribute the success the team has had to the team members themselves, they have a great sense of humour and just get work done. The Slack channel is riddled with GIFs as a form of communication and they are an easy, smart bunch of individuals to talk to.

My team works fully remotely so we have to make sure our social meter is constantly full. Team members join standup a few minutes earlier to have ‘water cooler’ discussions. Every Friday afternoon we have a dev catchup — a space where anyone can ask questions about their work, where we can have design discussions and it is open for anyone to host a knowledge share. If there is time left in the hour meeting we chat about our weekend plans or play some online games including Among Us or one of those free online drawing guessing games. We have an after-hours non-compulsory gaming session about once a month as well which generally turns out to be quite successful. Lastly, we try to get together in person when the opportunity arises.

Each team has its own way of doing things and this one was no different, I was a foreigner in a foreign land. I had to build up a new set of domain knowledge and get used to a completely new way of doing things. This turned out to be a blessing in disguise because I had not written any of the code in this domain or had any knowledge of the business rules in place. This forced me to take a step back from code and learn to rely completely on my team which I believe was instrumental in the change from software engineer to engineering manager. For the first six months I could solidly focus on my new set of skills — project and people management.

It was challenging to learn new business logic and put one hundred percent of my faith in my team for context and answers to our product counterpart. A year later and there are still systems that I either do not understand on a deep technical level or know the intricacies of the business logic as of yet but I am more comfortable with that fact now.

I have only recently started to contribute a bit in terms of coding and if things start to get busy it is the first to go.

A phrase that I said a lot over the past year about a day’s work was that it felt like I was doing ‘everything and nothing’ at the same time.

Okay… but what do you actually do?

People Management

I spend a typical day talking to people to keep the boat afloat: to my team members to make sure they are not blocked, to my product counterpart about projects (both current and future), and to other teams about ways we can assist them or if they can assist us.

A lot of my day is meetings: where we have formalised conversations of the above, where new initiatives are discussed, and all of the sprint ceremonies (a review of the past two weeks, a planning session of the next two weeks, and a retrospective). Most importantly, I have my 1:1s twice a month. I also have regular 1:1s with my Engineering Director, Quality Assurance (QA) Manager, and Product Manager.

There is the admin side of performance reviews and 360 reviews to keep on top of. It has been an interesting shift from doing just my own self-assessment to giving feedback to my whole team. It has not been as daunting as I originally thought (although time-consuming), especially now that I know my team more and we align on any major feedback points during our 1:1s so there are no surprises.

I am constantly reminding the team to review each other’s code changes for new code so they get through to the QA team timeously. We don’t always get this right in a sprint, though, but we have the best QA team working with us. Everyone on my team knows that if they don’t get QA sign-off on a code change, I don’t sign off.

Process Management

I do a lot of ‘approval stamping’ where I review my team’s request tickets or deployments and give my nod of approval if satisfied with the level of detail. This was one of the more difficult tasks to get used to, being so used to the one asking for approvals.

I work on capacity planning for the quarter, decide on what engineering choice tickets we can realistically work on, and help give high-level estimates on product choice tickets. I work closely with our product team on this and this carries through to the sprint level to make sure the correct work is being prioritised.

I keep an eye on our metrics: seeing how our alert levels are looking, how our code coverage is improving, and what our Google Kubernetes Engine (GKE) efficiency is looking like.

Monitoring system performance is vital for any manager.

Project Management

I go over Business Requirement Specifications (BRSs) to get a high-level overview of the incoming projects or give my two cents on current ones. There is currently a drive to decommission the last few legacy systems at takealot.com so I am constantly tracking progress on what tasks are in flight and which ones are about to take off.

I support my technical leads where needed on current projects. I act as a sounding board, help with estimation meetings, task creation, sprint planning, and facilitating stakeholder meetings.

Coding

I still do a bit of coding on the side. I don’t count this in the sprint and I choose tasks that are not on the critical path or a blocker to anyone. This makes up a very small part of my time.

I do review code changes of my team members and help assist with testing issues when possible, to keep as ‘hands on’ as I can.

Final thoughts

Now that I’ve been in the driver’s seat for a year I have a much better understanding of what it is to be a manager. Over the next year, I would like to improve on my new set of skills and possibly automate some of my tasks to help with time management and allow me to work on more tasks at the same time.

I hope this article reaches its target audience but it is truly a role that you need to experience to know whether you will like the type of work or not. Odds are if you like to work with people and see the ‘lightbulb’ moments and you like to plan and organise, you will enjoy being an engineering manager.

I would like to leave you with this quote:

“A good manager finds satisfaction in helping others be productive, not by being the most productive person in the room.”

--

--