What I learned from hiring hundreds of engineers can help you land your next role

Our CTO shares her process for selecting who to hire, and offers insight on how developers can position themselves for success.

Article hero image

The last six months have been dominated by what is arguably the worst pandemic in a century, a force of nature that has been incredibly turbulent for people across the globe. Whether you’re a well established engineer deep into your career or a newbie just finishing school, the job market and the hiring landscape have shifted dramatically.

I have worked in the Internet industry for over 20 years, held many different roles, and personally hired hundreds of engineers. I’m sharing some of what I’ve learned over the decades and what frames my decisions about which candidates I think will be most successful in an open role. Hopefully, you can draw on some of that experience to set yourself up for success as you look to transition to a new position or try to ace your first interview during times of economic uncertainty.

When I am making hiring decisions, my first criteria is a small number of technical requirements: specific technologies, languages, and expertise. But for the broader pool of candidates who satisfy those basics, the majority of my hiring decision is based on the demonstrated attitude and aptitude of the applicant.

Another important factor is professional references. Personal recommendations and feedback on what it's like working with you, helps make me more confident in my hiring decision.

These three (four, really) filters combine into a formula that I have developed over the years to evaluate candidates. If you are looking to further a career in technology, I suggest you approach your interviews with these areas in mind. So, how can you set yourself up for success across these different domains? Let’s break this formula down:

  • Specific technical knowledge
  • Attitude
  • Aptitude
  • Connections and networking

Below, I’ll offer my tips for how you can achieve and demonstrate these four key objectives.

Specific technical knowledge

Look at the job postings that are most interesting to you and see what technical knowledge is a must have. I usually recommend avoiding job postings that have a laundry list of “must have” skills or experience because they likely have unrealistic expectations of candidates. Look for clear, succinct ones that really speak to you. Next, create a spreadsheet of the jobs and the core technologies required. What are the common technologies you need to have experience in among the jobs that most interest you? Once you identify them, you can focus on how to acquire that experience.

Now, I know what you’re thinking: How can I get this experience if I don’t have a job to begin with, or I don’t have a job in the field I’m really interested in? I’ve got a few ideas below.

Internships. I joined AOL as the first technical intern after convincing them of the need for an internship program, so I know firsthand the value of an internship. I got the chance to work alongside experienced engineers, getting a feel for what the job was and what it took to run a large network. I have started or supported internship programs at nearly every company I have been at in a leadership role. Internships are invaluable, and in technology, you usually (and should) get paid. They are low risk for a company and high reward for the interns. Today, many companies are offering them as remote work, meaning they are accessible to a greater number of people who may not live in a high tech center.

Volunteer for a nonprofit organization. Volunteering your technical skills to support a non-profit is a lesser known opportunity to create demonstrable examples of your work. At the same time, you can create a real impact and support a cause you care about. I have volunteered and been on the board of several non-profit organizations where I saw technical volunteers make outsized impacts. Non-profits usually have limited funds and are often looking for free or low cost technology services, so a willing volunteer will usually win out over an experienced hire. They can be a great way to further your experience, build your network, and give back to a great cause.

Start with your existing job or one you are qualified for. Let’s say you currently have a job at a company where you feel invested, but you realize your passion is in another area. Making a domain or role change at your existing company is much easier because they already know and trust you. If you want to make a role change, find someone at the company that does what you eventually want to do. Ask them to mentor you or give you small assignments. Make your aspirations known to both your manager and the manager of the team you would like to join. Ask if they can work with you toward this transition. I have seen and created many opportunities like this throughout my career.

A recent great example involves our own Kristina Lustig, who had a thriving career in UX Research, most recently as our Director of UX Research & Design. While working in this role, she invested much of her own time building her software engineering skills and decided she wanted to transition into a developer role. She broached the subject in our one on one meeting, fully expecting that, to make the transition, she would need to leave the company. I quickly turned the conversation around, sharing what a valued team member she was and how much I wanted to keep her in the organization. Kristina worked closely with Jon Chan, our Public Platform Engineering Manager, to build a six month development plan which she just successfully completed. Once your company knows you, your work ethic, and your aspirations, it is much easier to break into a new discipline.

DIY/Open Source. There are so many opportunities now for you to try your hand at a new technology without needing to ask permission. Services like CodePen or Glitch let you spin up a server, write code, deploy it, and test it out all in a day. You can share your learnings and your work on forums like Dev and partake in major projects on platforms like GitHub. Be prepared to talk about what you did, how you did it and what you learned. If you want to try learning a technology in a real code base, there are hundreds of open source projects out there looking for volunteers. It’s easier to get involved than you think.

One last piece of advice here: don’t overpromise and underdeliver. Time and again, I have seen applicants who are eager to appear qualified for a position and put technical skills on their resume that they actually have very little real experience with in real life. During a phone screen, I commonly dig into the details of the must-have technical skills for the job—it’s a red flag when an applicant stumbles badly to answer these types of questions. When you list skills on your resume that, through the course of an interview prove to be something you know nothing about, it makes me question the rest of your resume.

Attitude or passion

When I say attitude I mean your character, demeanor, and perspective.

It isn’t easy to tell you how to demonstrate a great attitude. Most people know that you should head into a job interview with confidence and enthusiasm. To get below this surface projection to their deeper character, I ask why the candidate loves a particular technology or problem they solved. This gives them the opportunity to show their passion and their motivation. The answer I’m looking for isn’t that it pays well or my parents, friend, professor told me to. I can’t teach you how to love what you do and to want to come into work everyday. Being able to articulate why you chose this field and why you are interested in the company you are applying for goes a long way.

You can demonstrate your attitude with a story about a difficult situation which you navigated with grace and style. Your attitude and motivation help me gauge your culture fit in my team, organization, and the entire company. How can you share these stories during an interview? Don’t! Tell them ahead of time. Have a blog—it’s easy these days. Post something on Medium about interesting problems you are working on or have solved. Comment on other people’s posts and get involved. Make sure you connect them to your LinkedIn profile so I can find them.

Find ways to share your experiences and what you have learned with others in the industry in whichever way you feel comfortable: Participate in an online or real world community. Help start or organize a meetup in an area related to your work. Speak at meetups or other events.

A final important question I often ask in interviews is why the candidate has decided to explore new opportunities. Even if their current situation is not ideal, how they handle this answer is an important indicator of their temperament. I have had fantastic interviews derailed when I asked about why they were exploring other opportunities. Before you start interviewing, have a positive, future looking vision of why you are looking and what you are looking for. For example, letting me know that you have been in your current position for ten years and are looking for new challenges and to learn about a new industry is enough. Speaking ill of your former boss, colleagues, work environment, or technology can be enough to sour me on an entire interview. Your negative attitude can end your chance at the position just as fast as lack of relevant experience or skills.

So remember attitude is the combination of passion, motivation, and how you handle pressure, which helps me determine if you are a culture fit. Research to make sure you are a culture fit and then demonstrate it throughout your interview.

Aptitude: readiness or quickness in learning

The only thing consistent in all of life, but especially in the technology industry, is change. So while it is important to know the specific technologies the job requires, it’s probably more important than you know how to adapt and learn new ones. Everything we are working on today in my teams can be taught to someone with adjacent technical knowledge and a thirst to learn. To demonstrate your aptitude, be prepared to give an example of a situation that you had to learn on the job and be able to speak about how you learn best.

When it comes to learning new skills and sharpening the habits that encourage learning, there have never been as many available free and low cost options available to you as there are today.

  • Online courses - So many options for free or little cost to expose you to great content and contributors. I would recommend sites like CodeNewbie and Free Code Camp if you’re just getting started.
  • In person bootcamps, online courses, or one-off tutorials and workshops—If you have the time and money, these might be a great way to learn fast
  • Hackathons - Bring your skills to the competition and learn from others around you. For hackathon resources, check out DevPost or Hackathon.com.
  • Trying it out on your personal time - With cloud offerings of IaaS and PaaS, you can start up instances, deploy code, and test it out for little or no money and quickly
  • Join an online group or community to find a mentor or someone to partner with you through the process.

The most important thing to understand is what works best for you. Keep trying until you find the right combination so when you need to learn something on the fly at work, you know how to approach it for optimal results. When an opportunity comes along that you don’t have experience with, admit it, but commit to figuring it out. Managers are more impressed by people who admit what they don’t know and find a solution than by workers who try to fake a proficiency they don’t have and end up needing to apologize for late or sloppy work down the road.

Let me give you a great example here. When I worked at WebMD, my team included IT and desktop support groups. When we decided to support Apple laptops in 2010, the team of 12 support engineers had various amounts of exposure to Macs who all learned in different ways. To support them, I made sure everyone got access to a Mac laptop for three months and had the option to choose how they wanted to learn: buy books, attend an in person workshop, take an online course, or whatever else they felt was the best fit for them. They got time during the workday to acquire these new skills. Sometimes that meant attending an online or in-person training, sometimes it was just taking a break from core tasks to try hands-on learning. At the end of the three months, they each took the certification exam for the MacOS Support Essentials. The prize for the highest test score was a top-of-the-line iPad of their very own.

To my surprise, the winner was a Windows person through and through, someone who had never owned an iPhone and learned from a book and online resources. The key to his success was that he knew how he learned best. He was motivated by a desire to learn and a little friendly competition. Not only did I get him a nice iPad, but I have served as a reference for him through his career. If he needed more than a reference, I would likely hire him again because I know that his aptitude would allow him to master the necessary skills and excel at his work. Knowing how you learn best not only helps you succeed in new challenges but also demonstrates a level of self awareness that is very attractive in candidates.

How to build your personal network

Personal connections are how most people get new positions beyond their first one. 70-80% of people find their next job via their network! Your professional network will become one of your greatest assets over time. That’s certainly true for me, at this point in my career.

So how can you cultivate this critical asset? Start small with the people with whom you currently work, go to school, or socialize with online or at events. Go to open events in your area (when it’s safe to do so, of course), join professional or tech interest groups online, go to conferences, and connect to people online. If you’re contributing to open source projects, see if you can connect with others working on the project and cultivate relationships in those areas. LinkedIn has achieved success because people change jobs, change cities, and even change industries but still want to maintain their previous professional connections.

Take the story of Adam Lear, one of our developers. He began as a Stack Exchange contributor while living in Canada and working at his first job as a desktop software developer. Over time he became a moderator on one of our software focused Stack Exchanges, then after a while was also elected as a moderator for Stack Overflow. From there he got a job with the company as a community manager. Two years later, he transitioned into a full-stack web developer role at Stack Overflow.

Regardless of the path you’re on, the connections you build over time will pay off, often in unexpected ways. A person will know someone in an adjacent industry or a certain city, even if they don’t live or work in that area themselves. A simple introduction, versus another name in a pile of resumes, can make all the difference. Set a goal for yourself of adding a new connection every week or more.

You can’t just connect to someone after one meeting and never interact with them again. You have to invest in your personal connections. Schedule regular times in your calendar to connect with the VIPs in your network or people that you think have knowledge or experience to impart. When you are traveling again (whenever that may be), make sure to try and grab coffee or a meal to catch up. Pay it forward by passing along job openings, interesting information, and cool events folks in your network might like. They will pay you back with new job opportunities, a solid set of supporters, and a great source of advice and knowledge along the way.

Having a growing and well-maintained network will provide many benefits in your job search. You can reach out to someone you know or a connection of a connection to ask about the company they work at that you are interested in. They can submit your resume directly to the hiring manager. You might need references when applying to a new position, so ask yourself, do you have people in your network you would feel comfortable asking? If not, this needs to be an area of focus for you. When you decide to look for a new position, who in your network is in the know about who is hiring and where you might be a good fit? Once you take a new position, who can you ask when you encounter a new problem or technology? Who can provide advice on how to deal with new coworkers or a manager?

As a hiring manager, I like to see an applicant that has a solid network behind them. If someone at my company or network has recommended them or is connected to them (even through an open source community or professional group), it’s a serious plus in their favor. Connections through previous employers, school, or professional groups can provide much more valuable information than a series of interviews. I also recognize that networks take time to build, and not everyone has the same level of access to them. So invest in relationships however you can, a passionate network who will support you and recommend you highly is even more important that a large network.

So remember, grow and maintain your personal connections. You will want them to be ready when you need them.


I hope that in sharing how I evaluate candidates to hire, you can better navigate and further your professional journey. This framework can be used for pursuing a role at a new company, a new role at your current company, or progression within your current role. First, make sure you have the required skills for the role and leverage the multitude of available paths to develop and demonstrate them. Look for opportunities to demonstrate your positive attitude, passion, and motivation for your chosen field. Through experimentation, determine how you learn best and have examples of how you have evolved your skills. Lastly, remember to grow, invest, and leverage your personal network to connect, explore and expand your career.

Login with your stackoverflow.com account to take part in the discussion.