Sign in
Log inSign up
From Mechanical Engineer to Software Developer – My Coding Journey

From Mechanical Engineer to Software Developer – My Coding Journey

Md Shadab Alam's photo
Md Shadab Alam
·Jul 9, 2021·

12 min read

We usually follow the well-tested conventional path coz we think it is the most reliable and the walked through the pathway. We are assured that walking through that path will fetch success in our life, or rather, what we have been forced to believe. But I always believed in choosing passion over security. In this article, I will jot down the life experiences that have led me to where I’m today. Though my journey might not be the most ideal one, it reveals that it is the mistakes that we get to learn the most, i.e. we go through a lot of wrong turns before finding the right path.

Before starting my journey, let me introduce myself. Currently, I’m working as a front-end developer at an EdTech startup. I’m a mechanical engineer by degree but a software developer by passion.

My imperfect journey

My journey might not be the best of trips, but it might help you decide when to nip the bud in your career. The decisions I took are not the perfect ones but will guide you towards your career path.

What I realized over the years is, anything in life is possible if you can completely commit to it. For that, you need not have a 135 IQ rather Zeal to learn more, persistent hard work, and sharpening of skills until you get hold of success.

How I landed in Tech and manifested my dream to become a web developer?

17757117_1796823973968811_2481056012814704178_n - Copy.jpg

It’s completely up to you whether you bend to hand over your life’s steering to your family, peers, or societal pressure or choose to get into the driver’s seat of your own life. Let me tell you the first step towards acknowledging your passion is to go out of your Comfort Zone and explore different aspects. It can be overwhelming, but it really worth it.

Coming back to my story, from my very childhood, I had been passionate about solving real-world problems. On entering college, soon I realized getting notes was a real problem as I was missing classes. I thought of creating a website where someone can upload the notes, and other students like me can access it easily.

Although I had the proposition but manifesting, it was a real problem because web development was not my cup of tea. But with the help of one of my classmates, we successfully uploaded the notes, which was quite a hit. Later, in my 3rd year, I laid my hands on a small VR gaming venture which was a failure, and I had to left it after running it for about 6 months. Eventually, cryptocurrencies grabbed my attention. I used to do Ethereum(a cryptocurrency) mining on the PCs at night used in my VR gaming zone. After crypto mining, I started trading using the mined Ethereum, and later when I closed the VR gaming and sold the PCs I bought more cryptocurrencies from that money. I will share the story of how I made around $2000 worth of crypto to $16000 in 3 months or so.

From thereon, I started learning Blockchain development, got to know about the software Ecosystem, and ultimately landed into web development and product building. As a tech enthusiast, I tried to understand the technology (Blockchain) behind cryptocurrency. I got to know about smart contract language, i.e. solidity. All this I did while I was in my final year of college.

One of my biggest mistakes

screenshot-newtab-2021.07.08-22_00_57.png

Being a mechanical engineer, I had little to no knowledge about software and web development. Still, I was sure Blockchain development can bring more significant opportunities to my career. I soon realized it was a mistake and Blockchain is just another type of database and nothing new all of it is software development. Since much of my time had been wasted, I thought of learning the basics before taking the plunge into web development. I took a course on Udemy and started doing HTML, CSS, JavaScript. As I was doing all this without any proper one-to-one guidance, my progress was relatively slow.

My Placement in a Service-Based Company

In my 7th semester, as in every engineering college, placement companies started visiting our campus. I reluctantly appeared for the selection procedure seeing my classmates despite knowing that I won’t be qualifying even the first round. By then, I was totally into web development and was almost sure of switching my career to the software industry.

tcs_last_day_trainingf.jpg

Since the last semester, my professor tried to convince me to get serious about the final year project. But me being quite certain about my future plans in the software field, I confidently disposed of his proposal and persuaded him that just passing on the exam will serve the purpose.

Meanwhile, in the 7th semester, TCS (a service-based MNC) approached for their placement. This time, I was really interested in grabbing the opportunity since it was a software company and the only company interviewing non-CS students. As not to lose the chance by any means, I seriously prepared for the aptitude and C coding round. Though I performed well in aptitude, C coding didn’t go so well. I was hopeless of clearing the first round. But as you know, “Man proposes God disposes”, I was selected out of 150 students.

The main deciding factor was the next round, the interview round for which I was waiting eagerly, and finally, my turn came. Besides asking about my introduction, they asked me why I chose software coming from a mechanical background rather than choosing MBA. This particular question, I had been asked many a time before, so it was not that difficult for me to answer. I confidently answered that professors who teach business in business schools had never been into any businesses nor had taken any risks related to business; hence, they might not be able to teach the practicality of business processes.

I’m not sure whether they liked my answer or not, next, a lady asked some questions about mechanical engineering, which I completely sucked into. At my final round, I was asked to answer an aptitude-based question (i.e. about the angle between the hands of the hour and minute when it is 3:30 PM in an analog clock), which I easily answered without any formula. And guess what, I got selected!

It was a ray of hope for me. If I didn’t have a CS degree, I still hoped to get into a software-based company and work on my niche subject. And from there, I could jump to other big product-based companies or startups.

I used to believe that making software was only possible if you are a computer science student, which was later proved wrong.

I perceived this one thing after going through the entire process because a the degree was not really needed if you are passionate about web development and have skills in it.

The road was near yet so far.

As I had decided to go into the software domain, I was not really studying any of my mechanical engineering courses. It resulted in the failure of one of the subjects in my 7th Semester exam. I was completing my web development course in Udemy, which was a foolish move.

Because it was mandatory to successfully complete the degree, I needed to pass the exam before joining the job. Since it was the 7th semester, I had to appear for the improvement exam just after completing my 8th semester, which was quite tricky. But somehow, I managed to pass the exam and thus was relieved.

Mistakes due to no proper guidance

A news channel showing about the blockchain

In 2018 when I just finished college, there was a lot of hype around the Blockchain platform. And as I was free at that point in time, I applied for various Blockchain developers’ jobs. A startup company offered me a job, but sadly, the company closed within 23 days of my working as they were scammers.

Now, I realize I should have honed my skills and joined boot camps because of struggling to learn on my own rather than joining this scam company. But with nobody to guide and a few discouragements from peers made me go on that route.

With TCS offer still on my hand and a little spare time left, I tried applying for jobs and internships as a Blockchain developer. After many rejections because of my lack of experience in the field. Somehow, I grabbed an internship offer as a Blockchain developer but could work for only 25 days. I tried to join a startup company as I could learn more from them, unlike any other reputed service-based company. This may sound weird, but I was emphasizing more on my learning skills than earning.

Associating with TCS

So, after my unsuccessful attempt to find a job in a startup company, I finally joined TCS. It was quite a hectic job for me since I had to travel 3 hours up and down to work every day. Nevertheless, I was still doing that with the hope of getting a project related to Blockchain.

After a month of trying, I finally got a call from TCS Hyderabad for a Blockchain project. The project interview went for half an hour while I was on the bus, and I was hired for the project. It was one of the happiest moments that happened to me after a long time.

But the road was still not that smooth. I was not getting released from the previous project and was waiting for a transfer from Delhi to Hyderabad. However, I had decided to resign, if not getting transferred. Luckily, I received a mail the very next day of my transfer. And finally, I was up for opening a new chapter in my life.

Experience in Hyderabad

The decision of working in Hyderabad turned out to be a great one. I was able to invest my time in learning and communicating with like-minded people on social media. I even joined one local community for coding but it wasn’t serving my purpose.

Later on, I was introduced to a person through a Facebook group. Since he was into community-based coding, he suggested building a book lending system that might be useful to the community. I totally liked the idea and shared it online, asking interested people to join me on this venture. A few days later, Tabrej and I started our community library project. However, it remained unfinished, but I got to learn a lot from it.

Facing Interviews were tough.

Even so, the time in Hyderabad was well spent, and I had a really great learning experience. Still, I wanted more in life, a more fast-paced environment than my current workplace. Hence, I started applying for the role of Full Stack developer in startup companies. Sadly, my lack of experience and low salary job package from my previous job hindered getting reasonable offers.

Another reason for my rejection was that I used to panic a lot during interviews, especially in live coding sessions. However, home coding assignments were easy for me. But this panic and rejection took a heavy toll on me, making me vulnerable to imposter syndrome. I felt a lack of confidence. In fact, I started believing that switching my career was the wrong choice.

Joining Pesto

Pesto is a Bootcamp that trains experienced Software Developers and helps them get jobs in mostly product-based startups. I had heard about Pesto from the very beginning of my career. It offers good salaried jobs to a skilled professionals regardless of what they used to get.

So, that was what I was looking forward to getting into. Though I knew it was a tough nut to crack as I already had tried twice and failed, back in those days when I wasn't that great at JavaScript skills, I still wanted to attempt the test. While in January 2020, when they started their first remote batch, I abruptly applied for the test and got selected. The training taught me a lot about clean code practices, in-depth knowledge about JS, practical communication skills within a team, and much more.

Drawbacks of some Indian Companies Over the years, I have experienced a lot of Indian companies pay you based on your previous salary, not your skills. So despite working hard and sharpening my skills, I was offered a raise not more than 50% of what I was getting in TCS which was around 3.6 LPA. This is the most tragic reality that we have to face as fresher or less experienced.

Interviews, and more interviews

Even though I joined Pesto, I was still trying to switch from TCS and was applying to many companies. Meanwhile, I got an offer from a startup that was offering me a 5.5 LPA max. But still not satisfied, I kept on job hunting. At that time, I got many rejections and failures due to the same reason of getting nervous on the live coding round.

If it’s not okay, it’s not the end.

Still, I continued giving interviews and kept on honing the skills that I was lacking. Eventually, things started improving, and I was offered 7 LPA by a product-based company. I was satisfied with the pay scale, but things again turned for good.

Pesto got me another interview, which went quite well, and the best part is they didn’t ask me about my previous pay scale. After about 3 days, I was approached for a 21.6 LPA salary package by the company, which was way more than expected. Also, it's a full-time remote so cherry on top.

Another amazing thing that happened to me is that even the previous startup company offered me 7 LPA initially raised their offer to 13 LPA when they heard me joining some other company. Obviously, I went for the better offer, and from there on, I didn’t have to look back.

9 things that I learned while reframing my past

  1. Keep exploring; maybe it will take a while, but things will eventually work out in your favour.

  2. Challenges will always be there; failure, frustration, self-doubt all are part of the journey.

  3. Stick to your goals, try to have deep knowledge of one thing first, and then try to go broad.

  4. If you are starting your career, start with a small company.

  5. Take risks and get out of your comfort zone.

  6. Don’t be overwhelmed by hype, basics are very important; learn those first.

  7. Mentors are important, those who believe in you.

  8. Encouraging words boosts your confidence.

  9. Keep hustling

IF I CAN DO IT, YOU CAN TOO!

Follow me for more

I like to build products, convert ideas into reality. I share about products building, web development, and my journey on Twitter, do follow me if you like to hear more.