97 Things Every Programmer Should Know

(Chris Devlin) #1

Collective Wisdom from the Experts 69


Open source provides enormous opportunities for the motivated program-
mer. First, you get to see how someone else would implement a solution that
interests you—you can learn a lot by reading other people’s source code. Sec-
ond, you get to contribute your own code and ideas to the project—not every
brilliant idea you have will be accepted, but some might, and you’ll learn
something new just by working on solutions and contributing code. Third,
you’ll meet great people with the same passion for the type of software that you
have—these open source friendships can last a lifetime. Fourth, assuming you
are a competent contributor, you’ll be able to add real-world experience in the
technology that actually interests you.


Getting started with open source is pretty easy. There is a wealth of documen-
tation out there on the tools you’ll need (source code management, editors,
programming languages, build systems, etc.). Find the project you want to
work on first and learn about the tools that project uses. The documentation
on projects themselves will be light in most cases, but this perhaps matters less
because the best way to learn is to investigate the code yourself. If you want
to get involved, you could offer to help out with the documentation. Or you
could start by volunteering to write test code. While that may not sound excit-
ing, the truth is you learn much faster by writing test code for other people’s
software than almost any other activity in software. Write test code, really
good test code. Find bugs, suggest fixes, make friends, work on software you
like, and fulfill your software development ambitions.

Free download pdf