Staying Engaged in a Large Project
I’ve found giving up on my projects to be really easy, or at least hard to not do. I’m about to start another ‘big’ one and I have some thoughts about how I can maintain focus that you may find useful.
Not staying orthogonal has really made any big project a nightmare. Once your codebase is massive, small changes can have big, annoying consequences if you do not keep each system independent from others. Apple tries it’s hard to inject the idea of a Model-View controller into your head, and I get the point.
The human mind loves being rewarded and I’ve previously done a poor job of giving myself little rewards as I continually progress through my project. My last project I spread my attention and never focused on finishing a single part of it — I got zero reward from actually finishing even one screen from the game.
Not getting any validation or feeling of rewards sucked, but I also worked with people I did not enjoy working with. Be picky about partnerships with others, you might find yourself wasting a massive amount of time working with people you have little chemistry with.
I hate stressful, failed projects (duh), so I’ve really been thinking about how I can follow through with the next one. Here’s some of my hypothesis:
Separate the project into several mini projects. There are a lot of challenges ahead, so I’ve broken them down into related areas and plan on tackling them one by one. I want to keep my head focused on the mini project itself, so my mind isn’t caught dwelling on the size of the large project. This also forces me to be orthogonal. One project at the end will be dedicated to polishing and connecting all the elements together.
I’m not going to overwork myself. I’ve tried the 10 hour a day, everyday approach, and I felt like this cramped my creativity and turned me more into a obsessive, unproductive nervous wreck. I’m keeping my hours limited and I’m not going to shy away from other hobbies.
I’m not going to be shy about getting others involved. Don’t hide your project if you want to finish it. I know the fear of rejection is powerful but if you don’t get it out there then you aren’t getting any ideas from other amazingly creative people. Now that being said:
I’m not going to let just anyone work on the project just because they want to. I’ve seen plenty of people, including myself, throw themselves onto a team, making assumptions that everyone is driven, dedicated, fun and creative as you only to be severely disappointed.
I’m certainly not going to turn away everyone, but instead of approaching people to jump into a project, why not just ask to chat with them, get to know them a bit, discuss random topics, then see how you like em and go with it then?
These are my hypothesis. I start my project tomorrow, it’s a iOS game and I will share neat things I learn and make along the way.