July 5 #CodeNewbie Chat

In order to stay focused and get more stuff done, I’m staying off Twitter for the rest of the year. But I can’t resist joining the weekly #CodeNewbie chats!

So instead of a bunch of tweets, please accept this blog post as my way of participating. 🙂

Personally, I’d say a portfolio is anything that you can use to tell a clear story about your skills and interests via a body of work. It can be nice to turn this into some sort of formal package… whether it’s a website, or a slide deck you pass around by email, etc… but the particular format doesn’t matter.

In my case, I’m a technical writer, and I occasionally pick up writing contracts. In the process of doing so, I will send along a PDF copy of my latest book, along with a link to my O’Reilly Ideas article collection, and the Practicing Ruby journal. These three things combined are fairly representative of what I can do with writing, and makes it easy for the person I’m talking with to assess what I might be able to offer them.

For a newbie, it is often the case that people assume “OK, I’ve not done much significant work yet, so therefore my portfolio won’t be impressive.”–It is important to know that this is a huge, huge misconception!

Say you’ve been coding for only six months. Your portfolio might consist of the following:

  • Some examples from books you’ve been reading or courses you’ve been taking (with credit to those resources)
  • A sample of some notes you’ve taken while learning, illustrating what you’ve learned along the way.
  • A set of plans or bits and pieces of a side project that you’re trying to put together.

Someone looking for a senior developer would not be impressed by this set of work samples, but someone looking for a junior developer or apprentice absolutely would be!

My own first portfolio consisted of a metronome application that barely worked, and a text-based game that was little more than a dice roller with ridiculous ASCII art. But it was enough to get me my first real coding gig, because the place that picked me up were looking for someone with basic coding skills that could grow into the work over a long period of time.

Keep in mind that your portfolio will evolve and improve over time. Keep tweaking it, and let it grow and change alongside you. Don’t wait until you’ve cleared some imaginary skill bar to start putting it together.

I am a big fan of custom-building portfolios for specific opportunities. For that reason, I’ve never tried to put together a one-size-fits-all public website. As I mentioned above, if I’m looking for writing work, I send samples of writing projects. In a business analysis job, I might send a few case studies of tough business problems I’ve worked on, and for code I might point people at PrawnPDF, or take a few screenshots of commercial projects I’ve done and combine that with a couple paragraphs each describing some interesting problem I’ve solved there.

The key is to start with the question of “What is the person who is viewing my portfolio likely to be interested in knowing about me?” and then frame all the samples around that. Even if you end up using the same handful of projects or stories over and over, you can frame them uniquely for each opportunity you’re pursuing and that’ll increase the likelihood that your samples will be well received.

It’s important to keep in mind that a portfolio is not a comprehensive review of everything you’ve ever built in your life, and so “More stuff” is not the end goal. Instead, think of it like a movie trailer, or a brochure, etc. It should tell a specific story, succinctly, and highlight the most interesting parts of what you’re up to in any particular context.

As I said above I  build custom portfolios privately for each opportunity, but I’ve included this tweet here because I’d love if others found folks from #CodeNewbie this way. 🙂

While I don’t have anything new to share this week, I am considering getting back into developer education stuff soon. I’m specifically looking to build a sort of low intensity, long term alternative to code schools (or something that might serve as continuing education for those who just completed a bootcamp, etc.) — If that topic interests you, please email gregory@practicingdeveloper.com and I’ll tell you more about what I’ve got in mind.

As one of the folks who started the whole code school movement way back when, I’ve never been particularly happy with the bootcamp solution. It solves a current urgent problem, but the long term challenge of building something that operates more like a proper trade school at affordable prices is still an unsolved problem. So that’s a space I’m thinking of dipping my toe back into soon enough, if all the stars align.