When I was in my last year at university, a job opportunity presented itself for General Electric’s IT leadership program. My first thought was: “I’m definitely not qualified for this job - should I even try?” Even though I had my doubts, I gave it a try and sent in my application; I was absolutely shocked a few weeks later when they emailed me to set up an interview and eventually gave me an offer!
GE wasn’t the only company that gave me a chance to interview though I didn’t meet all the job requirements.
A few years into my career, I applied for a job to work at Disney Streaming, the Disney division working on Disney+. The thing is, I only had experience with the Polymer Web Component library and React.js. The team at Disney was using Angular–a framework I had barely worked in.
You don't have to have the exact skills
More often than not, a company will still give your application a chance even if you feel under-qualified for a job based on the description. So apply anyway. There are many reasons someone who doesn’t match the exact qualifications can still get hired: potential, attitude, past experiences, willingness to learn, and of course, presenting yourself well during the developer interview.
Another important point you should be aware of is that job listings are often written by HR, while the hiring manager might be more flexible on what they are looking for. HR has a limited understanding of tech roles, they often copy and paste their job descriptions and place far more importance on frameworks rather than core skills.
What should you do if you feel unqualified?
How do I present myself as a strong candidate when I’m “unqualified?” I focus purely on the things that I can control. Namely, writing a strong CV, preparing for behavioural questions, and showcasing the value my skills can bring to the company. It’s not always a guarantee but if you approach these steps with intention (especially preparation) you’ll put yourself in the best position possible given the circumstances.
It’s important to remember the worst thing that can happen is they say no, but you never know until you try! If you are feeling unqualified because you don't have a degree, here's a guide to how you can become a software engineer without a degree. And check out our career path guide for a more general framework.
How to write a software developer resume or CV
Writing a general developer CV
When I’m on the search for a new job, I typically start with a general CV in a clean, simple format. It has my updated job history, most impactful experiences, and contact information.
If you don’t know where to start, we’ve created a great guide you can follow when writing your software developer CV. The article breaks down the different sections one should include in a CV and what you can include in each. I recommend you include the skills you feel most confident about in your general resume, which can be modified and changed according to the role you’re applying for at a later date.
Soft skills for software engineers are very important, so highlight the leadership and communication skills you have in your CV. For work experience, use examples of projects that were most impactful and have data points to back them up. If needed, you can tailor these, but I find that 2-3 bullets per role should be enough here.
I try to think of my resume from the perspective of the recruiter. They are only looking at the CV for a brief time, how can I make it easy for them to see I’m worth taking the time to interview?
Below is an example of a resume I used in the past. I got this from Enhancv. It cost a small amount but since it was a CV that stood out, I think it was worth every penny. There are a number of free options out there so don’t go paying the first person selling you a resume. You can get free templates on Figma, these are created by the design community and are very good — you just have to know a tiny bit about design.
My advice is to keep it simple, keep it readable, and make it easy for recruiters to get a glimpse of who you are and what you’ve done so far in your career!
Tailoring your developer CV to the job
Research the company
If you follow the first step it makes it much easy to tailor your CV to each company. You just have to make a few minor edits. But before you start to tailor your CV, you first want to research the company. Some companies will be easy, some will be an effort.
Let’s take Netflix as an example. The company makes research super simple since they have a public culture document. I used this document when I applied and eventually got a job with the streaming company. When I was preparing for the interview, I read the culture document and saw that Netflix places a lot of importance on critical thinking and clear communication. They also support doing what is best for the company through freedom and responsibility.
Now that you are familiar with what the company and HR value, tailor your project examples to those values. This will make a huge difference especially if you don’t have all the specific skills required for the role. They will make special considerations for an applicant who is a great cultural fit.
Highlight relevant skills, experiences, and transferable skills
Now that you’re equipped with more knowledge of the company, along with the specific skills required for the role, it’s time to tailor your general CV based on your experiences to highlight those skills.
Here’s how I approached the CV I sent to Netflix (these are some of their values):
- Communication: I have tech talks under my belt, write tech articles, and led architecture discussions for big projects.
- Experience of “Picking up the Trash”: I highlighted my top projects where without teamwork, they wouldn’t have been completed–in other words, I put the team’s goals over my own.
- High Impact: Which projects could I give specific business value that came from their completion? For example, at Disney, I worked on an algorithm that boosted productivity (saved at least 20K hours per year) and helped launch Star+ internationally.
Examples like this helped me demonstrate my overall experiences that were transferable from the large projects I have worked on as a web developer. I was also able to highlight communication strengths from my leadership experiences, which helped make up for my lack of knowledge using certain tools.
The role I have now at Netflix is using React and is on the TVUI platform. I worked on the web (aka I never developed for TVs) and wrote code using Angular for two years at Disney, so highlighting my transferable skills to close my qualification gaps was very important.
How to behave in a developer job interview
Now that you’ve submitted an updated CV you’ve got to start preparing for the interview. There are typically three parts of the developer interview:
- Behavioural questions
- Data structure & algorithms or practical coding interview problems
- System design
Demonstrating your transferable soft skills, leadership, and culture fit happens in the behavioural sessions. Since we already researched the company, that will be helpful here too. Some companies for the data structure and algorithm section allow you to choose the programming language, and system design principles are typically relevant across our industry (caching, CDNs, etc).
1. Behavioural questions
There are a few strategies you can use when interviewing for a job you’re unqualified for.
Show enthusiasm and a positive attitude
Attitude, grit, and enthusiasm for a role can make up the difference between the skills required and the skills needed to perform well within a role. Managers know this since much of our skills are grown through experience and learned on the job; and, continually growing in our careers by learning new skills is par for the course.
This is why being positive and expressing excitement about the opportunity and the company goes a long way; and, when possible give examples of your fit for the company from your research on their culture.
Address qualifications you may lack
When there’s an elephant in the room, such as interviewing for a job you're unqualified for, acknowledging it, and providing specific examples to compensate for those deficiencies will be helpful for the hiring manager. They will have to trust that you will compensate and learn quickly, so spelling it out makes that easier to form that trust.
Show your value
Re-read the job description once more before the interview, and ask to learn more about its responsibilities. By doing so, you can point to specific examples and transferable skills that show you can get the job done. Additionally, by learning what some of the big company focus areas are, you can relay how your skills will help with your contributions to the larger company objectives.
This shows you’re prepared and understand how you can make a business impact, both of which hiring managers are looking for!
2. Data structure and algorithms
There are two aspects to the data structure and algorithm problems.
Since we don’t use every data structure at work, I started by refreshing myself on the various data structures used in interviews–things like sets, stacks, linked lists, or graphs. I also revisited the various sorting algorithms and made sure to truly understand how they worked and could write them.
I would first make sure to study and implement the structures in isolation, recalling their pros and cons, then I’d apply them to problems.
On Leetcode or GeeksforGeeks, you can find problems related to specific topics. If I’m working on making sure I understand hashtables or sets, then I’d find problems that required them.
Typically, I’d give myself around 20 minutes for a problem to try and solve it, if I can’t, I look up the answer and then revisit it at a later time. By doing so, I practiced applying and using the data structures to grasp on using them quickly.
When I begin job searching, I try to study for a bit each day–depending on my schedule–so that I’m not cramming for an interview the night before. By reviewing and learning some each day, you give yourself time to practice all aspects of interviews and get yourself ready to land the job.
3. System design
On the System design side of the interview, I recommend reading through the System Design Primer and following the strategy for answering these types of questions. It can be tough for us early in our careers to have experience building distributed systems, especially because we learn a new architecture for each project we’re on–this can take time. I found studying the concepts on that Github repo very helpful.
I studied these types of questions over time, first learning the concepts and creating flashcards to make sure they were second nature to me, followed by practicing designing large systems. I enjoyed refreshing some of these topics and learned some of my gaps in the process.
The key for me was reminding myself that there isn’t always a ‘right’ answer to these problems.
There are tradeoffs for decisions you make, and talking through those tradeoffs is what makes a big difference while interviewing. In an interview, you may get stuck - that’s where the interviewer can give a tip. It happens and it’s best to keep rolling with the punches and do your best. The way to give yourself the best chance is, of course by preparing for it.
It’s well-known job searching can be stressful, filled with rejection, and eat into your free time. When you feel that you’re unqualified for the job (albeit within reason), interviewing is a skill that can tip the scales, and communicating your transferable skills, your positive attitude, and your impact on the business will give you a fighting chance when interviewing for a job your not qualified for.
There are various stages of interviewing for a job, from applying and setting yourself up for success with your CV to preparing for all types of interview questions and showcasing your technical expertise. Through study and practice, you give yourself a fighting chance for success–I hope this article helps you along the way.
What’s a Rich Text element?
The rich text element allows you to create and format headings, paragraphs, blockquotes, images, and video all in one place instead of having to add and format them individually. Just double-click and easily create content.
Static and dynamic content editing
A rich text element can be used with static or dynamic content. For static content, just drop it into any page and begin editing. For dynamic content, add a rich text field to any collection and then connect a rich text element to that field in the settings panel. Voila!
How to customize formatting for each rich text
Headings, paragraphs, blockquotes, figures, images, and figure captions can all be styled after a class is added to the rich text element using the "When inside of" nested selector system.