Dave K. asks:

A follow-up question to “Is formal education important”... How does a “beginning” programmer/developer/designer gain the experience that you guys, or any company for that matter, want to see? I’m assuming that you want to see a portfolio of a someone’s work…but how do they go about building up their portfolio? I guess the general question would be, how does someone get started?

A great way to build a portfolio without clients is to make up fake clients. That’s how I got started.

Designers have it easiest

If you’re a designer you’ve got it easy. Design a few screens for your own fake online shoe store. Or online bank. Or cell phone company. Or grocery store. Show the world what you would do if you had the chance. I’ll guarantee your fake client portfolio will look better than your future actual client portfolio too.

Programmers: Go open source

It’s easy to show the world what you can do visually, but if you’re a programmer you’re going to have a tougher time making the quick sell. So what I would suggest is to get involved in open source projects. Find a project you’re passionate about and lend a hand. You’ll learn a lot, be exposed to different approaches, and be able to pitch in on something real. Everyone we’ve hired at 37signals has contributed to an open source project. It’s a great way to show an employer what you can do.

Just do it

No one is going to give you a portfolio. You have to build it. Make up your own clients. Fill in your own portfolio pages. Show people what you can do given the chance. That’ll get you started.