I have came to the realization tonight that I’ve failed at working on any of the ideas I’ve had outside of $work (including blogging here and @ counix.com). Most of the projects that I have thought about personally have never seen the light of day. Now I’m sitting here writing this in hopes that I can figure out what the problem is. Is there such thing as “personal developer block”
At $work I have to balance my main responsibilities (management) and my passions for the things that interest me (rails, ruby, etc…). When I can escape into code at $work its liberating, it frees me from the other duties that in all honesty are not the funnest things in the world. When I spend my time developing, no matter how short… I enjoy it, it brings a smile to my face. I enjoy talking about code. I enjoy brainstorming with my team. I enjoy fixing problems. I enjoy finding new solutions.
So what’s the problem at home? Why can’t I find that same passion for the personal projects that I have burning in the back of my mind? Why do I care about the projects at $work more than the things at home?
Don’t get me wrong, I am constantly hacking.. its just never projects just little chunks of code or routines here and there but nothing seems to evolve into a full blown projects.
Why have I failed?
I think I know what’s wrong:
I need to find the right projects - With every idea that I tend the think about my mind wanders to the money factor almost immediately. Thats where I fail. I need to focus on projects that I would use and be interested in, not the apps that I “think” someone would be interested in. If I don’t care about the project it will die.
I need community/teams/mentors - I’m the type of guy that thrives when I have one or two other people around working with me. I am the most productive when I am pair programming. Without that other person there pushing an driving me things will fall to the wayside. I will miss problems and my designs will suck. Without the right team I can’t function.
I don’t contribute back enough - For as much as I depend on FOSS I have barely done anything to help the projects I depend on. No one will learn who I am without giving back.
I’m not good enough - Over the past year I have absolutely blown at making myself a better developer.
I will find projects that interest me until I get out of this funk I need to focus on items that get me excited.
I will take a more proactive role in the developer groups around my area… maybe establish a local Ruby Group. I plan on taking a close look at the team at $work and consider some changes to make the environment better. I can’t be a single developer anymore. When the other developer left I fell off track. I plan on sharing my knowledge with the world. Expect to see more posts here talking about things I consider myself to be an expert in.
I just need to work on FOSS projects. Period. I will begin fixing bugs in Rails, Capistrano & other projects I depend on immediately. I will also begin moving a lot of personal code out to the wild. I plan on becoming an advocate for the projects I depend on, ie Linux, OpenSolaris and MySQL. The only way to get more people using them is to show their strengths and being honest about their limitations.
I need to broaden my knowledge base. I plan on finishing the stack of books I haven’t touched this year. I plan on getting way better in erlang. I plan on writing a book, handing it to a friend and seeing if I’ve added anything to his life. I plan on getting better organized. I will use a better way to track my tasks than a combination of email, scribbles on small pieces of paper and memory.
Its late, I’m hitting the sack. This post is going to help me, and I’m happy to share it with the world.