Finding a New Job after Overstaying Your First Tech Job

Ten years ago, I graduated from college and landed my first job as a software development intern at a late-stage startup. Little did I know, I would stay for close to eight years and become an engineering director. However, it was time for me to leave my little pond and explore what else is out there. Interviewing as a seasoned engineer presented its own set of problems, in which I found myself in an awkward position where I was not qualified for jobs in demand. Here is what happened to me and some advice on how I overcame these difficulties.

The Tech Industry Changes

When I first started my career, desktop applications were still in demand, but a shift in the industry happened as mobile apps boomed. More companies are trying to create an Android or iOS app than a Windows or Mac app now. The tech industry is currently transitioning into the cloud as blockchain, and the Internet of Things are emerging areas.

Everything is moving in the cloud now.

The problem I faced was recruiters did not have many jobs that matched well with my desktop application background. I remember having conversations with recruiters asking if I knew backend and not being able to help when I told them that I did not. Some recruiters were even confused about what desktop applications were.

Getting out of this jam required investing time in learning new tech stacks. I spent several months learning how blockchain works, how to create iOS apps, interface with SQL database, and write apps in golang. There are free and paid coding courses online, such as:

  • Udemy
  • Khan Academy
  • freecodecamp.org

Interview Perils: White Boards and Algorithms

Previously, I wrote this article on my views about the hiring process in tech companies, and I believe it remains a problem. You can read more about it in the article below.

There isn’t an easy way around whiteboard and algorithm interviews. The best resource is the “Cracking the Coding Interview” book, which everyone in silicon valley knows. I also found https://github.com/TSiege/Tech-Interview-Cheat-Sheet to be an excellent free resource. The next step is finding someone to practice the sample problems. I discovered that there are meetup groups that help people prepare and went weekly to practice. Some advice is:

  • Learn the strategy about how to solve the problems
  • An inefficient working solution is better than a half-baked optimized solution
  • Use the interviewer to get clues and bounce ideas off

Interview Perils: One Trick Pony?

A unique problem that came up for me is the question, “Why did you stay at X company for so long?” There is a split in how people view someone who has stayed a long time in one specific company. One viewpoint is a person who worked in one company only knows how to work in one company versus a person who has worked in many different work environments, projects, work cultures, development processes, and people. The other viewpoint is the person has the potential to grow into new roles within a company and contribute to the company’s growth.

Through my experience, it’s pretty much a coin flip on how the person feels. Overcoming this bump is mainly convincing the interviewer that you can adapt to new work environments and contribute to the company by showcasing all the projects and accomplishments that you have done.

Stuck in Limbo

More well-established companies are looking for experienced hands-off managers who people and project management. In contrast, startups are looking for hands-on managers who code and people management. I didn’t have enough experience to be a hands-off manager, but I spent the last couple of years in a pure manager role and let my coding skills rust as I focused on management skills.

Without giving up on management, I spent a couple of months applying to software management positions without any good leads because there were more experienced and qualified managers applying for the same job. A recruiter advised that I should try to find a company willing to give me a chance as a senior software engineer to start coding again to learn new technology stacks. Going down this route would be easier to transition into a management position from within the company because an internal hire would already know the technology and company culture. I decided that was the correct path I should take to adapt to my current situation.

The Present

Over one year has passed since I started my new job that has a distributed system product. The tech stack is entirely different than my previous company. Looking back, I have learned golang, database, designing REST API, microservices architecture, blockchain, distributed systems architecture, and docker. I enjoy working with the new tech stack and being able to architect solutions. To get to this job, it took several months to learn new technology and practicing interview skills. It’s never too late to start over and build up again.

Summary:

  • Technology changes over time. Free and paid online resources are available to help keep up with new tech stacks.
  • Put in the time to study how to whiteboard algorithm problems.
  • Interviewing is a skill that takes practice, and you’ll improve each time.
  • Managers: Don’t stop coding.
  • Don’t be stuck in limbo. Make sure you have the necessary experience and skills for your new position before leaving your current job.
  • Don’t be afraid to start over again.