This article has been written by Michelle Lai. With over 15 years of experience in tech, both as a developer and as someone helping developers land their dream roles, Michelle has been able to help and guide people into landing their first jobs as software engineers. Today, Michelle shares her experience in helping people identify their personal traits and how to best tailor their job search to their strengths or weaknesses.
As a former software engineer who pivoted into Career Services, I’ve supported over 2,000 software engineers in their job search (with roughly 25% of them being junior or early career). In my experience I’ve found that there are 4 archetypes of job-seeking software engineers, each with their own strengths and weaknesses. If you are a software engineer and looking for your first engineering role, your best first step may be to identify what kind of job seeker you actually are.
The Studier thinks the key to finding a job is to learn all the things! Every job posting references some number of unknown languages, technologies and frameworks. It might be possible to fool a company by casually referencing keywords, but that’s not The Studier’s style. The Studier wants to be able to speak with authority and have confidence to spare when they discuss coding and development.
The calendar of The Studier is filled to the brim with blocks of time devoted to studying different topics. Interview topics, technical topics, textbooks and types of algorithms dominate the day of The Studier. In their spare time, they undertake a side project in a brand new language or do a streak of practice on an interview-coding platform. It’s unlikely to find The Studier applying
The Studier theorizes that when they begin applying to jobs, their firm understanding of well-studied technical topics will be evident and companies will hire them immediately for their smarts. When and if The Studier begins applying, they don’t see traction and consider this a signal they don’t know the right technologies, or won’t be able to demonstrate their knowledge
Advantage: The Studier will easily pass technical coding screens and take-home challenges if they could only get the opportunity to try them! Their dedication to studying pays off in interviews that test their algorithmic understanding as well as their practical coding skills. Often the immersion in technical texts is a boost to technical communication and ability to think abstractly.
Disadvantage: Many Studiers unnecessarily delay or stop job applications because they do not feel ready, but no amount of studying will ever give them the feeling that their knowledge is adequate.
Opportunity: If this is you, first, take a breath. When organizations interview applicants with little-to-no-experience for apprentice or entry level roles, companies are less focused on a candidate’s existing technical knowledge and more focused on their potential to learn and soft skills like communication. Studiers need to set deadlines and time limits for themselves when it comes to learning new topics or reinforcing old ones. Creating accountability around the practical aspects of a job search, like the number of applications or making an effort to go to meetups each week, are ways The Studier can use their desire for preparation to further their job hunt and career as a whole.
The (Self) Critic
The (Self) Critic has a difficult time believing that getting a job as a Software Engineer is possible without the right credentials. It may have been possible (even easy!) at some time in the past, but now the market is saturated and the number of engineers competing for a limited number of jobs makes it incredibly challenging.
A characteristic behavior of The Critic is their focus on the early stages of the job search. They spend most of their time optimizing application materials and applying to jobs online. From The Critic’s perspective, their lack of professional experience and/or college degree makes it unlikely any company will hire them. They often rationalize the lack of progress in their job search as the unfortunate reality of missing credentials or experience. As far as The Critic is concerned, each week that passes without a reply from any applications is confirmation that they may need to get more experience first, or attain another credential.
I once worked with a bootcamp student who exemplified a Critic persona. She applied for a month and received no responses, then decided to study a university’s Computer Science extension program. Nine months later, when that was completed, she again tried to apply for roles and received little response. She then decided to apply for CS Master’s degree programs.
For The Critic, there is a belief that the effort of applications should map directly to the outcome of having interviewing opportunities. Unfortunately this isn’t the case. Some software engineers will apply to a single opportunity and get an offer. Other engineers will apply to hundreds of roles and never get an interview.
Advantage: The Critic sets a very high standard for their portfolio and has a system in place to consistently apply to positions. Having a finely tuned application workflow and materials maximize The Critic’s chances of getting a first conversation with a company.
Disadvantage: The Critic tends to let themselves get into their own head and believe an inadequacy is road blocking their job search. Their natural inclination to solve the problem with more certificates, degrees, and education could cause Self Critics to spin their own wheels on more and more training when an equal effort directed to trying alternative strategies like networking could yield a better result.
Opportunity: If you are a (self) critic, you are good enough, and every role that doesn’t end with an offer was not the right role for you, regardless of what you thought. This is OK. Instead of giving up and applying more effort to make future hiring easier, apply that effort to getting hired now. There will always be opportunities to expand your education in the future, but if you never actually touch the ground as a software engineer, you could end up spinning your wheels for longer than you have to.
For many engineers, going to events with the intention of networking is not an enjoyable way to spend the evening. However, for some engineers who may have pivoted industries (especially from business, support or relationship-focused roles), meeting strangers and starting an interesting conversation may come naturally and be an intuitive way to find job opportunities.
The Socializer seeks out conferences, meetups, tech talks, hackathons, and coffees with alumni. They are on a mission to meet potential mentors, and fill up their rolodex with offers for referrals. Many Socializers are pros at sweeping an event for business cards and take care to follow up that same night with quick notes to recap the conversation. In a single week, a Socializer might attend 5 meetups!
For The Socializer, the job search means networking until they find an engineer who is willing to make a referral, interview them, or even make them an offer! The Socializer has honed the art of sharing their story and sounds the expert when describing their most difficult technical challenges. For the most part, Socializers ask for referrals as a primary way of applying. They understand that referrals are more likely to result in an invitation to interview, and they may even get to skip steps in the interview process. Even though there may be rejection, they are bolstered by the community and support network they’ve built around themselves.
While Socializers have no problem getting referrals, or building a network, they sometimes downplay the importance of being able to demonstrate their technical knowledge and write code in front of others. Studying for hours and practicing algorithms on their own is painful and preferable to avoid.
Advantage: Socializers have an advantage in a field where networking, cooperation, and getting your name out there can yield real results and real job offers. Socializers will naturally build a big network of peers, and can also increase their own visibility by helping other people within their network find connections and roles that can help their peers’ careers
Disadvantage: The Socializer may not devote enough time to practicing their technical interviewing skills because it requires extended periods of quiet focus. Once The Socializer gets an invitation to interview, it usually goes well until they need to code or talk through a technical solution. The Socializer, like the Interviewer, may feel the disappointment from meeting great people and then not proceeding forward in the process.
Opportunity: The Socializer can direct their enthusiasm for community by creating study groups, practice whiteboarding sessions or peer learning opportunities. Interviewing is a social endeavor, and The Socializer can create realistic scenarios by engaging the people they meet to help explain or review technical concepts, and practice and get better at the technical aspects of the interview.
The Interviewer has no problems getting an interview. Somehow companies like what they see on paper and invite The Interviewer to have a chat, do a technical screen and come on in for an onsite! The Interviewer may not even have their application materials polished but finds they are overwhelmed with communications and calendar appointments. A day may have 2 phone calls with recruiters, followed by a 3 hour onsite with a startup and several emails to reply to about setting up the next step.
The Interviewer is focused on preparing for concrete conversations. They are researching specific companies in preparation for a phone call, and scripting/rehearsing their personal stories. The Interviewer is researching Glassdoor for specific technical questions or formats they should be prepared for and spends their weekends whiteboarding with friends or reviewing the 10 most popular sorting and searching algorithms.
For The Interviewer, the job search means replying to emails, taking phone calls and scheduling in-person appointments. It’s dizzying to meet so many people and have so many conversations. Sometimes it’s impossible to remember which preferences were shared with which company, or who The Interviewer promised to follow up with. The timing of when to share, what information to share and whom to share questions or information with is on The Interviewer’s mind.
The time and energy invested in a wide range of possible opportunities is tremendous for The Interviewer. As The Interviewer moves through the interview process, there is an emotional investment that naturally occurs because each interaction forces both people to imagine each other as future teammates. For each interview that does not result in an offer, it is typically far more significantly felt than getting rejected earlier in the process.
Advantage: The Interviewer has a significant advantage in being able to skip much of the drudgery of applications. Having too many communications to manage may seem overwhelming, but it’s actually the best problem to have as a job seeker. Speaking and emailing with humans in all stages of interviewing provides a wealth of feedback and learnings so that The Interviewer can quickly iterate and learn from their mistakes.
Disadvantage: Each interview that doesn’t end with an offer hits like a brick, and the emotional attachment the interviewer gives to each engagement can cause this to be a real drain. It is also difficult for The Interviewer to get feedback to improve. Was the issue a technical one, a personal difference, or did The Interviewer fail to demonstrate their collaboration and communication skills? Companies either don’t share any reasoning for not moving forward, or provide a reason that seems generic and unsolvable.
Opportunity: The Interviewer would benefit from capturing both the technical and non-technical questions asked in each interview. After doing a self-assessment on the answer they provided, it would be beneficial for The Interviewer to reach out to engineers who have experience interviewing to request practice in a mock setting or invite them to comment on the written answers. It is through getting feedback that The Interviewer will finally land an offer (or three!).
These are the four most common encountered in my experience as both a software engineer and an advisor to thousands of engineers in their job search. Don’t panic if you don’t quite fit into one of these buckets; there are many archetypes, but these are just the ones that, in my experience, have been the most common. For software engineers who are early in their career, I would say the most common archetypes are The Studier and The Critic. Keep in mind, an archetype isn’t a static classification. It’s not uncommon for archetypes to shift over time as the job seeker gets more comfortable in their capability or gains more experience. What I hope for most is that people can learn a little bit more about themselves, and use this guidance to get their first job in their new dream career.