The worst part of any programming project..
.. is the beginning. No matter how many times I've done this - it never fails.. when I have to start a new project I hit a wall. It's not the lack of ability.. it's not lack of confidence in my skills.. it's just.. well, okay, I lie. It's usually lack of confidence in my ability to finish the project... heck, finish, I have a hard time just getting started.
The funny thing is, when I do get started it normally takes me about half an hour to get into the groove and just.. go.. everything comes together.. Code flows from 0 to 60 in less than 5 seconds... and I do have the ability to finish just about every project thrown my way.
So given the fact that in my short experience as a programmer I have yet to fail in a project, why such a disapointing lack of confidence at start?
Now, I know my typical entries are half-serious and light-hearted, this one isn't meant to be. This is something that bothers me.. a lot. I could be 30 times more productive if I could overcome this problem.. so why?
Comments
Shouldn't you be *working* and not chattering in your blog?
Posted by: Steve Friedl | June 25, 2003 10:19 PM
Ah, don't worry about it. Of the few people I have spoken to about this (and I'd only discuss it with people who I think are any good), that's just the way it goes. This time they're going to find you out. This time you're going to fuck it up.
Here's another way to look at it: why the hell would you be spending time on something which was no challenge whatsoever?
Posted by: dave | June 25, 2003 10:44 PM
If I might make a generalization on computer geeks in general (hey, you get the lab. by being a programmer, even if you ARE a really cool person) we all lack confidence. Its just a fact of life... I do it all the time. "Oh no, is this the job thats going to show that I'm a complete bafoon, because i dont even know where to *START* fixing this one..." But after a little testing and tweaking its all better....
The only advice I have to give is to spend as little time thinking about the width and breadth of a project, and just get down to technicalities... Take the project, and instead of looking at it just obtain "point A" and "point B", and start breaking the process down into steps
Once you've *STARTED* on the project you'll feel more confident about it, having wet your feet, *NOW* step back and examine the project as a whole... so instead of having to come up with something from stratch with your initial "scoping" the only thing you have to do is modify a skeleton flowchart that already exists, and shows you your rough road map
Well enough rambling on my part -- I'm not even a real programmer! (which means It's completely safe and acceptable to throw my opinion out with a "he doesnt know what he's talking about" type comment)
Posted by: apokalyptik | June 25, 2003 11:01 PM
You're just burning cycles in unconscious planning mode. :)
Posted by: Matt | June 26, 2003 12:36 AM
It's just "The Zone" -- an apprehensive and timid beast. We all go through it, especially at the beginning of a project. The hill to climb to capture "The Zone" is always steepest at its foothills. But, once attained, everything flows like water.
So, in the comfort-by-numbers axiom, all programmers (at least, all that I have been privy with) go through the exact same thing.
Posted by: J$ | June 26, 2003 02:41 AM
I suffer from the same problem and I'm a designer so I won't let you claim this as a Programmer's problem. :)
For me it is worse because as soon as I start stalling I realize what I am doing and then I get annoyed with myself, which usually just makes me second guess myself and causes more delays. This happens almost every time I start a new project. I know it shouldn't. I know I'm perfectly capable of doing my work. But it'll hold me up for days.
But then once I actually get started I love it and really fly through the work. But I have to stay active with it. If I lose momentum I have to start all over again.
I'm glad it's not just me.
Posted by: Xian | June 26, 2003 03:25 AM
I know the feeling, I get it a lot.
Though usually it is because people have unrealistic expectations from a project ( I have a real good Dilbert cartoon that illustrates this point ), but generally it is more that I really love my coding and feel that the project jus is not much fun as some of the other stuff I could be writing.
Posted by: Sam | June 26, 2003 05:59 AM
Talk about ironic! I was sitting here this morning trying to get motivated to:
Start a new project
Fix bugs on a project that is over a year old
Instead I was reading up on my blog roll. The hardest part of the project for me is the beginning - lack of confidence that I can do what the client wants and so I do something bad - I *think* I need to *think* about how I am going to do it. I do this EVERYTIME I start a project. I should have learned from my years in radio to just dive in. Planning is one thing, over thinking is another. I do the later. Once I get going on something though I tend to do marathon coding sessions and I feel great afterwards.
I have also been thinking about experimenting more with my code to push it as far as I can. Again, from radio, I am not afraid to tweak something, I will rip apart a radio to make a hack or fix it when something goes wrong, but I am afraid to do this with programming. I used to sit in production studios and experiment for hours and yet I get afraid to do that with programmning? And I don't know why? Make backup, if my plan does not work resort to backup.
Posted by: Scott | June 26, 2003 08:10 AM
I share a similar inability to get started, and whether its a lack of confidence or a lack of initiative I don't know. Like you, I too finish all the projects once I finally get started on them but it could take me hours, or even days to start.
It was always the same with me and important phone calls. I would build it up for minutes, hours, days, in my head until I would almost suffer a panic attack from having to make the call. Then finally, I would make it and everythign would be better. Nevertheless, my parents laughed at me continiously when I did this. Still haven't really found the cure, though I have noticed that its easier to start if I say to myself "We'll do it at 3pm but I'm going for a run from now to then."
Posted by: Chris | June 26, 2003 02:25 PM
I have the opposite problem. I love starting projects. At the start, all your options are open, you have blue sky ahead of you and you have the chance to throw all your ideas up in the air and see which ones start flying. I love the challenge of looking at a problem domain, and trying to work out just how I'm going to subdue it.
I hate trying to finish projects. When all the creative work is done and the only things left are the niggly details, I have trouble staying interested.
Posted by: Charles Miller | June 27, 2003 05:56 AM
Hmm... The worst part is usually debugging and then documenting (assuming that you are doing the project yourself from the beginning till the end). The project starts slowly but it is still in the design phase and usually I am a bit excited about it. Then comes the actual coding and this is the part that us, geeks, really enjoy. And then debugging and documenting. I usually get tired of the whole thing by this time ;)
Posted by: moxliukas | July 4, 2003 07:23 AM
Actually, it is a matter of confidence on your personal skills.
And another thing, have you ever thought that actually finishing a project doesn't mean you're doing it the correct way? That another programmer could just go there and do the same project in fewer lines of code and working faster while consuming less system resources?
Posted by: Rui Pacheco | July 16, 2003 11:35 AM