A Journey from Software Engineer to Tech Lead While Keeping your Sanity in Check
Read about Mahmudul Hassan’s inspiring story, experiences, views, and hacks navigating the world of software engineering as he forged his way to becoming a tech lead at SJ Innovation.
With an insatiable curiosity to learn more, an unquenchable thirst for knowledge, and a jovial attitude to back it all up, Mahmudul Hassan (Tech Lead at SJ Innovation) sits down to spill the beans on his journey so far, the milestones along the way and how he keeps sane amidst the complex and challenging world of software engineering.
Here are a few excerpts from the interview.
Where it all began
While I pursued Science in school, computers always fascinated me, right from when I was in Std. III. So, it’s no surprise why my career moved towards Technology Stacks. Looking back, I have my sister to credit for this turn in events. She took classes in this field and my interest in the nuances of software engineering only escalated from then on.
What is your background like? What are your certifications? How did you learn to program?
Becoming a software engineer was never part of the plan. After completing college in Habiganj, I moved to Sylhet city to complete my Bachelor's degree in Computer Science & Engineering from the Metropolitan University. However, I had an inclination for becoming a teacher at that time and stopped at nothing to always achieve the highest grades (with a GPA of 3.98 out of 4 which trust me, wasn’t an easy ride!)
But, the gradual shift happened in my final year of graduation. I participated in the ACM International Collegiate Programming Contest, organized by IBM. Being among the finalists from Sylhet, Bangladesh to be competing at such a prestigious level gave me a glimpse into what an exciting life it could be to learn and apply programming languages as a career choice. That was it. I made up my mind and entered the world of development by learning some programming languages.
How did you learn to program? How much is self-taught?
Most of the programming languages I learned were all self-taught. I would explore frameworks and what is of most relevance in today’s times and accordingly, learn various languages for software development purposes.
One of the first programming languages I began learning for web development was PHP. Following that, HTML was something I tried my hand at which was basic enough to pick up quickly. Learning these programming languages was a delicate mix of exploring online and trying to learn and implement it as I went along my journey. Today, I hold certifications in ‘Cybersecurity Tools & Cyber Attacks’ and ‘Cybersecurity Compliance Framework & System Administration’ offered by IBM.
What did you create through your technical skills for the first time that made you go “oh wow!”?
Luckily, I had some insightful guidance from a teacher who I considered my mentor. He had some sharp and astute ideas about real-time projects and had given me one of the final year projects. Through his guidance and encouragement, I created software for researchers of law. It had features for operating entire research paper submissions, reviews, revisions to publications, and more. Its copyright was sold at 32 thousand BDT which gave me the confidence boost I needed and my interest in this field also became stronger.
Could you describe what getting your first big break felt like?
When I was in the final year of graduation, ‘Prothom Ventures’, a venture capital company (with headquarters in NY and London) came to Bangladesh for a seminar. On a sudden whim and being curious by nature, I went to the seminar, was introduced to a few important individuals there, and submitted my ideas on a specific topic in question like everyone else who attended the seminar did. I had completely forgotten all about it, little knowing they would get back to me with an unexpected opportunity.
After around two months, they reverted with a job offer! To say that this opportunity was a big break for me was an understatement. Out of all the students, they picked me so that was pretty neat, considering the fact that I was the only engineer they were recruiting from Bangladesh at that time! Also, I was a student, who went in for the interview just because I was inquisitive and with no practice. To make proceedings even dire, I was donning a t-shirt and had a backpack full of books. Yet, they made me a sole developer of an online tuition program, (a Bangladesh-based, web application that involved almost 2,000+ local tutors) with a 3-month timeline.
The roles and responsibilities that came with the job description were a bit complex but I gave it my all and put in the hard work. Furthermore, it was a real game-changer for me when they made me the Tech Lead after observing my work during this time.
How important is it to hone technical and soft skills when you are a software engineer/developer?
It was during my time at ‘Prothom Ventures’ that I realized that soft skills weren’t really my strongest point. However, being mentored by the company management and having normal discussions with the team while coordinating with overseas members really helped me.
Being able to communicate well, both in writing and speaking is so very important. So I found my way through and learned by sending reports to the management, stakeholders and also conducting meetings. It’s vital to be creative and analytical in the software engineering field and since I was always eager to learn something new, things worked out well in my favor.
How do you deal with rejection?
While, professionally speaking, my journey so far has been a steady climb upwards, I’ve witnessed proceedings going in a completely wrong direction and had to retrace my steps. During the times I do face roadblocks, I always have elaborate discussions with the decision-makers.
I also always have a back plan and then another one in place, in case my main solution gets rejected. In this way, if my first plan is rejected, I always have another one to fall back on.
On Joining SJ Innovation…
Six months after working at my previous company, I was given a direct offer from Shahed Islam, CEO of ‘SJ Innovation’ after I shared my view on a specific topic. Shahed was a friend of the company’s founder and I was on the lookout for a company that technically speaking, challenged me further. I am grateful to the management at ‘Prothom Ventures’ who was very friendly and shared my report with Shahed. The rest, as they say, is history.
Even at ‘SJ Innovation’, I was the first software engineer from Bangladesh to collaborate with the team at Goa. From a software engineer, I was then made a Tech Lead!
Could you explain in brief your role as a Tech Lead?
There are some general responsibilities and more specific ones. Most importantly, it’s about looking at the issues and queries that come off and on, responding appropriately, and guiding the team whenever they need any solution to a problem. It’s also about planning way ahead into the future by taking every member into account. This not only means supporting developers but also project managers and coordinators. So understanding all the technicalities involved is key. As Tech Leads, we are also the bridge between the technical and non-technical people involved. For instance, we are responsible for handling client calls and also staying up-to-date on trending technologies. We have to guide the team and plan and execute a strategy proficiently or else the team will be in the dark and won’t be able to take the project forward. The team looks up to you for guidance so you have to bear that responsibility in mind too.
How do you explain technical information to non-technical audiences?
It is one of the toughest responsibilities no doubt, but I also find it eye-opening at times because each and every person is different so even though some people are non-technical, I have known them to be immensely knowledgeable than I or a developer in that field. On the other hand, there are some technical people who talk big and yet do not know anything concrete. So you need to decipher whom you are talking to and how to convey your knowledge and convince that person. This is where you need to figure out a way and also be good at communicating.
How important is it to de-stress? To take a break in a stressful environment where continuously focusing on the task at hand is important?
All throughout my journey in software development, I took the time to figure out what works best for me. Of course, every individual is different so it’s important to figure yourself out accordingly. Personally, I talk about my issues and roadblocks a lot and would take inspiration from people on how they would manage stressful situations. Ultimately, I ended up figuring out my own style to do particular responsibilities and work.
And the lessons you learned along the way?
Don’t hold anything within yourself. If there is a person close to you that you can confide in, share it. It doesn’t matter if that person can solve your problem or come up with a solution but just sharing your feelings with someone else has a therapeutic feeling. Although now things have changed a bit. Now if things get too stressful to handle, I just take a break. Never underestimate the power of just standing up and getting away from your desk, taking a walk, or even chatting with your team members. Nothing brings more unadulterated and immediate joy than cracking jokes and laughing together. Being able to distract your mind, even if it is for a couple of moments, is really a welcome change and helps you deal with situations with renewed gusto and a calmer mind.
How important are luck and hard work when striving to make a career in the software field?
I wouldn’t say luck has a major influence on your life and definitely is no substitute for hard work. I personally don't believe in the ‘luck’ factor because if you are not hardworking and smart enough to go after a position with all your might, luck cannot help you, especially in the field of engineering. If all the stars are aligned, maybe, you will come across an interview for a good position but in the end, it’s your track record and potential that matter the most. Trust me, I have been conducting interviews with potential candidates for the last 6 years so I have a fair idea of what you can expect from an individual and how far they can go. Then again, it’s not all about working hard, it’s about working smart!
What advice can you give a fresher?
When we are young, we tend to focus on various directions, but end up nowhere. We don't know what exactly suits us and so try to do a bit of everything. This is why the first thing you need to figure out as a fresher is, “What goes with my style?”, “Where do my talents lie and what are the spaces I will excel in?” “What can push me, motivate me to give my heart and soul to that goal, and how I can achieve it?”
Also, just going online and looking at job descriptions you think may work for you isn’t going to help your career. So look at where your interest lies, and what really makes you happy. If you figure that out at an early stage, it’s half the battle won as you already know what direction to move in.