Pretty image
If applying for a job is a test, do you need to show your work?

Your current gig is not your job. Your job is to get great gigs—and to get the most out of the gigs you get. In this new column, we’ll be discussing topics ranging from hiring and getting hired to dealing with difficult people at work. And it will be a discussion. We have strong opinions on these issues—and sometimes we’ll disagree—but we don’t think you are best served by some expert prescribing a checklist of things to do. Most of the issues we’ll be talking about don’t have one-size-fits-all solutions. Our goal is to point out the issues, explore them together, share our insights, and get you thinking about them. Because the best solution for you is the one you discover.—Johanna and Andy

Andy: Johanna, so good to see you today. I wanted to talk about portfolios for techies, and their importance in the hiring process.

The first time I saw a really good portfolio, a fellow manager had come in with a portfolio from someone he’d just intereviewed. She was interviewing for a project manager position, and had brought in a three-ring binder with project plans, schedules, requirement documents, and all sorts of work products from her previous jobs. She wasn’t asked to bring it in. She just did.

Two things impressed me: One was that we could get a look at the quality of work that she did. The second, and almost more important, was that it told us that she wanted that job and put a lot of effort into making an impression. She got the job.

Johanna: Articulating the value of your work is what separates you from other candidates. And, it’s simple—although not easy—to articulate the value of your work.

It’s smart for hiring managers to ask for portfolios or examples of work. I don’t think I ever did that when I was interviewing for a project manager job! I did do that once for a specific developer job, but only because the hiring manager asked me in advance to bring work product. I had a work product I was allowed to show to other people.

That’s one of the most difficult things when you build your work portfolio. Being allowed to show the work. Because many of us are under non-disclosure.

What if I’m under an NDA?

Andy: When I talk about portfolios, either online or at conferences, it’s inevitable that someone will bring up non-disclosure agreements. “I can’t bring a portfolio! I’m under NDA!” and all I can answer is “I’m sorry to hear that. You can either make one up or you risk losing the next gig to someone who is able to show the value of his work.”

Johanna: When I help people write their articles for agileconnection.com, one of the things I help with is anonymizing their stories. That’s one of the things candidates have to learn when they build their portfolios.

Andy: How do you mean?

Johanna: Well, all of us have our stories of what we did in the organization. As a consultant, I’m under NDA, too. And, I need to be able to tell my stories about my successes, or I won’t have more clients either. So, when I explain my stories, or write my articles or blog posts, I say, “a recent client” or “Company X” or something like that. That’s what candidates have to do.

It’s the same thing with code and tests. You can’t bring the actual code or tests if you are under NDA. You can show the picture of the code or the tests. You can describe the system and what you and your team did. You can explain the effects and the value. It’s critical that you explain the starting point, what you did, and the ending point, and describe your contribution to business value.

Andy: That’s a bit of a frightening prospect, modifying code that I’d bring into an interview. I’d be afraid that I’d break something somehow.

Johanna : Well, if you’re under NDA, you can’t bring the code itself, can you? That code can’t leave the building. But you can bring a picture of the system. You can explain your effect, right?

Andy: It’s not just explicit NDAs, which I haven’t found to be terribly common outside of high-tech companies, but you need to consider your employer’s work as being under an implicit sort-of-NDA. You may have signed some company confidentiality agreement when you started working at your current company, so be sure to live by that.

What Should I Bring?

Andy: Topic shift: What sorts of work products should people bring in? Programmers ideally bring in code, of course. I suggest bringing both an electronic version, such as on a thumb drive or CD, and a printed copy so that you can discuss it easily at the interview. In both cases, you should be prepared to leave everything at the interview, never to get it back, so don’t bring your only copies, or a big fat thumb drive you’d hate to lose.

I also suggest that programmers not bring in a huge amount of code, only bringing their best work. No hiring manager is going to sift through megabytes of files or hundreds of pages of paper looking at the code.

Johanna: I like bringing in work products on paper, because they are easy to make copies of. Bring in a few pages of work product, say 2-6 pages, of your best examples. Point to the rest online, if at all possible. If you’ve been working for a while, you have a web presence, and your site might speak for itself.

Andy: What you absolutely do not want to do is say “My code is at my website at such-and-such url” and leave it to the hiring manager to go to the website and sift through the work herself. Guide her to the good stuff and don’t make her do the work. You want to make it as easy as possible for her to want to hire you.

For the same reasons, I say that your GitHub profile is not a portfolio, but it can be an adjunct to one. First, GitHub profiles usually have many projects, only some of which you’ve worked on, and you don’t want the hiring manager to have to figure out, or worse, guess at, what you’ve done. Second, you need to annotate your portfolio and explain “I did this on this project, and on that project I did such-and-such.”

Johanna: Right. You need to provide your interviewers enough on-site information so that they see what you can do and then if they like you, they can look online for more. You don’t need to overwhelm your interviewers with a Big Honking Binder. Just the fact that you have a portfolio might be enough to set you apart from the other candidates! And, you want to make sure you have the opportunity to provide your interviewers with a chance to review some of your work.

Andy: Guiding the hiring manager though the forest of your code is just another example of how you, as the candidate, have to do your best to make sure the hiring manager sees the good stuff.

Johanna: Remember, you also want to ask your interviewers questions. If they get caught up in reviewing your work, you might not have a chance to ask them questions. I like leaving them with my portfolio for review. I want to ask them questions in real-time.

Andy: Whenever I set up an interview with a candidate, I ask him or her “please bring in some printed samples of your code for us to discuss.” At least half the time, I get asked “What code should I bring in?” and that’s frustrating. I can only say “Your best work. I’ll leave that up to you.” What I don’t say is “and it would be nice if it related to the work that you would be doing here.”

If you’re applying for a job as a backend web developer working with MySQL and PHP, then it seems to me that the bulk of what you’d bring in would be related to web and/or MySQL and/or PHP, right? No one should have to ask that question.

Johanna: Well, it can be difficult for a candidate to know exactly what code to bring. Maybe I’m a softie, but I would cut the candidate a little slack here. I’ve certainly been in positions back in my developer days where I thought I was interviewing for one job, only to discover that the hiring manager changed his mind and it was a different job when I got there. I bet that happens to a lot of candidates these days, too. Just because you are consistent, doesn’t mean everyone else is!

I like the answer, “your best work.” That’s nice and open-ended. Candidates, bring several samples. That way, you’re covered.

Andy: Sure, but put a bit of thought into it, too. If the ad is looking for PHP and PostgreSQL, then bring in some PHP or a similar language and some code that shows you know your SQL. You want to bring things that show that you are able to do the things they need you to do. Sometimes people ask “Should I bring in the game I wrote?” and I think that’s OK, but it shouldn’t be the primary thing you bring in, unless of course you’re going to work for a game company.

How Can I Show My Other Skills?

Johanna: What should a Scrum Master bring? How do you bring evidence of facilitation? That’s a pretty hairy problem. It’s the same problem with project and program managers.

Andy: For that matter, what about sysadmins? Testers? Web designers?

Johanna: Testers can bring in bug reports! Well-written bug reports with some of the specific details blacked out—that would be great. I would love to see those. Test managers can bring in defect trends and other metrics they track and why they track them. I always want to know why people track data.

For project managers, Scrum Masters, manager types, I would ask them to bring impediment reports/obstacle reports and what happened. How did their teams improve over time? What did they do to faciltiate their teams’ improvements?

Andy: I’ve never heard of an impediment report. What’s that? I’m not Scrummy.

Johanna: I wrote about this in Manage Your Project Portfolio. One of the issues in an agile project, and even in non-agile projects, is that “things happen” in projects and programs. Great project managers and Scrum Masters manage risk lists and action items. They facilitate the work of the project teams. In Scrum they call it removing obstacles. So, in Manage Your Project Portfolio, I called it an obstacle report. It prevents you from getting work done, and it prevents the team from moving forward. In Manage It!, I called it an action item list. It doesn’t matter what you call it.

It matters that you have one, and that you work it. It matters that you have a way to facilitate the team. I want to know what that is.

Andy: So who gets these obstacle reports?

Johanna: If you’re the manager/sponsor, you see the obstacle report, because you remove the obstacles that the PM cannot remove. If I’m the hiring manager, I want to know what the project manager cannot remove. Or what the Scrum Master cannot remove. This goes directly to the kind of culture the candidate came from. I can then ask more questions about that culture, and learn about whether that person can fit into my culture.

See, the candidate’s portfolio really provides me with substantial insight as a hiring manager.

So, what would you look for from a sysadmin’s portfolio? Maybe uptime reports, or how he/she gets things from a queue, or something like that?

Andy: For a sysadmin, I’d like to see things that he’s done to improve his day-to-day life, or evidence of those things. Maybe screenshots from his Nagios monitoring system, or shell scripts he’s written to take care of simple monitoring that’s specific to his shop.

Johanna: I think sysadmins have scripts they bring from job to job.

Andy: I’d love it if I could see policy manuals that he’s written, but I realize that the chances of that are tiny. But just think about what an understanding of the sysadmin job it must take to write policies. They might be personal policies regulating use, or they might be operational policies. If he’s written a disaster recovery plan, that would be gold.

Johanna: Yes, and that is almost certainly covered under NDA. As a hiring manager, you NEVER ask someone to break NDA. That is unethical. You can ask someone to describe the disaster recovery plan. You can ask how long it took to write, and how many levels of approval, and all that. But you never ask someone to break NDA. That’s just wrong.

Andy: So if someone is under hard NDA, what can they do? For programmers, I explicitly tell them to either go work on some open-source project, or create a new project from scratch and open-source it. I usually get the complaint “That will take a long time!” to which I can only answer “Do you want to put yourself in front of the competition or not?”

Johanna: Or look for another company! Much of what programmers write is run-of-the-mill code. Very little really should be covered by NDA. But all of it is. If a programmer is unemployed, they should just start an open-source project on GitHub and show their stuff, or contribute to an open-source project.

If they have explained to their boss that they are looking for a job (and under many circumstances, they should), they should get permission to bring their code as part of their portfolio with them.

They can always bring a picture of the system and describe their part of the system, without showing the code. When I was a developer, that’s what I did. I brought pictures of the systems I worked on and described in detail how the systems worked and my parts in making them work. I was using assembler, FORTRAN, proprietary message-passing (pre-object oriented languages) and Lisp back then. I am an older programmer :-)

Andy: You know what else you can do to get an idea of how to build a portfolio? Talk to your graphic designer friends. Those guys know from portfolio building. Listen to one of them explain what goes into his portfolio and why, and see how it can apply to what you plan.

How Should I Present My Portfolio?

Andy: I want to get back to one other point: Portfolios are not standard. In Land The Tech Job You Love, I wrote that Ilya Talman, one of the top technical recruiters in Chicago, told me that he estimates only 15 percent of hiring managers ask to see samples of work. Does that number match your experience, Johanna?

Johanna: Yes. Very few hiring managers ask. I didn’t even put that into Hiring Geeks That Fit, because so few candidates know to build portfolios. It’s hard enough to hire great people. I didn’t want to make it more difficult! It’s a great way to make your candidacy stand out.

Andy: The beautiful thing about that is that having a portfolio of your work sets you apart from other candidates. I wonder if anyone reading this article has ever heard of someone bringing in a portfolio of work without being asked? Probably not. It will set you out from everyone else. Of course, it’s possible that the hiring manager won’t care. I suggest that the potential upside is huge, and the only downside is possibly spending time and a few dollars on a portfolio that isn’t looked at. No hiring manager is going to mark it against you that you brought in work.

How do you suggest that a candidate introduce the portfolio of work? At the interview? In correspondence before? How can he present it without sounding pushy or like he’s trying to take over the interview?

Johanna: You can say, “Hiring manager, I have a portfolio of my work in addition to my resume. When would you like to see it?” That’s a nice open-ended question that you can ask at the time you set up the in-person interview. Bring the portfolio with you, along with a paper copy of your resume. Always bring a paper copy of your resume. You never know what has happened to your resume. And, if you prepare the hiring manager that you are bringing your portfolio along with your resume, they may treat you differently from the beginning. They may allocate more time for your interview.

Andy: I suggest bringing at least five paper copies of your resume.

Johanna: I usually recommend at least one, but that’s because it’s generally easy for the company to make copies. Five paper copies means you’re not sure it’s easy for them to make copies.

Andy: Or I don’t want them to have to. It’s like business cards: Low cost for big simplicity when it’s necessary

Johanna: Absolutely. Make it easy for them to interview you.

Andy: The thing that candidates have to remember is why we advocate portfolios so strongly. The work products that candidates bring in are explicitly to back up the big talk in the interview. Anyone can say “Oh, sure, I’ve worked in Ruby on Rails before” but it means much more if I can see work she’s done with Rails. It also lets me see if the work she’s done is any good. Maybe she’s used Rails, but is doing it wrong. The hiring manager wants evidence one way or the other.

Johanna: Absolutely. I hope we’ve given our readers some inspiration next time they go out on an interview.

Next month we’ll be discussing managing your career over time.

Johanna Rothman helps leaders solve problems and seize opportunities. She consults, speaks, and writes on managing high-technology product development. She enables managers, teams, and organizations to become more effective by applying her pragmatic approaches to the issues of project management, risk management, and people management. She writes the Pragmatic Manager email newsletter and two blogs on www.jrothman.com.

Andy Lester has developed software for more than twenty years in the business world and on the Web in the open source community. Years of sifting through résumés, interviewing unprepared candidates, and even some unwise career choices of his own spurred him to write his nontraditional book on the new guidelines for tech job hunting. Andy is an active member of the open source community, and lives in the Chicago area. He blogs at petdance.com, and can be reached by email at andy@petdance.com.

Send the authors your feedback or discuss the article in the magazine forum.