3 ms·
Programmers aren't born good. When I started working on OSS projects I wasn't. I had a knack for it, but I wasn't an impressive coder. But after getting invo
by wheels 18y ago
Programmers aren't born good. When I started working on OSS projects I wasn't. I had a knack for it, but I wasn't an impressive coder. But after getting involved in open source and working with people better than me, surprise, I got pretty good.
"What you'll wish you'd known" has hit the front page again, and is my favorite of Paul's essays because of the bits about how it's a lot of work to become good.
Now, I don't know Lars, the guy that wrote this engine, but I am old friends with Harri, the guy who wrote the one he was replacing (KJS, original KHTML / WebKit JS engine) and he's smart, but not intimidatingly smart.
Open source developers tend to be some of the best hackers; I know since I've worked with them and I've worked many years full time as a commercial software developer. But the open source hackers don't join the projects as great hackers; they start as mediocre hackers that want to do something cool, and with enough cojones to take getting flamed when they screw up in stride and learn from it. Give that process a couple years, and poof, way above average programming ability.
- wheels 18y agoI was just rereading this and thought of some more interesting context: This was the KDE project. Harri got in and first wrote ... a modem dialer. Non-trivial, but not exactly mind blowing. A couple years later and much learned, as HTML / JS support was being added, he wrote the JS engine. I came in and wrote a crappy little flash card application since I was learning German at the time, then an MP3 tagger. The tagger went on to become a full-fledged music jukebox, and I rewrote the ID3v2 and meta-data layer to become TagLib, which has now become more or less the standard ID3v2 implementation (used by most OSS software, Last.fm and a handful of proprietary apps). In both cases we started small, bumped up our skills and then wrote something with some staying power. When people have done hard projects, it's easy to think it's because they were just born that way, but most of the time, they just kept learning, kept getting better, and eventually had some significant hacker mojo.