You know that folder you’ve got filled with coding projects that never made it off the ground?
- code snippets that could become libraries, with a few tests
- libraries that could become gems, with some new documentation
- gems that could become side projects, with a bit of refactoring
- side projects that could become products, with the right game plan
You start each project with the best intentions, even big plans for some of them… but then life gets in the way, and you focus your attention on more important things. Then when you get some free time you dream up another project, and the cycle repeats itself.
You know that you can ship – you get all kinds of other projects out the door at work. Why do your open source ideas collect dust and regret?
The rules you apply to get stuff done at work don’t apply to your hobby projects. If you take the objective-driven approach you use in your work and try to use it on your hobby projects, you will continue to fall short of your goals – and keep piling on the guilt.
You can break the cycle, by launching one of your open source project ideas. You can push the spiral upward, by getting one project out the door and moving on to the next one.
You just need to learn a few skills and techniques that will help you dig in to your project graveyard and bring your projects to life.
Get Hack Your Open Source Project for FREE and you will:
Please enter your name and email below so I can send you Hack Your Open Source Project, absolutely free:
You can view blog posts by date on the right, or search for terms that interest you.
On this page you’ll find some articles that will give you a good idea of the kinds of things I think about.
What does it mean to “deliver value”?
It should be as simple as building what users want, right? Why do some projects fail to pay for themselves even though developers are cranking out features? Are you punching your users in the face?
The hidden value of the Agile Manifesto
The Agile Manifesto provides a clear set of values to guide software teams. One un-named value underscores the whole thing.
Read to Learn
If you want something to keep you busy, I’ve got a list of books that you might want to check out. I’m not calling this an exhaustive or a necessary list of books to read, just ones that I’ve found helpful in my studies as a programmer. See my books for software-oriented humans.
Amplify learning with focused habits
My father’s educational habits greatly influenced mine. Learn more about them in One doctor’s model for continuing education.
Taking on testing lore
I make a framework vanish with a dozen lines of code in *poof* … and then Rails was gone. DHH’s counter-argument is nowhere to be found, either.
Ending the debate on private methods
…once and for all! Testing protected and private methods in Ruby
Do I need to be a craftsman? What do they mean by “passion”?
Sometimes you’re $stdout, sometimes you’re $stderr
Any success comes after overcoming countless challenges. I reflect on some of my own in Fear of Failure
I done messed up. Where is the love?
I’ll just say it… I’m not sure what it is that I’ll say, but I know I’ll say it. I think we need to understand that people mess up and that what’s important is how we respond. How I’d like to handle my future public fuck up.
How to get 10x better at programming with 1/2 the effort
I love pair programming. Or do I? It’s up to you to figure out
When things get tangled, it’s time to decouple
Let’s get nerdy for a bit. You can simplify your testing practices by tweaking one configuration in Rails. Better Rails Testing – Decoupling Observers
When you just can’t keep DRY
You might think duplication is evil, but you can use it to your advantage. Learn how in When Duplication in Tests Informs Design
What’s the verdict on law of demeter?
Breaking down encapsulation
Highly objectionable! Let’s go deep on design in To Be an Object, or Not to Be, That Is the Question
Speaking of deep design…
Want to save time and money, and expose risk points early? Design Deep, Not Wide
Behavior and persistence, sitting in a tree
They say not to mix concerns. How could something so wrong feel so right? Behavioral Methods in ActiveRecord.
Write your first rich interface using TDD. It’s all downhill from there…kinda Backbone.js Testing Pattern – Describe a View’s First Render.
Better than the weather. Getting good at Smalltalk
There’s a lot to love about this language. If you want to get started with it here’s a good set of resources.