The Journey of Becoming a Software Engineer from Scratch: An Inspiring and Offbeat Story!

The Journey of Becoming a Software Engineer from Scratch An Inspiring and Offbeat Story!

Every developer has a wonderful story to tell. A burning desire to make it big in their profession. Their technical prowess may be visible for everyone to see. Or it may be hidden beneath their layers of personality. 


Read on to know excerpts from our Software Engineer, Mushfiqur Rahman’s story as he cheerfully talks about the pitfalls, confusions, the highs, and how he navigates his way through the world of software development while rising above the occasional spirals of self-doubt.


Mushfiqur Rahman, Software Engineer


Did you always want to be a software developer? Where did it all begin?

Trust me when I say that becoming a software engineer was never part of the plan. I initially was thinking of becoming a textile engineer and working on laws, principles, and scientific techniques for developing innovative solutions for issues involving textile processing and manufacturing. This is why I completed my graduation from AUST (Ahsanullah University of Science and Technology).  


However, life happens when you’re busy making other plans. Before I knew it, I made the transition to becoming a software engineer. With no background whatsoever I took the leap of faith and tried my hand at software engineering and the rest as they say is history. 


Why did you make the switch to software engineering?

Earlier, during the time I was studying, textile engineering was all the rage and very trending so I jumped on the bandwagon. Besides this, it was also easier to get job placements in this professional field so I had also taken it up. It was only after I got into the nuances I realized that becoming a textile engineer was not my passion and certainly wasn’t something I wanted to continue doing for a living — so I made the switch!


Was making the switch to software engineering difficult? 

Of course, it was which is why I had my doubts. Since my background wasn’t really in software engineering, I struggled day in and day out. It was always an uphill battle to enter this field and make myself known and secure a good position. However, if anything, this experience has taught me the significance of struggle and perseverance. In hindsight, I realize that transitioning to software engineering was a good decision. It’s what makes me happy. It’s thrown light on the fact that if you are not happy with your career choice, it’s important to introspect, even when you struggle to do so. Going through this uncomfortable process can help you rediscover your passion. 


What programming languages are you proficient in? How did you learn to program? 

My first ever programming language was Javascript. Following that, I learned PHP for backend development. The information technology landscape is constantly evolving so staying relevant and keeping up with the current views and trends is a must. 


How did you prepare (technical + soft skills) in your pursuit to become a software engineer? Especially since you made a career switch?

I learned extensively about software engineering from articles, blogs, Udemy courses and obtained practical knowledge from internships and helping out individuals and organizations who needed software development services. I’ve gained certifications in responsive web design, HTML and CSS Foundations course on Udemy, Basic PHP, Html, Mysql, Front End Technology & GIT, and JavaScript Algorithms and Data Structures.


Besides technical knowledge and expertise, having soft skills is equally vital. For a software developer, having people and interpersonal skills is very essential. Developers should also be confident in the things they know and humble in the proceedings they don’t. Not being afraid to fail is an important skill as it is only when you are aware of your weak sides, you can work on them by seeking proper mentorship and training from your coworkers or manager. Whether it is learning a new technology or a new language, it’s a good thing to continuously learn. It helps coders and developers improve their problem-solving skills and they can also avoid getting stuck on a roadblock. Besides that, being considerate of everyone and owning up to your mistakes helps you become a good developer. 


How did you land your first job? What did you create on your own that made you think “Okay, I’m moving in the right direction?”

My first job was at ‘Hello Academy”, a software development company in Bangladesh, as a trainee Frontend Developer. I was involved in creating themes and templates for ThemeForest. During this time, I was dealing with Envato, the world’s leading marketplace and community for creative people and creative assets. During this time, I improved the quality of my work in an attempt to take it to the next level. 


 Once I submitted three themes to ThemeForest and when they got successfully approved by ThemeForest, I was on top of the world! However, there have also been times when my themes got rejected on this platform. These were also challenging times and sometimes, I even questioned whether I’m on the right career path. However, nothing compares to being persistent and hard-working and that’s what I tried to follow during difficult times. It was a rollercoaster ride. Whenever my themes got approved, I was ecstatic and when they didn’t, I went through a low but realized that this too shall pass. 


How has the journey at SJ Innovation been so far? 

When I was interning at ‘Hello Academy’, I was offered a position at SJ Innovation. It was my first proper job as a developer and naturally, I was very excited. No doubt, the position came with its fair share of challenges, but that only made the victories even sweeter and I grew confident in my coding abilities. 


As I became a senior software engineer (Project Lead), my roles and responsibilities had more to do with building and maintaining client relationships. It’s about staying in touch with clients, understanding their issues, and problem-solving together. Other than that, I handle core responsibilities such as maintaining the quality of code, working on first-level testing, and Contentstack related work activities. Other than this, there are specific Project Lead responsibilities such as managing code standards, conducting interviews, introducing new technologies to the team, and onboarding new members to Design, Front End Development, and Email Development teams. 


On why working at SJ Innovation has its perks!

An important benefit of working at ‘SJ Innovation’ is the global collaboration—the ability to work as a team no matter the geographic location. Whether we need the expertise of a professional from our NY-based project management team or need someone from India, Ukraine, or Bangladesh, there is a team member present who can help you out successfully. 


What were the challenges you had to face and how did you overcome them?

Well, there was one challenge, although it wasn’t a major challenge as such, I believe it’s the little things that gradually make a big impact. When working on a specific project, we would usually build many sites but previously there was no documentation that kept a record of proceedings. I overcame this obstacle by creating a spreadsheet that listed all of the pages and minis sites along with their necessary information. Today, it is a process that we always follow when dealing with that specific project. Like I said before, it’s the everyday, minor shifts that eventually go a long way. 


Any advice you would like to give freshers or those who are unsure of their career path?

For freshers looking to make it big in software development, first and foremost, learn to build your website. Gain as much experience as you through internships and participating in freelance projects. Make sure to contribute to an open-source project. Put your code on GitHub.


However, remember, at the end of the day, you might be the best coder working on your project, but it will mean very little if you do not work well with other members of your team. So work on your interpersonal and communication skills. As a developer, you also need to learn patience, communication, empathy, and time management because sometimes, group cohesiveness and team conversations are more valuable than merely writing code. You need to see whether team members can interact with one another and think as a group. 


Also, don’t be afraid if you are clueless. Sometimes, we figure out where our passion lies as we go along our journey. So, don’t be stuck with a rigid mindset and moreover, if you do think your interest lies elsewhere, don’t be nervous about starting from scratch and climbing up the ladder from there onwards

Mushfiqur Rahman
Mushfiqur Rahman
Software Engineer
How we Coordinate our International venture

At the Heart of SJ Innovation: How we Coordinate our International venture



Sanjeet Kanekar
Welcome Back!!!

Welcome Back!!!