How to prepare for coding interviews while already working and travelling everyday?

I’m a 2 years experienced Software Developer working in a small product-based company. Here, my salary is quite low as compared to industry standards. My office timings are 9 to 6:30 and I spend around 4 hours in total to travel everyday to office. I can’t live near the office because of the poor food quality available there and costly rents. Sometimes, I get the time to study while travelling but that doesn’t happen most of the times. I get holidays on every Sundays and every 2nd and 4th Saturdays. My goal is to get a job in a big product based company. Although I get the time to study on holidays but on the normal weekdays, it becomes very tiring to prepare.
From last few months, I am studying CTCI as the starting point of preparation and then I have planned to switch to Leetcode completely after finishing CTCI. Although I started participating in the Leetcode Contests every weekend, but the progress was really slow. Then in November, I gave 14 interviews and cleared only 1 of them and that was a startup which I didn’t want to join. Due to regular interviews, I discontinues Leetcode contests. Now, from last week, I thought that I should prepare in an effective manner and then should start giving the interviews.
In CTCI, I observed that if I try to find my own solution and then look at the chapter end’s solution, it is very time-consuming process. So, I started looking at the solutions first and then I code it up in editor making sure I understand everything. It takes more than a week for me to finish a single chapter in CTCI and as a result, I’ve reached Trees and Graphs chapter in CTCI despite after starting the preparation many months ago.
But, the thing is that because of so much lack of time, even when I watch TV or try to entertain myself in free time whether on holidays or whether while travelling, a guilt feeling has been arising significantly inside me that I’m wasting my time and it creates a lot of stress in my mind sometimes. And because of this slow progress, I want to know what different strategy should I adopt to achieve my goal. Can anyone offer a valuable advice/tips/suggestions on that? I would greatly appreciate your time.

Trust is the most important thing to get hired.
Trust, that you can do the job.
Trust, that you can solve the company’s problems.
Trust, that you are reliable.

So you have to find a way to build this trust.
Going to meetups, hosting workshops, building a portfolio, writing a developer blog etc.

Seems like a few things going on.

  1. You want to changes jobs to a larger company
  2. Your studying the CTCI book (Cracking the Coding Interview) book to prepare yourself for future coding interviews
  3. You lack time to study the book due to life
  4. It takes you a while to study the book, and it causes you stress.
  5. You feel guilty when not spending your free time studying this book.

  1. You want to changes jobs to a larger company

I only want to bring this up as I want to address it as your actual goal. Its easy to get stuck studying, or doing stuff, but you need to make sure what you do aligns with this goal. For example you could be learning technology X, but the big companies your looking at use Y for example.

  1. Your studying the CTCI book

Your studying a very popular book to prepare yourself for coding interviews. This is a great way to learn concepts that are usually covered in most coding interviews. But don’t consider it a 100% requirement to get into every company. The tech companies have their own processes, but there are also more relevant resources for their exact hiring processes. I recommend researching the companies and positions you plan on applying for, and find out exactly what the hiring process entails.

Its possible your going way overboard with trying to study an entire book with a company when they just screen using the FizzBuzz challenge. Your goal is to get hired at a big company, not memorize the CTCI book like the back of your hand.

  1. You lack time to study the book due to life

There is a set amount of time during the day, how you spend it up to you. Somethings are hard to change, like your commute, how long you need to work, how much sleep you need to function, etc etc. What you have left should be used based upon your personal goals. If spending time with family, friends, enjoying yourself is lower than getting a job, then yea drop it, but lets be real, work is there so you can enjoy life, don’t stop enjoying life just to get a better job.

  1. It takes you a while to study the book, and it causes you stress.

I personally would be high concerned if you flew through the CTCI book very quickly. Learning to program is hard, learning takes time and effort. The fact it takes you a while is to be expected. The concepts the book goes over aren’t easy, the challenges aren’t easy to understand or go about, that’s why the book exists, and that’s why interviews use them.

  1. You feel guilty when not spending your free time studying this book.

This is part of impostor syndrome where the idea “you need to learn” goes with the idea you “have to learn to be a legit programmer”. Learn when you can, if you can’t then don’t. Not all learning is equal, you can spend 20 hours learning less effectively than spending 20 minutes of deep focus.

If not learning causes you stress because you feel like “missing out”, just remember it isn’t a requirement to go read this book, learn all this stuff. Do it when you can, when you want, and when you feel like it.

Good luck :smile:

2 Likes

@bradtaniguchi thanks a lot for your kind suggestions :slight_smile: