This post contains information that I’ve found useful when planning to take the next steps in my career. I’ve personally gone through this process several times, have interviewed a wide variety of candidates, and assisted friends and colleagues with their resumes and job searches. Most of my experience is working with STEM candidates, however, the information in this post is fairly general and should be helfpul to a wider audience.

Table of Contents

Why are you looking for a job


The first hurdle is deciding that you’re ready to take the next step in your career. Sometimes this decision is made for you (downsizing, end of contract, etc), but often it’s due to a number of other influencing factors. While it seems obvious, identifying why you are looking for a job is a useful practice since it allows you to focus on what you require from a potential position.

A few common reasons for transitioning are listed below.

  • Skill Development: For whatever reason, you’re ready to find a position that will allow you to develop new or existing skills. Identify what skills you are looking to develop and determine what is needed to ‘get your foot in the door’. Is your current experience related? Do you need to gain related experience first (grad school, online courses, personal projects, etc)?

  • Change career path: It’s time for something different, but what? Are you looking for a leadership role, working on something different, interaction with customers, etc? Have you developed the skills necessary for the new position or can you explain how your current experience is related? I’ve found it beneficial to talk with other people to get a feel for what their responsibilities are and if it still interests me. You may also be able to take on some of these responsibilities in your current position to see if it is a good match.

  • Money: Is a perfectly valid reason. If you feel that you are underpaid then why wouldn’t you look for a better opportunity. Not only is changing positions the easiest way to get a raise, it allows you to potentially negotiate a better overall offer. This is why performing salary research is important. You need to realistically identify what you are worth by looking at the local job market, understand how it compares to the national average for your field, and how each company you consider compensates. It’s also possible to negotiate a raise within your current company or ask for a counter offer, but your experience may vary.

  • Management/Team: Unfortunately, you will encounter people that are difficult to work with. I’ve often heard “people quit bosses, not jobs” as a warning to both managers and candidates. If this is the case, focus on what traits you like in a boss or coworkers rather than things you do not like. Focusing on positive aspects is good approach for life in general, but it also influences how you approach the job search and interview. I want to hear what a candidate liked in a boss or what things their team did right, not that they hate everyone they’ve ever worked with.

Resume


The usual recommendations:

  • Legible and organized. It often helps to find a template or sample resume that you like.
  • Check for spelling and punctuation errors. Very little chance you get a second look. It’s more understandable for ESL candidates, but there are tons of resources available to prevent this.
  • Describe your personal accomplishments instead of listing your job description. I want to know what skills you have and what you’ve accomplished. “I did x resulting in y”
  • Is your resume more than one page? It’s too long. Do you have a PhD, several patents/publications, or a significant amount of career experience? It’s probably still too long.
  • Don’t lie. Not sure why anyone does this, but I see it far too often. Don’t list a skill set (or even better, claim to be expert) if you cannot answer the most basic questions.

Remember that screening, interviewing, and extending offers takes a significant amount of company time and resources. Your resume is what gets you in the door.

Resources:

  • University or college career counseling office, alumni network, career fair. Many schools have dedicated resources to help their students enter the work force. Ask if they provide resume editing, mock interviews, or other resources.

  • Online forums such as /r/cscareerquestions, /r/resumes, hackernews, etc allow you to get feedback from others in your field. I’d recommend anonymizing your personal details before posting.

  • Ask people for resumes. There are ‘example resumes’ online, but I’ve found it much more useful to ask someone in the industry for a copy of their resume. Most don’t mind and it’s a great way to collect a sample set and insight into your field. Contact me if you’d like a copy. My Latex resume template is also publicly available on GitHub.

  • Ask people to look at your resume. Friends, family, professors, that guy you met at a conference, etc. Even better if they don’t know what a tech or skill is because you get to practice explaining it in a clear and concise manner. They’ll also help catch any spelling mistakes, gramatical errors, and missing punctuation.

  • The internet is for…resume advice. There are an infinite number of blogs and articles (like this one!) that may have useful information. Take what you like and ignore the rest.

What do I do when I receive a stack of resumes?

  • Briefly read the resume and determine if the candidate seems interesting and matches most of the requirements. This is strictly a gut feel.

  • For the few candidates that passed the first glance, I reread their resume looking at what they’ve worked on and specifically what their personal contribution was. I try to see if their skill set and domain align with what I need or if they seem capable of picking it up.

  • Public online presence. You can control what information is publicly available and I will look at it. Mostly I focus on their LinkedIn, GitHub (or online portfolio), personal website, and a quick search for their name. If your personal social media accounts aren’t restricted, I assume you have poor understanding of privacy and security.

  • At this point I typically know if I’m going to recommend interviewing the candidate. If they’re a strong maybe, I might discuss them with another member of the team.

LinkedIn


Your LinkedIn profile should be a reflection of your resume with the benefit that you’re not limited by page length. This ensures that all of your experience can be listed in detail.

  • If you’re looking out of state or in another city, update the region to reflect where you are looking for positions. I’ve moved across the country twice and this made it a lot easier to work with recruiters and explain to companies.

  • List anything relevant to your career: individual skills, hobbies, publications, volunteer work, personal projects, links to other sources, etc.

Personal Website


Having a personal website is not required and in many cases, not necessary. However, it does allow you to create a personal brand and control how you present yourself. This is useful if you have publications, media content, presented at conferences or seminars, and other content that doesn’t fit on your resume or LinkedIn profile. It’s also a great way to showcase personal projects and a bit of your personality.

Searching and Applying


Company website

If there’s a company you’re interested in, the best place to look is often the career section on their website. Most have some form of software filters, but it’s one of the most reliable ways to get your resume seen by the company.

Indeed

Indeed has been the best in my experience for finding opening positions that match my interests and skill set. The easy apply feature allows you to quickly submit an application, however, many companies still require applying directly through their website or an online portal.

LinkedIn

I’ve found several open positions on LinkedIn that led to interviews and offers. They have searchable job post section and ‘recommended’ posts, which often didn’t align with the region I was looking or type of position. However, you do have the benefit of being able to look into people that work for the company and can often see who posted the position. You can also reach out to people directly to discuss the company and pass along your resume.

Other Job Sites

Dice, Monster, etc. In my experience they tend to have a high volume of third party postings, staffing agencies, etc and little that I’m actually interested in pursuing.

Recruiters

I have worked with a few recruiters that were responsive, lined up interviews, and served as a good candidate advocate. Unfortunately, good recruiters are rare.

There are a few different types of recruiters which does affect your interaction.

  • Internal: Work directly for the company to find new employees to fill job openings, often affiliated with HR. These recruiters represent the company and are often your point of contact for scheduling interviews, sending communication, etc.

  • Contingency: The recruiter gets payed when a candidate they present is hired. Ideally they have your best interests in mind, have insight into the company, and maintain responsive communications throughout the process. I have worked with a few that introduced me to interesting companies, however, most seem to specialize in spamming your inbox with jobs that completely ignore your stated interests or skill set.

  • Retained: The recruiter is hired by the company to fill a specific position, generally for companies with difficult positions to fill (senior level or specialized background) or companies that need to fill a number of positions, but don’t have an internal recruiter.

A few of my requirements when working with a recruiter:

  • Unless they’re an internal recruiter, I only work with recruiters that specialize in my field.

  • I will not work with someone that doesn’t tell me what company the position is with up front.

  • I ask for a copy of the job req. since I don’t want to waste time, mine or the company’s, if it’s not a good fit.

  • I only provide my salary requirement, not my salary history.

Personal Connections, Conferences, Etc

Networking is difficult, but it’s an excellent way to discover openings and get your resume seen.

Preparing for the Interview


For technical interviews it’s common to study materials related to your field prior to the interview. I’ve written a prior post where I discused general things I do.

Being nervous/anxious/stressed/etc

It’s perfectly normal to feel a variety of emotions leading into an interview. I’ve gotten more comfortable with the interview process as I’ve gained experience and it helps to have a pre-interview routine. Fortunately, the person interviewing you also understands how it feels. I typically start an interview with a quick introduction and casual chat to ease the candidate before jumping into the technical discussion.

My pre-interview routine

  • Plenty of sleep night before.
  • Wake with time to relax, read news, glance at prep material, grab a coffee.

Phone/video:

  • Be in a comfortable spot.
  • Have a drink nearby.
  • Pad and pen for notes.
  • Laptop if I need to look something up.
  • Copy of my resume for reference.
  • Dress ‘ready’ for an interview. Research has been done on personal demeanor while wearing P.J.s and being relaxed vs wearing a professional or business casual outfit. No polo and underwear for a video chat.

In-person:

  • Arrive 15 minutes early. If I get there earlier I wait in my car.
  • Chat with the receptionist to get a soft feel for the company. The manager will ask what they thought of you.
  • Hit the restroom, grab a coffee/water

First impressions matter

  • Good handshake
  • Communicate well and come across as polite, approachable, and friendly
  • Ask questions when unsure of the question or answer.
  • Be honest. I’d much rather be told “I don’t know” or “I’d need to look it up or research it” vs several minutes of obvious B.S.

Dress well, but know what is appropriate.

  • It doesn’t hurt to dress professionally, however, if you know the company/culture you can dress to fit in.
  • Engineering: My daily “uniform”: nice jeans, button up, matching shoes/belt. However, software tends to be pretty casual and I could get away with a t-shirt and sneakers.
  • Finance, Defense: Business professional for the interview and company events. Business casual when showing up for work.
  • Laid back startup: Jeans and polo or a t-shirt. Wearing a suit shows you don’t understand the company culture.
  • Medical: Business professional. Skirt/slacks and nice blouse. A-line dress. Business suit. You need to come across as professional and as a leader for interaction with patients, nurses, medical assistants, etc.

The Interview


Why do you want this job? - Because I need money.

While I’ve never tried it in an interview, the above question and answer is always lingering in the back of my mind. Doing a little prep work ahead of time will hopefully keep you from blurting it out too.

What kinds of questions should you expect in an interview?

Ask about a project/publication/etc.

  • I want to see how well you can communicate what the project was and what you specifically contributed.
  • Can you explain technical details? Are you able to simplify (explain to a five year old)?
  • Did you consider x? why/why not?

How would you solve some task/puzzle/problem?

  • Do you understand what I’m asking?
  • Do you ask questions to clarify the problem?
  • Do you communicate out loud what your thought process is?
  • Did you break it down into multiple steps?
  • Do you get the right solution?
  • Did you catch any edge cases?

What is your strength?

  • Something you do well. And why is it valuable to a company/manager/team.
  • Personal example: Honest and blunt. I’ll tell you if something can’t be done in the given time frame or if I don’t know an answer. However, I’ll get back to you with a break down and estimate what can be completed or research and find the right person to ask.

What is your weakness?

  • List a reasonable area that needs growth. Say what you’re doing to try improving it.
  • Personal example: Time management skills and professional estimates since it’s easy for me to get focussed on a problem and go down a rabbit hole. I’ve worked on generating better estimates by reading several engineering books and ensure my estimate includes time for development, testing, integration, documentation, etc.

Things you cannot be asked:

  • religion, family status, marital status, are you pregnant, where are you from, etc.

Technical Interview: This varies from field to field, but often involves being asked how you would solve some problem.

You are interviewing the company

Remember, the interview serves two purposes. It allows the company to vet you as a candidate and gives you insight into their internal workings. By knowing what you require in a position, you can approach the interview with the intent of observing and asking questions to figure out if it would be good fit. When interviewing, I take notes throughout on my general impression, the team, the tools and environment, any questions that come up, if the position matches what I’m looking for, and if there are any red flags or deal breakers. Other things such as lighting, ergonomic workspaces, is the equipment new or outdated, ease of commute, etc are worth noting as well.

Research the company beforehand and make a list of questions to ask during the interview. I look at the company website, search for recent mentions in the news/social media/publications/announcements, check youtube for product/hardware demos, check the stock trend if publicly traded, read reviews online, etc. I then ask around to see if anyone in my network has worked there or has a contact who has to since it’s extremely valuable to get an inside opinion.

I also ask a number of questions specific to my Software Engineering to get a feel for what the day-to-day is like.

  • Development environment: OS, IDEs, repositories, build tools, etc.
  • Do they have documentation? Who supports documentation? Is it up to date? SRDs, wikis, etc.
  • Do they have unit tests? What coverage? Automated?
  • How many people are on the team? Break down of skills and roles?
  • What is an issue the team has recently encountered?
  • What is the team currently working on?
  • Are they agile? How do they define agile?
  • How do they estimate and determine if a task is complete?
  • How often do you have crunch time. Rare occasion to deliver major feature? OK. Every month? Poor managers.
  • Do you provide access to training, seminars, conferences?
  • How flexible is the job? Can you work from home?
  • Is travel involved? How often? Where?
  • How is performance measured?
  • What would I be working on in the first two weeks? months? year?
  • “What do you like best about working here?” or “Do I want to work here?” Surprisingly I had an interviewer tell me that I did not want to work there and gave me a list of grievances.

Follow up: I typically send a quick email thanking them for their time and any follow up questions that weren’t answered during the interview. I also ask when I should expect a decision if it wasn’t stated during the interview.

The Offer


Congratulations! You got the offer.

If it’s your dream job you’re almost done.

If you have multiple competitive offers, then you have a variety of factors to consider and a tough decision ahead.

Salary & Benefits


When to discuss salary?

  • You will be asked about your salary expectation and current salary. I only provide my salary expectation since what I currently make is not relevant to their ability to extend me a fair and competitive offer.
  • I’m looking for $X. However, I will consider any competitive offer since I look at the overall compensation and benefits.

Salary Research

  • Determining what you’re worth is a challenge since you’re attempting to place a dollar value on your labor.
  • Research the national, regional, and local market value for your position. Then look at each company you’re considering and get a feel for how they compare.
  • There are a number of sites out there where people can anonymously submit their salary information.
  • Depending on how common a job is you’ll be able to find detailed information.
  • Information on government jobs is publicly available for transparency.
  • Examples: glassdoor.com, indeed.com, linkedin.com, www1.salary.com

Where do you live/work?

  • Does the state have income tax? MA has a 5.1% income tax. Texas has no income tax. $50,000 in MA is equivalent to $47,000 in TX.
  • Different cities have different cost of living (rent, groceries, etc).
  • A cost of living calculator can give you a rough estimate on how much you would need to be equivalent.
  • Salaries in some regions are lower/higher than the national average.

Government (direct and contract) vs private sector:

  • Government jobs often have a fixed salary range and typically pay a little lower than the private sector.
  • May have better long term stability or benefits.
  • Good: you know what range to expect when applying
  • Bad: not as flexible when negotiating salary

Negotiation


When to negotiate?

  • After you have an official written offer. This allows you to review the full package, take notes, and compare offers prior to starting negotiations.
  • Ask when they need a decision. Requesting a few days or a week or two to consider the offer is normal, any longer might be pushing it.

Things that help negotiation

  • You have multiple offers in the same time frame.
  • Already have a job. If they aren’t willing to meet your expectations, you can take your time looking elsewhere without worrying.

What can you negotiate or consider when negotiating?

Salary:

  • There’s always a range.
  • Research what you’re worth and what they pay for that position.
  • If they say no, you can accept the current offer. Companies rarely rescind offers since it costs a significant amount of time and money to screen, interview, select, and generate paperwork.

Bonus

  • Do they give out bonuses? (annual, quarterly, etc) How is it calculated?
  • It might be negotiable. I was able to negotiate a bonus from 5% to 9% of total salary.

Sign on and relocation costs. (seems to depend on industry and how high demand is)

  • Can’t hurt to ask.
  • What are the terms? Typically there is a time requirement. Example: I had to be with the company in Austin for at least 13 months or pay them back.
  • I’ve had a few offers that included sign on bonuses.
  • Keep in mind that a small one time bonus might not be as good of an offer when you consider future earning potential of the package.

Retirement funds - 401K or 403B (for non-profits)

  • Does the company have a retirement plan?
  • Does the company contribute to your retirement fund? What percentage of salary do they match? 4-6% is pretty common.
  • Is there a vest period?
  • Example: A 2 year vest period means you have to work for the company for two years or you lose the amount the company contributed to your retirement account. You still keep the amount that you contributed from your paycheck. Sucks…I only look at companies without a vest period now.

PTO or Vacation Time:

  • Some companies have a fixed company wide policy, some have flexibility in the amount of vacation offered.
  • If they can’t go higher on salary, they might be able to give more PTO. I’ve been able to get 3-5 days added to a few offers.
  • If the PTO offered is lower than I want, I place a weighted value on my personal time and my salary requirement goes up.
  • Sick Time:
  • Typically a fixed policy if they offer sick time.
  • Many companies are ‘PTO Only’ so you use vacation time, work remote, or come in sick.
  • Health/Vision/Dental:
  • The policy isn’t negotiable. However, knowing how much each plan will cost you and what the company contributes affects your take home pay.
  • Example: If you have two job offers and one has slightly lower pay, but excellent medical it could be a better ‘overall’ offer. Plus you can ask them to match the salary of your other offer if they’re hesitant to go higher.

Professional licensing, training, conferences, etc

  • Some professions require multiple licenses, performing a certain number of ‘continued education’ hours, etc. Your offer will explicitly state what they will pay or reimburse for and how much.
  • Some companies will pay for seminars, conferences, etc. but it’s probably part of the team budget and not in the offer.

Job Title

  • Some people get hung up on titles. Fancy titles don’t pay the bills or affect my responsibilities. Give me money.

Continued education

  • They may help pay for tuition if you are interested in getting another degree. Typically the degree has to be approved, you have to continue working full time, and they’ll pay some amount per semester if you keep grades up.

Tuition reimbursement

  • Apparently some places now help pay off student loans. No thanks, just give me the money. Unless the salary is also competitive.

What if I get a better offer after accepting this one?

  • You can accept a job and turn it down if a better job offer comes along. Inform them that another opportunity has come along and ask if they can match.
  • However, it may burn bridges at a smaller company or in a limited field.
  • It’s a myth that you have to be loyal to a company (outsourcing, layoffs due to low sales, getting rid of pensions, etc). It needs to be a mutually beneficial situation.