Beyond MAANG

Putting Aside LeetCode and Getting Your First Software Engineer Role

If you've been searching for a software engineer role anytime in the last decade, then LeetCode likely needs no introduction. For those new to the field, LeetCode is a platform used widely by tech companies in technical interviews to test candidates' abilities to solve data structures and algorithm (DSA) problems.

LeetCode questions fall into three categories: easy, medium, and hard. While some questions target domain-specific languages like SQL, the majority are language-agnostic. The platform supports several modern programming languages, including Java, C, C++, Python, JavaScript, C#, and more.

If you've experienced a technical interview at a very large tech company—such as the infamous MAANG companies (Meta, Apple, Amazon, Netflix Google), or the likes of Microsoft, ByteDance, Oracle, or NVIDIA—you've likely encountered the challenging DSA problems these companies are known for. Regardless of the difficulty, this process is unenjoyable and, more importantly, does little to demonstrate your actual capabilities as a problem-solver. Unfortunately, the culture surrounding these specific types of technical interviews has led some junior developers to believe that a professional role as a software engineer involves spending hours each day solving LeetCode-like DSA problems.

However, my experience interviewing with various companies suggests otherwise. I estimate that 9 out of 10 of them never asked me a single DSA question. In fact, more than half didn't even request me to write or show any code.

This brings me to two main points:

  1. You don’t need to apply to MAANG-like companies for your first software engineer role. There are many opportunities outside these companies where you can grow and succeed.

  2. When looking for a junior software engineer role outside MAANG, don’t emphasize studying DSA problems for interviews. Focus on developing practical skills and understanding real-world problem-solving, as many companies prioritize these abilities over theoretical algorithmic knowledge.

You Don’t Need to Apply to MAANG-like Companies for Your First Software Engineer Role

MAANG and similar companies represent only a small fraction of employers hiring software engineers worldwide. Instead of focusing solely on these high-profile companies, consider exploring opportunities in diverse industries such as banking, insurance, healthcare, retail, educational technology, government and public service, and manufacturing. There are tons of great software engineer jobs in other industries where you get to work on software that has a positive impact on society.

My first paid software engineering role involved developing desktop and mobile applications for scientific research as part of a small team at a university. During the technical interviews for that position, I was never asked to solve a Data Structures and Algorithms (DSA) problem. Although the software dealt with complex challenges like efficiently using resources on iOS and quickly calculating data measurements, the primary focus was on building a usable product for our clients. The organization's main concern was our team's ability to deliver functional software, not algorithm optimization.

In my current role, I develop enterprise software for several electronics manufacturing firms. This position has allowed me to lead the adoption of Scrum in my organization, work as a Scrum Master, redesign our core application’s architecture for improved stability and workflow, and mentor others on topics ranging from effective Scrum usage to building better Blazor applications.

These experiences go to show that you can work on interesting projects and grow as a software engineer outside MAANG. Competition for MAANG positions is fierce, acceptance rates are low, and the workload is often stressful. While it's completely valid to aspire to work at a MAANG company, applying to non-MAANG organizations can provide you with more opportunities and industries where your growth can rapidly outpace the competition.

When Looking for a Junior Software Engineer Role, Don’t Emphasize Studying DSA Problems for Interviews

Many non-tech companies and smaller tech firms prioritize a candidate's ability to develop software that aligns with their business needs over DSA-style technical interviews.

In a previous role at a medium-sized regional bank, the technical interview focused on discussing my past software development experiences. The hiring manager asked questions like:

  • What challenges have you faced in developing your last web application, and what would you do differently, given a second chance?

  • Describe a feature you developed for an application and how you approached the design process.

The goal was to assess my ability to develop software effectively and understand my web development knowledge. They were not concerned with optimizing their enterprise CRM using LeetCode DSA knowledge. The application I worked on served about 1,500 daily users, not millions. It was acceptable, and frequently encouraged, to prioritize simplicity, readability, and maintainability over complex optimizations. Time was better spent developing features that users wanted and needed.

DSA is still a foundational part of software engineering and you’re likely to encounter some real DSA problems on the job. However, the entirety of software engineering does not revolve around this concept. Take the time to learn the DSA concepts as they come up in your work, but don’t spend all your efforts on memorizing large sets of algorithms and problem solutions because most of the industry isn’t going to be interested interviewing you on these topics.

Wrapping up

Look for jobs outside MAANG. There’s a whole dimension of this industry that is left unexplored by junior engineers who spend much of the beginning of their career chasing after the big tech company roles. Getting a role in MAANG is awesome. Keep putting in the applications and don’t give up. But, take a look around the industry and see what else might be the right fit for you, too.

Data structures and algorithms are important, foundational concepts in software engineer, and computer science as a whole. The theory and practice in this area is critical to optimizing software solutions. However, most companies simply don’t require these optimizations to meet their business needs. Most companies are much more interested in candidates who can develop functional software for a relatively small user base. Keep jamming on LeetCode once in a while to prep for those big-tech interviews. Learn more data structure and algorithms as you grow as a software engineer, but don’t let them be a substitute for developing functional, maintainable, and high-quality software.

If you or anyone you know wants to share their experience applying for jobs in the current job market, inside or outside software engineering, we encourage you to respond in an email to this newsletter! You may be featured in our next article.

Thank you for reading and we will see you in our next article as we continue our voyage.

Code on,
Matt, Editor and Software Engineer

Reply

or to participate.