← All posts

Getting Back Into the Industry

I’ve taken the last year off, but I’m eager to jump back into my career. However, after spending some time applying for various positions, I’ve realized that I need to change my approach.

The purpose of this blog is to share my notes transparently as I work to ready myself for interviews, including the challenges and successes along the way.

Overview

To feel adequately prepared for technical interviews, there are several areas where I need to raise my comfort level in order to present myself as a good candidate. Companies can test you in various ways, and it’s incredibly easy to stumble along the way and not give an accurate representation of your skill set.

The areas I’ll be focusing on are:

  • Choosing and learning a programming language for interviews
  • Data structures & algorithms
  • System design
  • AI tools
  • Personal projects

Programming Language

For the most recent 6 years of my career (2020-2025), the vast majority of my work was at companies that used Elixir as their primary programming language. However, that language is still a bit too under-represented in the marketplace for me to feel like I can use it in interviews. Using something with wider adoption seems like a wiser course of action.

Python stands out as the best option for me going forward, not based on the merits of the language itself or its community support, or a personal affinity for the ergonomics of working with it, but simply due to its widespread adoption and its synergy with DSA platforms like LeetCode (eg. LeetCode).

I’ve used Python on occasion in the past, but I wouldn’t feel comfortable going into an interview and using it right now. Therefore, I need to devote some time to learning it and growing my familiarity.

Data Structures & Algorithms

Since the early stages of my career, I’ve thought that DSA was a flawed way to evaluate engineering talent. I’ve never had a situation in a workplace where a two-pointer algorithm or linked list data structure was required. In my experience, they’re as likely to produce false positives and false negatives as they are to identify strong engineers.

Despite my personal opinion, it’s apparent that many companies still include these in their interview format, and it’s important to devote a large amount of time to preparing for them. I’ve spent time learning most of the common practices in this subject area in the past, but since they are not often used outside of interview scenarios, these skills fade fast and need to be refreshed.

System Design

I’ve had the opportunity to be on the other side of the interview many times in the past, and system design challenges are the ones that I’ve always felt give me the best information to evaluate potential candidates. Their ability to outline the responsibilities of various services, explain how those services work together, and define data models and API contracts is a very good indicator of their experience level and proficiency.

I feel a higher degree of comfort on this topic, but there’s still room to grow. I know there are certain scaling issues that I need to improve on, as well as technologies that I’ve not yet worked with which may be relevant in certain system design challenges. I’m adding it to the list of topics to make time for.

AI Tools

As I’ve been out of the industry for over a year, the biggest barrier to re-entry is keeping up with the tools that are used in the workplace these days. Speaking with many colleagues regularly, I get a sense of the new tools that they are incorporating into their workflows. The landscape of AI tools seems to be changing rapidly, and I need to ensure that I’m properly investigating new innovations as they arrive and am able to speak to how I can use them in upcoming interviews.

While I was writing this post, a friend and former co-worker brought Orca to my attention. This is just one example of the rapidly shifting landscape of AI software, which is quite challenging to stay current with while preparing for interviews. I’ve since added it to my list of tools to familiarize myself with.

Personal Projects

Given that I’m currently in the middle of a gap on my resume, a question that is bound to come up is what I’ve been working on in the meantime. I need to develop some projects that I can speak about.

These also present an opportunity for me to deepen my knowledge of programming languages I’m less familiar with, AI tools, and system design practices, and to refresh my knowledge of networking and cloud infrastructure.

Strategy

To get started, I decided to use Claude to give me some pointers on creating a static blog with minimal overhead, as well as to mock up a minimalistic layout for the site. The result was a suggestion to use Astro, which will deploy to Cloudflare Static Assets whenever I push changes to GitHub.

I also decided that I needed to motivate myself by setting up a schedule. I provided all of the details described above to Claude and asked it to come up with a weekly schedule that blends these topics into different time blocks throughout each day of the week. After spending some time tweaking the output with feedback and my prioritization preferences, I was satisfied with the results and asked Claude to generate an .ics file that I could import into my Google Calendar.

What’s Next

I’ll be posting updates here as I work through each of these areas. If you want to reach out for any reason, the best way to do so is by sending me a direct message on LinkedIn.