The end of Hacker School is quickly approaching and a thousand kittens are crying tears of sadness!
In order to maintain momentum and Never Graduate, I'm challenging myself and some other Hacker Schoolers to complete a programming project once a week for two(?) months.
This challenge is inspired by Iron Blogger, which requires participants to blog once a week, and if you miss a week, you owe $5. Mike Walker, from the Fall 2013 batch of Hacker School, wrote extensively about Iron Blogger.
The difference with Iron Maker, or Iron Forger, or Iron Something-Clever-That-Will-Hopefully-Come-To-Me-In-The-Near-Future, is that we will be completing small, self-contained programming projects, rather than writing blog posts.
Specifically, I want to work on projects that take about 4-8 hours to complete, and center around making, for lack of a better word, a product.
A few days ago, I asked Twitter for project ideas, but I hadn't yet figured out how to explicitly define criteria for what I was looking for. Moss Collum responded with an excellent blog post, which includes some defining characteristics of good projects:
- Short: I can see interesting results within a few hours, and some results even sooner.
- End-to-end: The project produces real software with a user-interface (even if it’s a simple one like a command-line script).
- Expandable: Once I have some working code, it should be easy to think of new features.
- Variable: There should be room to change requirements over time in ways that break my assumptions and test my code’s ability to evolve
- Fun: The problem should be something I can care about enough to stay engaged.
These projects are not intended to result in products that people will actually use. Instead, the intention is to get exposure to new tools and concepts and to practice making software design decisions.
I'll be maintaining a list of suggested projects on GitHub. I'm trying to keep the list short, manageable, and high-quality, so I'm only adding projects that I'm committed to working on, and then for each project I'll be adding details on how long it took and what parts were fun/challenging/easy/boring.
The repo also contains a list of resources with much more extensive project lists. If I'm missing any good resources, of if you've completed any small projects that have been particularly enlightening, please submit a pull request or create an issue!
There are probably no comments.