Hey Kim, what’s it like being a Software Engineer & Tech Coach? Q&A Session
Tags: career, learning, community, teachingcode
Published: 2021-04-11 10:44:20

## How did you become a Software Engineer & Tech Coach? 

I didn’t plan this path; it totally happened by accident! 😂

It was only back in February 2019 that I received a fully-funded scholarship to attend a 16-week intensive Software Engineering Bootcamp at Makers. I was a career switcher, having at the time spent over 4 years in sustainability and business consulting roles.

I have since been exposed to full-stack Software Engineering and DevOps practices from a range of roles and industries such as investment management, e-commerce and tech education.

While in my Software Engineer role at Trainline, which is a FTSE 250 rail and coach ticketing platform, a random advert popped up in my LinkedIn feed in December 2020 and it was for a Software Engineer & Tech Coach role at [Tech Returners](https://www.techreturners.com/).

When I read the job advert, negative thoughts started coming to my head:

😥 “Am I doing the right thing? Is it too early in my tech career to do this? I’ll be leaving a FTSE 250 company, will I regret it?”

😥 “Am I even qualified for this? There’s only some technologies on the job description I know well, those I know enough to get by and those where I don’t have a clue yet!”

Somehow because these thoughts came into my head, I wanted to pursue this more than ever! I tried to map things out rationally and thought about what I enjoyed doing, which was my experience teaching people to code and creating [workshops][1] for the community alongside my friends, [speaking][2] and [mentoring][3] work. However, I still wanted to keep on being an active Software Engineer, so the role was a great blend for me.

[1]: https://www.thekimmykola.dev/teaching-workshops
[2]: https://www.thekimmykola.dev/speaking
[3]: https://www.thekimmykola.dev/mentoring

🙌 I applied for the role, did my 2-minute elevator pitch video, had my interviews and landed the job! :)

## What do you do as a Software Engineer & Tech Coach?

It’s been just over a month since I started my role as a Software Engineer & Tech Coach at [Tech Returners](https://www.techreturners.com/) - whoop whoop! :) It’s a hybrid role which means I get to do tech coaching and software engineering.

As a Tech Coach, I help to deliver programmes to upskill individuals at mid-senior levels in technology. Since learners on the programme have prior tech experience, it means I have the opportunity to explore tech concepts in a bit more depth. I’m currently leading sessions, helping with seminars on tech topics, having 1:1s with learners/pair programming with them, recording short videos and providing detailed code review feedback. I onboarded remotely and went straight into all the action. By Day 3, I was already delivering some sessions!

💜 I remember my first week watching in awe as the other Tech Coaches, James, Ellie and Heather did their thing! They conducted their roles with care, precision and best practice; I honestly wondered why people hadn’t heard of [Tech Returners](https://www.techreturners.com/) before.

One of my goals is to design and develop a 5-star curriculum to really innovate tech education.

As a Software Engineer, I’m working on internal projects across the full software development lifecycle. There’s a project I’m working on which is totally brand new, a great chance for me to be involved with a product from scratch.


## How do you go about teaching technical concepts? What techniques do you use?

👩🏻‍💻 I use plenty of visualisations

👩🏻‍💻 I explain tech concepts using analogies and relate them to real-life things

👩🏻‍💻 I record short videos/screen recordings to walkthrough tricky technical concepts, provide thorough code review feedback and help with debugging strategies

👩🏻‍💻 I conduct 1:1 and group video calls to host sessions, webinars and provide technical and wellbeing support

👩🏻‍💻 I try to start from the core principles and break down technical jargon as much as I can to make it sound less daunting. Some technologies like git version control use scary words which create a barrier to learning; even though the technology can be very powerful.

## How do you balance learning & coaching?

 create and deliver programs to help underrepresented people refresh & upskill in the Software Engineering domain after a career break. I also deliver programs to upskill engineers at existing companies in all things DevOps!

### That’s a lot of technologies! How can you keep up?

I would say I’m aiming for a T-shaped skillset. This means I have deep expertise in few technologies with supporting, but less-developed skills in others. For example, I am more backend/cloud focused with my primary language being C#; but if I get asked a question about React components and how to test components, though that’s not my area of expertise, I’m able to conduct some research, put the pieces together or reach out to other tech coaches to put technical recommendation together.

Over time, I develop a skill for spotting patterns in code quickly whatever the tech stack/languages used. Learners think I do some magic! The reality is, I don’t, it’s patterns I see again and again which helps me to spot things quickly.

### Developing myself while teaching others

I listened to the egghead.io developer chats podcast episode featuring Ali Spittel on [Developing Yourself While Teaching Others][4] and I found so much inspiration from Ali Spittel’s journey.

[4]: https://open.spotify.com/episode/3ht64W3jQmd1YKrN60NpgB 

Through going through the cycle of learning & coaching, I found myself solidifying my understanding of tech concepts and technologies at a faster rate than if I were to learn without teaching others. Before being a Tech Coach, I would become impatient and skip over a tech concept quickly just to ‘make things work’; I am now focusing deeper and with higher precision with my learning to enable me to provide the best technical coaching. 

Since I’m not writing production code as often, I set some time aside (25 mins to 1 hour) in the morning before my work commitments to develop myself by building my own projects, practicing my coding skills or researching technical concepts. I don’t code on the weekends and in the evenings after 6pm because I find it’s important to have some time off. I’m trying to learn how to be a more effective and efficient learner every day. I also repeat technical concepts again and again, rather than moving on too quickly.


## What do you enjoy most about being a Software Engineer & Tech Coach?

I love seeing others learn and grow in their technical skills and confidence. It’s not just about the technical journey, but the human one too. 

I also really like the challenge of finding new ways to explain technical concepts and technologies in digestible ways. I like the feeling I get when I get asked a question from the learners and I have the opportunity to go in and explore for myself.

I like pair programming and mob programming with the other Software Engineers & Tech Coaches so we can all learn together and continue to innovate tech education.

## What would you say are the most challenging aspects of your role?

From a technical standpoint, there's times where I doubt myself and my abilities and I start to think: “What if I get caught out?” “What if I get asked a question and I don’t have a clue how to answer it yet?” “Surely, I’m the tech coach and I should know everything right?” I always have to remind myself about my T-shaped skillset and that I don’t have to be an expert in everything.

From an emotional standpoint, I have a duty of care for my learners, which means I provide support from a wellbeing standpoint and ensuring I listen to my learners and help them find ways to move forward and reflect for themselves. Therefore, I have to be more disciplined with the way I use my time more than ever, so that I can focus on providing the best support possible; whilst also making sure I take care of myself and prioritise my own time for my learning before I can support others.

## How are you continuing to develop yourself? What’s in store for the future?

For my T-shaped skillset, I decided that I would focus on C# as my primary language. In terms of tech stack, I’m focusing on the backend and DevOps side of things. I’m not a specialist in HTML, CSS and React, though I’m able to work with it as best as I can.

I love creating content, designing, developing and innovating tech education, so would love to continue to create workshops for the community and do some public engagements around technology, such as my most recent collaboration with [The National Museum of Computing][5] and the [Codebar Festival][6].

[5]: https://www.thekimmykola.dev/teaching-workshops
[6]: https://www.thekimmykola.dev/teaching-workshops

## Thanks for reading! :)

My [website][7]

[7]: https://www.thekimmykola.dev/