"Code Like You Eat! I Mean Code Daily as You Eat Daily" - Vinit Shahdeo

Want to become a writer at Eat My News? Here is an opportunity to join the Board of Young Leaders Program by Eat My News. Click here to know more: ​ bit.ly/boardofyoungleaders

1. Tell me about yourself and background?

Being in a boarding school since my 6th standard, I have had great school memories and friends. It was my curiosity about how computers work that sparked my interest to learn about them. To pursue my interest, I joined VIT Vellore for pursuing B. Tech in Information Technology where I ended up working as leads for two student clubs.

After four wonderful years of learning & laughter at VIT, I’m now working as a Software Engineer at Postman since 2019. Apart from contributing towards my job, I’m highly active on GitHub and maintain projects for Open Source Competitions like GirlScript Summer of Code, etc. The other part I like about open source is that I am able to help and mentor the community through what I learn. It is an amazing feeling to be able to help someone else.

2. What are the key skills one need to possess to be an engineer in the IT field?

Computers touch nearly everyone’s each part of life. To keep up with the world’s ever-growing interest in technology, you will always need to keep up as well, if you’re hoping to excel in the IT industry. The technology keeps changing so there should always be an endless desire to learn and grow.

Few key skills one need to possess are:

  • Problem Solving and Logical thinking: It’s always about the approach to solve a problem in the easiest possible way. This is the skill that absolutely differentiates great software engineers from good ones.
  • Excellent written and verbal communication: You may be very sound and technically strong, but if you’re not able to explain your point to everyone, even your strength is not appreciated!
  • Clear understanding of Software Development Life Cycle: Software development includes being able to analyze user’s needs and then design, test, and develop software to meet those needs. One can learn these skills by working for a company as an Intern during their college days.
  • Teamwork: Since engineers work in teams, one must be a team player. Having respect for team members, having the ability to listen, having the ability to express your thoughts, having the ability to accept criticism, having the ability to empathize - all these skills can’t be taught but have to be learnt over time.
  • Writing clean, readable and maintainable code: Writing code is easy but maintaining isn’t. Writing code that is easy to read and maintain is a skill other than problem-solving. Knowing that the code you write will be read, understood, and improved/modified by someone else (or even yourself) in the future makes you write code that’s maintainable. It’s not about just getting things done, but done nicely and efficiently.

3. Describe the process you use for writing a piece of code – from requirements through to delivery.

Before jumping onto the code, one needs to understand the purpose of writing the code; what problems will be solved with the piece of code one writes.

Software Development Life Cycle is a process which defines the various stages involved in the development of software for delivering a high-quality product. SDLC stages cover the complete life cycle of a software i.e. from inception to maintenance of the product. I get a chance to be a part of all the phases including requirement gathering and analysis, design, implementation, testing, deployment, and maintenance.

Living all the phases from conceptualization till delivery of the feature to the end-users makes me feel that the piece of code written by me is affecting the lives of millions of developers.

Reading product specifications and writing engineering specs after days of research and then finally I jump to the implementation. Once the implementation is done, I test the functionality from my end and once it gets deployed, I keep iterating if users face some issues due to bugs in my code.

4. How do you manage the work-life balance?

Work-Life balance is basically a state of equilibrium where I can equally prioritize my office work and the demands of my personal life. For me, work-life balance is less about dividing the hours in a day evenly between work and personal life and, instead, is more about having the flexibility to get things done in my professional life while still having time and energy to enjoy my personal life. There may be some days where I work for longer hours so I have time later in the week to enjoy other activities. I feel luckier to be in an organization where my employer gives us the flexibility to prioritize personal work if needed.

Sometimes I feel like I am not able to enjoy my favorite series on Netflix but developing something fruitful with my code compensates for those missed moments. 

Weekdays are for coding but weekends are for partying! I work on weekdays to enjoy my weekends with my friends, that’s my motivation. I’m luckier to have friends from completely different background (other than engineering) i.e. Fashion Technology. Hanging out with them makes me feel better as we don’t discuss work, we discuss life, we have fun! No matter what’s happening in our life, weekends are all about cups of tea, late-night rides, hunting good places to eat.

5. What piece of advice would you like to give to aspiring engineers?

Code like you eat! I mean code daily as you eat daily. There’s no substitute for hard work and consistency, and this domain is no different - just code and improve yourself every day. One should always remember one’s code is meant to solve a real-life problem. To solve the problem, one should understand the problem first and work consistently for the same. Compete with yourself daily - your code quality should always be improved from the last time.

Few tips:

  • Code regularly on HackerRank, HackerEarth, CodeChef or any online coding platform. Maintain a streak there as one maintains on Snapchat.
  • Do not skip the fundamentals of core subjects: OS, DBMS and Computer Networks are equally important as Data Structures & Algorithms.
  • Open Source a lot: If you’re a techie, your homepage should be GitHub, not Instagram. Get addicted to the green dots. It helps you build your digital footprint which will carry more weightage than your resume in the future.
  • Sticking to only the classroom and self-learning is very limiting: Not just in coding, but also in how you think, how you open up to ideas, how you approach problem-solving. Participate in coding competitions, hackathons, connect with developers and learn from everyone.
  • Last but not the least, never miss to experience the fun if given a chance. Don’t spend four years of engineering in pursuit of adding one more line to your resume! Enjoy college days to the fullest.

6. Which is your favourite book and why?

Usually, I don’t read many books but out of all the books I’ve read so far, 'Masala Chai by Divya Prakash Dubey' is my all-time favorite. It’s basically a collection of short stories. These stories make me laugh, cry and feel every emotion that’s within me. It takes me down the memory lanes of high school days.

A cup of tea with some favourite seasoning of your memories, what else you need! These stories make me smile as I take a trip down the memory lane into my childhood.

- Vinit Shahdeo [GitHub | Linkedin | Twitter]

Interview by - Abhirup Dey