My feet are wet - now it's time to get the 'swimsuit' part into the cold water.
October 20, 2006 8:43 AM   Subscribe

Now that I'm getting familiar with PHP and MySQL et al, what should I add to my portfolio to make myself hirable?

I've seen the dozens of questions here about becoming a web designer, but as everyone always says, mine's a little different.

I've done it as a hobby for a few years, and recently I've started to get a bit more serious about it. For example, I'm building an online version of Kinkless GTD in PHP and MySQL for my own use. (I'd eventually like to make it available to the internets, so if you'd like to play around with it and help me test, email me.) It's got a fair amount of PHP behind it (and eventually, probably some AJAX as well). So I know the basics, and I'm capable of learning by doing.

I've decided I'd like to move into web development of some sort as a career, either freelance or at an existing firm. Previous questions have established that the almighty portfolio is the way to get hired in this field.

So my question to the great green aether: What are some good projects that will teach me more PHP, MySQL, Javascript, or other important languages that I can do for myself to put in my portfolio?
posted by cebailey to Computers & Internet (4 answers total) 4 users marked this as a favorite
I respect a programmer that can write tight, well commented code. Many web programmers can write good server side code, and then fall apart wrt html/css/js. In the web 2.0 world, it's becoming more valuable to be able work with some of the various JS libraries (I prefer Prototype and Moo). Learn the DOM and learn to write very clean html and css that renders without errors and validates cleanly.

Get out some of the server side frameworks and at least write a Hello World in each. CakePHP and some of the new frameworks are interesting in that that have new ideas to offer and can help you learn to attack problems from different angles.

Some of the existing projects out in the wild support various extensions. Vanilla forum and Drupal both support modules that add functionality to the core product. If you are seeking freelance work, writing some modules can be a good way to interact with other people and make yourself a little more visible. Check out the forums for both and you'll find people requesting various features that you could contribute.
posted by tumble at 9:02 AM on October 20, 2006

Actionscript (Flash and Flex's language). It's basically Javascript (it's based on ECMAscript), but the new version, AS 3.0 is more like Java. It's evolved from being a toy language to a fairly robust and serious development tool.

Adobe is waging war against AJAX to dominate web applications. My prediction is that they'll lose (it's hard to sell something -- Flash/Actionscript -- that competes against something that's free: AJAX). My guess is that ultimately, Flash technology will be used primarily for video. But (a) predicting the future is a dangerous game, so I may well be wrong, and (b) if they're going to lose, it won't be without a fight, and they'll lose slowly. So AS will be around for a while.

I know AS/PHP/MYSQL/HTML/JS and CSS, and it's the AS that seems to push me over the edge into getting various jobs. It's hard to find developers who know AS, because many developers look down on it (this may change, now that Adobe has finally released a Flash player for Linux). So the companies that need hardcore AS developers have to turn to designers. Designers tend to know a little AS, to help the out with their Flash animations, but they're lost when it comes to making a heavy-duty app.

Flash players have been built into cellphones and various other devices, and sometime soon, Adobe is going to release a new dev platform (currently code named "Apollo") that will allow AS developers to create Internet-enabled desktop applications (like iTunes).

In addition to this, I often wish I knew more about the internet backbone: TCI/IP, sockets and the like. I keep meaning to get around to studying this stuff, but so far I haven't. But I know it would be seriously helpful.

Finally, knowing some Java and C never hurt anyone.
posted by grumblebee at 9:03 AM on October 20, 2006

When I first got into web development, I started by freelancing on the side. I had a solid base of HTML/CSS knowledge from my own websites/projects, used that to get a job doing a MySQL / PHP project for my dad's company (for very little pay), and ended up getting a job doing .NET development for another company. In each case, I taught myself the language on the job. In my experience, being able to list the language on my resume hasn't been as useful as being able to convince an employer that I could pick up on any new language quickly.

So, I guess my suggestion would be to network a bit - talk to friends, relatives, friends of relatives, and see if anyone has some resume padding projects you could do for free/cheap.

If not? Come up with some projects on your own. Make a database with a PHP front-end to organize your CD or DVD collection. Make a database app to track your freelance hours. The Kinkless GTD project sounds like a good start.
posted by geeky at 1:53 PM on October 20, 2006

Learn something that will let you write compiled backend apps for doing key optimizations. Learning how to make a socket-based program in C is trivial -- all the libraries are included in the standard gcc distribution, there's great sample code on the net, and PHP has built-in socket functions that will let you send and receive messages to your memory-resident C program over the server backplane. You can compile your programs in UNIX with gcc.

Doing this will also teach you nuts-n-bolts stuff about how things are working under the hood that will be invaluable down the line.

Trust me, it's a lot easier than it sounds and every moment you spend on it is worth its weight in gold.
posted by spiderwire at 1:29 AM on April 7, 2007

« Older What's happening here?   |   Metafilter, "magazine" of the future! Newer »
This thread is closed to new comments.