The year is off to a fresh start, and as such, it is time for many people to make those new year's resolutions and to maybe get a new job. And if you're a young up and coming programmer nowadays, you're going to need more than your fancy laptop and geeky stickers. Those help, but only so much. What's worked for me for the past 10 years is my Portfolio. And I speak of it in a physical manner. It sounds weird for a programmer to bring in their portfolio to a job interview, much like a graphic designer or artist would, but it's doable and it gets a reaction. And that's due to the fact that most other programmers applying for your position, won't bring in a portfolio. They will just walk in and hope that the questions asked are things they still remember from college.
Why it's important
I once interviewed for a job during my early after-college years that turned into one of the biggest learning experiences of my career. It was for a city job, with a very knowledgeable project manager. And I mean, very knowledgeable. And with a panel of about 9 people in a round table. The 23 year old me still wakes up screaming sometimes. But it was a phenomenal 1 hour process that pushed me to very high limits. As I had very little work experience during this time, as in 0, I brought in my portfolio with several school and personal projects. 9 copies were made and handed out to each and every one.
For the next hour, each page was dissected word by word. And I defended each and every one of those words. I did not receive that job unfortunately, but the project manager was so impressed that she recommended me for another position. Had I not brought anything in to this panel, I can only imagine that the hour would have revolved around questions which I may or may never have heard of and left everything to chance.
The physical portfolio can still be a valuable tool for you. It's like a knife. It can get dull with time, but you can always sharpen it. You use it, it gets broken down, you fix it. So follow along and I'll break down what a programming portfolio can look like using my very first one as an example.
showing > talking
1. Part 1: Your Resume
If there's one thing you can't escape when applying for work, is setting up your resume. It's not something that I personally find much use for, but it's something that's ingrained into our work environment, and so it has become important. The usual measure of no more than 2 pages is probably accurate enough. Keep it short, keep it simple, and don't get too focused on the tiny details.
My main goal here is to see where you worked and for how long. Just having "Experience with .NET" written down is unfortunately (or fortunately) not enough for me to make a decision. But it does help me understand the amount of time that you spent in this particular environment.
2. Part 2: Detailed Work Experience
The reason that I keep the work experience section short in the resume portion, is because I'm going to dissect each and every job in this section. But only with important and relevant information. Screenshots are welcomed here, unless it's some internal process of course.
3. Part 3: Personal Work Projects
This is the fun part, because its only limitations are your imagination. Sounds corny I know, but it is true. And if your last project was in 1998 for a company that went under in 1999, then you need more projects. Each year I used to try to make at a minimum 1 fully featured website. Just 1. Nowadays, I just make them whenever the twitch hits, or whenever I'm in the zone. This shows that you want to learn more in life then that which is placed just in front of you. You're willing to ask questions and you're willing to dig deeper.
Most developers that I've met at companies do not program outside of work. I know probably 2 or 3 that do so daily, and they live in a different world than everyone else. They create, they think, they solve problems. And that's what any hiring manager wants to see when someone walks through their doors.
4. Part 4: Future Projects
This one is optional, and only something that I've tried more recently.
Create a list of all (or some of) your future projects that are in the works. Include notes, screenshots, doodles, whatever. It's best to keep this list somewhat short and maybe not give too many details. Let it be a glimpse of where you mind currently is, but nothing more. During past interviews I've had project managers question whether I had the time for both work and these projects. To which the answer is, I have no idea, let's find out.
5. And Lastly: Always Sell Yourself
People have a bad habit of talking their work down, talking themselves down and of not highlighting their strong suits. I know as I've done all of these in my time. And normally this is due to a lack of confidence or even one bad question can throw you off and make you feel like you should have been a farmer instead. You worked where you worked and you know what you know. People relied on you in class or in past jobs to get things done, and the fact that you're in a chair with an opportunity in front of you shows that it's paying off. So own your skills, own your work and keep that knife sharp for when it is needed.