We talk about how to get a job as a software developer. We talk about the likelihood you'll get an offer. We also walk through common technical interview concepts that come up for at home exercises and in person interviews. We go through a typical algorithm challenge exercise and there's a few other tips thrown in.
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
How to land a job as a software developer
1. How to land a job as a software developer @cavezza
How to land a job as a
software developer
By Bob Cavezza
2. How to land a job as a software developer @cavezza
Bob Cavezza
•Senior Full Stack Developer At Liberty Mutual
•In the last 5 years
○ Interviewed between 50 and 100 engineers
○ Interviewed at 10-20 companies
•rcavezza@gmail.com
•@cavezza
•in/cavezza
•robert.cavezza@libertymutual.com
3. How to land a job as a software developer @cavezza
What is your goal in an interview?
4. How to land a job as a software developer @cavezza
1. Can you do the technical work?
2. Would people want to work with you?
According to interviewers,
your goal is to answer 2 questions
5. How to land a job as a software developer @cavezza
That’s pretty much it.
6. How to land a job as a software developer @cavezza
Understanding the funnel
100%
65%
52%
10%
Source: visier.com
7. How to land a job as a software developer @cavezza
Understanding the funnel
20
13
10
2
Source: visier.com
8. How to land a job as a software developer @cavezza
It’s not easy to land a job as a
software developer
20
13
10
2
9. How to land a job as a software developer @cavezza
Before applying
10. How to land a job as a software developer @cavezza
Find an ally
11. How to land a job as a software developer @cavezza
Why find an ally?
1. Friend > Friend of a friend > Person you met once > Stranger
2. $$$$
3. Inside information
12. How to land a job as a software developer @cavezza
How to find an ally
13. How to land a job as a software developer @cavezza
Prepare for the phone screens
14. How to land a job as a software developer @cavezza
Two important
ways to prepare
for a technical
interview
1. Learn the format of the
interview
2. Get reacquainted with
algorithms and data structures
15. How to land a job as a software developer @cavezza
Learn about the interview
16. How to land a job as a software developer @cavezza
Algorithms and data structures
TeachYourselfCS.com
17. How to land a job as a software developer @cavezza
At home exercises and challenges
18. How to land a job as a software developer @cavezza
19. How to land a job as a software developer @cavezza
Coderpad
20. How to land a job as a software developer @cavezza
21. How to land a job as a software developer @cavezza
HackerRank
22. How to land a job as a software developer @cavezza
HackerRank
23. How to land a job as a software developer @cavezza
Take home exercise
Usually very involved
Company will usually give you an arbitrary time limit
I don’t think most candidates adhere to the time limit
Take home exercises
24. How to land a job as a software developer @cavezza
Take home exercises
25. How to land a job as a software developer @cavezza
In person interview
26. How to land a job as a software developer @cavezza
Casual conversation
27. How to land a job as a software developer @cavezza
Pair programming
28. How to land a job as a software developer @cavezza
Whiteboarding
29. How to land a job as a software developer @cavezza
Whiteboarding - types of exercises you’ll see
● Algorithms and data structures
● Data modeling
● Object oriented modeling
● System design and scalability
30. How to land a job as a software developer @cavezza
Written test
31. How to land a job as a software developer @cavezza
During the interview
32. How to land a job as a software developer @cavezza
Algorithm challenge
Given, a sorted array, find the index of a given number. If you can’t find it, return -1
For example, if trying to find 9, then [3, 4, 6, 7, 8, 9, 10, 11] would return 5
33. How to land a job as a software developer @cavezza
Algorithm challenge
And then you do something like this…
34. How to land a job as a software developer @cavezza
Algorithm challenge
And the interviewer would say something like...
Okay- I’m glad you know javascript well, but let’s pretend that find function didn’t
exist. If that was the case, how would you solve this problem?
35. How to land a job as a software developer @cavezza
Algorithm challenge
Then you’d do something like this...
36. How to land a job as a software developer @cavezza
Algorithm challenge
And the interviewer would say something like...
Okay - this works! Nice job! Can we do better?
37. How to land a job as a software developer @cavezza
Algorithm challenge
Hopefully, you do something like this…
38. How to land a job as a software developer @cavezza
Tips for algorithm challenges
1. Brute force usually isn’t the best solution
2. Look for keywords
a. For example, “sorted”
3. Consider edge cases
4. Write clean and reusable code
5. Check for errors
39. How to land a job as a software developer @cavezza
Put your best foot forward
Don’t put yourself down
Don’t mention what you’re not good at
Let them figure out your skills
40. How to land a job as a software developer @cavezza
Don’t judge the company
41. How to land a job as a software developer @cavezza
After the Interview
42. How to land a job as a software developer @cavezza
Immediately take notes
43. How to land a job as a software developer @cavezza
Fill in your knowledge gaps
44. How to land a job as a software developer @cavezza
Seek Feedback
45. How to land a job as a software developer @cavezza
Be open
46. How to land a job as a software developer @cavezza
Nudge, nudge
insurance
Liberty is hiring.
robert.cavezza@libertymutual.com
47. How to land a job as a software developer @cavezza
Resources to help
InterviewCake
TeachYourselfCs.com
Cracking the Coding Interview
Notes de l'éditeur
65%, 80%, 18% - Think about maybe having a prospective employer funnel. Custom graphics!
Think about maybe having a prospective employer funnel. Custom graphics!
Reasons to get a referrals
“Put your resume on the top of the pile” - companies see referrals better than random hires. So if you know this person, AWESOME! If it’s a friend of a friend, that’s still great, and if you don’t know them at all, it’s still good because of #2.
Referral bonuses! Lots of companies have referral bonuses. Even if this person is a complete rando, they can still be an advocate for you and try and get you in because they might have a financial incentive to get you hired.
This person will help you understand the company in a few ways that can help you. They will help you understand the real company culture besides what you are told. They will also help you understand the interview process. Someone over coffee will be way more open in telling you what to expect from an interview than a recruiter or a hiring manager.
Find connections you know at each place or friends of friends. If you have no connections, reach out for a cold email. Most people will welcome your message.
Try to meet up and get coffee.
Many companies offer referral bonuses. Always better to have someone vouching for you, even if its in their own self interest
Reasons to get a referrals
“Put your resume on the top of the pile” - companies see referrals better than random hires. So if you know this person, AWESOME! If it’s a friend of a friend, that’s still great, and if you don’t know them at all, it’s still good because of #2.
Referral bonuses! Lots of companies have referral bonuses. Even if this person is a complete rando, they can still be an advocate for you and try and get you in because they might have a financial incentive to get you hired.
This person will help you understand the company in a few ways that can help you. They will help you understand the real company culture besides what you are told. They will also help you understand the interview process. Someone over coffee will be way more open in telling you what to expect from an interview than a recruiter or a hiring manager.
Find connections you know at each place or friends of friends. If you have no connections, reach out for a cold email. Most people will welcome your message.
Try to meet up and get coffee.
Many companies offer referral bonuses. Always better to have someone vouching for you, even if its in their own self interest
Reasons to get a referrals
“Put your resume on the top of the pile” - companies see referrals better than random hires. So if you know this person, AWESOME! If it’s a friend of a friend, that’s still great, and if you don’t know them at all, it’s still good because of #2.
Referral bonuses! Lots of companies have referral bonuses. Even if this person is a complete rando, they can still be an advocate for you and try and get you in because they might have a financial incentive to get you hired.
This person will help you understand the company in a few ways that can help you. They will help you understand the real company culture besides what you are told. They will also help you understand the interview process. Someone over coffee will be way more open in telling you what to expect from an interview than a recruiter or a hiring manager.
Find connections you know at each place or friends of friends. If you have no connections, reach out for a cold email. Most people will welcome your message.
Try to meet up and get coffee.
Many companies offer referral bonuses. Always better to have someone vouching for you, even if its in their own self interest
Try and find out the interview format. Go to glassdoor and see what people have said. Talk to your “contact” at the company and try to learn about the interview format. Knowing the format will truly help you prepare specifically for this interview.
HackerRank
You’re at home - online software test with just you and their software
Sometimes behavioral
Sometimes testing your knowledge
Usually not really “pair programming”
Very similar to the coderpad example, except with a lot more variability.
Could be algorithms, but it could be a lot of stuff.
Data modeling, thinking in OOP, SQL, ...
Very similar to the coderpad example, except with a lot more variability.
Could be algorithms, but it could be a lot of stuff.
Data modeling, thinking in OOP, SQL, ...
Usually not a great sign
that type of solution would work for this problem - definitely. But what if we considered a very large input. Let’s say the size of the array was 8,000 variables (still sorted), and you had to instead find the index of 65,235 - is there anything you would do to change your answer?
Don’t try and figure out if this is or isn’t the place for you
Don’t grill interviewers.
This is not the time to decide if you want to work here. Your job on the interview is to get an offer.
When you have an offer, you have a decision to make. Before that, you don’t have a decision to make.
Literally, seconds after the interview - after each section if possible...
Write notes immediately after the interview is over.
These notes should include terms you didn’t recognize. Problems that you struggled with. Why were they challenging. Things that through you off. How to improve.
Fill in knowledge gaps.
Use your post-interview notes to guide knowledge gaps you have.
Learn solutions to problems you struggled with.
Follow up and seek feedback
Not all people are self aware - you might be oblivious to why you didn’t get the job
Give random industries a shot. Maybe you’ll find it really intriguing