OK, maybe it's a little harsh to put it that way, but after 25 years or so of being a software engineer, I'm having trouble wanting to do it any more for a living.
I still love to write code, especially creative and inventive stuff; it's doing it as a career that just plain sucks. Writing boring applications, going to boring meetings, writing the same stuff over and over again (even though I've tried to avoid that as much as possible), dealing with office politics, silly rules and environments, and working in companies where the only real advancement is moving into management.
Other irritating things are dealing with recruiters, looking for jobs or contracts (and then not getting paid), having to endure endless interviews where everything you have ever done and everyone you have ever worked for are meaningless, and finding what seems like an ideal position, discovering it's really the worst job you've ever been in. Did I mention dealing with weasely recruiters -- oh wait, that's the next post.
I started writing code in high school and probably haven't gone more than a few weeks since then not writing something. The creative act of writing code still excites me but the act of doing it for pay no longer does. It could be that I am losing interest in the corporate world of programming where I have worked for the last 9 years or so, either for a consulting firm or direct employee (and some contracts). I've always preferred riding the leading edge, solving problems with no known solutions, working on new ideas and generally being more entrepreneurial than many of my peers.
At this age though, it's tough for people to think I can still be like the 27 year old me. It's also tough for me to realize the world is not the same as it was when I was 27. The opportunities are still there and in fact are much easier to do today than they were in 1984. The issue is connections, all of mine are no longer interested in anything beyond a mere job, and I can't do it alone. When I started Data Tailor to build Trapeze (see my post) I could call on friends to help start the company and get to work. I even found capital through other friends and their connections.
So I have the fire to do stuff but no wood to burn with. The alternative is to work for some big company (most programmer employers around the Dallas/Fort Worth area are big) and have no fire. To quote Guy Kawasaki, "Gag me with a steam shovel".
I got burned out on my own company in 1994 and moved for a year to the Bay Area. It was fun (working at Remedy, Lotus and Apple during the sucky period) but not home. Nothing I did was all that exciting though and I returned home, right before the whole dot com explosion, missing out on all the madness.
I have looked at trying to work "on the road" as a consultant but marketing is not my strong suit, and not getting paid for work I did hasn't made me excited about it either. All of this makes me wonder that my career is in need of something different.
Over the many years I have worked the industry itself has changed a lot. In some ways things are much more mature now, the tools and frameworks and languages are all much better, and there is some science in computer science now. Yet too much of the industry is wedded to standards, imagination is lacking, and passion is hard to find in most jobs. I guess that's what it has become: a job, like slinging burgers or roofing houses. Maybe I am bizarre but I prefer being passionate about what I do.
Even with all that depressing verbiage, I still love to code, to create, to teach what I have learned, to imagine things that are not there yet, not unlike that 27 year old me. You would think I would fit in perfectly into a startup environment but they are fairly rare in my home area, and most startups aren't looking for "vintage" programmers (and since they usually hire via connections, my connections locally aren't useful). So I am into career decision time, what now?
Perhaps I should go into management despite despising it over the years (like so many programmers do) since I see so many management folks (both former programmers and not) making much more money for much less work (with the rare passionate manager who works too hard). Not a great thought either since I still love the act of coding and know how to do it well. Maybe it's better to work a "job" and leave the coding at home.
Another option is to go with writing (this humble blog has been a lot of fun) which is creative and (usually) more free but it's tough to make a reasonable living at it.
One option I know is to continue working on my technology projects at home, they might eventually be a good income but are not far enough along to matter yet. That's the type of coding I like best, using my creative gifts to build something of value. Sadly printing money is not one of my gifts.
Maybe I shouldn't shove my career quite yet, but I can't imagine doing it for another 25 years so perhaps it's time to look around with different eyes.
Johnny Paycheck would understand.

John Chrisoulakis 05/21/2007 22:59
Maybe Tim Ferriss can help at http://www.fourhourworkweek.com/
I just read his book. It has got me thinking... what can I do now?
Finding the financial "muse" to enable freedom is the trick!
witten 05/22/2007 02:38
I know a number of people, myself included, who still love to code but are burnt out on the industry itself. I think the problem comes down to the top-down hierarchical structure of most companies being detrimental to producing good, quality software products. I wrote about this awhile ago here: http://coderific.com/blog/post/395
The solution is to either get out of the industry, as you suggest yourself above, or to restructure software companies themselves to be more conducive to good development. I'll let you guess which one is easier for one coder to accomplish.
F.Baube 05/22/2007 04:30
As you say, writing might not pay as well. But if you're at all the writing type then you might find it to be much better for your mental health. As a writer you can talk to coders and talk about code and software architecture and high-level concepts, but without all the muss and fuss ... and while exercising additional parts of your brain.
Jon 05/22/2007 11:36
Maybe you should look into developing a product by yourself and selling it directly to end-customers over the web. It's not "easy", but it's doable, and with your experience and current feelings, I think it could be the best fit for you.
Visit http://discuss.joelonosftware.com/?biz to meet others doing the same thing (at various stages). Keyword: MicroISV (uISV).
Good luck in any case!
Jon 05/22/2007 11:57
There was a typo in the url I gave you above. Let me try a proper html link:
<a href="http://discuss.joelonsoftware.com/?biz">The Business of Software forum</a>
If this doesn't work, the proper address is:
http://discuss.joelonsoftware.com/?biz
Cheers,
Jon
Dru 05/22/2007 13:00
You are preaching to the choir Friend! I realize that I like working with my hands, and being away from the desk more. Haven't found a replacement job or career yet though. Thanks for writing that.
chuck 05/22/2007 13:05
> and most startups aren't looking for "vintage" programmers
Yeah, what's the deal with that? I get the impression that the company I'm at, way up here in Iowa, is receptive to "vintage" programmers, especially ones with the kind of creative fire you seem to have. Our young staff could seriously benefit from having some experienced old-schoolers to help us get our act together -- we just can't seem to find them up here.
Rob Menke 05/22/2007 15:17
The reason most companies don't like older programmers is that older programmers are experienced in detecting managerial BS. When I hear "we'll fix that in refactoring" or "it doesn't have to scale linearly" I know I'm dealing with bad management and I usually call them on it.
On the other hand, neophyte developers have never experienced a software crisis and are willing to take more risks, even if it endangers the long-term viability of a project. For startups, that mentality is paramount; however, few startups make the transition to full corporate status without forgetting that their entire product line is being held together with bubble gum, bailing wire, and prayer (I'm looking at you, PayPal).
The kindest thing you can do for a newbie is give them a copy of "The Mythical Man-Month" and say knowingly, "This is still relevant, thirty years later."
bill 05/22/2007 16:37
You lost me when you quoted Kawasaki. He is a loser.
Ben 05/22/2007 16:43
I get it man, I really do. I've got the entrepreneurial/innovation itch (and I happen to be 27) just like you say, and I also have a pretty scant network here in the DFW area to work with. Most of my contacts that could/would be useful are in Silicon Valley or scattered in other various locations.
Shoot me an email at aggieben#at#gmail#com. Maybe we should talk.
Scott 05/22/2007 17:08
Maybe it's age. I'm just past 40, started on an Atari 800 in 1979, been with Unix for the past 19 years, mostly sysadmin, web and some application programming. It used to be fun, now it's work, and while I won't claim to know why the job now sucks, I have my suspicions. Programming computers is still fun, but programming computers (or doing anything) in the IT industry is not. There is now such a burden associated with doing anything in IT within most organizations -- too much communication is mandated, too much documentation, too much "other stuff" that doesn't really have much to do with writing the software. When I realized I was spending almost 80% of my time reviewing security documentation, system and application descriptions and other such nonsense, it hit me that I was no longer programming. Then I was told I'm not supposed to be programming, that we are supposed to buy commercial off-the-shelf software and outsource any real programming to contractors and consultants, and that my role was supposed to be to oversee contractors and their work. None of this is anyone's fault, it's just how things have evolved in organizations. I fought it for a while and I could still do so but then I'd just spend a lot of my time stressed out and wasting my individual self against an organizational collective. Though I'm still with the same (government) organization, I quit IT completely, and now I attend meetings, yak about what's going on with this or that, send around an email or two, and save my brain cells for something else, all on non-IT projects and other stuff. It takes very little out of me, I'm more relaxed, and I don't have to care whether the end product has any quality in it, because the end product I'm responsible for now is all perception. And maybe I've been deceiving myself all these years -- maybe programming isn't my main thing, maybe I need to discover and follow another path. Or maybe the problem isn't the work itself, but being in an organization that operates hierarchically rather than tribally. These things would make for an interesting book project. Good luck with whatever's next for you.
Mihai 05/23/2007 03:56
I'm 26 and I'm already starting to feel the same way you do. I also like doing things out of passion and it cripples me that I can't use my passion and my talent to do something creative more often. I mean I know I can do more, but I have to waste my time to do boring tasks daily, instead of being able to use my full potential, and all just to make a living. There must be a way to do things differently, I even gave a taught of starting an open source company or continuing my studies and going into research. Unfortunately, as you said, it is hard to do things alone, and there are few enthusiastic and passionate people that can help because my friends are also scattered around. Perhaps we should think of another way to unite the passionate people and do things our way.
NN 05/23/2007 09:23
I think IT peoples world revolves around brain teasers, solving problems logically and the sense of achieving something after all that is done. Being young, I constantly feed the need of a challenge, be it a Sudoku Puzzle, a Brain teaser, or some complicated work issue. I get home, I want to continue to pound my brain with more brain teasers, Sudoku puzzles and challenges.
Once I had a vacation... mare couple of days + weekend. I some how decoupled from my brain teasers and challenges - I did some light gardening and painted my room (rather then play Halo and solve problems), and cooked my self lunch (rather then eating out). Viola! I had the most complete relaxing weekend... No longer did I feel burned out at work and remained focus on problem solving.
A former coworker, very experienced (much like you) suggested to me, Go home, relax, unwind, and do something non-techie, something relaxing, something different. Play a musical instrument, go to the Gym, go to the museum/garden... just get out, and relax - reboot your brain he said.
I've put on his hat, and have applied his suggestions... and they work. I feel more focused at work, higher stamina and a sense of completeness.
P 05/23/2007 09:50
I wrote something like this awhile ago. I feel you your pain...
http://paolodm.blogspot.com/2006/07/my-career-is-over.html
Rich.H 05/23/2007 10:03
In a way I'm surprised that there are so few articles like this floating around the blogosphere. You're asking many of the same questions I've been pondering after 32 years in IT development, and I wish I had some good answers to share. I do, however, have some observations, and food for thought:
As you correctly note, we haven't changed all that much in the past (25)(32) years. We're more experienced, less tolerant of corporate BS, probably a little burnt out, and with less free time than way-back-when. Lots of synergy between these.
The industry, however, has changed a LOT. Some of it has to do with the nature of the beast - the simple, common stuff is readily available off the shelf - or free! - and there are fewer and fewer complex, uncommon apps that can be created by a solo developer, or even a small group. Consider a typical video game today vs. one from 1985.
Most of it, though, is due to a sea change in management. You and I cut our teeth in the profession before the suits took over, when the boss came up from the same ranks we were in, and had the same professional pride. Now (s)he's an MBA first and developer second (if at all), and "success" in the role is defined in terms of costs and control - if you don't have a tight rein on the project budget and schedule, whether appropriate or not, you're not doing your job. Thus, the mentality that dictates outsourcing regardless of the damage to morale; the lockstep march through a process that's likely hindering progress rather than assisting it (but we MUST keep to the schedule, and we MUST be able to gather metrics on every step, even though we'll never use them in a meaningful way), and developers - excuse me, "resources" - who are expected to move between roles and projects on a whim, and be instantly productive when this occurs - if you don't have the skill set we need at any given moment, we'll bring in someone who does; training is "overhead". And if the final product is actually usable, that's just icing on the cake.
And the powers-that-be wonder why they can't keep good people, never for a moment wondering whether shoving their factory-floor approach down the throats of the one group least inclined to work that way is perhaps contributing to the brain drain.
End of rant. As you've probably figured out by now, it's been some time since I've found professional fulfillment in corporate IT, and I've concluded that it's highly unlikely that I'll find it again. Not impossible - there are some companies out there who Do It Right, but such are few and far between nowadays. Certainly none in the Fortune 1000, with the possible exception of Google, and you need a Ph.D. and the ability to leap over tall buildings to get a job there. ;-)
So I'm dealing with it by trying to implement a two-pronged approach. The left fork is what Hugh MacLeod (www.gapingvoid.com) terms the "sex and money" strategy. This amounts to disconnecting fulfillment and paycheck, viewing the day job as nothing more than service-for-pay, expending as little time and energy as possible on it. Off the job, you do the sexy stuff for fulfillment, and hopefully some extra income. I'm now involved in a couple of open-source projects, and I'm setting up a blog to serve, in part, as a showcase of Cool Stuff I come up with, in hopes of attracting an employer I'd want to go balls-out for. It isn't easy; after family responsibilities there isn't a lot of time left over for professional play. But I'm working at it, over lunch hours and frequent late evenings.
The right fork is, of course, growing my own business where I can Do It Right. I have the same problem you do: I'm by no means a salesman or marketing guru. There's still a lot of opportunity on the Web, though, and novelty and usefulness can mitigate the marketing dilemma quite a bit - notice how little advertising sites like Digg and YouTube had to do to hit critical mass. I have a business plan - three of each, actually, representing the biz's transformation through three very different models (it makes a lot more sense than it might seem here, honest). What I lack is time and people. Again, it's a tough road, but it's the only realistic way into genuine self-employment under my current circumstances.
One thing I'm certain of, however: I'm not going to let the bastards grind me down, and I'm not going to give up. Hope you're doing the same.
RH
Scott 05/23/2007 10:30
Rich's points accord with my experience. The suits have taken over, but to me the "suits" are a euphemism for process, procedures, rules, regulations or any other form of control, regardless of intent, over what work is performed and how the work is performed. Instead of focusing on the big picture, on what the goal is, most of the focus is now on how the job is done. I understand the intent of those who want to centralize decision-making and standardize on systems, languages and software packages, but I think the consequences of operating from that perspective are worse than what would happen if management simply stated, "this is what we want to build" and let those doing the work decide what to use, how to do it and so on. Give them the vision, give them a budget, and let them get on with it. If they're reasonably good developers, you'll probably get a very good result. If they aren't good developers, well, no process is going to save you anyway. Maybe part of the problem is that the bad developers drive management to implement forms of control (as if most managers need a reason) that also impact good developers. And as was mentioned before, the "industry" has matured, meaning that larger organizations have sprung up around IT, which has lead to tons of process, regulation etc. I think hierarchical organizations inhibit the ability of groups to self-organize and thereby damage the ability to succeed. I also think that there are limits to the size an organization of people can be and operate effectively with little overhead -- beyond that size, the effects mentioned here begin to come into play. Solo or small businesses run by people who understand these things might be the only way to merge money-making with what you love to do. I have an idea to create a company of companies, where each team in the company is incorporated itself, and has between 3-10 members each. They operate fairly independently in a federated kind of set up. Anyway, go read DeMarco's book, "Slack" -- excellent book that touches on many of these issues. I would be very interested to hear more about these issues here, especially from those of you who are forging a solo business path or are finding alternative ways to work where they're happy and can make a living. And NN's point is well-taken: being a workaholic will lead to burnout, and may lead to depression etc. If you're in this kind of situation, I would advise separating passion from money as NN suggests: you need to become more relaxed and less stressed before you can explore other avenues.
atripp 05/23/2007 14:34
Well, if any of you 40-somethings are really good, experienced Java programmers, send me an email. We're a small startup company with no real structure yet. As a 40-something guy with 20 years experience at big companies and Fred Brooks on my bookshelf, I'm relating to the blog and all the responses. Why can't I give you some self-contained, challenging, interesting, doable work, and pay you based on your actual output? Seems like it might work. Send email to jobs at jazillian dot com.
Andy
p.s. and sorry for the spamishness :)
KoW 05/24/2007 07:27
You hit a sweet(-sour) spot there.
well, as far as i can see, there are several options for you
(as suggestet) create a product: there is real satisfaction in having your baby rolled out.
join the dark side, try to change it: you think that you can do it better than the others. Go ahead and give it a try. You will see that things are not as easy as they seam, but still might be interesting. Leverage your current know-how, e.g. try to be as agile in business as in coding. Might be interesting, but have an exit strategy at hand.
another aspect to the above suggestion: make yourself clear what you like most about the "act of writing code". There is something to it, I know, but perhaps you need to transcendent this feeling to other grounds. Social interaction is hard, but sometimes you get that "yesss!" feeling in other situations (e.g. you have tried to teach something to someone and suddenly he gets it). Does that sound buddhist?
teach/mentor others. Ok, that's probably not for another 25 years, but might be a good distraction.
just make yourself very clear that there is no perfect job, just as there is no perfect life to live. Take it easy, scale down your personal commitment to the job. This is not an act of frustration but of real sovereignty.
work for cool companies. Priorise on projects rather than salary. Ok this is a stoopd suggestion, but hey ... :)
hth
Andrew 05/24/2007 08:01
I'm 29, and I'm getting out. There is only so much enterprise Java that one person can take. I found a nice, affordable school and a professor that could use someone with programming skills. I'm out of here to study cognitive psychology, and write some cool thinking simulation code along the way. The mild GRE pain was definitely worth it.
svachalek 05/24/2007 13:48
If you're passionate about software it's the career for you - you're just in the wrong job. Find one you can be passionate about and do it - be passionate. Move. Give up some free time. Do the hard work to make a hobby project a real product. Wow the 20-somethings. Work somewhere that's not run by stuffed suits. Stick it to The Man. Don't get stuck on the things you don't want or look for the easy way out. Figure out what you want and fight for it.
Scott 05/25/2007 15:52
I'm not so sure it's about the software development itself -- I think it's more about the environment or the ecology that we do the software development within. And I don't think it's about the freedom to do whatever you want in software development either; I know this may contradict my earlier statements. To be happy in a job or really in any situation it seems there are some necessary but not sufficient requirements. While passion for what you do is one aspect, I don't think it's necessary that it be some thing that you like to do and I say that because I can recall doing some things that I didn't really want to do but enjoyed doing them a lot and I've done things I really wanted to do but didn't enjoy it at all -- the difference was who I was doing the work with and how we interacted.
And I think it's the way organizations have evolved and how they have become much more impersonal, more bureaucratic in all areas, not just IT, that is the root of this disaffectation with work. My organization is very concerned with IT security, and while we do many things to improve IT security, we aren't really doing anything that makes a difference. We're filling out forms, writing security plans that have zero effect aside from irritating a lot of people, and writing policies and memos.
Another reason for the change is the focus on reducing costs. I believe most organizations today are more focused on reducing costs than ever before, and in that kind of environment, ideas aren't really welcome.
The result is a work ecology that is no fun to work in, but we typically blame the work itself, not the environment we do the work in, perhaps because the change has not been jarring, it's been slow enough that we haven't noticed it. Those who have changed jobs and worked at organizations where the work ecology was good and bad such that the change was very noticable seem to support my assertions.
Andrew, I'm glad you're getting out, and I like the way you're doing it. For those of you who want to change careers, I highly recommend Herminia Ibarra's book, "Working Identity". You can purchase a $6 paper of hers, "How to Stay Stuck in the Wrong Career" from Amazon.
Personally I would like a work style where I develop software for about 4 uninterrupted hours a day, 3 days a week. I am realizing that productivity is not correlated to the number of hours worked, but to the quality of the hours worked. I'm not sure how to measure that, but I would refer you to Tom DeMarco's book, "Slack" for more information.
Ivan Vuckovic 05/29/2007 02:50
I have been a software developer for over ten years and I am frankly getting a little tired of having learn new technology every six months. It used to be fun but these days I am dreading going for a technical interview which will lass the minimum of two hours and 3 differente techies drilling in anything and everything about IT. IT and software development is such a vast and difficult subject that there is always someone a little bit quicker and a little bit better. I cannot remember the last time I won a technical argument of for example why we should use one design pattern over another. What I have realised now is that you need to be not 70% but 110% passionate about what you do to win those little technical discussions in meetings. I am thinking about doing something a little bit more creative like marketing where my skills would be a little bit more transitional and I won't endure another marathon interview for a 10% pay rise and a long commute to London. I enjoyed my time in IT, and all the places I have visited with work. It will always be more my hobby but I feel like I need to try my hand at something new.
Mike L 05/30/2007 13:02
Welcome to "work". Substitute your job title with any other job title and then reread your post. Sounds like it is time to realize burnout has occurred.
Time to reinvent yourself. Dig deep, what else are you good at and enjoy. Companies (individuals) must retool every now and then. Perhaps it is your time.
Best of luck!
DD 06/01/2007 02:27
I can feel you pain because I'm also in the struggling of my next step. I've been doing IT coding (mostly in Java) for the past 10+ years and hitting the age of 40, I am sometimes really confused what I shall go next. To a non-IT job?
I have no passion for my current job and the purpose of work is only to make a living. No courage to jump but only stays where I am right now. This is a safe harbor and I am used to it for the 6+ years with my current company. This is not healthy, I know.
Scott Westfall 10/17/2007 15:30
Andrew, I'm something of a vintage programmer, myself. After years of working as a developer I made the switch to management. For me it was a natural change because I enjoy process and believe one of the most important challenges is crafting a process that provides predictability of results yet allows degrees of freedom so that talented developers can excel.
Our field needs more managers who have a development background. I think developers have a unique understanding of the development process and can best make difficult decisions about how to guide projects to a successful completion. One of my motivations to go into management was having so many projects I worked on fail because the project managers did not have this insight.
But don't make this move grudgingly. If you don't love it as much or more than coding, then stay in coding. Passion is one of the most important elements of excellence! If you move to management just because you feel your career is stagnant, then you are likely to become the kind of manager you despise.
There ARE great companies out there that would love to have someone with your talents. Large companies often beat down exceptional people in an effort to get the same out of everyone. Smaller companies are more likely to offer the kind of freedom you seek and are better able to appreciate your contributions. I'm lucky to work at at SlickEdit, where I can use both my programming background and management abilities to shape the direction of one of my favorite products of all time.
If you have the will, you might try to start your own company Paul Graham (http://www.paulgraham.com/index.html) has many articles on why you should start your own company. It sounds like you tried that route before. It may be time to try it again. There is unprecedented opportunity to launch new companies right now.
Other than that, keep writing and keep contributing to open source projects. Apply for any and all positions that you think you'd be great at, regardless of the stated requirements. Send letters, fruit baskets, basketball tickets, or whatever to CEOs, CIOs, or the Queen of England if you think you can make a difference in their future. This is your career; push it as hard as you would any coding problem!