Before you get started applying to jobs and contacting recruiters, you will want to maximize the chances of moving to the future stages of your interviews and to never be caught unprepared for questions regarding your competence as an engineer.
Many competent software engineers go unprepared for their interviews and end up not being moved forward in the process. A lot of people fail because they didn’t plan ahead. You land a job by being a great candidate not just great developer.
Continuing with part 2 of this master guide we are going to cover all of the preparation you need in order to be on top of your interviewing game.
- What companies are looking for in a candidate.
- What you need before interviewing. (you are here)
- How you can get tons of interviews.
- Behavioral questions.
- How to ace technical questions.
- White boarding.
- Algorithmic and programming skills for coding interviews.
- Handling rejections and evaluating the offers.
- How you can negotiate the best salary and benefits.
In This Article You Will Learn
- How to build up your experience even without a job in tech.
- How to craft your message and communicate value to the employer.
- Sign up to the best professional networks.
- How to stay organized when dealing with multiple opportunities.
Before you start applying, make sure you can communicate your experience clearly while conveying the value you can bring to the company, in part 1 we have explored how to communicate with the different people involved in the process, here we are going to focus on your actual qualifications.
Even without work experience, you can add academic experience to your resume. That’s what I did when I landed my first job, I described projects that I had built and challenges I faced and overcame during my time as a boot-camp student.
Another great addition to a resume if you don’t have work experience are contributions to open source projects. Here is an awesome list for beginners to find projects to contribute to.
If you have no experience and can’t find open source projects you want to participate in, then make a goal to start and finish 3 projects that reflect the kind of position you want to get. This is what I had when I first started applying, I created 2 full stack projects and one front-end project using public APIs.
Mobile developers can create 3 mobile apps, backend engineers can create APIs that take advantage of scraping. I’ll write a post about great projects to have later, but if you go with any kind of algorithm visualizer those can be a great “catch-all” projects to display your abilities.
Craft Your Message
It’s a good idea to have a quick one paragraph pitch of your experience as an engineer/developer. One of the first questions you get on phone interviews is always “tell me about your experience”.
In you elevator pitch include:
- A problem you faced.
- How you approached the solution.
- Technologies you are interested in.
- Collaborative environments you have worked in.
- How your code can save the business money.
If you already have work experience, make sure to mention how you worked in a team environment, what kind of product you worked on and what were your main responsibilities inside the team.
Here is my elevator pitch as an example:
“I have 3 years of experience as a full-stack engineer, during that time I’ve build multiple front and back end features mainly with React and Node.js in an Agile collaborative and fast-paced environment. I also had the chance to rework the architecture of our social media marketing application from scratch with the help of two other engineers, I build my code to reduce the cost of future changes, adding new features and facilitate maintainability of the app using TDD and MVC.”
Make sure you mention how your code reduces the cost of future changes, that is always important for every business. Brush up on S.O.L.I.D principles and understand the idea that in agile, we aim not to reduce the amount of changes, but to reduce the cost of changes as they are always inevitable.
If you can communicate that with confidence throughout the phone screen,the first stage of your interview will always end positively. I can say that from experience.
With your message crafted, it becomes easier to write your resume. I won’t be providing a template for your software engineer resume, but I want you to understand how you can prepare your resume to maximize your chances of getting noticed by certain companies and positions.
For example, if I were after a DevOps position, I would highlight my devOps experience more than my developer experience, but that doesn’t mean I’ll omit that experience, displaying variety and initiative on your resume is always a good sign for the employer, as they look for people that can learn fast and don’t mind going outside their comfort zone.
If you have multiple positions in mind, prepare multiple resumes.
If you don’t have any previous employment, add your academic experience, any clubs you may have participated in that are relevant to software engineering, bootcamps, projects, etc. You can create a section called “Academic Projects” and list your experience below it.
When writing your resume make sure to:
- Write a short summary about your experience at each place your have worked in, or at your academic institution.
- Use short and sweet bullet points about your experience, don’t write an essay about your experience.
- Highlight which technologies you have used at the head of your resume, I like adding a “Skills” section, and beneath it I’ll add: Expert, Proficient, Advanced and Intermediate. Then listing technologies for each skill level.
- Add a “recent projects” section to your resume, list 3 projects you have worked on and a quick description of how you solved problems.
I might create an article about resume writing later on and include some examples, but the points listed above cover the whole idea.
With your message crafted and resume created, it’s time to prepare to make some noise. Start signing up for professional networks and on the next part of this guide I’ll share with you how you can optimize your profiles for search. This is how I landed my first job, I optimized my LinkedIn profile for search and a founder from a small startup reached out to me within 2 weeks of having done so.
Here are the networks that I’ve had better experience with:
I have also created a Hired profile, but had no luck from that network, but give it a shot, you never know who might land on your profile!
Staying organized during your job hunt process can give you an incredible edge, if you can track every opportunity that comes across your search, you can start collecting data on which parts of the process you may need to improve on.
For example, If I keep getting a lot of phone interviews and I keep passing on to the tech challenge, but I don’t hear back from the companies after that, I may need to focus on studying more about algorithms and data-structures. On the other hand, if I struggle to get phone interviews, I need to improve how I’m appearing to other companies, maybe I need to improve my resume, my message or professional profiles.
When I got started with my interview process, I was really disorganized and ended up losing track of the opportunities I had applied for, I highly recommend setting up a trello or huntr board to keep track of: Jobs you have applied for, recruiters you are working with, companies that moved you to the 1st, second and last stages of the interview process.
If you are not actively applying, you can get away with not having a board setup, but trust me, once you are talking to 10 different companies, it becomes hard to track who you talked with, what do they do, what you liked about them and other information you gather during the process.
Another point for organization is that the interview process isn’t just about you being a fit for the company, it’s about the company being a fit for you.
As you apply for positions, keep track of what message people are giving you, are they looking for a coding monkey or are they looking for a professional engineer?
You can also prepare some questions for the company beforehand, here are some that I like to ask them:
- Is there time allocated for educating on the processes and workflows, as well as experimentations?
- How do developers share ideas and best practices?
- How are developers kept up-to-date with the business metrics?
- How often does the team hold retrospective meetings?
- Who is in charge of quality? (is there a QA team)
- What are the biggest complaints from users?
- What is the monetization strategy?
- Who is the biggest competitor in the space?
- What is your daily development process like?
- (After on-site) People here seem happy with their work, why would you say that is?
It’s important to ask questions that relate to:
- The current state of their systems.
- The state of their industry.
- How well positioned are they.
- Are people being treated like humans or just part of a system.
Knowing how to communicate your value to companies and having that prepared can give you an edge over the other candidates, if you can make your resume and professional profiles congruent with your message, it’s very likely that you will get a lot of greenlights during the first stages of the interview process.
Staying organized, keeps your job hunting productive and allows you to keep track of how well you are doing or where you need to improve, as well as finding the best fit for your career.
Now, let’s move on to part 3, how to get tons of interviews!