I am a sucker for stories. In fact, I started Sapne with the sole idea of telling stories. Since the get-go, I have tried my best to bring stories that inspire. However, with time, Sapne has evolved. We are tapping into various other segments.
One such segment is The Pyjama Code, where we speak to some of the talented coders, engineers, hackers, and other professionals from the industry.
If you are a technology enthusiast who wants to learn and grow, it is going to be a worthwhile read.
So, we talked to Deepanshu Rastogi, a freelance software engineer for the first episode of The Pajama Code.
During the interaction, Rastogi talked about his journey and shared some good as gold insights from the domain.
How It All Started
An electronics and communication engineering grad from Delhi College of Engineering, Rastogi always loved solving problems and software engineering was something he had an eye on.
Rastogi started his career with the information technology and outsourcing company, Mindtree.
“I worked in an excellent product team, I Got Garbage (IGG),” said Rastogi.
“As IGG was in its initial phase, I got hands-on experience with the entire software development lifecycle. Be it backend, frontend, infrastructure, and android as well. That’s where I learned how stuff works and most importantly, got to know where my interest lies.”
After working for a good amount of time with Mindtree, he got an opportunity to work in Berlin, Germany.
“Germany gave me a different perspective on work-life balance, which was really wonderful. I got to work with really smart and fun people who considered work as a part of life and not life itself,” said Rastogi.
After spending a couple of years in Deutschland, he returned to India and joined Gojek, where he worked on a mission-critical and highly focused project.
At Gojek, he worked on many different languages, tools, and learned how to deal with high throughput consumer applications where every bug could result in thousands or even millions of unsatisfied customers.
However, Rastogi wanted to have more control over his projects and time. This is when he decided to become a freelance software engineer.
To learn more about his experience and bring out some valuable insights, I asked him a couple of questions.
Let’s look at what he’s shared.
Excerpts From The Interaction
Walk us through your day. What are your working hours as a freelancer?
As a freelance software engineer, I am currently working with a Germany-based client. So I mostly follow a European work schedule.
I get to work at about 10:00 AM after some exercise and breakfast and finish at around 7 – 7:30 in the evening. I also take an hour break in between for lunch and to learn guitar.
Working at a scheduled time is what I prefer as it helps me get a good amount of free personal time.
Outside of the working hours, I don’t think about work at all.
What does your work consist of mostly?
Currently, I am helping my client in the entire product development.
I work on all aspects of the product starting from designing architecture and solutions, implementing, deploying, to solving bugs (if any, even after the product is live).
Tell us about the best project you have worked on?
So this was with a marketing affiliate company, Awin, based out of Germany.
We had to develop reports for all the advertisers to see which clicks are being clicked on and eventually, get them sales.
These reports were generated on the fly and were available to the advertisers in the UI itself. We had to aggregate almost 20 Million clicks per day which were being consumed from Kafka and then aggregate them based on various parameters.
We researched with different tools for the aggregation and eventually, settled on using Elasticsearch as it was giving us the most performant results.
According to you, what is the best toolkit or tech stack for a freelancer coder/software engineer?
There is no “best” tool or tech stack for a software engineer.
Honestly, the tech stack isn’t as important as being flexible is. Being a software engineer, you always need to upskill yourself with different tools and tech that would be suitable for the task at hand.
It’s like asking a golfer about his/her favourite golf club. The preference changes according to the situation/problem at hand.
Do you, like most other software programmers, think you can make an improvement in the code you wrote about 6 months ago?
Absolutely! The more you work, the more you learn and improve. You always find new and better ways to write something as you grow in this field.
What is that one thing you like the most about your profession?
Problem-solving!! Most other jobs get mundane after a short time. Software engineering is still an evolving practice. The world is moving towards computers and there are countless problems and challenges in that.
What is the most challenging aspect of your profession?
The constant upskilling is a big challenge, to be honest. You can’t be comfortable in what you know. The entire industry is evolving and coming up with better and useful languages, tools, technologies, etc.
Although it’s interesting, it gets challenging — sooner or later.
What are your short-term plans?
I have started learning blockchain. So, I want to be able to work with it and even develop applications using it. That’s what the plan is currently.
What advice will you give to all the budding software engineers?
It might sound cliché but at the start of your career, surround yourself with smart engineers and good problems.
Always seek feedback and try to work on it. As you become a better programmer, there would not be any shortage of jobs or money.