I have usually mentioned of the advantage of the Internships in Open source, whenever is Google summer of code, or FSF collaboration projects, or project specific internship. However there is some pre-required knowledge students should get. Having and organizing a professional portfolio is very important.
Companies and other developers have some new protocols to view and understand the way programmers can be recognized from their work. Although there are still many things that haven’t catch on. Social networks, code repositories, and open development has definitely been part of them.
First thing is first, who are you? Having a personal page help, whenever this is on a local host or this is a free account on a service like about.me. Or even your G+, facebook or blog. Is important to list your contact mediums, make sure they point to active mediums like avoid having your old college email that you haven’t touch since you left many years ago.
Although you are not forced to change, be aware there is certain elitism in technology and using AOL or Hotmail account will lower people’s expectation. Some people tend to think that your IT skills are very outdated. On the opposite side of the spectrum, having your own email like email@example.com or pointing to a project you contribute like in my case firstname.lastname@example.org and previously email@example.com, may generate the opposite reaction.
Is important to also be able to show your work, here is where there are many issues and controversies. As a private employee, there is contractual obligations in order to show or not how your code.
This is why is important to have personal projects that you can show your proficiency. Showing and describing the modules or classes you have generated is always a good way to show off your knowledge in the area.
Here is where public repositories make their play. For almost 2 decades Sourceforge has been the most popular code repository. Since then, we have other well recognized repos like Google Code, and more recent Bitbucket, Gitorious and the premier GitHub.
Having a good amount and up to date projects could be a great way to show your skills. Updates could be fixes for updates on the language convention (making your code Python 3 or PHP 6.x compatible). Fixing bugs or just having other developers adopt it and contribute patches to other projects could be a great YES.
Writing whitepapers is also a non-coding way to show your knowledge. Having research, and something more complex than a random blog post could be a good way to let employees know, that you are actively looking for ways to improve the status quo. Something that companies with the right culture will be open to.
Talking about development processes like XP programming, SCRUM, software architecture and IT Project management. If you ever had the opportunity to have a presentation on slideshare or a youtube conference.
There could be a time that you have too much of everything, there is when your content management skills need to kick in. It should be easy to read and follow through, the last thing you want your scout is to get distracted with un-related content that could affect you. This is why is good to maybe have a service like storify or a link bank that can pick and choose what show and what not. This will maximize the possibilities to hit of their needs.
Mind maps is also a good way to expose your broad experience in different topics all in one simple image. A friend of mine, did this on his site, where he show it’s specialties and also link to different areas. Mind maps can be done on a more artistic or more mundane fashion, important is to make your strong points more prominent and not confusing. Semantik is a great software for this, an alternative would be Freemind.
If you want it to take it the next level, you can also plan on having a dedicated website and look your image as a business brand. Investing in a good photo shoot, with a good make-up using a image manipulation software like Gimp or MyPaint. Editing an introductory video using KdeLive, or OpenShot. If you aren’t the best looking guy for a photo shoot, you can always get a service or artist to draw a cartoon of yourself. This will make you a bit more marketing-driven than competitors. Don’t over do it, but also show interest in your image.
A good example is the Twit avatars here:
To finalize you want to be able to promote your image on the web, a good way to do it is to be able to generate visitors. Adding your website to your email signature, or to your personal card is a good way to start. But also be able to spread it through professional networks and old friends is also a great way to get business going.
Business contacts as well as commerce chambers are great way to establish professional networks, events at local chamber of commerce or just be able to subscribe to their feed can allow you to open the door to interact and push your brand. Although you shouldn’t be too aggressive to an extend to hijack conversations. But should open enough to people to learn about you and recognize your skill sets.
Linkedin is a great resource since you already have a uniform way to present content, however, the key to Linkedin is their groups and their Answers areas, where people get to interact and people looking to either hire or get hired are in one central point of communication. Even as a freelancer, you should let people know that you are always looking for projects, and how you can benefit to their business.
This is by no means a small point, is actually the very first point. Most users would be thinking on how can this guy make me money. So is important that you don’t hide this information but quite the opposite put it right next to your name. Something like John Doe: Making your operations run smoother, but also that doesn’t look as cheesy. A quote is usually useful, and understanding business and buzzwords can get to the perfect quote. Something like Mary Jane: Social media is the fastest growing market, make your business be part of it. As a programmer, or coder a good quote would be Mike Johnson: Code is art, without passion is just math. Obviously here we have some keywords like code and passion. For people that read this, they understood that you care about your craft.
Think about your own buzzwords and come up with a nice quote and embrace it for you and for everyone that meets you.