Hi, my name is Kris Kringle. 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
. 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?)
See also GetaLife
Would anyone else like to share?
WELCOME TO 2013, whats going on?
Have you considered programming those google glasses to tell blind people when to cross the street?
I would like to see you working where I work, you could put all of us to shame. :-) (Near Santa Cruz, CA)