Thursday, July 26, 2007

not so much a Recovering Programmer


B4 u read



by the way i really did go to use a computer for the first time when i was 11 in sakhr my grandfather used to take me there daily

i wrote my first Basic Program on an Atari 2600 system that my parents originally bought for entertainment purposes

i used to write software that does 2D animation based on pixels and areas frame by frame in QBasic

i think i better get up and find that support group

...

source


Recovering Programmer
Hi, my name is Kris. And I am a programmer. "Hi Kris!"

My problem started when I was young. My father took me to an IBM open house and showed me a game called LEM. The computer told me my lunar lander's altitude and my vertical speed, and asked me how much thrust to apply for the next ten seconds. I told it, and then it told me my new position or told me I had crashed.

It was primitive. And it was the coolest thing I'd ever seen. I had to understand how it worked, wield the power that made it happen, and use that power to make the world a better place.

My parents bought me an Atari 800 computer for Christmas. I don't blame them for my problem--they didn't know I was susceptible. They didn't know that I often stayed up all night writing programs. They didn't know that I spent my days in school drawing bitmaps on graph paper and mentally converting them to numbers. And they didn't know that the high of using BASIC had worn off, and that I was hitting the harder stuff: 6502 assembly language and figForth.

My problem followed me into college. There, they told me that my code could be beautiful in addition to being functional. And I had a Macintosh, so the programs could look beautiful on the outside in addition to being beautiful on the inside. I wrote socially acceptable programs in Pascal and Lisp. But late at night I would hide alone in my room and hit the hard stuff: M68000 assembly language, and C.

Then, after college, someone actually offered to pay me to fall deeper into my addiction. They encouraged me to use C. But that wasn't enough: I spiked the mix with some C++, Perl, Bourne shell scripts, and even AWK. I did object-oriented programming. I started mixing languages. I wrote programs that wrote programs.

Then my tolerance for programming languages was built up so much that I had to go beyond them. I did every operating system I could get my hands on: OS/2, Unix, OpenVMS, VxWorks, Windows, Linux. I wrote ActiveX control containers in MFC (back before MFC had support for that sort of thing). I wrote RPC, DCOM, and CORBA programs, because I was no longer able to generate enough complexity on a single computer.

When the high from those activities wore off, I bought QuartusForth for my PDA, so that I could write and debug code while sitting in airports, or in traffic, or while waiting for a compile to finish on my desktop machine.

I was looking for the next high. Would it be Java? Or SOAP? Or web services? Or Python, Ruby, C#, ...

My employers didn't help me. Rather than putting me into a recovery program and making sure I got some help, they just enabled my problem by praising me and giving me promotions, raises, bonuses, and stock options.

They asked me to manage a software development team. So of course, I assigned all the important work to myself, and also decided to fix or finish everyone else's programs. My little four-month project turned into a two-year project. And the irony is that I really didn't do much programming: the majority of my time was spent figuring out which randomly selected sets of version upgrades, service packs, and DLLs are compatible with one another, or figuring out how to work around the workarounds for long-standing bugs in the third-party products we're using, or telling the client what computer and networking hardware to buy and how to configure it. (See RealStoryAboutDeveloperTurnedManager for the details.)

I've been working sixty hours a week for those two years, without any vacation. I've broken off contact with friends and family. There is no "high" from programming anymore--I'm now in a constant state of frustration and fatigue.

And it is not just the frustrations of programming that bother me. I am torturing myself to create systems that seemingly don't solve any problems nor improve anyone's life in any way.

I've finally accepted that my life has become unmanageable. I am powerless over computers and their hold on me.

I now realize that ProgrammingIsNotFun and SoftwareIsReallyPointless. I really shouldn't be trying so hard to turn my "complexity addiction" into a fulfilling career--it just isn't possible.

So, I am taking a break. I've quit my job. I will spend the next few months playing golf, playing guitar, reading non-geeky books, and learning to sail. I will use my computer only for what healthy people do with computers: e-mail and game-playing. When I decide to re-enter the workforce, I'll examine AlternativeJobsForProgrammers.

I'm so glad I've found this support group. (What? Wiki isn't a support group?)

5 reactions :

Geeee said...

finally ... :D thank God that you found what I'm trying to tell you long time ago... do something else than programming :D ... good luck ya bo2bo2

bo2bo2 said...

i actually was really surprised with how accurate this applies to me

and u'd be more surprised with my friends' responses on facebook the imported note

Geeee said...

I'm checking really and btw i'll link to this post in my blog ;)

begad I'm happy that we are not alone in this

Sokrata said...

HAHAHHAHAHAAAAAAAA (loud)
finally !!
do you remember the computer perfum joke we use to tell you ?

bo2bo2 said...

sokrata i've lost six month of my life now i know

i promise my self this will never happen again