A Guide to Developing Your Programming Portfolio
This article originally appeared on The Software Guild. Read the original post here.
So you have some coding skills under your belt and are ready to find a job as a junior programmer. What tools do you need in your toolbox to get noticed? Knowing how to interview is vital, but you need to get the interview first. A resume can help you land an interview, but it's hard to really distinguish yourself from the competition with a one- or two-page static resume. A programming portfolio can be a great way to set yourself apart.
"A candidate's resume is a snapshot of their experience and skills," says Jacob Knight, Employer Network Manager at The Software Guild. "But the portfolio allows recruiters and hiring managers to see the application of those skills. Resumes are static; a portfolio allows frequent live updating."
Provided by Ben Rinehart, Software Guild graduate
What Is a Programming Portfolio?
When people hear the word "portfolio," many still have an image in their heads of a leather-bound briefcase containing photographs, sheets of paper and other pieces of work. But for a programmer, a portfolio is a website that gives an impression of who you are and what you're capable of.
Consider the portfolio of Ian Lunn, a front-end developer. Lunn provides numerous examples of his work in a clean, attractive, responsive layout. He provides links to websites he's worked on, along with explanations of the skills he leveraged and learned while working on each project. Lunn also provides testimonials from clients and colleagues, allowing other people to speak on his behalf; this can be a powerful tool.
A Portfolio Showcases Your Work
This is one of the portfolio's primary functions. If your goal is to get a job, you want to prove to prospective employers that you can do the job. To this end, your work can speak for you. By highlighting different examples of your work, you can demonstrate a depth and breadth of skill that employers will find valuable.
Provided by Bobby McDonald, Software Guild graduate
A Portfolio Tells Your Story
According to developer and blogger Randle Browning, "A tech portfolio is really an opportunity to create a personal brand for yourself. When a future client lands on your portfolio, they don't just see a slideshow of former projects—they form an opinion of YOU." Your portfolio is a way to communicate your skills, but it's also a way to communicate your personality, your goals and how you got where you are. All of this can tell employers whether you'll fit into their company's culture and whether you'll excel in the role they have in mind for you.
A Portfolio Is a Work Sample
You're linking to websites you've designed in your portfolio, but remember that the portfolio itself is a website you've designed. Any coding you've done for it is work potential employers might be paying attention to and analyzing, and this presents an opportunity for you to show off skills you might not have been able to in the projects you link to. If, for example, you want to show off your skills with responsive web design, ensure your portfolio is responsive, as Ian Lunn did.
Selecting Projects for Your Programming Portfolio
It's important to constantly tweak and tailor your portfolio to give you the most advantage in your current job search. It can be valuable to display a breadth of skill, but if you're targeting a particular job or type of job, you'll want to make sure your portfolio tells employers that you're a good fit for that job.
Include Your Best Work
You want potential employers to see you as a valuable candidate, so make sure you're always showing off the best work you can. To this end, it can be useful to pursue freelance jobs in a number of different areas so that you can build a body of work that you can put in your portfolio. If you want to work with a particular programming language or for a particular company, target freelance jobs that help you build and demonstrate the skills valuable to those employers.
Provided by Ben Rinehart, Software Guild graduate
Include Extracurricular Work
If you're having trouble finding freelance jobs that give you the right sample for your portfolio, it can be useful to simply pursue that work on your own. Browning recommends redesigning famous websites as a way to show off your skills and sense of aesthetics: "What if you reimagined the landing page of Google? Their iconic homepage is simple enough to take on as a starter project yet full of lots of juicy challenges."
Speaking of testimonials, if clients or past employers are happy with your work, get them to write a sentence or two about why. Ask if you can include their contact information, in case a potential employer has follow-up questions.
Include the Work Itself
Screenshots don't tell the whole story. If you worked on a webpage for a client, link to it and explain your involvement. If you wrote an app, include the app or link to where it can be downloaded or purchased. Showing is almost always better than telling.
What Employers Seek
When employers look at your portfolio, there are a few questions they'll be asking.
How Current Is Your Work?
"A programmer wants to show that they are working on code and not letting their portfolio sit idle, especially while they are looking for a job," says Knight. It's not enough to create a portfolio; you have to keep updating it and adding to it. A stale portfolio is a big warning sign for potential employers.
What Education Do You Have?
Where did you learn to code? Do you have documentation for any skills that employers might find valuable? If you completed a coding bootcamp, your portfolio is a great place to mention that. If you have skill badges or something similar, including them is always a good idea.
How Do You Solve Problems?
Knowing how to code is one thing, but coding professionally involves a considerable amount of debugging, problem-solving and other such tasks. "Seeing how they code and how they go about improving code can show how the programmer thinks about solving problems," Knight says. "Explanation around the project and the problem that was being solved is always beneficial."
Are You Making Any Big Mistakes?
Knight always looks for a few key mistakes whenever he evaluates a programmer portfolio:
Code done by other people. The work in your portfolio should be your work. Sometimes it's impossible to include your work without including the work of others, but you should always get their permission. And you should always call it out as someone else's work and explain why you're including it.
Large gaps of inactivity. A portfolio is a living document, and you should be updating it constantly. If potential employers notice a gap of several months in your work record, they might assume it's because you did no good work during that time.
Lack of new work. Programmers must keep working to keep their skills sharp and current. If there's no new work in your portfolio, an employer might wonder if your knowledge is current enough to keep up.
Poor descriptions of work. In most companies, part of being a programmer is being able to explain your code to other programmers, to your boss and possibly to clients. If your portfolio does a poor job of this, employers will assume that trend will carry through to your employment.
Build Your Portfolio
A coding bootcamp like The Software Guild is a great way to build your programming portfolio and connect with employers. In our 12-week full-time program or our 10-month online program, you can learn Java or C#/.NET from master instructors. Upon completion, you'll be prepared for junior developer positions. Apply today.
This post was sponsored by The Software Guild.