Job Offer
21 Oct 2022

Shivam is a Software Developer III at Flipkart. His love for computers began when he was a teen. Following his heart, he started out as an intern at Flipkart. Today, he works there as a back-end developer building robust and scalable softwares. He has a keen interest in VR and AR

How did you become a developer?

I think I was in middle school when I was first introduced to a desktop computer. It was my brother who introduced me to a computer. I began by playing offline games, like Halo and Project IGI. And gradually my journey started from learning Microsoft paint to Adobe photoshop. Later, I realised instead of just using the tools, which are fun, I can code and create something, then later, I thought, let's pursue my career in this particular direction itself is the thought process, I was pretty confident that I have to pursue my career in computer science. So, before I started college, I was already preparing for entrance exams, and my focus was completely in computer science field. When I joined college, I selected the same particular field and post college I started my career as a developer in Flipkart.

How is your every day? What do you do in the office on a regular work day?

I'm particularly a back-end developer and my day to day job is requires me gathering data from business use cases and build robust and scalable softwares. So, there are things that are already created, and some service we will need to create to scale for future needs. So, there is a bit of a design change; we're asked to take most of the old projects and create new ones. Whatever is the new requirements coming up from businesses, we should also take care of. I spend my time designing the system, with a high level design and the leaner, smaller component, gets into more implementations and I have to make sure what was planned is actually deployed in production.

Most of my time is spent on discussion. We spend a lot of time discussing things and coming up with a solid solution. Because there is not always a single way to solve a problem in computer science, there are always multiple ways and you have to select the right one. So, we spend quite some time in discussing and in the designing space. Once we have a solid foundation of what we need to build then we start implementing it, we reflect on individual tasks, and see how my peers can collaborate, and how we can paralelly work in the same project. And then we go into the testing phase and make sure it appears in production.

How has your journey been in Flipkart?

I got an internship via my college interview, there was a team in college that was hiring for Flipkart internships. Then I joined Flipkart with an internship offer and later turned into a full time engineer. I started my career with the returns team in supply chain and since then, I've been working in multiple different teams in supply chain. So I've seen teams grow from five member team to fifteen member team altogether in my career. So, in the starting days, I was focusing more on learning multiple things and different technologies. And yeah, the journey has been quite amazing. So now it's like I started from building small components to designing an entire system altogether.

What is your setup and development environment like?

I've got a 15 inch MacBook Pro core i7 processor. With this, I also use a 22-inch Lenovo monitor. I prefer working in parallel developments. So if I multi screen, it is easy for me to work on my multiple pet projects, like building something as a hobby or maybe open source. So I have an Apple Mac mini and keyboard, and air mouse, which is connected wirelessly and I connect them to my TV and use it.

What are your favorite stacks to work with?

My current stack is like IntelliJ IDEA, which is an integrated development environment for building projects. And I use a lot of fancy plugins with it. One is Lombok, annotation processing, much more related to Springboard because most of my work is in back-end and I always use a Springboard framework, which is very easy to use. It actually takes care of all the bootstrapping. So I just have to focus on the business logic. I also use Sublime Text. Intellij IDEA is quite a big software, takes a lot of memory in the system. So when I open multiple projects, my Mac becomes slow. So I use lightweight Sublime Text, to do my coding, and apart from that, I also use Visual VM.

What is that one piece of technology or tool you couldn't live without and why?

So I have been coding in Java so without Intellij Idea, it'll be very hard for me. It's become a habit already.

What are your top-five go to repositories?

Definitely, whenever you ask a developer Stack Overflow is the general answer, because you get everything you need there. I also do a lot of blog reading in Medium. So there I get very helpful blogs, which helped me in effect strategy for a design choice.

What other technologies you are excited about now?

I'm a backend developer, but I've always been fascinated with what people do in front-end and UX. And so I personally spend time learning about those things. So my major interest is in virtual and augmented reality technologies. I'm a participant in a hackathon at my company where I won the Popular Choice award for a project in augmented reality. So we build an app there. Whenever you open camera, and it augmented the virtual image of the object what you want to see on your camera. So I'll give an example. Let's say you want to buy a sofa, and you don't know how it will look at your corner of your home, maybe your bedroom. So you just open your camera, see the layout in the hall and click the object, the sofa will appear in your screen, you can just drag and see how it looks.

What I've worked on a regular basis is on Java and back-end. And so those are always designing the right code and all the things. But personally, I still am fascinated with this kind of unique technology. I feel this will be the future. These are the things that are going to take over the market. I'm actually a big Marvel movies fan. So I can relate to Tony Stark, all those augmented reality things.

Anything you're learning right now?

Currently, I'm working on a project, which requires optimising on geographic technology. I'm learning geo-based technologies and possible ways for optimising polynomial time algorithm. So basically, there are some open source algorithms, which takes quite some time when you try to optimise a particular problem. So I'm working on how can we achieve our best optimal solutions with minimum time? Also on the personal project side, I'm learning Java FX and the JavaScript libraries.

What is your favourite app?

I always like what Google builds basically. I'm a very big fan of Google Maps. I also like the photos app which Google has built. It is amazing. It syncs with all your devices. And the way it remembers your faces is quite fascinating. So I'll give an example. Last year, my niece was born. And I started taking a picture from that time. And until today, Google very correctly maps it to the right photos. It also actually creates a movie about her growth.

What projects are you very proud of?

In my early days, when I started developing applications, I built an app. It was during 2011, around the time Android was very new in the market. I started learning Android and in my college days, I build an app. So what it did was connect your smartphone remotely to a personal desktop computer. Or today, you will see many such apps like TeamViewer, where you can control your monitor using your phone. I built a very small and lightweight version of it. It used to do basic stuff for me, for example, putting something on download, when I'm not at home, I can use my phone and navigate in my PC and do whatever I wanted to do. Something like remotely playing and stopping the music, changing the track and I also integrated with Google Voice, it was the first version that was released by Google at that time and it was very easy to integrate in my Android. I can do voice based navigation in my system, like open this file and delete this file kind of functionality. So this was my first application.

What do you have to say to new developers who are coming into the field?

In general, for the early days of developer, because I've been through that phase, what I would like to suggest is they should definitely spend a significant time in coding. Hundred thousands of lines, of course. Because when you write the code and see your code working, you understand, okay, what libraries should I use? How should I write the optimised code so that changing it and extending it little might not be a nightmare? So I would suggest, learn the basic design of the code base, which I see sometimes lacking in young developers. Also, computer technologies are changing everyday, they have to keep up with it all. So basically, I keep learning whenever I can. If I've got a project work to on, if I can use the old technologies what I've worked on and implement it, then there's no issue. I try to find new things that are there in the open source market and try implementing it. That way, I learn something new. It is beneficial for me to present that I learned this particular thing and implemented it and this has got source of benefits and all those things.

What are the tech challenges Flipkart is facing right now?

I won't say it is a Tech Challenge. But most of the things what we're building right now is new in the market. No other company is doing that. So definitely there is a challenge to it. But you're trying to find a solution, which can help and what is it to cater the next billion customers coming in the future?

Do you listen to any kind of music?

Actually, I have a playlist that I do listen to regularly. Rock music from the 70s like Queen, Pink Floyd, Guns n Roses and the like.

If you are given 1 million to launch a startup, what would you work on?

I would actually try to build a crowdsource app. Because there are two points to it, one is this particular tech what I build will eventually be growing with the collaboration of multiple other people. And the second thing is the Indian market, it is very important to have a crowdsource application. Because the number of people in the country who have smartphones is so high, and if my application can get into handling a billion customers, definitely profit is an aspect I can think of.

Related Blogs

Callout Image undefined

Most popular