a personal blog
6011 words
30 minutes
The Early Career SWE Masterlist

🤔 Who is this for ?#

This is a list of resources you can use to get your foot in the door in the North American big tech software industry. It’s a braindump of everything I wish I knew when I was starting out, and it’s meant to be a starting point for you to Google stuff, learn about alternative paths, and find your own way. Obviously, it’s impossible to list every single opportunity on the planet, so I’ve included some search terms you can use to find out more about each topic.

= programs that I’ve completed or applied to - feel free to ask me about those.

🚀 Insider tip:
If you are a student, sign up for the GitHub Student Developer Pack. It offers a ton of free or cheap perks like web domains, hosting services, canva, courses, etc.

People

Quick find#

See if any of these apply to you and jump to the relevant section directly:

Don’t want to be a SWE?#

Almost all of the content in this article is geared towards software engineering roles, so I first want to mention some alternative roles you could pursue that involve 0-100% coding and 0-100% other skills. Salaries, working hours, performance expectations, and career growth vary a lot between these roles, so make sure to do your research. Also, the interview process for these roles is probably very different from traditional SWE roles, so make sure to look up the specifics.

✨ Tech roles that are not SWE
  • Data Analysts / Data Scientists / Machine Learning Engineers use data to analyse past trends and/or predict future ones. Depending on the company, they could be responsible for anything from creating simple dashboards in Tableau to tuning advanced deep learning models in PyTorch.
  • Product Managers are responsible for the success of a product, which means they need to understand the market, the user, the business, and the technology. They spend their time meeting with each department to make sure the product is on track, and they are responsible for the product roadmap.
  • UX/UI Designers are responsible for the look and feel of a product. They spend their time creating wireframes, mockups, and prototypes, and they work closely with developers to make sure their designs can and will be implemented.
  • QA / SDET are responsible for making sure the product works as intended. They might spend their time writing automated tests, manually testing the product, and working with developers to fix bugs. They might also be involved with the release process, CI/CD, and security.
  • Technical Recruiters are responsible for finding and hiring the best talent for the company. They spend their time sourcing candidates, conducting interviews, and negotiating offers. They might also be involved with onboarding, retention, and diversity initiatives.
  • Solutions Engineers / Customer Success Managers / Consultants and similar-sounding titles are responsible for guiding customers (which are often businesses) through the product. They spend their time understanding the customer’s needs, explaining how to tune the product to meet those needs, and generally making sure the customer is using the product effectively. To that end, they need to become extremely knowledgeable about the specific product they are supporting.
  • Technical Writers / Developer Relations / Developer Advocates are responsible for creating and maintaining documentation, tutorials, and other resources for developers. This is a relatively new role that is not always clearly defined, but it could involve anything from writing blog posts or documentation to creating video tutorials to speaking at conferences.
  • Tech Support / IT are responsible for helping internal or external users with technical issues. They spend their time answering questions, troubleshooting problems, and escalating issues to the appropriate team. They might also be involved with setting up new hardware, software, or networks.
  • Startup Founders / VCs / CEOs are responsible for the success of the company. They spend their time setting the vision, hiring the team, raising money, and making sure the company is on track to meet its goals.

There are many other roles in tech, and the lines between them are often blurry. For example, a Solutions Engineer might also be responsible for some technical writing, or a Product Manager might also be responsible for some UX/UI design. If you’re not sure which role is right for you, you can start by looking up the specifics of each role, talking to people who are in those roles, and trying out some projects or internships in those roles.

Student

⌛ Student-specific opportunities#

Freshmen and sophomores#

There are many programs specifically designed for first and second year students to get their foot in the door at top tech companies. These are typically paid 12-week internships that put emphasis on mentorship and development by incorporating team rotations, workshops, and networking events.

🍼 Internships for freshmen/sophomores

Obviously these programs are highly competitive, so you should prepare by building a strong resume and practicing for the interview process. You can find the specifics about the interview processes online - 🔍 google step interview process.

🛒 Shopify Dev Degree
If you’re a 1st year or 2nd year (in CS or otherwise), you might still be eligible to apply for the Shopify Dev Degree. This is a fully-paid CS degree at select universities, in addition to multiple paid internship rotations at Shopify for the duration of the degree. This program is obviously very competitive, but it’s definitely worth a shot.

😟 What if I can’t get into any of the above?
You’re welcome to apply to internships that are not specifically targeting freshmen and sophomores. If you find that you weren’t able to secure an internship, you can still build your resume in other ways and try again next season.

Rising seniors#

The expectation in big tech is that you would intern the summer before you graduate, and towards the end of your internship the company would extend you an offer to return full-time next year without re-interviewing. Some companies offer off-cycle internships (e.g. fall or spring) that can also lead to full-time offers.

However you decide to structure your “path to return offer”, you probably want your last internship to be at the company you would like to work full-time at. Of course, you can always interview for full-time roles instead of relying on return offers, but keep in mind that interview processes for new grad roles are typically more difficult than for internship roles.

You should also be aware that timelines for interviewing for full-time roles can be as early as 12 months before the start date, and as late as 1 month before the start date. For example, Amazon recruits new grads almost a year out (e.g. interview in July 2022 for a start date in May 2023), but Electronic Arts recruits 2 months out. Look up the specific interview timelines for the companies you are interested in. Either way, it doesn’t hurt to just start applying early so you get more interview practice and possibly more offers to choose from.

Not a college student?#

If you are not in a 4-year degree, not a CS major, or not in school at all, there are still ways for you to become a software engineer. These programs are typically well-compensated, have a high conversion rate to full-time roles, and span anywhere from a few months to 2 years.

👴🏻 Apprenticeships for non-traditional candidates

Note that some of these programs might skip a year or be defunct, but new programs pop up all the time as well. If you were not able to secure a spot in an apprenticeship, you can still build your resume in other ways and try again the next season.

Bored

🗄️ No internship, no problem#

In an ideal world, every student would have the opportunity to do an internship/co-op during their degree, but in reality only a fraction of students do. Thankfully, there are many ways to build your resume and gain some experience without one. Some of the opportunities below can also act as pipelines to a full-time role.

Contribute to open source#

The best thing you can do for your resume as a student is probably contributing to open source projects. This shows recruiters and hiring managers that you can work on a team of experienced developers, write quality code that will be used worldwide, and understand the software development lifecycle.

However, open source can be very daunting for first-timers, so there are several programs that help ease you in and offer structured guidance. Below are some excellent programs that pay good stipends and provide a structured learning environment.

🚀 Insider tip:
Two things you must do if you want to drastically improve your chances at getting into these programs: 1) read the application guide for the program and follow it to the letter, and 2) reach out to the assigned mentors/maintainers before applying so you can build rapport.

Prepare for grad school#

If you’re thinking of applying to grad school at some point, the best thing you can do to strenghten your application is get some research or TA experience as an undergrad. Some ways to do this include:

  • NSERC USRA in Canada is a paid academic research internship for undergrads working under a professor
  • ✰ Mitacs is a similar program in Canada
  • ✰ Borealis AI Let’s Solve It pairs you with a Borealis AI ML Researcher to build a group project for social good
  • ✰ Google CSRMP places you in a pod paired with a Google researcher who can help you navigate things like how to apply for grad school, how to write a paper, etc

You can also seek out research assistantships or teaching assistantships by directly contacting professors, or checking university careers websites.

🪄 You can also try applying to AI/ML residencies

Many companies host apprenticeships or similar paid opportunities that can act as a segue into a full-time role, or give you a taste of ML research before committing to a grad program. Some examples are:

Note that some of these might be defunct or in hiatus, check the respective websites for the most up-to-date information.

🚀 Insider tip:
Being a grad student is essentially a job itself - you are hired to be a teaching assistant and a research assistant. The more research experience you showcase, the more competitive your application. And of course make sure to get quality letters of recommendations from previous professors.

Work with a team#

There are some programs that will place you in a team of students to build a project from scratch, which is a great way to learn about the software development lifecycle. Some examples are:

  • ✰ AI4Good Lab is a 7-week program geared towards women and underrepresented genders. You will learn in-depth AI concepts in a virtual or in-person classroom environment, and apply them by building an end-to-end AI project for social good
  • Develop for Good has you working on a group project for a non-profit
  • Blueprint has a chapter at many universities and builds software for non-profits
  • ✰ Hack the North and ✰ NWHacks are some of the largest hackathons in North America and a great way to quickly build a project with a team
  • ✰ TechNova is a women+ hackathon hosted by UWaterloo
  • …and more! 🔍 mlh hackathons 2024, hackathons for women, programs like develop for good, clubs like blueprint.

Check if your school has any software clubs you can join, or start your own Blueprint chapter! If you prefer to work on your own, or not have time constraints, you can build your own project alone or with friends.

Prep for interviews#

Some companies have established programs that teach students how to prepare for software interviews. These programs are typically free and offer mentorship, workshops, and resources to help you succeed in the interview process. Some of them are full-time and meant to be taken over the summer, while others are part-time and meant to be taken during the school year.

These might offer a slight advantage when applying for jobs at the company that hosted you, but the main appeal is to have a structured learning experience that focuses on technical and behavioural interview skills.

🏢 CodePath Emerging Engineers Summit
CodePath hosts a yearly virtual summit for anyone who has completed or is currently taking a CodePath course. This event had a reputation for yielding a lot of big tech offers, as students were matched with companies ahead of the event and would receive interviews during the summit. I couldn’t find any recent statistics on offer rates, but it might be worth looking into.

Get startup mentorship#

If you’re interested in entrepreneurship, there are many programs that can help you get your startup off the ground. These programs typically offer mentorship, resources, and sometimes even funding or an internship placement.

  • Thiel Fellowship offers $100,000 to drop out of school and work on your startup
  • Kleiner Perkins Fellowship places you in one of their portfolio companies for a summer internship
  • Contrary Fellowship offers a research fellowship as well as a venture partner program
  • Neo Scholars offers mentorship and resources to build your own startup, as well as fast-tracked interviews with their portfolio companies
  • YC Startup School is a free online class that teaches you how to start a startup
  • …and more! 🔍 startup programs for students, startup school, programs like kleiner perkins fellowship

Showcase leadership#

Some companies like to see that you’re involved in your community and that you can show initiative. Some opportunities to build and demonstrate leadership skills include:

  • CodePath Tech Fellowship is a paid part-time position where you act as a campus ambassador for CodePath courses
  • Canada Learning Code has a lot of volunteer opportunities for teaching coding to various demographics
  • Join a hackathon organizing committee to show that you can lead a team, manage a project, and work under pressure. Find local hackathons on the MLH website.
  • Join or start a school club such as a Blueprint chapter, WiCS, or the Computer Science club.

Project

🏗️ Building a great side project#

Whether you are building a project for a hackathon, on your own, with friends, or to beef up your resume, you might have been told you should “build something unique” - but what exactly does that mean? I personally had a hard time understanding what a unique project was, what an impressive project should include, and how to even begin to think about it.

✨ Here are some industry-standard features you can try to include
FeatureDescriptionPopular tool you can use
FrontendA user-friendly, responsive, and fast user interfaceNext.js
BackendThe meat and potatoes of your applicationSupabase
DatabaseFor storing and retrieving dataSupabase
AuthenticationTo let users log in, sign up, and access only specific parts of your applicationSupabase Auth
HostingTo deploy your application on the internetVercel
Payment processingTo charge users for your servicesStripe
Secrets managementTo store sensitive API keys and passwordsVercel
Object-Relational Mapping (ORM)To interact with your database without writing SQLPrisma
Serverless functionsTo run a script on your backend that can be triggered by events or schedulesVercel Serverless Functions
Third-party API integrationsTo offer extra functionalities like AI or geolocationOpenAI API, Google Maps API
Testing frameworksTo ensure your code always works as expected before deployingJest
Web analyticsTo track and analyze user behaviorVercel Analytics
CachingTo improve performance and reduce load on your databaseNext.js cache
CI/CDTo automate your deployments and testsGitHub Actions
Real-time featuresIf you want to offer chatbots or live streamingSocket.io
Multiple languages and regionsIf you want to automatically translate your websitei18next
Accessibility featuresIf you want to make your website more accessible to people with disabilitiesreact-aria

Obviously, you don’t have to use every single one of these features - maybe focus on the first 5, or pick a few that you want to try out and go from there. The most important thing is: you should be able to talk about the features you implemented in your interview and explain how they work.

Taking your project to the next level#

Regardless of what you choose to build, you should try to polish your project and make it look more impressive.

✨ Simple ways make your project look polished
  • GitHub
    • Have all your code and documentation in a public GitHub repository
    • Include a GIF that shows the project in action, at the very top of the README.
    • Have a well-written and structured README, similar to this
    • Organize your folder structure according to best practices
    • Have clean commit messages that follow best practices
    • Host your project on a custom domain and link it in the GitHub. This tutorial covers the process using Vercel and Namecheap.
  • Frontend
    • You can save a lot of time on frontend work by using a boilerplate templates like ixartz/Next-js-Boilerplate, or look up templates on GitHub for your framework of choice.
    • Make sure to use next/image library to optimize all the images in your website.
    • To include high quality graphs and visualizations, you can try Chart.js.
    • To keep an appealing frontend, make use of component libraries such as Chakra UI.
    • Alternatively, recruit a UI/UX or frontend-loving friend to help you with the frontend work - you each get to add to your portfolios!
    • Implement server-side rendering (SSR) or static site generation (SSG) using Next.js to improve performance and SEO.
    • If your project involves a cross-platform mobile app, you can try using Expo.
  • Backend
    • Implement rate limiting to prevent abuse of your API endpoints using Express Rate Limit.
    • Use environment variables to store sensitive information like API keys and passwords, for example using Vercel.
    • Implement input validation and sanitization using zod.
    • Use Supabase for authentication, database, and hosting services.
    • Use an ORM like Prisma to simplify database operations and avoid writing SQL.
    • Implement error handling and logging using Sentry.

Once again, you don’t have to use every single one of these features, but make sure you’re able to talk about them in an interview and show excitement for the features you implemented.

Interview

👔 Applying and interviewing#

Finding jobs to apply to#

As a rule of thumb, if you have no previous full-time experience you should be applying to everything that you meet half the requirements for. The reason for this is that getting your first job is a numbers game and there are simply not enough entry-level roles for the number of people applying to them. You should aim for 100-200 applications per season (e.g. summer). From those, you might interview with 10-20 companies if your resume is well-tailored, and receive offers from 0-5 of them depending on your interview performance.

The most important and underrated tip is to apply the first day a job opens. Do not wait 24 hours to update your resume, do not wait 3 days for your friend to maybe refer you, just apply. Take 5 minutes to check the following job boards every single day, and apply to roles as soon as they are listed:

😩 But applying takes so much time…
Download the free Simplify Chrome extension to autofill your job applications. Each application should take no more than a couple minutes.

🤨 Okay… what about cover letters?
I personally haven’t found success with cover letters, so it’s at your discretion. I wouldn’t recommend writing them because it’s a lot of mental energy and time per job application. If you do decide to write them, you can use AI assistance but make sure to edit it manually afterwards so it doesn’t sound like AI.

🤔 What about a portfolio website?
A portfolio’s main goal is to demonstrate your abilities. For this reason, it’s better to have one comprehensive project that showcases multiple well-executed features than several small, unrelated projects or assignments. Your resume and GitHub profile should already list your projects. Unless you’re in a creative field where you need to display exceptional web design skills, a separate portfolio website isn’t necessary.

Career fairs and networking events#

Below is a list of career fairs and networking events you can try to attend. Some of these you have to apply and be accepted to, most of these are free to attend, and some are geared towards women and underrepresented groups.

These events are a good opportunity to submit your resume to a centralized database, be put on an email list for certain companies, connect on LinkedIn with some recruiters, receive priority application links, attend private in-person networking events, and sometimes even interview on the spot with some of the companies. It’s also a great way to meet fellow students and early career professionals, which can lead to new friendships and maybe even referrals.

Hearing back

Hearing back from jobs#

Very loosely speaking, 2-10% of the roles you apply to might get back to you with an invitation to an OA or interview. If you find that you never receive interviews or you get consistently rejected immediately after applying, your resume is probably the bottleneck and you need to get it reviewed by someone (or multiple someones).

✨ Where to get resume reviews
  1. Attend Resume Review events. These events will sometimes have industry recruiters who can give you key feedback, and you get to connect with them as a bonus. Rewriting the Code is an example organization that hosts such events for women and underrepresented genders in tech.
  2. Ask your peers at your school’s CS club, women-in-tech groups like WiCS and RTC, or any other private groups.
  3. Post your anonymized resume on appropriate subreddits or Blind and ask for feedback. Make sure to remove your name and any combination of information that someone could use to find you on LinkedIn, for safety reasons.
  4. Use an ATS parser like Jobscan to make sure the keywords in your resume match the job description, and that your resume is formatted correctly.
  5. …and more! 🔍 resume review faang, software resume review.

You will find a number of resume review resources online, some of which are paid which I don’t think is necessary. Also, I’ve found that people who haven’t recently been involved in big tech recruiting don’t have the most relevant advice, including university career services and professors, so maybe take their advice with a grain of salt.

🚀 Insider tip:
Some people swear by LaTeX resumes, I personally use flowcv.io and have gotten dozens of interviews with it. Also, if you’re a student, the Education section should be at the very top, followed by Experience, and then anything else you want.

Passing interviews#

So you’ve landed an interview - congratulations! Here are the most important things to prepare at each interview stage:

  • 👩🏻‍💻 For OAs and technical rounds, complete the Blind 75 on Neetcode and watch his explanation videos. If you’ve already completed those, practice solving the most common LeetCode problems your company uses.
  • 🎥 For live coding interviews, practice explaining your thought process using mock interview platforms like Pramp, interviewing.io, or Headstarter.
  • 🫱🏻‍🫲🏻 For final and behavioural rounds, make sure to practice answering questions using the STAR format (Situation, Task, Action, Result) and learn the company’s values and culture. Also make sure to prepare thoughtful questions to ask your interviewers about the role and company - never say that you have no questions to ask.

Regardless of the outcome of the interviews, try to display good character and keep a good relationship with your recruiter and interviewers - who knows, maybe in the future another role will open up and they will reach out to you again!

🚀 Insider tip:
Gather as much information as possible about your specific interview process by searching Glassdoor, Reddit, and Blind. You should also directly ask your recruiter for more details on what to prepare and expect. Whatever you do, do not underestimate the behavioural round - sometimes a hiring manager will prefer to hire someone who is not technically perfect but shows strong potential and eagerness to learn over someone who is technically apt but seems difficult to work with.

Which company

What company should I work for?#

Some people have a dream company in mind, for example maybe it’s the company that makes the video game they grew up playing. Since they know exactly where they want to work, they can tailor their entire job search to a very specific role at that company, which is less overwhelming for some people and can yield better results.

Over the years, I’ve had many people tell me they have no idea how to even begin to pick a “dream company”, so below are some basic strategies for choosing your “goal company” based on what you value most. You can also combine these strategies in order of importance to you.

💰 If you care most about prestige, salary, and becoming as appealing as possible to recruiters later on
You’ve probably heard a lot about 🔍 FAANG, MANGA, FAANG+, Big N, unicorn startups, etc. These companies are highly sought-after and very competitive because they pay top-of-market, typically have great engineering culture (i.e. you will grow your skills a ton), and have high resume-value (i.e. it’s a lot easier to get interviews elsewhere after having worked at one of these companies). If this sounds most appealing to you, you can start by seeing if any of those companies spark your interest. Alternatively, if pay is your most important factor, you can find out which companies pay the most in your location on levels.fyi (filter by location, 0-1 years of experience, and sort by highest to lowest salary).

💖 If you care most about working on a product/mission close to your heart
If the most important thing to you is passion and impact, you can start by thinking about the products you use and like, and check out the careers page of the company that makes them. The upside to this is that you will be more motivated to work on something you like, and you will be able to speak more passionately about the product in interviews. You can look up 🔍 companies like BetterHelp, HelloFresh alternatives, non profits like Women Who Code.

🚵🏻 If you care most about having the time and flexibility to enjoy your life outside of work
Some companies are widely known to have really, really good work-life balance in the form of a lighter workload per engineer, flexible hours, fully remote work, unlimited PTO culture, fertility benefits, etc. This means you get to keep a lot of time and mental energy to focus on the things that are actually important to you, like family engagements, social life, hobbies, fitness, etc. One way of finding such companies is by comparing benefits on levels.fyi - you can also click on any benefit to see a list of companies that offer it. Note that just because a company advertises unlimited PTO doesn’t mean that the culture within the team supports taking time off, so make sure to do your research by looking up things like 🔍 Microsoft work life balance, unlimited PTO Okta reddit, Stripe culture blind.

📈 If you care most about making something of your own, filling a market need, and growing a company from 0 to 100
If you don’t already have an idea you want to work on, you can start by browsing the YCombinator Job Board or AngelList for startups that are hiring. If you’ve already been working on something or have an idea in mind, see this section for programs that can help you get your startup off the ground. 🔍 tech startup jobs Vancouver, startup accelerator canada.

Obviously there are many other factors that dictate where you want to work, this section is just a starting point if you’re really, really at a loss for where to start. The only advantage of having a specific target role and company is that you get to tailor your job search to that specific role, i.e. the way your resume works, the skills you use in your side projects, the people you network with, etc. which is a more focused approach that can lead to less burnout during the job search.

Sad

😟 Managing your mental health#

At the end of the day, none of this will matter if you end up falling into a deep depression or having daily panic attacks. Online circles in big tech have a way of exacerbating negative feelings, promoting doomer perspectives, and making you feel bad about yourself. Sometimes, even real-life interactions can result in you feeling like you’re not good enough, you’re an idiot, you don’t know what you’re talking about, etc.

That being said, here are some tips to keep in mind if you want to mitigate the negative effects on your mental health:

  • Make friends, join or start a club, create a study group, and generally build your tiny little community of real-life friends or peers who are on the same journey as you. Share job postings, do mock interviews together, and even discuss things unrelated to tech. This will help you feel less alone and more connected to the world around you.
  • Support others and celebrate their wins, whether it’s your best friend getting their first interview, or a stranger on LinkedIn getting an offer for your dream company. When you spread joy and positivity, you are not only helping your mental health directly, but you will also find that others want to help you and support you back. Your friends’ successes are your successes too - you not only get to be friends with someone really cool, but you might even get a referral from them later on.
  • Talk about your struggles while you are facing them. Maybe your friend is also insecure about something you thought they were very confident in, or maybe your classmate failed an interview twice before receiving their offer, or maybe someone you thought were a prodigy at something actually spends hours every day building that skill. Knowing these things while you are going through the same struggles goes a long way in helping you feel less alone and mitigating imposter syndrome.
  • Pay it forward and pull others up once you get to the top, instead of kicking the ladder. You never know when you might need help again in the future.
  • 🚫 Limit negative interactions by minimizing time spent talking to mean strangers on Reddit and Blind, taking LinkedIn posts with a grain of salt, and taking note of how certain people or communities make you feel. If you find that you consistently come out of an interaction feeling like a loser, maybe it’s time to distance yourself.

And then, of course, there’s the obvious ones: eat healthy, exercise, get enough sleep, take breaks, etc.

Thank you

🫂 Thank you for reading#

If you’ve made it this far, thank you for reading! I hope you took something away from this masterlist and found it somewhat helpful. If you have any questions or feedback, feel free to reach out on LinkedIn or via email.

Some personal stats if you’re curious:

How many roles did I apply to? How hard was the job search for me?

I’m only including this section because I’m often asked how I got a certain role, how many roles I applied to, and just generally how strenuous my process was. So, here are some stats from my own early career job hunt. For context, I was applying to a mix of data science, machine learning, and software engineering entry-level roles at big tech companies in the US and Canada.

On average, 90% of my applications were rejected or ignored (mostly ignored), and I failed about 90% of my interviews. I will say that I never fully dedicated myself to interview prep, and I was all over the place for a long time, so I do think a more focused, committed approach would have yielded a lot more offers. You live and you learn. 🤷🏻‍♀️

SeasonTotal applicationsResponse rateFailed interviewsOffersNotes
Summer 202213611%141First internship ever
Summer 2023577%31Got my offer within the first month of applying so I stopped applying much after that
Fall 20233727%100Burned out over the summer for many reasons and dropped out of 4 interview processes
Summer 202418110%163Very difficult interview season with a higher bar for hiring, 2 internship + 1 full-time return offer
There were also a lot of memorable negative moments ...

Off the top of my head, some events that hurt my feelings, ego, or confidence at the time:

  • Rejected for a free data science training program twice despite being the target demographic
  • Rejected for a part-time position that I really wantedat a school lab
  • Did not get team-matched for MLH Fellowship despite passing all the interviews
  • Declined to join a startup project launched by someone I look up to because I was unfamiliar with the tech stack and afraid of not being up to par
  • Passed over for a role I really wanted despite getting good feedback in all interview rounds because the recruiter disappeared for 2 weeks with no warning and someone else got to finish their interviews before me
  • Was discouraged by an authority figure from applying to something that they deemed too much work on top of my other commitments
  • Failed spectacularly in some interviews and in a really humiliating way, including one I was referred to and one that was my ideal role at my ideal company (yes I cried)
  • Completely lost confidence in my data science skills after doing really badly on two successive OAs
  • Spent almost a full year being the most depressed I’ve ever been, due to a mix of severe imposter syndrome in grad school, multiple personal issues out of my control, never-ending interview rejections, and loneliness from moving to the other side of the country alone
  • Burned out from doing too many things at the same time, had a panic attack right before an interview, and dropped out of 4 interview processes
  • Accepted to my top choice grad school after I had already made arrangements to attend another school
  • Finished my first term of grad school with a 2.97 GPA and almost lost my funding, and started my research late and was told I would likely not be able to graduate before my new job starts.
  • Did not get a lot out of most programs I participated in because I did not put in enough effort or was not in the right headspace
  • …and probably a lot more that I’ve forgotten, and some that I won’t share here !

In retrospect, even if it sounds really cliché and it might be hard to see in the moment (and some will call this “copium”), rejection is redirection. I can think of at least one good outcome that resulted from or despite each of the above bullet points, and things turned out pretty okay in the end.

The Early Career SWE Masterlist
https://www.nadia.fyi/posts/early-career/
Author
Nadia
Published at
2024-05-21