Professional Development for Professional Developers: Part III

This is part three in our “Professional Development for Professional Developers” series where I outline the traits of awesome web developers and offer advice for those new (or not-so-new) to the field. Previous installments can be found here and here.

Open Source FTW!

Chances are you use open source software every day, you just may not realize it. A good portion of the web runs on Linux servers running Apache and serving pages written in PHP and storing data in MySQL databases. Millions of sites run on platforms like WordPress, Drupal, and Joomla!. If it wasn’t for the creators of these products open-sourcing them, the software world would likely be an expensive mess of proprietary, non-interoperable systems.

Last year I sat in on a talk at Ohio LinuxFest where a couple shared a sampling of the dozens of different Linux distributions they had developed in the year leading up to the presentation. Lots of them were simple re-skins of common Linux distributions (mostly Ubuntu and Debian) but some were tailored to a specific user type. For example, there was a kid-oriented Linux distribution that used big, friendly icons, hid a lot of the more advanced features, and included several educational games. A parent could take this customized version of Linux, install it on a machine, and be up and running with kid-proof system in very little time. The developer behind the distribution didn’t have to write the operating system from scratch nor did the parent have to petition one of the major distributions for a kid-friendly alternative.

In a looser sense of the phrase, open-source can also mean sharing what you’ve done. It could be a blog where you share code snippets, a case study where you break down how you approached a problem, speaking at a conference, or working with groups like Girl Develop It. Giving back to the community by sharing what you’ve learned costs you nothing but time and helps other developers grow so that they can solve problems and share their solutions. Sharing what you’ve learned also helps establish you as an expert in your field, which can also help bring in clients, job offers, and further opportunities to share.

Code Speaks Louder Than Words

You’ve received a degree in Computer Science, shaken hands, kissed babies, and finally have landed an interview with the development shop of your dreams. After a strong start the interviewer asks “so, do you have any code we can look at?” You stare at him blankly. “Well, nothing with me…” you stall, furiously scanning your memory for a recent project you can pull up the source for. Shoot, what were those FTP credentials for that site again?

A good hiring manager will want to see some code. In fact, programmers hiring programmers are increasingly paying attention to code samples more than your resume. All the certifications in the world don’t mean a thing if you don’t have something in code to back it up. When I was hired at Buckeye last fall, Brad asked to see some samples of my work. Realizing that most of my Github repositories had been stagnant for months and my best recent work was proprietary, client-owned code that I had no right to share, I needed to find something better to send. In our interview Brad had mentioned that Buckeye does some application development in CakePHP, so I spent a Saturday learning the framework and building a basic application. Nothing too fancy or time intensive, but it showed that I understand application development, am able to pick up new technologies, and that I was interested in the job at least enough to spend a few hours of my own time preparing for it.

Even if it’s just a small project, I strongly encourage you to put something up on Github or Bitbucket. Beyond having a public example of your work available, this says to potential clients or employers..

a) I know how to use version control at least well enough to put code on Github
and
b) I’m willing to publish this code with my name forever attached to it.

Will it be perfect? Probably not. Will a would-be income provider see every change, typo, and revert in the commit log (assuming they know where to look)? You betcha. It’s very easy to fret over having less-than-perfect code out there for people to see and silently judge, but having less-than-perfect code out there far outweighs having nothing at all.

To be continued…

Want to Connect?

Related Posts

development
Developers collaborate to launch a client-focused site successfully and efficiently.
up-to-date website
Having an up-to-date website can be a clear contributor of success.
Buckeye developer
Life as a developer at Buckeye Innovation: Hear from our team members themselves.