“My passion was my weak spot.” That's the title of this interesting piece by Jacques Mattheij. There's much in here that I agree with, and that I might offer as advice to an aspiring technologist myself. There's one part, though, that I strongly disagree with. That's Jacques' advice to never work for free in return for the promise of a future (paying) job.
My reason for disagreeing is quite straightforward: agreeing to work for free in exchange for future paid work was the key to my entrance into the technology workforce. Back in the early '80s, on the tail end of a couple of less-than-successful businesses, I needed a job. I very badly wanted to work with microprocessors (whether that meant hardware or software I didn't much care). I knew that I could do the work, as I had been doing it for six or seven years at that point – as a hobby, as a consultant (where credentials matter less), and in my own businesses.
The biggest challenge for me at that time was that I completely lacked the credentials to be employed as an engineer. I had no college degree. There was no open source movement back then, and no Internet, so there was no obvious way to use the peer recognition I had to help get a job. For instance, most potential employers had never heard of Gary Kildall or MP/M, and the code with my name on it was proprietary.
I needed a way to prove myself to a potential employer. I decided to offer my free services to such a company (Xscribe) for a limited time, with the understanding that after 90 days they'd either boot me out or hire me. I also made it clear that I'd be looking elsewhere while I worked there for free. I figured that if they weren't convinced of my skills after 90 days, they never would be. As things turned out, they made me a (great!) offer less than a month after I started. I never had trouble getting a job after that, as I then possessed a credential of sorts: a referenceable, verifiable track record.
So I'll disagree with Jacques on that point: sometimes working for free is a good idea...