7 Lessons Learned From My Software Engineering Mentor 🌟

Rabi Siddique
Level Up Coding
Published in
10 min readJun 4, 2023

--

Lessons Learned from My Mentor

On June 22nd, 2021, I had the privilege of interviewing at Manaky, an innovative tourism startup in Pakistan. It was a significant day in my life as it introduced me to my mentor, Touseef Liaqat. I think the interview was scheduled for 11 PM, which added to my nervousness. As a freshie looking for a job, I was very nervous because this was my first job interview, and I didn’t know what to expect.

To my relief, the interview went remarkably well, and I was thrilled when Touseef extended an internship offer at Manaky. As the conversation drew to a close, Touseef asked me if I had any questions, and in my eagerness, the only thing on my mind was whether the internship was paid. 😄 Can’t blame myself. I was desperate to join a company and start making money.

This marked the beginning of my journey with Manaky and the chance to work with Touseef. From our initial interaction, I was deeply impressed by Touseef’s exceptional background, having worked in prominent tech companies I had always aspired to be a part of. Despite his accomplishments, Touseef remained humble and approachable, making him all the more inspiring.

Upon joining the company, I was fortunate to have the opportunity to work directly with Touseef, which allowed me to observe his qualities and learn from his guidance closely. While I could write an entire blog post praising Touseef’s awesomeness and caring nature as a person and mentor, I would like to share five powerful lessons I learned while working alongside him.

1-Dont be Shy

Don’t be SHY

Upon clearing the interview, I joined the company on July 1st, 2021. On my very first day, Touseef set up a meeting with me and warmly welcomed me to the company. During this meeting, he imparted one of the most valuable pieces of advice I had ever received. He said, “Sharmana nai hai, warna piche reh jayein ge,” which translates to, “Don’t be shy, or else you will be left behind.” These words resonated deeply with me, as I had personally experienced missed opportunities during my time at university due to my own shyness. Despite having a decent academic experience, I often felt overlooked, realising that more outspoken people were given preferential treatment.

I used to be super nervous in our dev meetings in my initial days. Would try my best to avoid meetings. However, Touseef was an intelligent person. He had devised a plan to help me overcome my shyness and actively participate in these meetings. During our development meetings, he would assign me the role of leading the discussion and gathering daily stand-up updates from everyone. He insisted I demonstrate my work to the entire team in our weekly team meetings.

As my time working with Touseef progressed, I even had the privilege of becoming an instructor in his cohort meetings, where I taught data structures and algorithms to his students. His guidance and support were instrumental in helping to overcome my shyness.

2-Work on Bigger Problems

Solve Big Problems

One very powerful thing I learned from Touseef was to work on bigger problems. Now what do I mean by bigger problems? It means focusing on complex challenges with wide-ranging impact, such as large-scale systems, performance optimisation, security etc. It involves solving intricate issues that go beyond routine tasks, aiming to significantly contribute to the business.

According to him, working on bigger problems fosters professional growth and development. It allows software engineers to expand their skill set, deepen their technical expertise, and gain experience handling complex projects. This exposure to challenging tasks can lead to personal and career advancement, opening doors to more rewarding opportunities in the field.

I will give you an example. During my first few months at Manaky, I started to work on improving the website’s performance. It was a challenging task because there could be multiple reasons for the slow performance of the site. Over nearly two months, I dedicated extensive effort to researching and exploring various solutions and ultimately reduced the frontend JavaScript bundle size from a staggering 1.1 MB to a lean 370 KB.

The impact of this task was remarkable, and its effects continue to resonate with me to this day. It taught me the invaluable lesson that: anything is possible if we give our hundred per cent effort. Following this task, I no longer felt daunted by seemingly impossible tasks. Interestingly, every subsequent coding assignment Touseef entrusted me with was successfully completed.

Moreover, this performance optimisation task gave me a profound understanding of the entire codebase. As a result, I quickly identified and resolved issues and even assisted my colleagues in completing their own tasks. Notably, I have highlighted this achievement in my resume, and it has become a topic of discussion in interviews. Sharing the story behind this accomplishment has impressed interviewers, significantly improving my chances of securing positions in esteemed companies.

3-Blogging

Share with others on the internet.

In December 2021, I unexpectedly received a phone call from Touseef, which turned out to be a pivotal moment in my career so far. During our conversation, he inquired about updates regarding my teammates and their current projects. Little did I know, he was about to offer me some invaluable advice: to start blogging and share my knowledge with others. The desire to blog had been lingering within me since my university days, and even earlier, during my time in school. However, I had always lacked proper guidance and had never been able to take that initial step.

One remarkable trait of great individuals like Touseef is their ability to inspire and motivate others. Until that point, various obstacles had hindered my blogging journey. Whenever I attempted to begin, I found myself wasting time on trivial matters. For instance, I would create a WordPress site but struggle to find the perfect template, never quite satisfied with the options. Alternatively, I would rely on my web development skills and attempt to build everything from scratch, only to be overwhelmed.

Touseef’s guidance, however, was refreshingly simple: just start. He suggested utilizing a platform like Medium, and so my story of writing on this platform began. 😊 I can genuinely say that writing has transformed me into a better Software Engineer. Sharing my knowledge with others has not only organized my thoughts but also brought clarity and solidified my understanding of various concepts. Moreover, experiencing the gratitude of people on the internet, who found value in my blog, is an unparalleled feeling.

In addition to personal growth, writing has opened doors to exciting opportunities related to Software Engineering. Now, I have a notable online presence and even a modest level of recognition as Rabi Siddique. Through writing, I have expanded my network and connected with like-minded individuals in the field.

4-Don’t Reinvent the Wheel

Don't Repeat Yourself.

Throughout my collaborative projects with Touseef, he consistently emphasized the importance of starting with pre-built components. One memorable instance was during a company hackathon in January 2022, where we were tasked with developing a meeting scheduling app similar to Calendly. For the front end, Touseef advised us to search for existing templates online, customize them to suit our needs, and then focus on the core business logic to solve the primary problem. There are other instances related to this topic that I am unable to disclose due to ethical considerations and my current employment status. But you got the point.

Initially, I was sceptical of this approach as a Software Engineer, as building things from scratch often provides an opportunity to learn new technologies and gain a sense of accomplishment. However, over time, I came to realize the amount of time we, as developers, often squander on tasks that are peripheral to the core business objectives. Consequently, whenever possible, I now prioritize utilizing existing solutions or libraries for the functionality or projects I am working on, rather than starting from scratch. This approach not only saves time for both the developer and the company, but it also allows us to focus on the aspects that truly matter for the business’s success.

5-Fail Fast

Fail Fast and Fail Often

This is something I’ve come to learn during my last months as an employee with Touseef. In November-December 2022, our team embarked on a project with a clear objective: to create and launch a code editor on our website. The primary goal was to quickly bring this feature to our users and gauge their response. We understood the importance of validating the concept before investing further time and resources into its development.

With the urgency to deliver the code editor, we adopted a “quick and dirty” approach. The emphasis was on implementing a functional solution swiftly, rather than striving for perfection from the outset as the intention was to test the market response and determine whether users found value in the code editor. If the feedback had been negative or if users had not shown interest, the team was prepared to accept that outcome and move on to other initiatives. This demonstrates the willingness to fail fast by promptly recognizing and addressing the potential failure of the project.

However, to our delight, the code editor was well-received by our users. They found it engaging and enjoyable to use. We were pleasantly surprised to discover that our competitors had also taken notice and started developing their own code editors for their respective platforms. Encouraged by the positive reception, we decided to invest further in the code editor’s refinement and improvement.

6-Reading Books

Read Books

As Software Engineers, becoming excellent at our craft is our biggest concern. While we often rely on tutorials, online courses, Google, and ChatGPT to enhance our skills, there is a significant aspect that we sometimes overlook — reading books.

Last year’s June, Touseef stressed to the team the importance of reading books. In fact, we started to have our book-reading sessions. Sometimes we would read self-help books. What captivated me about the experience of reading books was the profound expansion it brought to our knowledge base. Books play a crucial role in our journey as software engineers, going beyond merely acquiring technical knowledge. This exposure to diverse viewpoints challenges our assumptions and expands our horizons. It encourages us to think critically, considering different angles and potential solutions to problems. Furthermore, books offer us the opportunity to learn from the successes and failures of others.

I vividly recall the impact that reading Kyle Simpson’s “You Don’t Know JS” series had on my development as a JavaScript programmer. The series helped me gain a deeper understanding of the language and as a result, I became Senior Software Engineer in just 1.5 years.

7-Understand the Business

Get to know the business

As software engineers, it is easy for us to become engrossed in the technical aspects of our work, focusing solely on coding and problem-solving. However, it is essential to recognize that the success of any software development project is tied to the business it serves. Understanding the business domain in which our software operates is a critical skill that distinguishes exceptional developers from the rest.

James Gaylen, a friend of mine, once shared a profound insight:

“A developer should be able to walk into a business. Ask for a desk. Sit down. And learn the business. And function like the business. With one extra skill being coding.”

The primary objective of any startup or company is to generate revenue and achieve financial success. As software engineers, our role is to contribute to this goal by developing software solutions that align with the business objectives. To effectively do so, we must comprehend the core principles, challenges, and dynamics of the business itself. I believe Touseef had to put in a lot of hard work in instilling this core principle within me 😄.

I hope you have found the knowledge and insights I gained from Touseef to be valuable. Although I have recently transitioned to a new company, I can honestly say that my time learning from Touseef has been an unforgettable journey. I aspire to apply the lessons and skills acquired under Touseef’s guidance in my new workplace.

Allow me to conclude this post by sharing a quote from Touseef, which he shared with me during our initial days together:

“In startups, you create long term friendships with the peers. You are small team and working hard to do impossible. And during this process, the time you spent together becomes one of the best time you have spent in your life.”

Let’s connect:
LinkedIn
Twitter

--

--

A passionate Software Engineer who intends to be the best and nothing less.