I've been a bit discouraged with my career this week. I reached a point where I'd finished up some things and wasn't inclined to jump into the next project. I was kind of wrapped up in a malaise that I couldn't shake. This had nothing to do with where I work as the conditions are wonderful and the pay is more than I'm worth.
Then this morning I picked up a bit of work - a modification to a project I'd done a year ago - and I found a terrible, twisty, nasty little problem that I need to figure out. It isn't so difficult that I won't get it solved today, round about 5:00 I wager.
Now I'm happy again.
I think I like figuring out little problems.
I'm happiest when I'm looking at my screen and thinking what the elephant am I gonna do about this mess?
About an hour or so ago I announced to the office "I'm pissed off with all this stuff working, I wish something would go wrong so I can have a problem to solve".
We had a livation (I made that word up I think) event last Thursday and everything has been cleared from my desk to deal with the fallout of which there has been almost none, and none that wasn't utterly trivial.
I like problem solving, I like having to think, I like something new.
Every man can tell how many goats or sheep he possesses, but not how many friends.
I work on code at home, and try to include something that I've never done before. My current "big" task is my Media center PC software (I put that on the back burner when I developed an unnatural urge to re-do Anagrams as a WPF app). I'm back at it on the MAH project though, and am currently working on the back-end (SQL Server database with custom code instead of using bloatware DRM frameworks).
I do the manual coding because I like to, and see no reason to avoid it. After all, it's not like I'm on any real schedule, and my project manager is my wife, who isn't too terribly bothered by Media Portal right at the moment. On the other hand, I cringe whenever I use Media Portal, knowing full well it needs to be updated, but not wanting to deal with the process (and mostly because of the additional plugins I use).
In any case, I've gotten to the point where I can scan a "media source" (a drive on my network) for .iso and .mkv files, query an online movie database, and associate queried data with the selected file. I got to the point that I'm ready to save the movie info to the database, and realized I didn't have a database. I can also put additional DVDs into drives and usb thumb drives, on any of the systems on the network and watch those "on the fly" (they're not added to the database, but show up in the list of available movies under the genre "Removable Media").
All in all, I'm having a great time futzing around.
".45 ACP - because shooting twice is just silly" - JSOP, 2010 ----- You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010 ----- "Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass." - Dale Earnhardt, 1997
For me, I like building things. It's completely freakin' awesome that I can make something out of thin air. (Has that ability ever existed before in humanity's history?) Bonus if the thing I make is useful to me. Double bonus if other people find it useful.
And we live in a time in which those things I make can be put it in front of thousands of people instantly, for next to zero dollars.
Making things is fun. That's what keeps me interested.
I do believe you are one of the first people I've ever seen that spelled that word correctly in an online forum. I don't know how many times I've had to throw up in my mouth a little when someone's interest was 'peaked' or 'peeked' .
Intimidate is the word for me, whenever a new project falls on my lap. After researching and analyzing my approach, it becomes an adventure with highs and lows. What we do is pretty amazing. Turning nothing into something, that at least one person can’t do without. I’m a happy programmer.
If I don't have a new project lined up by the time I'm wrapping up an old one, I tend to get a little down. Of course the same applies to finishing up little nit picky stuff, thats more search and replace than working on an actual problem.
Sometimes I have the same feeling. Sometimes I think I'm becoming lazy, specially because new projects (or features) require a lot of boiler plate code that I'm not willing to do anymore. I find solving the problems much more joyful.
To alcohol! The cause of, and solution to, all of life's problems - Homer Simpson
---- Our heads are round so our thoughts can change direction - Francis Picabia
I love the aspect of programming that I can turn nothing into something, as others have mentioned here. Certainly writers and artists are like that, but our stuff actually does something.
I generally describe programmers as hardworking lazy people. We only want to do something once and we will do an incredible amount of work to do that.
When I discovered that all you had to do was give instructions to a machine and it would follow them flawlessly forever, I was hooked.
I was also astounded that something I found incredibly easy, was something most other people found incredibly hard, if not impossible.
I used to play chess, but after I learned to program, I stopped. I figured with chess, after all that thinking and planning, at the end, only a game was played. If I put that same effort into a program, I'd have something that did something when I was done.
Psychosis at 10
Film at 11
Those who do not remember the past, are doomed to repeat it.
Those who do not remember the past, cannot build upon it.
It is my hobby - also means I'm playing most of the time and not "working". When there is too much o "work" i.e. non programming stuff like management and unnecessary housekeeping (like filling in spreadsheets that nobody looks at), then it is time to leave.
Even better is maintenance work: putting in new functionality and fixing bugs. If the bug fix doesn't work, you blame the guy before. If it works, you get the credit. In what other job would you get a win-win situation? Adding new functionality to badly written code is quite fun. When else would you get a chance to rip out something that is so awful and just rewrite it.