What are software recruiters looking for?

6 tips to landing (and thriving in) your first development job

Recruiting Through Social Media
Thinkstock

Dear Pragmatic Agilist,

My daughter is looking forward to getting her first real job as a developer and progressing fast. Any advice? 

Proud Dad of a Future Agilist

Dear Proud Dad,

Congratulations to your daughter—we need more women in our field! Here are a few things for her to think about.

1. Know your stuff

Whether she’s self-taught or graduating from a top-tier university, your daughter will need to show that she understands the basics. Recruiters may consider coursework, online code repositories like GitHub, and student or volunteer projects to get an initial sense of her skills.

She probably knows it’s also a great idea to have internships where she can pick up not only technical knowledge but practical experience in real-world software development (not the same as at school, in most cases)!

As she advances through the interview process, she can expect to encounter online coding challenges or problems to work through on a white board.

2. Think on your feet

In addition to questions about her background, education and experience, recruiters may throw out problems to solve on the fly (a still-common practice, even if brainteasers like "How many golf balls can you fit into a schoolbus" have fallen out of favor).

Partly they’re trying to get a sense for her mental agility under pressure. But they’re also assessing her communications skills. Even if she doesn’t have the right answer, can she defend her approach? Does she come quickly to the point? Can she tell a story?

3. Understand that software is a team sport

Some of the most important skills for developers don’t involve code and aren’t taught in books (at least, not the ones I read as a student)!

Software development is about moving a product forward every day. That demands great teamwork: shared goals, good communication, empathy, being able to spot opportunities, and take initiative. These are all critical ingredients in what I call the “product mindset”—essential to building great software that people love to use.

The product mindset starts with feeling ownership over your team’s deliverables. That doesn’t mean you work on everything. It means you treat your teammates’ success or failure as your problem. If your team doesn’t succeed, you don’t succeed.

New developers sometimes struggle with this. They worry about getting blamed for mistakes they didn’t make. But the point isn’t to spread blame. It’s to encourage everyone to contribute everything they can to the success of the team. 

Your daughter should be ready to describe examples of successful collaboration and shared ownership. These might come from the workplace, volunteering, school, hackathons—and, yes, even sports.

4. Get comfortable with speaking up

Developers are sometimes quiet by nature (I am the exception to that rule). Quiet is fine, but in an agile environment, your daughter will have to stand up and talk in front of a group. Standups generally happen every day, often with clients participating in the group.

You have to speak concisely, with precision. (Long standups are bad standups.) You shouldn’t take more than a couple minutes to explain where you are with your story, where you’re going next and what, if anything, is blocking you.

Product-minded developers aren’t ashamed to admit they’ve run into an obstacle, or even that they don’t know what they’re doing. That’s part of product ownership. You can’t let pride get in the way of the team’s success.

Outside of standups, developers also have to find diplomatic ways to challenge assumptions. At my company, we consider being an “honest challenger” to be a core value. It means you don’t just blindly follow orders, but demonstrate respect to your colleague, boss or client by sharing the best insights you have, including ones that might involve a different approach. (Of course you need to be tactful, and gracious if the final decision doesn’t go your way.)

5. Keep tinkering

One of my colleagues has a sneaky reputation for being able to recruit some of the best junior developers to his team. I noticed that he doesn’t typically pick the ones with the best grades or the quickest responses in our agile boot camps. So I asked him how he does it.

He told me he pays attention to the devs who maybe couldn’t get the right answer at first, but just keep tinkering and thinking about it and asking for feedback. “When I see someone who can’t get put problems down, and are constantly looking for a better solution, that’s when I pounce,” he told me.

This kind of relentless problem solving doesn’t just apply to code. Product-minded developers are always trying to make the team more efficient. They avoid unnecessary meetings and remove blockers. They can tell you what everyone else is doing. They volunteer suggestions about how to streamline processes and will often experiment with new tools in their own time.

6. Don’t code

What I really mean is, don’t just code. I look for T-shaped people, who might have depth in one or two areas, but are insatiably curious about other technologies, tools, and competencies.

Encourage your daughter to poke into unfamiliar aspects of development: marketing, digital accessibility, estimation and so on. Not only will this improve her understanding of the software business, it will get her into the habit of looking for opportunities to pitch in.

In particular, I encourage developers to get closer to the people who will actually use their software: interview them, watch as they use the software, and analyze usage patterns and feedback mechanisms. This isn’t just a job for experience designers. Everyone on a product team needs to develop this kind of empathy to create fast, beautiful software tuned to user needs. 

And that is the best recipe for a very long and satisfying career as a developer.

This article is published as part of the IDG Contributor Network. Want to Join?