Wednesday, January 12, 2005

Contrived Solutions to Fake Problems...

It sometimes is quite hard to think of contrived projects to write.

apart from anything else, the clue's in the question. They're contrived. I'll write something not to solve a problem, or meet a need. I'll write something to get some sort of experience of the stuff I've been reading about. As a result, however, it's very very easy to lose my motivation. My inner monologue goes something like this:
Me: Here's a fiddly bit of code. Fancy writing it?
Me2: Hmmm. Dunno. What'll happen if I don't?
Me: Not a lot. it won't get written, that's all.
Me2: And the result will be?
Me: You'll feel a bit guilty for a bit, but that's about it.
Me2: Is that Mrs Mawoo calling me?
Me: Yeah. You'd better go see what she wants.
...
Me: So how about that fiddly bit of code?
Me2: Fancy a bit of Flight simulator?
Me: Oh go on then.
Me2: Cool. Let's go!

And so it goes on, until I forget what the fiddly bit of code was meant to do, and my little project dies.

I've found in the past that the only projects I finish are the ones where I have a real thing that I want to do. I want to write an online version of Lingo Bingo. Ok, I'll get that done. I want something to add ID3 tags to my MP3 collection. Ok, I'll get that one. I want to build something that gives me a chance to get to know how inheritance works. Erm... Maybe later. I want to do something in SQL Server to exercise some good database design practices to get a bit of a better understanding of what's going on inside. Uhhh. Am I sure I don't fancy a sandwich instead?

I really do find it quite difficult to keep the motivation going for contrived solutions to fake problems.

But that's just a personal thing, I'm sure.

Does anyone else get that? I mean I haven't got a problem with learning new stuff, I soak that stuff right up. at a push, I could probably even tell you how a bunch of stuff works with analogies, diagrams and everything. But how I motivate myself to get some stuff actually written?

Anyone got any suggestions?

No comments: