2 ms·
As somebody who works on months-long and frequently years-long projects, I have some advice. Firstly, I prefer not to solve /all/ of the hard problems at the s
by mrj 17y ago
As somebody who works on months-long and frequently years-long projects, I have some advice.
Firstly, I prefer not to solve /all/ of the hard problems at the start. I try to somewhat polish and test each feature before moving to the next. Otherwise the tail end of your project will become a long slog while you have to force yourself to address all the little things you've put off. It's a massive demotivator.
Also, you really need to break large projects down into smaller pieces. The large project quickly becomes overwhelming and despair can set in. Instead, set out to accomplish a small piece every day. The important thing is to feel like you've done something worthwhile every day, and to have something new to look forward to tomorrow. You'll get used to feeling good about yourself at the end of the day and programming will become addictive.
Usually I think about what I'm going to do that day between hitting snooze or driving to work. I map out what I want to get done in my head. That'll motivate me for the day. Of course, the problem with this approach is I tend to get upset when the day's plan changes. But that's kind of a personal intensity I have to keep in check sometimes.
Lastly, I find I'm pretty motivated by feedback. I want the users to like what I've done, so if I'm having motivation problems it can help to get my programs in front of users. I like to get prototypes in the hands of the right users, ones who'll understand not to expect everything to be done, as much as possible. It'll keep me on the right track.
Of course, there's still those days I have to turn off the bookmarks toolbar and force myself to work on something. Usually that's caused by a roadblock or a decision I haven't yet figured out. Sometimes I have to put my feet up on the desk and just noodle for a while.
Anyway, a lot of this will come with more experience. (Just a guess from your post.) When I started I was overwhelmed with the possibilities and new stuff to learn that I experimented with a lot of stuff, too. Somewhere I still have a project folder filled with just "messing around" projects.
It doesn't matter if those are ever finished, it's an important part of learning. But that was personal stuff... You should finish the work project. :-)