An Idea Born 💡
In August 2021, my close friend Bill graduated from university and began searching for his first software engineering role. Bill had a basic understanding of computer science and had completed an internship. However, he still had much to learn and felt unsure about navigating the job market. Most of his knowledge came from his university curriculum, which, to be honest, many students manage to pass without fully understanding the material.
Realising the Struggle 😰
As we talked, I realised his experience mirrored my own past confusion when I first entered the job market. This realisation was intense—on one hand, I was relieved to see that I wasn't alone in feeling lost back then, and on the other, I was motivated to guide Bill and help him avoid the mistakes I made. I proposed mentoring him through his job search. Bill might not be the most disciplined person I know, but he respected my time and effort and was determined to make the most of our mentoring relationship.
The Journey 🚶♂️➡️
Setting Goals and Making a Plan 🎯
I won’t lie; it was a challenging journey, but it was also one of the most rewarding experiences I’ve ever had. We started by defining Bill's goals: why he wanted to be a software engineer and what his ideal job would look like. We created a plan to achieve this. The goal for Bill was to get a junior position as a front-end engineer.
💡 It's crucial to understand the "why" behind doing something. A lot of times we do things because we are held by our past decisions, i.e., "I've chosen computer science, so I guess I have to become a software engineer now." Society also pushes a lot of things onto us, or maybe sometimes there are reasons that don't come from within and have limited to no value to ourselves, and so on—you get the point.
Filling Knowledge Gaps 📚
We used various techniques to fill his knowledge gaps:
- Learning by Teaching: Bill would explain new concepts to me, reinforcing his understanding.
- Creating Pet Projects: We worked on small projects to apply his skills practically.
- Presenting Technical Solutions: Bill practiced explaining technical solutions, improving his communication skills.
- Mock Interviews: We conducted mock behavioural and technical interviews to prepare him for real ones.
This phase was relatively quick because we focused on the basics first. We started applying for jobs while continuing to learn, which made our process more efficient. Later in this blog series, I will provide more in-depth learning materials essential for any software engineering role.
💡Sometimes you don't need to do a "perfect" preparation. You can start with a baseline and get better during the process.
Navigating the Job Market 📝
Once we completed the initial preparations, I guided Bill on how to send CVs, navigate the job market, and iterate based on feedback. This part was relatively easy since Bill was in a safe environment, learning from an experienced friend. Bill needed to trust the process and stay committed to our plan.
💡Although I made it sound easy, it wasn't. There were a lot of weekends missing out, pushing through nights, and juggling other life matters.
The Hard Part: Interviews Begin 🧗♂️
Then the hard part began: Bill’s first interview. Most people dread interviews and avoid the process, sometimes staying in jobs they dislike. Bill’s first interview didn't go well theoretically—he didn't pass—but it was a practical success because he learned from it. I am a huge advocate of Nelson Mandela's quote: I either win or learn. You can’t read books about startups and expect immediate success; you will fail initially, but that’s a good thing because it allows you to apply your knowledge next time. Bill did just that with his subsequent interviews.
💡 I have decent experience being an interviewer, so I know what interviewers are looking for. After each interview, Bill and I would debrief and discuss what went well and what didn't. This iterative process helped him improve rapidly.
Building Confidence 💪
After a few recruiter interviews, he mastered that stage. Bill was great with people, branding himself, and vibing with recruiters. They look for keywords, experience, and cultural fit, and he nailed this. Technical interviews, however, were a different beast. Bill did multiple take-home tests, algorithmic exercises, technical interviews with managers and team leaders—basically all the possible combinations of interviews you can find out there. The failures in the final stage were the hardest to handle, but Bill persevered. Despite facing multiple rejections, he gradually gained confidence and increased his knowledge with each experience. It wasn't long before he received his first job offer and became a front-end software engineer.
A Feeling of Fulfilment 🌱
Looking back, I’ve enjoyed every moment. Although I spent a lot of time working with Bill, I gained a wealth of knowledge. I’ve always been driven to teach, having done some public speaking and tutoring at university, but this was more extensive. Seeing the results of my efforts was incredibly fulfilling. Sharing knowledge is valuable, but watching it grow is priceless.
This is Just the Beginning 🎬
After helping Bill, I became the “career mentor” among my friends. Though I wasn't an official career mentor, I knew how to get the job I wanted. In this blog series, I’ll share tips, lessons, and mistakes from my journey so you don’t have to make them. Whether you’re searching for your first job or looking to learn more about interviews, branding, and identifying good companies, these posts will be beneficial.
Call for Feedback 💘
I would love to hear your thoughts and feedback on this blog series. Feel free to reach out to me with any questions, comments, or suggestions. Your input is invaluable and helps me improve and provide content that truly helps you on your journey. Show your love by subscribing to my newsletter and stay updated. 🎉
Subscribe to my newsletter
An irregular digest about tech, software, and mentoring.