A Developer’s Story – Swarup Mahapatra

Posted by

Swarup started his career as a Quality Analyst at IBM and then re-developed his interest in coding to make a gradual shift to development. He says being a tester definitely made him a better developer. Here’s the story of how he did it.

A Developer's Story - Swarup Mahapatra
Swarup Mahapatra, Developer @ Aconex

About coding

My first exposure to coding was during Class 2-3 in school, when I was introduced to BASIC and LOGO. I had a blast at that time having fun creating infinite loops of concentric circles and spirals. Shapes of varying colors and geometric patterns. Writing code to create these beautiful images was something magical.

I was good at basic computer science till Class 10. But for my higher secondary classes I couldn’t get computer science as part of my curriculum. I forgot computational thinking and liked Physics and Mathematics. This continued into my engineering days at NIT Rourkela.

After 4 years of engineering, I joined IBM as a manual tester. I feared/respected software programming skills. But as they say, ‘necessity is the mother of invention’. I didn’t invent anything, but I faced a situation where I needed automation (data generation tool) so as to make my testing easier.

I got introduced to Python at random and I was happy to re-discover the magic of coding.

Programming enables me to solve a problem in the most fluent of expressions. That’s what I love about it.

Technologies you like and dislike

Docker is one of my favorite technologies. It makes sharing software to devs/QA/BAs easy. Installation headaches vanish and OS headaches vanish. Containers run in the background. If the containers are designed stateless, then one can spin off and scale as many containers as possible. IDEs are surely helping programmers by making sure a person pays attention to the problem they are trying to solve, rather than the syntax.

Programming is as sophisticated as mathematics. Without the right mentoring and tools, it’s easy to lose interest. Just like people fear mathematics. Once you’ve cracked the secret, programming, like mathematics, is glorious.

I don’t dislike any technology. What I do dislike is the fact that the software job market pays extra attention on the tools and technologies that a person knows, rather than the core computational / engineering knowledge and thinking ability. Technologies come and go, there is no real pride in knowing only a certain technology/framework/library. Logical reasoning and engineering thinking are what matter.

Most interesting tech challenge faced

I was in Aconex and had just made a switch from test automation engineer to backend developer. I was decent at programming but I lacked the knowledge of tools/libraries needed for backend development. It took me 1-2 months to learn the tech stack of my team. Unfortunately, many people left in that time due to acquisition announcement. I became the sole backend developer and I found myself having to manage 3 or 4 microservices.

There was a certain microservice which was built using DDD. Event sourcing was done using CQRS. The design was fluent. However the events were large in size and the DB was getting filled up very fast. I had to deep dive and understand DDD, and understand what value the events were providing to the business. Turns out the events were needed for a future use-case (which customers never asked). And there was a constraint of vertical scale. I had to conduct meetings with the business team and take a judgement call that, having the app running (given the hardware constraint) is more important than over-engineering for future use cases. I re-wrote the APIs and followed the plain CRUD model, and carried out selective event deletion in production instances. 

What I learned is tech challenges are less sophisticated than business challenges. Hence as an engineer, one should spend EXTRA time in understanding the business problem that needs to be solved.

If you could give your younger self some advice..

Always search and seek out for right mentors whenever in doubt. Technology is never difficult to understand. One just needs to know the right way to learn it.

Startups or MNCs?

Startups any day. In a startup, the engineers pay attention to end to end delivery. Every engineer should know what happens when a customer clicks on ‘Save’ button. Right from the browser to the internet gateway to the servers to the database, and back to the servers, the internet gateway and to the browser. Not to forget, the customer feedback during this entire cycle. The feedback is direct and engineers start working on it immediately. This exposure is highly essential for freshers and mid-level software engineers.

The Indian tech industry

Years ago, when there was little digitization in India, the Indian software engineers were mainly focused on software services sector. The growth of an individual was based on how quickly one gets on-site opportunity or how quickly one becomes a manager. The services sector was booming and software products were rarely built in India. 

Things are changing. With higher digital and mobile reach, we need technology to solve our problems in India – an opportunity to create indigenous software products. Startups are now the front-runners in making this happen, and there is a healthy competition. Competition leads to a better quality of products. 

Your experience on Geektrust

Throughout my career I never had mentors reviewing my code. Thanks to your platform, I got to get my code reviewed by people in the industry who review other people’s code. It was good to get my coding skill validated. I realised being in QA really did help me be a better developer. And that I should stop all the self-doubt and go ahead and code.


That’s the journey of Swarup in the world of software engineering so far. Besides his love for technology and everything scientific and creative, he is also an avid lover of sports, and goes swimming or playing badminton in his free time. Recently, he started blogging about life and experience as an engineer.

About Geektrust

Geektrust is a platform for technologists to find interesting opportunities. We meet inspiring people and companies in our work, and we see some great code written by our users. So we started the Dev Stories blog post series recently, to bring stories of different developers to the world. Hope you enjoy reading them as much as we love writing them.

If you’re passionate about programming and looking for interesting companies, sign up and get started.

Leave a Reply

Your email address will not be published.