Joel Spolsky: Don't Leave The Industry (You Whining Emo Girl)
discuss.joelonsoftware.com
discuss.joelonsoftware.com
My feelings mirror one of the other comments in the thread: most software jobs suck. Not everyone can work at Google or Fog Creek, and outside of the protected bubbles of the major tech centers, software work tends to be a tedious grind. (Even in the protected bubbles, I know a lot of dissatisfied techies -- free soda remains charming for only so long when you're working insane hours in a cube, on death-march projects, taking all of your creative orders from the MBA with the corner office.)
The sad thing is, I think that Joel and the guy posing the question are both partly correct: the software industry does pay really well for new grads, and yet it does discriminate against older techies. Programming is a questionable long-term career choice. Instead of insulting the guy for asking a question, why not have a discussion about the problems he perceives? Software may be better than ditch digging, but that doesn't mean that programmers should be eternally complacent and unquestioning minions of code.
Yes, but it would do many of us good to consider the options from time to time. It's not just digging ditches - you rarely get anything like the compensation and freedom that many software gigs offer even in fields like architecture or medicine, where you need years of training and education just to get to the starting line.
It's definitely not all roses, but as someone who got into software relatively late in life (28) I'm still surprised at times how easy we have it.
(I suppose it's like growing up in a Western country - life don't seem that great to you, until you compare it with how most of the world lives)
I don't understand the whining about the workplaces either. At the end of the day, what makes Google a great place to work: the free soda and perks or the options to work on interesting things? If you choose the former, probably you are not really wired to enjoy programming as much as some of us are.
This is going to come off as pompous, but I wonder if its just that you don't see a lot of nerdy hackers continuing into their 40's. I can think of a bunch of programmers from DC who were in their 40's and 50's , they were mostly government workers and enterprise type programmers, I doubt those types continue pushing and exploring.
I've been doing this for about 4 years. I'd program at work, and then I'd come home and read books on programming, architecture, etc. When I didn't feel like that, I'd be learning a new language. When I didn't feel like doing that, I'd be writing some software to do this or that.
I want to continue to get better as much as ever, but now most of what I see, I've already seen. New things to learn come by less frequently than they did before. It's not that people in their 40's and 50's give up and just coast, it's that it's a case of diminishing returns.
Once you know a decent amount of languages, you see the commonalities and the point of it begins to fade, and how many books can you read on OOP or functional programming? Good coding style? Project management? When you're at the phase when every sentence in the book is a worthwhile lesson it's easy to learn fast. When lessons come through slow experience, like lessons from maintaining a project for 15 years, things go more slowly.
Ageism is rampant in the IT industry. Can you blame people for migrating to "safe" jobs when they have families to support?
I've often thought, if I ever start a company, I'm going to exclusively hire 50-somethings (I'm in my 30s now).
One thing that is true is that you need at least 10 years of full-time experience to become competent at the design and architecture of large systems.
Tedious grind? You can create your own opportunities, but in software you're more likely to find a job in rough times than most other industries. Don't spit that fortune in the eye.
Anything where the business owner can create intangible products himself/herself (e.g. writing, design, wedding planning, whatever) has just as low starting capital required.
Is there age discrimination in programming? Probably, although I've had at least one manager assert to me, with some plausible evidence, that reverse age discrimination also exists.
But, unfortunately, that conversation gets drowned out in cynicism and hyperbole, and oneupsmanship by additional cynicism. It is tiring, because all it succeeds in doing is creating additional angst and frustration.
In the people who believe what is being said, they now believe they are now facing down a life consisting of death marches and idiocy, with the other option being indefinite unemployment. It creates a self-fulfilling prophecy, where they will engender that kind of attitude in the places they work and live; with some regularity, what they expect a place to be like is what it will become.
For the people who try to fight against that sentiment but find their thoughts, however reasonable, drowned out in the sea of people who claim that they lack sufficient context simply because they lack the requisite cynicism, they'll eventually give up and either succumb to the prophecy or just leave the community to its own misery.
To this I ask, do we really need more cynicism, and is it really deserved? Are we certain this hasn't gone past discussing things reasonably, into the realm where people attempt to out-gloom one another in hopes that it justifies them tolerating their own plight? When do we stop admitting the inevitability of this and start taking action to change that, or at least investigating deeper what action can be taken? How are we so certain that all of these crappy programming jobs that we look at with disdain aren't the product of the cynicism of people, perhaps like us, who currently work in them and make them and the rest of the culture that way? It is, to me, increasingly hard to tell where things honestly suck, and where people make them suck for the sake of producing drama and fulfilling their own expectations of misery.
I agree with Joel; this is the textbook definition (if there were a textbook) of a mutual self-confirmation club, and I worry that it exists even here on HN.
This isn't exactly the first time the question has been asked over there. Once you've read it for the 100,000th time I'm sure your patience tends to wear thin.
Meanwhile, though it's conventional wisdom that "programming is a questionable long-term career choice": compared to what? Banking?
http://seattletimes.nwsource.com/html/businesstechnology/200...
A nice construction job?
http://paper-money.blogspot.com/2008/12/new-residential-cons...
Middle management at Circuit City?
http://money.cnn.com/2008/11/10/news/companies/circuit_city/...
Similarly, if you go into other engineering fields (electrical, mechanical, civil, etc) nearly all the 50 year-olds are managers also.
A senior law partner who never personally argues a case or drafts a contract, but does nothing but attend meetings all day and supervise younger partners and paralegals, is still "practicing law". The chiefs of large hospital departments are still "doctors" even when they don't pick up a stethoscope for days at a time. Late in Beethoven's career, when he was almost completely deaf, no longer able to perform or even to critique other performers, he was still a "musician".
Whereas (e.g.) Joel Spolsky is now a "manager". Except when he's working on Arc, PG is more likely to be called a "manager" or an "angel investor" or a "venture capitalist" or a "technology pundit" or a "marketer" or a "writer" or a "teacher" or a "designer" or a "strategic consultant" or an "executive chef" (I think he does all of these things!) than a mere programmer. But just because these guys somehow don't fit our hyper-narrow definition of "programmer" doesn't necessarily mean that they had a problem with their software careers. It might just mean that there are many opportunities in software -- some quite rewarding or lucrative; many of which are best performed by someone who also knows how to program -- that aren't captured in the scope of the term programmer.
Part of the reason why there seem to be so few "programmers" in their forties and fifties is that by that time many of them have dreamed up a better job title for themselves, like "senior member of the technical staff" or "chief of QA" or "Java architecture consultant" or even "co-founder" or "CEO". Spolsky loves to tell the story about his Bill Gates review:
http://www.joelonsoftware.com/items/2006/06/16.html
At the time of that review, Bill Gates had not been called a programmer for years and years. He was a CEO and a co-founder, and was paid accordingly (and then some). But what was he doing when he reviewed a spec in gory, technical detail? He was programming. At a higher level than the average college intern, yes, but just because you're not touching a keyboard or dealing with individual calls to malloc doesn't mean you're not programming.
Unless we decide that it does. But then we shouldn't be surprised to find that programming as a career is something that many people eventually grow out of. We've defined it that way -- as a term to describe an activity that doesn't scale well and that usually represents only a portion of a well-balanced intellectual or economic diet.
To define people like Steve Jobs as "programmers" is to so absurdly broaden the definition of the word, as to make it meaningless. After all, Steve Jobs once studied calligraphy (and even credited his studies for the development of the Macintosh!) -- should we label him a calligrapher? He makes music industry deals -- is he a musician? He buys rights to feature films -- is he a producer? He headed up Pixar -- is he an animator?
I think there are good career opportunities in the technology industry, but for the most part, these careers don't involve programming. Your examples are telling: if you want to become a venture capitalist or a CEO or a "technology pundit", then you're far better off knowing a little bit about code, and a lot about money, business or journalism (respectively), than vice-versa. Coding is assembly line work -- which is why our society tried to outsource it to cheaper labor as soon as it became feasible to do so. We don't outsource the jobs that we value.
Has anybody else actually read a biography of Bill Gates? [1] Bill Gates was a hacker before he knew anything about money or business. Wikipedia:
After his [high school] administrators became aware of his programming abilities, Gates wrote the school's computer program to schedule students in classes. He modified the code so that he was placed in classes with mostly female students. He later stated that "it was hard to tear myself away from a machine at which I could so unambiguously demonstrate success." At age 17, Gates formed a venture with Allen, called Traf-O-Data, to make traffic counters based on the Intel 8008 processor...
...Gates and Allen did not have an Altair and had not written code for it... MITS president Ed Roberts agreed to meet them for a demo, and over the course of a few weeks they developed an Altair emulator that ran on a minicomputer, and then the BASIC interpreter. The demonstration, held at MITS's offices in Albuquerque, was a success...
...During Microsoft's early years, all employees had broad responsibility for the company's business. Gates oversaw the business details, but continued to write code as well. In the first five years, he personally reviewed every line of code the company shipped, and often rewrote parts of it as he saw fit.
Gates is not an isolated example. Who founded Apple Computer? Hackers. (Yes, Steve Jobs may be more famous as a manager than as a hacker, but in the early days he built stuff, too.) Google: Founded by computer scientists. Yahoo, ditto. eBay: founded by a programmer. Jeff Bezos of Amazon: comp sci degree.
You're better off knowing more journalism than programming? That's funny. Journalism is in flames, with senior reporters losing jobs by the score. One of the big reasons for this is that a lot of the money in newspaper publishing came from classified ads, and this money has been sucked away by a tiny company called Craigslist, founded by... a software engineer and comp sci major from my alma mater, Craig Newmark, a man with no background in journalism!
You are correct, though: Most people would agree that these folks are no longer best described as programmers. Society agrees that "programmer" is a word for assembly-line workers with no demonstrated creative powers, just as "hacker" is a word for 13-year-old script kiddies with criminal intent. Which is why many programmers are smart enough to come up with a new job title and/or a broader skill set after a few years on the job.
---
[1] Recommended: Hackers: Heroes of the Computer Revolution. Somewhat dated, but the dated bits are some of the most fun.
The difference between you and I, is that you look at these successful people, and want to expand the definition of "programmer" to include them, because they once did some programming. I think that's silly. Programmers are the guys who work for these successful businessmen, cranking out code from 9 to 5. Guys like Gates and Bezos have job descriptions that are far more expansive and influential than that of even the most senior software engineers.
(Oh...for the record? Knowledge of journalism would serve a lot of startups well in their eternal search for PR. The industry of print journalism may be dying, but the craft is alive and well.)
Like what? Raising horses and starting a petting zoo? The people you mentioned (Gates, Bezos, and others) became successful because they were technical, and not just occasionally.
So, maybe a more productive discussion than "what should i do for a career instead of programming?" would be "how can i get a more respectable job title?"
Well, you can found your own company and give yourself whichever title you want. But that won't fool anyone for long. ;)
The tricks for improving your resume are well known and are covered in all the books. Learn something about the business you're in, whether that's design or publishing or manufacturing or finance or retail sales, so that you aren't just mindlessly doing what the "domain experts" tell you to do. Do work that demonstrably adds value to the business and be able to describe how it does so. Learn the fundamentals of accounting so that you know how people keep score when evaluating a company -- that will help you to articulately describe how your everyday activities lead to higher revenues or lower costs. Learn to write and speak so that you can better sell your stuff. Learn to teach and hire and manage and direct so that you can improve your leverage: Why settle for being a better programmer when you can command a small platoon of better programmers?
Or you could always take the (ahem) short cut: Found a company, make scads of money, cash out, and change your title to "mogul" or perhaps "playboy". ;)
Of course, doctors and lawyers and accountants and architects and graphic designers may do all of these things while retaining their job titles. But once a programmer starts doing these things she will probably be referred to by some other title [1], no matter what fraction of her day is composed of software work or how much her programming education informs her day-to-day decisions. That's my point.
---
[1] She will probably want another title. I've chatted with designers who are experts in Drupal and who are heavily invested in the notion that, until you actually type an original PHP function definition into a text editor, you are "not a programmer". They'll sit there, constructing the equivalent of enormous SQL queries with the GUI-based query builder, building mind-blowing spiderwebs of relational structure with the GUI-based model builder, copying and pasting and modifying PHP, typing in custom CSS and even writing original jQuery code, yet all the while maintaining that they are not programmers and that what they are doing is not programming. To suggest otherwise is to commit a serious faux pas. It's like accusing them of being day laborers.
Anyway, we all know it was the exclusivity agreements Microsoft managed that made them rich, not the quality of their hackerdom.
But Microsoft's early success in dominating the microcomputer language market was not built on "exclusivity agreements" -- it was built on Gates and Allen's software skills, which allowed them to hit the microcomputer market early (before the Altair even shipped, in fact!) and then to hold their market position by porting their products to a lot of different systems as they came out. And if Microsoft hadn't cornered the language market on a range of early microcomputer systems, there would have been no reason for IBM to approach Bill Gates with that fateful agreement that brought the company into the OS business.
I recall it all too well, and it seriously damaged my development. I mastered BASIC during the Commodore Christmas of 85. Years later in 11th grade, my high school was teaching...BASIC...on Trash-80s. I thought for a while, what is the fuss about computers for? They haven't moved forward in years and speak a crap language. I'm done with these toys.
Both of them have held managerial positions up to VP-Eng, yet decided it was not what they wanted to do and downgraded themselves to rank & file software engineers, albeit very good ones.
I think there are plenty of places where coding wisdom is valued. They're just not the same places, generally, that thrive on geek bravado.
I was lucky enough to get a Commodore 64 when I was six or so, and taught myself simple programming stuff with library books. That's probably more or less true of several other people here. Imagine not even using a computer until after college, or learning by submitting code on punch cards, one batch per day.
The low barriers to entry in IT are both a blessing and a curse. It's great in your 20s, but by your 30s the gap with most other technical professions that require similar levels of intelligence and skill becomes obvious. That decade of experience doesn't count for as much as a lot of it is now outdated and irrelevant. For those of us who love the technical, creative side of developing and don't desire moving "up" into management, I can understand the sentiment.
That said, I still feel bad for the guy who posted the original comment: he wanted some advice on what to do next, and got called a little girl.
That's a pretty lame depressing question to ask though. IMHO he should try and find some ounce of passion in himself, and find something he enjoys, or ideally loves.
My brother quit being a body piercer not because of the job itself, but because he felt that interacting with people solely for the purpose of a material transaction was banal and ingenuine. He still does piercings, for money, but only if he already knows the person. If you include work that indirectly achieves this goal (working behind the scenes for a company that impersonally sells goods or services to anyone) you have cut out almost every job imaginable in a modern industrial economy. Imagine living your life like that.
I suppose he considers bringing a good income to his family as being more important than his enjoyment of his job.
That's certainly true of my parents, who did blue collar work for most of their working lives in order to provide for the family. I remember my mother having such bad joint pain from working all day that she had me pound on her with a baseball until she bruised, for a little pain relief. My parents found the best paying jobs they could, and did not qualify it with "with interesting work," because success of the family meant sacrifice.
My friend's friend Pete is a father of two, a four year old girl and an adorable 14 month old boy, and when he gets drunk he starts giving out life advice. He says that once the kids come, all your priorities change. They are the last thing you think about every night, and you will find yourself working harder and doing what it takes to see that they are taken care of.
I believe "interesting work" is a luxury, and we are the spoiled of the spoiled.
Not too long in the past, marriages were arranged in order to strengthen family power, and not for love. Like the song lyrics said, "if you can’t be with the one you love, love the one you’re with."
In any case, it's neither lame nor depressing to want to pursue a career that will allow you to stay employed until you're old enough to retire.
My experience is that it doesn't matter where you work; 90% of programming isn't on the "cool" parts, the parts that other people see. It's on the bread and butter, the nuts and bolts. Working on a trading system at a bank probably isn't so different from working on AdSense at Google, or on a telco switch at Ericcson or WoW at Blizzard.
But it's everyone responsibility, including programmers, to take ownership of their career. They need to work on their craft, grow in their roles, learn other parts of the business, and take responsibilities that are aligned with their long-term goals. My gut feeling is that the people who feel stuck in "sucky jobs" are treating their jobs as just that -- jobs, rather than opportunities to grow, learn, and eventually be better than their boss is. The latter requires significantly more time, of course, far beyond the average 9-5'ers habits.
Or acquire deep domain specific expertise: in security, in distributed systems or in networks, in data mining/ extraction or even in systems administration (you'd be surprised how hard it is to find excellent coders who are also good sysadmins and/or excellent sysadmins who are also good coders and how many jobs demand both).
My mother is in her sixties, isn't a native English speaker and programs in C (which some may look upon as "outdated" compared to C++ and Java), Scheme and OCaml (which aren't mainstream languages). However, she's got a very strong background in mathematics and domain specific knowledge in hardware design automation.
If you're starting out, learning the latest APIs/buzzword right now may be worse for your career later even if it brings higher pay now -- it would be a case of premature optimization.
(1) One exception is that I've heard (from a manager at IBM) is big companies (e.g. IBM) prefer to only hire for entry-level positions and then open up the more senior positions only to internal hires (the idea being is that entry-level employees grow while being trained on internal tools/methodologies/best practices and as they advance, have a track record that can easily be examined); but with the industry shifting more and more to innovation occurring in start-ups and SMEs that shouldn't be much of a burden.
If you're in the american auto industry or newspaper industry get out as soon as you can. Or start a business that capitalizes on their failures; it's how Toyota has thrived.
To me, programming offers a challenging, generally fun activity with more potential for innovation than nearly any other "job." I didn't get into software to be the modern day equivalent of an assembly line worker. Though I can sympathize to some extent with the position of the "rank and file" engineers (i.e. that many software engineering jobs are a means of putting food on the table), I'm also optimistic that the opportunity to build great things finds those who have a desire to do so.
Stop wondering. There is not.
In fact, arguably, there almost never was. I live in Michigan, and a lot of "career" people are currently staring down losing their retirement in the last 5 years of their expected productive life, or losing their pension after retirement, or similar things. Some "career", some "guarantee". Even many of those "careers" may turn out not to have been, post facto. (Yikes!)
In my opinion, anyone under 40 (conservatively) should be planning on there being no pension for them and no social security.
All the more important to find something I love doing, so that I can keep cranking code when I'm 70 :)
That or try and get rich, so I can have a retirement :)
I am actually quite interested in that statistic.
(based on my summer jobs at the mill, at least)
I guess the same could be said of "Emo," but programming has more of a history of (blithely) excluding females. I'm happy to see I'm not the only one who did a double take.
For example. "You're using VB? That's so gay". "You use K&R style? Don't be so gay".
I wouldn't take offense personally. Just like being called a girl/boy/whatever isn't offensive, just funny.
and that doesn't seem wrong?
'lame' is at worst light namecalling (and at best it is just funny jabbing; verbal teasing is a fine part of socializing).
on the other hand, if gays are always confronted with the lame stereotype it isn't exactly welcoming. it's easy to imagine group-think moving from self-aware funny stereotyping to habitual discrimination.
ditto for 'girls are whinier'. it's a funny comment, which I personally up-voted. ultimately, the whole context of joel's quote was comedic and not directed at a person.
writing this response has made me a little more thoughtful than goofy, so bear with this idea in the case of dealing directly with other people (eit):
trivializing someone else's concerns is kind of antisocial. most disagreements between people, from nerd flame wars to crimes against humanity, at heart stem from an inability to see someone else's perspective. do you really want to be that person?
the internet spreads information, but does it really help us connect with varied individuals and walk in other people's shoes? the least we can do is try.
(apologies for getting so off topic. eit)
Doesn't seem wrong to me, but I don't find words offensive. YMMV.
maybe you see no reason to be angered or annoyed when someone calls you names, but handling words maturely does not mean that you haven't been insulted.
let's suppose there is an objective truth out there. some people are lame and some people are not. calling someone "lame" who is not lame is wrong as in false. stereotypes allow for such falsehoods.
the world is also more complicated than this simple logic. beyond (mythical) objective truth are the social interactions and even economic, political and medical disparities that are wrong and result from seeing only one's own perspective and whatever culture/habits/stereotypes we end up believing.
in the case of "whining like emo girls" the goal was likely entertainment. was that worth the small but nonetheless derogatory slight against emo girls* ? we call our own shots.
the rest of the article is somewhat angsty and desperate itself. joel tends towards entertainment and one-sidedness rather than well spoken and well thought out ideas. that's fine. i'm standing by my argument out of some larger principle.
* funny, but "girls" probably means "non-macho guys".
[edit: fixed formatting so footnote didn't italicize everything]
It's false,..... which makes it funny.... Next you'll be analyzing why drag queens are funny :/
I don't believe that derogatory words exist, no. I get offended by actions, not words. It's also in the context. If someone calls me a "crazy brain dead retard" that's fine if I already know them, but if it's a stranger, I'd think them rude. I wouldn't be offended though... just surprised.
So... the handicapped are fair game, but certain other groups shouldn't ever be used as pejoratives? :) Lots of words we use to show disapproval used to be merely descriptive, but became slurs, like "moron"; that might be a reason not to use them, for you, but at least be consistent.
How many people who have no problem with homosexuality still use "gay" as a derogatory term: "Oh man, that's so gay."
If they were raised in the US or Canada in the last 30 years, it's just probably something they heard in the school-yard and now don't examine at all.
I've said such things, and the subsequent introspection has given me a new insight into those old fogies who say things like "Nigger brown", without meaning to be racist.
They were socialized in a racist culture, and although their individual views may be different, they can't fully shake the legacy.
1) I use your words to judge what you think, or how you might act. I can reasonably expect people who use certain words in grossly inappropriate circumstances (context is important) to be a threat to me or my aims.
2) For people with a living memory of oppression or injustice, words associated with those events are not simply neutral -- they're highly charged. It's not that the words "nigger" or "faggot" are somehow offensive in their glyphs. It's that there are people who are alive who have been humiliated or injured while having to listen to these words.
Now, none of this should be viewed as a defense of people who freak out at the slightest mention of an objectionable word, or people who want to ban any possibly offensive speech.
It's true that choosing not to be offended is easier to control than forcing everyone else not to offend you, but this "they're just words" argument is hollow.
Words are the result of intentional speech or writing actions. On hearing or reading words that we attribute to a conscious speaker or writer, we're naturally interested in their intentions, and possible future actions.
In this case it was being used in a comedic tone, as is most often the case. Some people just see the word, and not the context/back story, and assume it's offensive.
I disagree that comedy is a good excuse for being offensive -- being disagreeable is a very cheap form of humor.
For instance the Brasseye pedophilia special is some of the funniest, cleverest TV ever.
http://en.wikipedia.org/wiki/Brasseye#2001_paedophilia_speci...
Politicians described the show as "unspeakably sick" (while admitting that they had not seen the programme).
(From one D. R. Hofstadter, http://www.cs.virginia.edu/~evans/cs655/readings/purity.html.)
They were socialized in a racist culture, and although their individual views may be different, they can't fully shake the legacy.
---------------------
So true, mod that one up.
If you ever travel in the Balkans and parts of Central Europe you will be amazed how cruel the language still is to gypsies. "Lying gypsy", "stupid gypsy", "lazy gypsy", "dirty/shaggy like a gypsy"; also gypsy women are stereotyped as highway whores. In these parts of the world PC doesn't exist. There are adverts on television and billboards which make fun of the way gypsies speak. The PC straw man argument exists, but not actual political correctness. This kind of language is so mainstream you look weird when you speak against it.
Most people who use the awful racist language aren't really racist. They don't know what eugenics is, they don't have any ideologies that systematize or justify gypsy-bashing: there aren't any "Protocols..", or the "International Gypsy" books. There aren't any lynchings. They might be nice to gypsies and treat them as equals. To most people the anger those gypsies from the stereotypes are just a generalization and it is widely acknowledged that "there are good gypsies".
People actually think they are tolerant: they sometimes begin their sentences with "I am not a racist, but.." before they bash gypsies. In the old commie days people were taught that America was the place where they beat the black people.
There isn't any official discrimination in the countries gypsies live, but there is no PC. The unofficial discrimination still takes its toll. Most gypsies are poor, ill-educated, have short life-spans and trouble with the law. There isn't anything that provides deterrence against discrimination, which manifests itself in "common-sense": you aren't racist, but you don't want to take risks. When faced with such "common-sense" and prejudice you lose enthusiasm for trying. It happens in usually in high-school. And of course there are those bad-apples - the "nationalists" and the neo-nazis. Most people disapprove of them, but the extremists are not a problem when you have the rule of law.
Its the racist culture.
So please be careful with the language. Its does matter how much you mean it, but any amount of prejudice does harm.
I guess he should have stuck with 'whiny emo carbon-based lifeforms'
For those of us that would hack paid or not, I'm thrilled to see someone like this considering getting out of the industry.
It opens up a seat for someone that loves programming to take their job.
In engineering there isn't any discipline that can guarantee a steady cool job for the next 40 years. An engineer needs to adopt all the time, that's part of the game.
An engineer who adopts all the time will soon need a better job to pay the bills.
"What is a good industry to get into where your programming skills would put you at an advantage?"
How about IT work (maybe less programming), but for one of the green energy companies that will see easy access to cash over the next few years.
And Joel, I don't care if entry level jobs for you in NYC do start at $75k a year. Its still a tough job in an expensive city with an uncertain career path.
100% true when this is applied to my country - India. All I find everywhere is another job ad that reads "C/C++/Java developer wanted. or ASP/ASP.NET developer wanted".
I find very very very little people actually looking for Python/Ruby or other nice-language guys. Even worst, people start laughing at me when I talk about Python or Ruby. They feel I'm learning some useless language and that I'm a useless programmer. (hurts me that nobody finds me useful here).
And I agree with Joel. I too haven't met a good programmer who's being laid off or is paid low or isn't enjoying his job.
On other hand I know (bad-)programmers, including a couple of my cousins, who are trying to find a decent job since a year.
P.S: IMO 1.) bad programmer=does his job for the money. 2.) bad programmer=knows nuts except the syntax of a couple of languages.
The fact that this would be relevant seems to assume that everybody reading (or at least the original poster) is a great programmer. What about those of us who are probably just average? Go away?
if you are not a great programmer, why not? if the reason is that you are just in it for the paycheck, it's time to take stock and figure out what it is you want to do instead. if it's because you haven't had the self-discipline to work at becoming better, that's a problem you should address.
everyone has the seeds of greatness within them. if you choose not to become great, it's your loss.
My thoughts: late 2008 is a shitty time to be an <X>. This is true for most X, a counterexample being "short-selling speculator". It's a really, really bad time to be a useless private equity "whiz kid", to have earned more at 24 than you ever will again. It's only a moderately bad time to be a programmer, because programmers are still useful. But everyone's hurting. Even graduate students are getting hit by shrinking funding pools and intense competition in admissions and for fellowships (and academia sucked even during the good times).
"Leaving the industry" (unless your industry is investment banking) because of the crappy economy makes no sense. Bad times occur, and they also pass, and so will these.
Of course, any manager who reaches for "project management or solution modeling" has basically failed already.