Uploaded by cefodix312

medium.com-The interviewing process for a software engineer and tips for getting a new job while in lockdown

advertisement
The interviewing process for a software engineer and tips
for getting a new job while in lockdown
medium.com/@luke_duncan/the-interviewing-process-for-a-software-engineer-and-tips-for-getting-a-new-jobwhile-in-lockdown-ad01dc9fb079
March 31,
2020
After being laid off 52 days ago, I’m happy to announce that today I’m starting with
CoderPad (https://www.coderpad.io) as a Developer Advocate (working in a mixture of
marketing, product and dev). I’m super excited to work with some really smart people and
look forward to learning a bunch/working my butt off. Plus I get to help candidates and
companies in the technical interviewing space :). Funnily enough, one of the companies I
was interviewing with was using CoderPad so it was cool to look at it from the candidate
side.
Being that we are in crazy times, I thought it’d be beneficial to talk a little bit about searching
and finding a job (specifically software development/tech) in today’s market. I learnt a bunch
over the last 5 weeks and want to give some tips to anyone out there hunting for a new
1/6
position.
Before I get into the tips, here is some data surrounding my
job hunt:
Amount of applications: 53
Applications responded by company to get first interview: 18
Applications rejected: 12
Recruiters worked with: 7
Live coding interviews: 5
Code Projects worked on: 3
Amount of whiteboard interviews: 4
Got to final interview but did not get offer: 2
Job Offers: 3
I don’t want to give away the exact companies that I was
interviewing with, but I can tell you in an abstract way One of the MAJOR banks
A place you’ve probably shopped online before
Construction software company
Oil & gas data company
Major oil/gas company (not a super major but big)
Legal software company
Electricity power company
A cyber security company
Technology agencies
Marketing Firm
Positions applied for:
Software Engineer, Senior Software Engineer, Software Developer, Front-End Developer, UI
Developer, Product Manager, Project Manager, Developer Advocate, Implementation
Engineer, Web Developer
Some of the live coding challenges:
Fizz Buzz (I don’t know why a company would use this anymore ha)
Write a for loop that goes over the array in reverse order and create an array of arrays
grouping the numbers that are the same e.g. [[1,1], [5,5,5], [2,2], [21, 21]]
Figure out if input is palindrome (numbers and strings)
2/6
Create a function to determine if a number is a power of two
Turn this CSV string into an array of Objects with the same keys and associated values
Some of the white-boarding questions:
From two arrays, find the numbers that AREN’T in either array
What efficiency is this algorithm? Explain how you would improve it or make it better
(Big O Notation)
Given this method, how would you make it better?
Build an abstraction of a shopping cart
Show us how you would build out a car utilizing Object Orientated design
Describe one of your most recent projects you worked on
Build out a relational database for a vet showing appointments and anything else you
might find applicable
The take home projects:
Build out a simple CRUD API in NodeJS
Build out UI components that use an external API to digest data and show in graph
In this codebase, make changes to a method so that it caters to what they were looking
for
Ok so now we have all that stuff out the way, here are some of the things I learned and
hopefully some tips you can take with you or pass a long to someone you know who’s in the
interview process:
Use Glassdoor
It’s a good way of finding out what salaries you would be looking at for a role, and if
someone has gone through the interview process before, you can perhaps even get a good
grasp of what technical questions they might ask. I did this for the major bank that I
interviewed with. And I got asked a question that I had prepared for. Part of me says this is
wrong, you know moral high ground. But then part of me thinks what’s wrong with being
prepared with all the information out there?
LinkedIn is pretty cool when you actually need it
Some people give LinkedIn a bad rap. I’ve never been one to use LinkedIn actively while I’ve
been working at other jobs. But having used it pretty extensively during this job search —
there are a few things that make it great. First off, their job search functionality is amazing
for searching by location and position. Second, the quick application feature makes it super
easy to apply to a bunch of jobs. Most of those jobs don’t require a cover letter, and maybe
3/6
an answer to a question or two — so it’s super easy to apply to 30 jobs in an hour if you
really wanted. And lastly, the amount of traffic your profile can get is pretty insane. I had at
least 3 to 4 recruiters per week contacting me about open opportunities they thought I’d be
a fit for. Not all are, but it’s still a great thing to see.
Recruiters are awesome!
I had never worked with a recruiter before this because I had never had to. In the past, I’ve
been hit up by hundreds (not joking) of recruiters asking if I was looking for a new role or
saying that I’d be the perfect candidate for X role. I always just responded “no thanks”.
But I think the biggest help on my job search was using recruiters. They allow you to skip the
line of the interview process at companies because you’ve already been “vetted”. And they
are there to help you. Ultimately, if you get hired, they make money so it’s in their best
interest to set you up for success. Being it’s their full-time job, they have a good grasp of the
market, what positions you would be good for and help prep you for interviews. All this
being said, I actually didn’t use a recruiter to get my role at CoderPad, but the other offers I
had were because of recruiters.
You need to practice leet code and technical interviews
No matter what you do, technical interviews are always going to be nerve wracking. So
prepare! Take a bunch of Leet Code — most companies ask easy to medium questions that
I’ve experienced. And most likely, if you practice enough, you’ll be asked problems you’ve
solved before. I think if you are applying at the FANG companies and high up engineering
positions (director of engineering), that’s when the “hard” questions start being asked.
Also get familiar with some of the technical interview IDE’s. You’ll be taking live coding
interviews a bunch. Try one like CoderPad ;) https://www.coderpad.io
I often find that leet code questions bear no similarities to the things you’ll be working on in
your actual job. My mind thinks differently when trying to solve Leet Code questions versus
the usual tasks I have as a software engineer. Preparing and practicing these questions
makes the switch into thinking about these questions easier in my brain.
Think of creative ways to stand out
You are competing with hundreds of people for a job. Think of ways you can stand out in
the job application. One way is to use Recruiters like I said before to skip the line, but what I
found really successful was creating a page on my website specifically for a company and
hiring manager.
4/6
I can show you one I made for CoderPad: https://www.lukeduncan.me/coderpad — I haven’t
asked if this helped but I can only imagine it doesn’t hurt. It shows you put time and effort
into your application and it’s a good way of getting your foot in the door. I have had major
success with this in the past as well. It turns you into a person rather than an application in
my opinion.
I’ve now worked at two places where I used this method to get in the door for the first
interview. Trust me it works.
Get the buzzwords into your resume, and what you did with
those buzzwords at prior jobs
Recruiters and companies are looking for specific languages, but they are also looking for
the type of things you’ve worked on in your prior experience. Be specific on what languages
you used and what you accomplished with them. Here is one of the lines I have on my
resume as an example:
“Built custom solutions and features for Ticketbud’s enterprise level clients that led to new
revenue channels and retention of clients using technologies such as Ruby on Rails and
Javascript”
Recruiters are looking for these buzzwords all over and it will get you a lot more
opportunities by including them in your resume.
Get feedback from final interviews
I reached a few final interviews during this process and didn’t get an offer. It can be a real hit
to the gut especially when you are just one round way from being hired. But to move
forward and learn, I ended up asking for feedback about why I wasn’t selected or what they
liked and what they didn’t like. Ultimately I ended up using the feedback from a few final
interviews and took it into my other opportunities. It helps you grow as a developer, thinker
and candidate!
A big problem that I had/have, I think of a solution in my head to a problem which fine. But
when I start to describe my solution, other things that I maybe missed out in my solution
start to pop in my head and I start to include them into my solution. So I start to add
random bits into my answer and everything becomes less clear. I got this feedback from one
of the first interviews I was rejected from and used it to catch myself when I was doing this
at later interviews.
Hit me up!
5/6
And that’s that. If you have any questions about my interviews, have any other tips you’d like
to share (I’ll add them to this article) or are interested using CoderPad in your interview
process (perfect for hiring Remote in todays climate) — I’d love to talk! Email me at
luke@coderpad.io
6/6
Download