Hacker News new | past | comments | ask | show | jobs | submit login
Do You Really Want to be Doing this When You're 50? (dadgum.com)
414 points by rw140 on Oct 4, 2012 | hide | past | favorite | 242 comments



57, programming for 33 years with hardly a day off, and having more fun than ever.

My motivation? It's not about the technology, the tools, the apps, the business, the customers, or even the money, although any of those can provide plenty of motivation. And believe it or not, it's not even about the happy dance feeling I get when something I built works for the first time.

It's about the achievements of those who use what I built. Hopefully that'll keep my busy for another 33 years.


Frankly, there aren't enough of you out there.

As a consultant, I've rarely met a developer over 50 who's still interested in their job (however I wonder if they ever were).

In the few cases I have, it's been amazing. The stories someone with 33 years of quality experience can tell you about are eye opening. They can remind you of how far we've come, how what's old is new again, and how to adapt in an ever changing tech scene.

My father is 73 and still works in sales because he loves it. I'd hope to do the same thing in IT.


I've met developers over 50 who were passionate not only about their job but about their prospects for learning new things. I think that's a character attribute that you either have or don't have, and I don't see a lot of evidence that it fades with age.

I have also met a lot of developers who are passionate about the lifestyle features of being a startup software developer but who are also willfully stuck in ruts like spending months cultivating positions about which testing framework best expresses the right testing methodology, or whether HTML is best generated serverside or clientside. They don't read papers, they plan on maybe one day learning C, but they wear the right t-shirt and are on the right IRC channels. These are things that might matter a lot when you're just starting out in your career but don't so much matter at all when you've got your sea legs.

There are a lot of those people and I think that may color our impression of which age bracket is most engaged.


The older programmers I know are in niche fields, like audio effects processing or hardware hacking. It's not a job, it's what you get up and do with your brain every day.


In other words, the interesting stuff! :)


Something's level of interestingness is more a decision on my part than a property of the something, I've found.


23, programming for, what, 14 years, maybe? And I hope I still have as much fun when I'm 57. I can certainly imagine myself doing so, for much the same reasons; it is partially about the happy dance feeling when something I built works, but long-term happiness and satisfaction come from seeing it getting used. It's really, really cool to see someone's masters thesis and think "I helped make that!" or drive by an elementary school and thing "they're using my stuff!" I may not be writing the same kinds of programs for the rest of my life, but I hope I don't ever get tired of writing useful software.


I think it makes more sense to start measuring from the time you started professionally programming ... so if the 57 year old parent has been programming for 33 years that suggests that he's measuring from when he left full time education (24). My apologies if you've been coding professionally since you were 9 though :)


I wouldn't put it past gliese1337. I turned 24 yesterday, and I can honestly tell clients that I've been programming professionally for over a decade. (Obviously, my abilities/standards have changed since then, and so have my rates... hopefully that trend will continue!)


I picked up a few jobs online around that same age, 13-15. I don't think I really had enough drive to start picking up better jobs or taking on follow up work for the clients.

Was a better time in a way, not really needing money I was actually more happy just doing my own stuff and helping out with sites online I was interested in.


Good point, but I'm not really sure how to judge that. I've been getting paid for it for about 5 years, but that doesn't encompass all the stuff that I've built that other people have found useful, which is the metric that I care about. So, 8-ish, maybe?

Anyway, the point is that I don't have 33 years under my belt, so maybe I'm wrong about how I'll feel in the future, but based on the experience I do have, I just don't imagine it ever getting old.


Yeah totally agree. I've got about 8 years under my belt (first proper coding job in '04 and I'm 32 now, notwithstanding a lifetime tinkering with computers though). Still loving it and learning new things every day, hope it stays that way :) I guess the point I was trying to make is the metric people expect to hear, especially in a work environment is years of experience in the Industry (capital "I") getting paid. I don't dispute that you have a internal metric too, which is awesome. I guess you have to compare like with like though.


I've concluded that the "years of work in [industry|<tech>]" meme is a fuzzy, noisy, unreliable and (close to) meaningless metric. Note I said "(close to) meaningless", because it is not completely. It makes the classic error of making an apples-to-oranges comparison. For example, too many people talk about "5 years of Java" as if they were talking about a 5 meter long pole. If pole lengths were measured in the same way as "years of Java", and you went to buy 10 different poles from different stores, each "5 years of Java" in length, you are going to be in for a nasty surprise. Humans are not commodities like a pole, brick or gallon of water can be.


disagree. I have it on good authority that education begins from around year 0. And the folks that begin learning how computers work, and programming, at say age 10 are generally going to be much better off, and better hires, than folks that don't begin that step until age 18 or 22 or what have you. Getting a paycheck doesn't inherently teach you anything more about CS or engineering or development practices. It's just money. Having a job means you do get exposed to a lot more stuff around programming, like politics, bureaucracy, personalities, management, corporate shenanigans, methodologies, clients, customers, etc. Yes maybe even more exposure to certain technical things you might not have had exposure to it. But its more shit than shine.


My point is that if you go into your first job interview from college and say that you have 15 years experience then that's going to count against you because for right or wrong the question you're being asked is how many years have you been working in a professional work environment. By all means convince them of your passion, and explain that you've been doing awesome things with computers since forever. But "work experience" and "time from first exposure to computing" are two totally different things. Aside from that I agree with every thing you said.


So it is about achievements of your paying customers using your technology business's apps you wrote using tools at your hand. Simply put you are happy that you have created something useful to others or there is something more?


That's pretty much it.

I'm one of those guys who comes to Hacker News, reviews what others have built, and immediately thinks 2 things:

  - That is so cool!
  - So what?
Like most others, I love playing around with widgets and technology just for fun and to see what happens. But the satisfaction from this is usually short lived.

I liken playing around with techology to running around and having lots of good sex with strangers. It's fun and it feels great, but sooner or later, you'll want something more substantial. For me, that requires the satisfaction of others. (This applies to both programming and sex.)


I build things that can help others have sex with strangers. I can quite clearly remember the first time someone came up and told me they were getting married because of my spare-time project.


My first big side project was that; I have received over a 1000 cards/mails/etc of people who are married and/or have babies because of that side project I created with my wife on vacation on the canary islands. We expected it wouldn't get more than a handful of members, but it had 10.000 after a few months and kept growing. Very satisfying feeling for something just built for fun.


Link please ?


My father worked with his hands for his entire working life; at the time, he tells me, he worked on the U.S. Coast Guard Eagle more than anyone else (such as replacing the entire decking, etc). It's something that he's extremely proud of and something he can actually show his grandchildren.

On the other hand, I build things that are, for the most part, abstract and virtual. I enjoy what I do because it allows me to be creative using technologies and tools that I enjoy working with. (And I really enjoy building entire applications from scratch, so much so that I will be creating businesses to really scratch my itches.)

I'm proud that an application that I built half a decade ago is still being used. But, for the most part, most of my work has a limited life-span. Is that so bad?


I think that the example of a military sailing vessel (!) shows that almost everything people build with their hands has a limited life-span, too.

In many cases the lifespan is longer, but in other cases it's shorter. My malloc() is older than my car, even though they both still get regularly used.


I had a poster of that ship on my wall for about 10 years. It's beautiful. Your dad should be very proud.


You should learn how to work with your hands as well. There are a lot of similarities to programming, and the things you make will last your lifetime.


Well, I'm going to get into the work of a real life programmer in a year or so, finishing my degree.

Quite frankly, I wouldn't want to be sitting in front of a desktop for 33 years of my own life. Not to criticize you or anything.

But coding my entire life, just doesn't feel right, well as of today and the classic cubicle/desk/chair environnement, maybe I didn't pick the right job, it just feels like a very individualistic/selfish job unless maybe your stuff is open-sourced. How much do you feel you contribute to the society , for example ?

Then again, I'm just starting in the domain, talking from 1 year of work experience and 3 of school experience.


1. Critizing # "Not to critize you or anything."

2. open source # the only way to contribute

My quick & easy response is #137 of my ebook (see my profile):

137. How do you put your skills to good?

I’ve always thought that the best way to put your technical skills to the greater good is through your day job, not instead of it.

Some of my days jobs have been to write software to ensure that:

  - people get the right prescription medication on time
  - firetrucks and ambulances get to where they're supposed to be
  - parts that go into cars and planes are properly certified
  - prisoners are kept in jail
  - those same prisoners get proper medical care
  - electronic equipment gets assembled properly and on time
  - medical supplies get dispatched to where they're supposed to
  - insurance claims are processed properly
  - quality data is properly maintained for food items
You don’t need to do charity work on the side in order to contribute to the greater good.

On the other hand, if you don’t think that the work you do during the day contributes to the greater good, then maybe you should consider doing something else with your valuable time.

Do good and get paid. You can do both at the same time.


It is _tremendously_ inspiring to see that you can find such joy in things which are so very important (all of the things you listed) but which so many people would consider boring. It helps me put my own work in a better persoective. Thank you for sharing your insight and experience.


>> But coding my entire life

What about a brick layer, painter, electrician, school teacher, is there anything wrong with those people if they enjoy their work and dedicate their work passions to those professions?

>> How much do you feel you contribute to the society

Society doesn't pay the bills, companies do. Society is appreciating art, going dancing or having a barbecue.


edw519 is right - software as a field offers tremendous opportunities to create a positive impact on society. If you're not doing that, consider getting another job (it's not as if it's hard right now).

I've been in-industry for 3 years, and in that short time I have written software that:

- substantially reduced plastics, paper, and metal usage in packaging for the largest e-tailer on the planet.

- decreased fuel usage for shipments coming from said e-tailer.

- made air travel better by letting travelers know about delays, cancellations, and last-minute changes before the airlines even know about them. I even help them pick better seats on their flights.

- help people go on more fulfilling, more interesting dates.

I look forward to doing a hell of a lot more than that.

If you don't feel like your work matters, and you don't feel like you have impact on the world, do something else. Software is wonderful in that way.


You just hit the nail. Yes, of course this makes much more sense if you are working with open source and you know your works helps you, your customer, and countless others that you even don't know about. How do people NOT working with open source keep up? I don't know, probably that's why they want to move on to something else.

And also, being a programmer in open source or free software is not only the programming, its also the community and bonds you make while contributing.


Completely agree. I've turned down many offers to move in to management positions over the years. People start giving me weird looks until I explain to them that coding is my passion, and I want to do it until the day I die. Any position that takes me away from coding is pretty much an automatic no.


What kind of dev practices do you use? Would be interesting if certain habits keep coding enjoyable.


Check out chapter 4 of his book, "Work Habits".

Available at http://edweissman.com/53640595 and as a PDF (top of the linked page).

To summarize: Use simple tools and eliminate distractions. At the end of the day, code and refactor away from the computer (on printouts). This forms the basis of the next day's work at the computer.


49, programming since I was 15. I'll admit, now I'm in management. I still code. When I want to. And that's a luxury I can afford myself; "coding when I want too".

My days of 48-hours-staring-at-a-screen are over. Thankfully. I enjoy code much more now. Back when it was my job, it was a job. You know what's funny? I comment my code more now than I ever did when I was in my 20's.


This sounds pretty depressing to me. You're building the software that allows others to retire while you're a cog in someone else's wheel for another 33 years.

Why not build your own achievements?


You're presuming an awful lot in that analysis there.

Besides, who is not a cog in some wheel or other? In civilized countries, there is nobody who is at the top of all hierarchies, no King. It's a pejorative with no bite if it applies to all.


Pretty cynical? You can have more or less autonomy in your life, that's very important. You don't have to be King to be your own boss; you don't have to be poor to be a cog.


I am a natural cynic, yes, but people tend not to pay you unless you are doing something that makes you a cog for some period of time. It's not a criticism you can just fling at someone when you don't know their context. An experienced software contractor who is picking and choosing their own jobs is still pretty autonomous. It's more about whether you can pick where you are a cog and for whom you are a cog, than whether you are doing something that somebody can point at and screech "COG! COG!". We live in a highly interdependent society, and I think that's largely a good thing.


Although I don't really use the word 'cog,' you are being uncharitable here; the word isn't completely meaningless and using it isn't "screeching".

The poster seemed to be distinguishing not on the basis of interdependence but on the basis of who has control over your life and the context of your work, and where the resulting profit would go. (This is, of course, my reading).

One part is your freedom. If you want to take a trip for a couple weeks once a year, or change your hairstyle or get a tattoo, and this is impossible because of company regulations unrelated to workload, this is coggy. Of course, everyone acknowledges that you have to work a certain amount of time and that if you are facing employees it helps not to have a swastika tattoo on your forehead, etc.

Another part is the alignment of what you are doing with your interests. If you are putting in 60 hours to pay the bills and learn a lot about SOAP on the way, that's coggy; it is not the same as choosing work that involves SOAP because it gives you a hard-on, which is less coggy.

Another part is what determines the broader role your work plays. Yes, everyone is doing work which fits into other people's wants (even the arctic explorer is playing to an audience somehow). But if you work for 8 months on something and it fails because customers hate it, you were still the one who chose that context - less coggy. It was trying an idea. If you work for 8 months and then it is permanently scrapped because the company came to a deal with Microsoft and your project was just a bargaining chip, that's coggy.

For the same reason, profits - if you are working in Hollywood and get paid an incredibly tiny amount for a hit movie because they got you with Hollywood accounting, that is coggy; it's less coggy if your profit is tied

Of course, this also means it's less coggy if you are taking on greater risk (financial, reputational, whatever). If you are very risk averse then you may prefer a coggier position. If you are very focused on one specialized skill, a less coggy position might force you to pick up other ones, so again certain kinds of people will rationally prefer coggier positions.

If the norm is for employees to be hired at low rates, dominated in every way possible, artificially hampered from building useful things, and fired on a dime, that is pretty coggy. If you are happily choosing your own jobs, leaving when you want, dictating terms, that isn't very coggy. Which is why you used it as your example.


In context: Do you have any reason to impute any of these issues to edw519?

The accusation of him being a cog without any apparent basis for flinging that accusation is what set me off, and made me use the word "screeching". You appear to have simply expanded on my point that there are ways of being more and less coggy, which is nice, but you seem to think you were arguing against something I said, though I can't find what. Yes, I already said there's a general point that could be made there, but the point wasn't made without a heaping helping of presumptions.


I love your terminology, I'm going to use this in the future instead of just saying 'corporate'.


I just find it sad people write themselves off as never being rich or running their own business. There are 16 year olds making 6 figures writing their own iphone apps yet people view their only alternative to programming is moving to middle management.


"16 year olds making 6 figures writing their own iphone apps "

The reality is there are very few people making six figures writing their own iphone apps. Even fewer that can sustain that level of income as a sole proprietorship for a couple of decades, which is what you will need to do to retire at fifty.

For every programmer who does create a sustainable business, fewer still get rich doing so. One reason, creating a wildly successful business is a completely different skill set from programming. Another reason, it takes a fair amount of luck for a company to become wildly successful.

Goog luck.


"goog luck"

Great Fredudian typo, or greatest Freudian typo?


Definitely a Fredudian typo, Freudian would have been "Good fuck".


Not everybody wants to be rich. Would it hurt anything if I had more money? Of course not, but I have everything that I need in life and I'm not that materialistic.

The man has been doing a job that he loves for 30+ years. Having had to work in places I hated to 'pay the bills' enough times in my life to grow weary of it, I understand the value of working on a good team with people I like and respect, doing what I love.

As the adage goes: Get a job doing what you love to do, and you'll never work a day in your life. Startups are fine and dandy, but trust me when I tell you, they're a ton of WORK. Even serial entrepreneurs will tell you that it's taxing, and not for everyone. I for one would be much happier nestled up to a keyboard, solving a problem than I would be doing many of the things one needs to do to make a startup viable.

In summation, everybody's priorities are not the same as yours, and I'd wager that you could stand to learn that lesson sooner than later.


You're continuing to presume an awful lot there. I don't see edw519 saying those things.


It's OK, one day you will get over your insecurities and inferiority complexes, and not fear people who are capable and comfortable of working on a team.


Be sure to thank your employer for their insecurities and inferiority complexes with your next paycheck.


Being smarter than everyone else is awesome while it lasts. Be sure to come back in 20 and let us know how your plans worked out.


Being a cog in the machine allows you to focus on the code (in a good company) in a way that being in a startup doesn't. I can totally understand and respect that.


THis seems really short sighted. I consider IBM's Watson a great achievement, but the people who built it are all technically cogs in IBM's machine.

Achievement is what you feel inside. A large bank account is nice validation of a certain class of achievements, but not the only kind.


Why is retirement worth pursuing at all?

If you do something that gives you no kicks and only pays your bills, then yes, throwing away that nasty but necessary source of subsistence feels liberating.

But if you enjoy what you're doing every day and have no problem getting up in the morning for that, you only want more, and "retirement" feels like having your favorite toy taken from you.

Imagine someone saying: "Mr. Tesla, when are you planning to retire from your burdensome and soul-crushing experimentation and retire to enjoy some front porch whistling?"


I agree with your retirement point but Telsa didn't exactly get satisfaction from the achievements of Edison while working for him.


Tesla lest Edison's company in 1885, when he was 29. I think it's a bit too young an age for a retirement.


Is your main goal to retire?

If you want to build big things, in most cases you can't work alone. In a big team, everyone plays a part. Call them a "cog" if you want.

And, sometimes the specialization that happens in big teams allows people (err...cogs) to really push the state of the art by engaging one hard problem for a long time.


Everyone is a cog in someone else's wheel.

People don't get rich by simply taking from others (OK with a few exceptions); they get rich by offering something that another person/business/etc sees as a benefit worth paying for.


Some people just don't have anything they want to achieve. Others may have that, but due to mortgages, child college funds, or other reasons, just have to make due with having their value extracted from them in an employee role. The most depressing of sights is those that have successfully convinced themselves this is a good parking spot to occupy the rest of their lives.

I'm pretty glad I realized what this article is talking about early on and started planning long term for my own exit, as I knew my tolerance for this was a finite resource that would be continually depleted.


Your reply gives an impression of both a shallow and narrow definition of success and achievement.


Who says you will do this only while you are not retired? If you really enjoy it then you will want to keep doing it even after you retire.

And a programmer today earns enough to be able to do so at a good age.


I turned 41 yesterday. Have been programming for over 18 years. Like you I also love it. And since work coding does not offer me enough of a challenge always. I like to do some fun (challenge kind of) coding on my own. Some random examples of the fun programming I have done:

1) When I started out programming, some two decades back, I did a program which was tough for me then (I believe its a pretty standard program given to people who are learning programming). It was - 'How to place 8 queens on a chess board so that they don't attack each other'.

2) A C -program which prints itself.

3) More recently I read Norvig's solving every Sudoku puzzle (http://norvig.com/sudoku.html), so went ahead and wrote my own (without looking at his solution of course).

4) Solving this ('Going Office' on Interview Street : https://www.interviewstreet.com/challenges/dashboard/#proble...) one gave me immense amount of satisfaction, when I did a couple of months back. As I had not done complicated graph stuff earlier. I game my family a treat, just because I was so happy when all my test cases passed :-)

So programming has been a joy of my life. Hope to do it for many more years. Will try.


50, programming professionally for 28 years, still loving it, currently enjoying Odesky's FP class in Scala on coursera.


I don't know how many times I've read one of your comments and thought, "I should move to Pittsburg so I can work with this guy." Your sentiments about programming and what makes it so compelling resonate deeply with me.


Very nice - you have meaning which is the best.


That used to motivate me too. But when I found myself in a job where my work no longer made that happen, I quit and changed careers (mid-40s). I just turned 50 and I am in my third year teaching high-school math, physics and computer science. It's like being born again.


youngster at 45.

can't wait till I retire so I can finally learn some of the fringe stuff I want to play with but have no time.

to me, being a programmer is living the life of a perpetual student.

how can anyone grow bored with that?


Great point. I think a lot of us who still love programming after 20 years or more enjoy the constant change in the industry and the never ending opportunities to learn.


I think that older successful programmers are essentially life-long students of technology.


Dead right. I'm 60 and I feel the same.


Please note extremely effective demonstration of "privilege".

Two employee candidates interview successively. One is 25, the other 53. Both are comparably conversant in technology, evince comparable cognitive capability, are equivalently literate in the problem domain being tackled by the role they're interviewing for.

Privilege: the 25 year old is not asked (overtly or subtextually) whether they "want to be doing this". It is simply assumed that the 25 year old's head is in the game. No demonstration of lifestyle commitment to the craft is required.

Take the idea and turn it around in your hands for a little while. Try this: imagine that instead of software developers, these were master woodcrafters; luthiers, say. Notice how the subtext changes: age is an asset. A lifetime spent designing guitars is a signifier of passion and competence. Flip the switch back to development and notice how age suddenly connotes something else, like "career failure forcing person to retain technical role".

You will get old someday, if you're lucky. But controlling for spectacularly unlikely values of "lucky", you are aren't going to strike gold in this field, such that you'll have no career concerns when you're 45-50. It is unfortunate that our field manages to devalue competence and experience that way it does; here's a second-time Rails gem author instead of a virtual memory system designer, see you at SXSW!


It's about the rate of change. Luthiers are practicing an art that would be recognizable to Stradivari, three hundred years ago. The tools are made of more modern materials but they're basically the same. The product has a more modern design (both functionally and stylistically) but is basically the same.

More importantly, the culture and business of instrument-making is largely the same. You have a shop in your garage or basement, or in the back of your store. You make instruments by hand a few at a time and sell them, preferably for cash, to individual buyers. You learn by apprenticing with someone who knows, or reading books and practicing like crazy for decades. Maybe you'll scale up to a factory with a few dozen journeymen cranking out instruments… like Stradivari did, three hundred years ago.

The problem with programming is that it's unstable. And I contend that it isn't even the unstable languages and platforms that hurt (as everyone says, experience makes it easier to learn new languages). Nor is it the eternal brokenness and turnover of APIs. This is not a new problem, nor does the patience to deal with it necessarily decline with age. Indeed, to an extent the opposite is true: experience has taught me not to panic when my favorite API is shot out from under me. (The first time it happens is a really awful surprise and a test of your patience, but the fifth time it happens you're probably used to it.)

No, I think the real problem is the constant turnover in culture. Programming in the late 1980s, for example, was a completely different social universe than web consulting in PHP, or iOS development: Different typical org structure, different business model, different way of learning the trade, different communities and communications channels, different career tracks, different project management styles, different constraints, different everything.

Immersing yourself in a new culture is hard. You're going to get schooled by kindergarteners, so check your pride at the door. And you're going to have to relearn your whole approach to the business, not just a new syntax or a new set of APIs. You're even going to need to learn new jokes. And the biggest challenge of all is that your old culture rarely dies cleanly, so you're never quite sure if you're doing the right thing by becoming an expatriate. Why not just go home, where you have the seniority and the contacts, where you know the old stories and can visit the old hangouts? The old way is shrinking, but is it really time for the funeral?


>No, I think the real problem is the constant turnover in culture.

As a 24 year old, I find it difficult to relate to this. Can you explain a bit more about this - in a blog post or so?


Where you seem to see progress, I just see fashion.


I wouldn't say our field devalues competence and experience. It's just that in our field seniority doesn't give you such an enormous advantage as in other fields. In many professions, if you are 40+ you will expect a multiple of the salary that an equally competent 25 years old gets. Software engineering is more of a meritocracy, you may get paid a lot even at a young age if you're good, and it won't get much better with age unless your skills also get better (and in practice, contrary to what all of us like to believe, it's hard to get significantly better over time.)

The contrast with other professions is so great that this age-blindness seems like age-based discrimination, kind of like a 80 degrees pool seems cold if you've just jumped out of a hot tub.


This is a myth. The reason that there's no huge premium on seniority in software development is that there are thousands and thousands of 25 year old senior software developers who are extraordinarily well compensated (relative to the broader market) and thus less wiggle room. That's a benefit to working in this field --- you reach your prime earning years earlier --- not a liability for older developers.


It would seem to me that you're in exact agreement with what I said, if not for the fact that you started with "This is a myth." What exactly is it that you disagree with?


It's just that in our field seniority doesn't give you such an enormous advantage as in other fields. is the opposite of my experience.

Well perhaps you are drawing the distinction between seniority and experience. There are likely some folk who have programmed in cobol as long as I have been programming. Unlikely they have equivalent experience.

The more things that I learn that don't work, the more value I offer to my clients/employers/colleagues.


In short, yes, and I'm in my 40s.

I actually returned to programming after years managing programmers in part because I was unhappy. I realized that the further I got from the machine and _making_ the less happy I was.

So, if you asked me whether I wanted to be 'managing' at 50, I'd say "Hell, no!".

The enjoyment of making things work, learning and shipping it real. I hope I'm still able to feel those things at 80. I never got the same satisfaction and enjoyment from managing people and processes.


I don't think this is about "programming" versus "managing".

It's about "actual problem solving, and building things" (which is good and enjoyable at any age) versus "navigating oceans of constantly changing APIs" and getting bitten by minuscule oversights in enormous volumes of documentation, which requires a lot of stamina, and maybe optimism, that you have less of as you get older.

I hate arcane APIs with a passion. I love programming and building things. Always have, always will.

I think one's tastes don't change much with age; what changes is your willingness to put up with things you don't like. Like a grumpy old uncle who says inappropriate things at family reunions, at some point in your life you just stop pretending.


I often see aged programmers are more tolerant with things they dont like,as they know most jobs are just boring from their years of working experience. Lots of them think job is just for paying the bill.


32 here, and so far programming is the best thing I've ever done in life. The stress I've experienced has all emerged from my own expectations of myself, from wanting to excel.

My mother is in her late fifties and recently returned to working in a children's daycare after being a manager for many years because working with children was what she was passionate about, and she realised she had advanced away from what made her want to go to work.

I feel the same way about moving away from programming - what I enjoy is digging my hands deep into the rich code, smelling the mix of coffee and ozone, feeling the flourescent glare burn into my retinas - THAT is what makes life worth living!


What is it with fluorescent light and programmers? I left a gig specifically because of a mid-afternoon fluorescent hum that was soul sucking. Decent light and a good ergonomic work environment are so important.


In this case I was primarily thinking of flourescent light from an LCD screen (would have mentioned CRTs, but that would have dated me a bit TOO much), but I agree completely about the life-killing quality of shitty overhead flourescent lamps. Sadly, the office I'm in right now is afflicted, although it mainly means that the ceiling lamps stay turned off and floor lamps are used instead.


Similar here, in my 40's and I must admit I also struggle with the management divide. However, I'm lucky that I work in a small company so I get to do a variety of work. I also have a lot of domain knowledge (medical imaging) which means I need to be engaged at a technical level. However, even when I'm working on strategic planning or market analysis I also manage to find a "reason" to write some little program to process data rather than just put it in Excel or hack up script to create a Gantt chart rather than use MS Project.

I guess you can take the boy out of coding, but you can't take the coding out of the boy!


Similar experience here - the more "managerial" my job was the more miserable I became.

So I now have a reasonably high level job with a lot of variety but I usually spend a couple of days a week developing stuff - altogether not a bad combination for me. I do manage some people but as they are all smarter than me and very self directed it is actually a pleasure to do.

[NB By far the most stressful job I had was as co-founder and CTO of a VC funded startup]


I'm with you, I'm rounding 40 myself, and was not happy for the brief couple years of management.

When filling out a 'secret question' for some site, it ask what your ideal job would be. I didn't even blink, it was: developer.

Do I want to be doing this when I'm 50, hells yea.

If I had trillions of dollars, I would still code. It's who I am, it's what makes me happy. If you don't think you'll like development at 50, then you may have picked the wrong career.


Same here. I am interested in some process stuff, because processes can be "solved" in a similar way to computer problems. But I actively enjoy this kind of thing, and I hope to carry on doing so.


Its nice to know the grass is greener on my side of the fence..


If you're young, be sure to read the responses here very carefully. There are lots of people like me who love what they do at fifty or beyond. Yay!

But of course, this sample has survivor bias. How many people who left the profession in their forties are going to post on HN? How many people who are fifty and hate their jobs are going to post on HN?

I love what I do and try to share that love. But my advice to you is this: Don't pay attention to how much we love our jobs at fifty, pay attention to how we got to be fifty without burning out.


Are you seriously trying to give unsolicited advice to the young here? Have the years taught you nothing? ;)


So how did you get to fifty without burning out? The advice I've always seen is a mix of: have a healthy work/life balance, exercise, find satisfaction outside of work, enjoy people more than products, and make sure you actually like what you do and where you do it. Anything else?


In my personal experience, resisting the urge/pressure to get into management (vs. staying in engineering). Management in a larger setup invariably involves having political skills of some sort.


sounds like you have all the right parts identified. Now its only a matter of doing it =P, best of lucks!


I really want to be doing this when I'm 70(14 more years). And then I still want to be doing it, just part-time and probably for free.


You are right. The ones who stick around have done something right.


The interesting idea in the post(beyond the programming vs age bit, which is sure to trigger some rage,) is this

"To me, there's an innate frustration in programming. It doesn't stem from having to work out the solutions to difficult problems. That takes careful thought, but it's the same kind of thought a novelist uses to organize a story or to write dialog that rings true. That kind of problem-solving is satisfying, even fun.

But that, unfortunately, is not what most programming is about. It's about trying to come up with a working solution in a problem domain that you don't fully understand and don't have time to understand."

If this is a problem that affects you don't do 'most programming'. Nothing really stops a developer from learning a problem domain with economic potential. Sure you may have to go to school or read some books or get some experience, but so what?

The idea that a programmer always has to work in a half understood domain transforming some one else's ideas into code is just that, an idea. It is a dominant idea, but nothing really stops anyone from mastering an interesting domain in addition to programming.

Knowing how to program is like knowing how to write (in a largely illiterate society, so your knowledge has economic value). Or like knowing how to cast spells. Yes, if you spend all your life scribing other people's thoughts or casting spells to manifest other people's wishes, it could get boring. Could, but doesn't have to be. You don't have to be a scribe just because you know how to write.


I love programming and still consider myself a programmer first, although I do a lot of other things too.

If I wanted to rag on programming, I'd point out how many dysfunctional programming workplaces we have, or how our tools are always 100 times more complex than they need to be, or how setting up and managing the programming environment can take the joy right out of actually doing the work. (I could go on at length here)

But overall it's a great place to be. We're the Michelangelos of the great age of machine intelligence which is yet to come. We're sketching out how it's all going to look. We're at the forefront of solving incredible problems and creating magical devices. A guy told me something back in my 20s when I was just getting started that rings true today: technology development is the one area where you can create your own reality. Not only in terms of a virtual reality, but in terms of how you want your work day to go, how you want to interact with your peers, how you get compensated, how you spend your free time. It's all up to you. This is completely unlike many other professions such as doctors where everything is tightly regimented.

I worry that as the job of programming matures, we are losing track of that fundamental insight. One of the reasons I like Agile and Scrum is, when done correctly, it liberates the teams and takes them back to the way programming should be.

It is rarely done correctly.


> I worry that as the job of programming matures, we are losing track of that fundamental insight.

Reminds me of the intro to SICP:

“I think that it’s extraordinarily important that we in computer science keep fun in computing. When it started out, it was an awful lot of fun. Of course, the paying customers got shafted every now and then, and after a while we began to take their complaints seriously. We began to feel as if we really were responsible for the successful, error-free perfect use of these machines. I don’t think we are. I think we’re responsible for stretching them, setting them off in new directions and keeping fun in the house. I hope the field of computer science never loses its sense of fun. Above all, I hope we don’t become missionaries. Don’t feel as if you’re Bible salesmen. The world has too many of those already. What you know about computing other people will learn. Don’t feel as if the key to successful computing is only in your hands. What’s in your hands, I think and hope, is intelligence: the ability to see the machine as more than when you were first led up to it, that you can make it more.” — Alan J. Perlis (April 1, 1922 – February 7, 1990)


We're the Michelangelos of the great age of machine intelligence which is yet to come.

If there's a great age of machine intelligence to come, then one in a million of us may be a Michelangelo. The rest of us are house-painters, and the houses we paint are slated for demolition within our own lifetimes.


So true. Just crushed me...


What is wrong with everyone doing well, including your peers and descendants? Why must everyone want to be the top dog forever? You are going to die. No one will buy or code their way out of that, not even Zuck or Gates


My point was more how as programmers, the emotional toll of everything that we're making will be destroyed, usually in only a few years.

Yes, we're paid. But it's hard to have satisfying work when the result you produce becomes worthless. It would be like spending 12 months carving a beautiful piece of furniture out of wood, get paid $100k for your work, and then handing it to the owner who lights it on fire right in front of you.


I thought XP actually imposes quite strict guidelines about how the work day should go? Everyone should be in the same physical office, and maintain pretty much the same "office hours" so they can pair for 4-hour sessions?


Creating your own reality is at odds with correctness.


Great, now I've got the Mythbusters intro running in my head like an earworm... I reject your reality and substitute my own.


Hell yes!

There are many different kinds of programming, some are fun and some are not.

If you really want to be doing this when you're 50 make sure you get good enough that you can pick the projects that are fun. If by the time you are 50 and you've been doing this for 3 decades you are still gluing api's that's not the fault of 'programming', that's a direct result of choices made earlier.

And one more thing: on the scale of things that you could be doing, look at your parents, grandparents and their grandparents and what they were doing when they were 50. Suddenly that api gluing doesn't look so bad at all.


@Jacquesm, I agree with your FU money concept and I am actively working on that. I think this comment is a byproduct (side-effect?! (-;) of your having achieved FI.

But what you mentioned here is what I would consider "Let them eat cake instead" advice. :)

Not well thought out.

Nostalgia is a very powerful emotion, and besides historical perspectives are based on whatever set of lenses you choose to wear. Actually, our grandparents (even parents) had more time in their lives, more variety in their lives that was completely unrelated to their 9-5 routines, their professional lives were (mostly) on autopilot, so they had more free time to pursue all kinds of hobbies and tinkering, while still working on a daily job! So, yes I am looking at grandparents too, but I chose to wear different lenses.


My grandparents would have been very happy with time and energy left over for 'hobbies and tinkering'.


I think you both need to remember that you probably have different sets of grandparents living in different circumstances.


By grandparents were busting their hump building new businesses after fleeing genocide in their home country, I wouldn't trade my life for theirs.


Late 30s represent, yo. The author of the article mentions high stress. My experience differs.

In my case the stress sort of waned by itself. I think I moved a bit towards Wally character from the Dilbert series. I don't overcommit anymore and I certainly gained resistance to "aggressive schedules" and visions of doom and gloom tied to deadline skips. So I stress out less and less and I believe it comes naturally with age.


I think the crux of the matter is your job security and your financial stability (the economy where you live, etc). If you can afford to delay projects as needed without risking your position then of course that takes a lot of pressure off you and things are more enjoyable.

In an ideal world, I'd be set financially by the time I'm 50 and I would work in my own stuff exclusively or almost exclusively.


In my experience it's not so much about missing deadlines with impunity, as negotiating up front what you're willing to commit to delivering. A lot of times you can put off some "nice to have" features without anyone complaining, as long as the core functionality is ready on time. (That may be what you meant by "delaying.")

The other part is renegotiating timelines when they make changes to stuff you've already built.

Financial security helps but the real key is being skilled enough to accomplish a lot without breaking a sweat. As much as possible, build reusable components with nice APIs, even if it means putting in some extra time up front. Always think about how to make your own job easier down the road, and after a while you'll have an easy job.


>> I think the crux of the matter is your job security and your financial stability (the economy where you live, etc).

You nailed it. +1 :)

My own comment further down below was exactly on similar lines.


That's solved long ago.

There are some underlying concepts, foundation ideas which didn't change much since 1960-70-80s, the time when they have been discovered, studied and defined.

Yes, people are piling up tons of crap in order to get money, and this is how we got a millions lines of meaningless Java code which no one could understand or maintain, which seems to work well only because most of unit-tests passed and hardware is so cheap.

I don't even want to mention current Javascript madness.

At the same time, however, almost nothing were added to the ideas expressed by John McCarthy, and followers.

Yes. They are stuffing tons of useless crap into new Scheme standard, as they did with Common Lisp, but, the underlying ideas and the principles of "less is more" and "good enough" remain unshaken, like mountains in Nepal.)

In a very rare occasions we still can witness some miracles. For example, the source code of this site - the engine and the language translator in which it written is less than one megabyte. (just imagine what amount of traffic it handles and how much money already created).

There are also Plan9, nginx and few other wonders.

So, in ones 50s one, perhaps, should enjoy knowing and applying these principles and ideas and produce ones own small wonders. Or teach others, as enlightened people like Gerald Jay Sussman or Brian Harvey do.


That's how I feel. I don't want to be a programmer when I'm 50, or even, preferably, when I'm 30. Trying to run to the top of a dune made of quicksand just doesn't seem like a good career move.

(Hell, every few months I find something new to feel obsolete about, usually to do with the fact that most programming nowadays seems to be web-dev and I'm just not into web-dev.)

On the other hand, I'd love to keep being a computer scientist until.... I don't even know what age. Sure, eventually I'll have a family and other priorities to take care of, but the wonderful thing about the scientific frontier is that it doesn't actually move that quickly. In science, ideas have to actually be tested and percolate through for a while before they become something ever single practitioner has to know.


Would you mind sharing the the "few other wonders"?

I've been able to pull many programming lessons from the other activity I enjoy, woodworking. When I first started, I was overwhelmed by the sheer number of items in catalogs and stores. I didn't know where to begin!

And then I discovered Japanese woodworking, and traditional woodworking, and people like James Krenov and Roy Underhill.

It is impressive what people have built with a small set of simple, sharp tools.

I love seeing these gems, regardless of the domain!


MIT Scheme, T3, vi, Gambit-C, postfix, openssh, postgresql, redis, GNU Emacs, clisp


No,

Because I seriously would like to see myself retired by 40. Not even 50. Would I like to code in my spare time? Yes! But I'm dead sure and certain the nature of programming is likely to have changed so drastically in so many years I might find myself a losing horse in such a race. Not that I cannot compete,but after looking at my father I can say for certain priorities in life at 50 are very different than what they are 25.

Solving problems is something that I would love to do even after retirement. But solving problems doesn't always mean programming.

I love programming, but I just like money a little more!


+1 Good to see I am not alone with views like these. I agree with you. It is also about where you are doing "programming" too ;-)

See my comments elsewhere.


Let's draw an important distinction.

There is programming, writing code that helps computers do what people tell them to do.

Then there is the experience of programming that this author seems to have, which involves a lot of long hours, and nights until 2 AM.

It is rare for competent and experienced people to be tolerant of the toxic environment that was assumed for programming. Over time you learn that there are lots of professional programmers with reasonable lifestyles, and you'll want to become one of them.

However programming itself, if it is enjoyable for you, is likely to remain enjoyable for a long, long time. (Mid-40s here. Didn't learn that I liked programming until around 30.)


I am 50.

I had a large portion of the 'middle' of my career in management, including a couple CTO/VP Eng positions, with the traditional increasing stress.

So I moved to Hawaii for nearly a decade, got rid of the stress, rediscovered programming, and I'm happy again.


I think the reason you are even able(read afford) to move to Hawaii is because you went through a couple of CTO/VP Eng positions, with traditional increasing stress.


Any American citizen can move to Hawaii anytime they like. It's not terribly hard to do, especially with a high demand skill that lets you find work anywhere, globally, like being a software engineer.


I think the point is that if he kept programming (i.e. doing what he enjoyed) rather than taking the CTO/VP positions he might not have needed a break in Hawaii to de-stress.


Cool, so are you in Hawaii right now? If so, which island? If you're on Oahu I might've already met you.


> But large scale, high stress coding? I may have to admit that's a young man's game.

2.5 yrs out of college. Code monkey. Really, really good at monkey programming. Used to get upset when people made claims that it can't or shouldn't be done. "Of course it can be done you lazy #$%*$%. You call yourself a software engineer??" Then I pull it off. A couple more people love me, a couple more hate me. I become the monkey programmer. I am the one who brings designs to life the quickest.

That's the gist, and it's getting old. Requirements change. Social issues. It's like trying to drive a ferarri up switchbacks of a mountain. No wonder companies love hiring new grads.

The largest benefit from this is: reading & writing a lot of code. There is no substitute for this. It has helped me identify design areas that I need experience with. It has also helped me reason about code more efficiently, which is a very useful skill when interacting with other programmers.

Edit: And then I go home and read HN and /r/programming and play with other programming languages and build stupid little programs and read my books and try to figure out my next move...


Some people actually seem to be missing a significant part of his point. He's not talking about "Do you want to be coding at all when you're 50?" He's talking about the dependency management that goes into building something large on the shoulders of others.

That's a lot different from "hacking on your homepage" or throwing together a quick Ruby script utility to do some scraping.


Well put!


When you reach your 50s, you have enough experience to see what is real bullshit and what isn't. He is basically talking about being a hamster spinning on a wheel made of someone else's bullshit. You are old enough to see that many things shouldn't be the way they are and you get tired of having to fight basically the same battle again and again with the same enemy that is just wearing a new uniform (API).

Hm, maybe the solution is to have people in their 50s design APIs, so they can make sure the bullshit doesn't get in?

BTW, I'm not a coder but I Follow several on Twitter and too often see their frustrations with bizarre APIs and things not working as documented -- and these guys are young!


I'm excited to see all the other folks in this thread who say they're 50 and they're programming! I've been worried that because everyone _else_ thinks "large scale, high stress programming" -- i.e., the kind of programming that's _fun_ -- is a young man's (or woman's) game, I won't be able to have a job like the one I have when I'm 50, and I might need to find some other career I enjoy in order to continue having a job I enjoy when I'm 50.

I'm not looking for advancement, since advancement would be out of programming and into management, nor a pay raise, since programmer salaries are already plenty high. I just want to be doing exactly what I'm now doing in thirty years.


For much of this frustration I blame the modern practice of letting some committee design a protocol or other standards and then force that down the throats of programmers. This leads to bloated designs and deficient implementations and documentation and last, but not least, far too many revisions and alternatives.

Back in the day, protocols (tools, languages, ...) were designed by people who thought very hard about the implementation, the required resources and the programmers whom these were inflicted upon.

In contrast, entities like the W3C display complete ignorance for the implementation details (look how they've failed to provide even a half-assed implementation of a browser as proof-of-concept for their "designed by committee" standards). Whatever builds on top of such lackluster work is doomed and will frustrate programmers endlessly ...


I don't know squat about your specific examples, but I couldn't agree more with the general principle. In my sub-field, the obvious example is the ISO-designed STEP file format, which several times longer than the older IGES standard (exact count is hard to get because the STEP standard is split up into dozens of books, not all necessarily relevant) yet is drastically less specific about how you actually put together a meaningful file.

For instance, the STEP AP203 standards document is 500+ pages long. (That's the old edition, I don't have a printed copy of the second edition handy.) But those pages don't tell you how to use the hundreds of classes they define to actually create a meaningful file. For that you need the supplemental "recommended practices" document (http://www.steptools.com/support/stdev_docs/express/ap203/re...), which has been marked "preliminary" for the last 14 years and is itself not particularly clear. (On the bright side, at least it's free!)

Of course, that only applies to one of the many different STEP application protocols, and while I did find a reference to an AP214 (which I also need to support) recommended practices document, the link to it was dead.


I'm fifty, and I still enjoy programming, but my interest in incidental complexity -- the details of APIs, say -- isn't what it once was. And the likelihood that I will put in a ton of overtime to meet an arbitrary schedule isn't what it once was either. I'm less interested in the technology than I once was, and more interested in how people are using it to solve problems.


I love programming professionally at nearly 50. I doubt that is going to change. And I'm in the game industry.


Remember the mantra - "location, location..", and also context. In other words, where you are working (geolocation of company, and therefore the strategic operations concentrated in that place, company size, technology, etc.), what you do on a daily basis, whether you are doing things like "skimming great oceans of APIs, but the market will have moved" day in and day out. (There's a lot of gems in that article, BTW)

Add to my above para, this other gem of an observation:

<blockquote> If you're fresh out of school, there are free Starbucks lattes down the hall, and all your friends are still at the office at 2 AM, too...well, that works. But then you have to do it again. And again. It's always a last second skid at 120 miles per hour with brakes smoking and tires shredding that makes all the difference between success and failure, but you pulled off another miracle and survived to do it again. </blockquote>

That article really resonated with me. And, no I can't see myself doing it at 50 :-)

EDIT: One more thing to add with regards to context of operations, rewards are also skewed in favour of management rather than "engineers", so at some point mortgage, loans, education and medical expenses will overshadow 'fun'.


I know and have worked with coders in their 50s, even 60s. They were very much what I'd call 9-to-5 coders though. They were never given big, important or new projects but as a consequence were never expected to burn the midnight oil.

The main thing that looks unappealing to me about being a hacker decades from now is the constant cycle of learning. I'm on probably my 3rd generation upheaval. I've worked on a daily basis in a team of programmers with C, C++, C#, Java and Python. Getting familiar enough with those languages to do more than just tinker took a lot of effort - even for the languages that are pretty similar e.g. C# and Java. I'm now looking to do more front to back website coding (away from pure desktop/server stuff) so I'm trying a few things out before choosing on the main stack of technologies I need to master.

In my early thirties I still have the enthusiasm to do this but I find it hard to picture doing the same ten years from now with the same smile on my face.


I agree with the thrust of everything you mentioned. Just wanted to chime in.

>>They were never given big, important or new projects<< Basically you have answered the OP's main angst. There are names for this kind of thing, you know ("Ageism"?). Also, because of these kinds of actions, these people are simply losing their 'relevance' within the context of the organisation's overall strategic direction. Now how bad do you think it is for one's morale and self-actualisation? In a way, damned if you do, damned if you don't, isn' it?

Also, in some orgs, the "seniors" are "expected to understand the architecture" (read: more arcana and API call memorisations) so they can "guide"/"mentor" the "juniors" and "participate" in "propelling" the organisation, blah blah. And this invariably leads to what the OP's saying >>It's about skimming great oceans of APIs that you could spend years studying and learning, but the market will have moved on by then and that's no fun anyway<<


Oh, interesting. I love the learning cycle. If I wasn't constantly learning new tools and tech then I would get really frustrated with my job.


I'm happy for you. But sooner or later it gets to you. No one can say when/how/why, but it does. Happens to the best, happens to everyone else a little sooner. Until then, enjoy the ride. :-)


It's the learning new stuff that keeps it fun. (54)


Absolutely! I'm 46, I have been programming professionally for 21 years, and I still love it.

I think we're lucky to be in such a creative and interesting profession where you get to learn lots (and it pays comparatively well too).

I've written about the joy of programming in "Why I Love Coding" http://henrikwarne.com/2012/06/02/why-i-love-coding/


40 year old here. The key to a long enjoyable career is making sure you really love 80% of the work you do in your role. You'll never enjoy 100% but if you find yourself only loving 20% of it then you need to examine what that 20% is and figure out how to make it at least 80%.

I made a long (5 year) detour into management because "I was supposed to" and it took me 4.5 years to realize that I hated 80% of my job. That isn't to say management is "bad" but you need to understand what makes you tick and what doesn't and then find a role that matches that. Don't worry about the money - the money will find you if you love your job.


Man, I hope I still get to program when I'm 50. This stuff is fun!

That said, I sure hope it's not my day job by then. Programming is much more fun when you're just doing it for yourself than when you're solving other people's problems to extract money.

Although even those projects can be made fun by making a valid business case about cool things to clients.


A bit of a false dichotomy here.

Don't do the work because it's expected of you, because it's sexy, or because it's "interesting". Don't do it because your friends are impressed, because the pay's good, or because your friends are there.

Do it because it enables you to do what you love.


What if suddenly, by the time you're 50, you find that you no longer love it, but it's the only thing you can do to put food on the table?


Sure, but there's nothing particularly programming-specific about that situation.

It can happen with any profession, and I can't see that it's any more likely for programmers.

[Personal note: I'm my late 40s, and have been a professional programmer my entire working life. I still love it, and can't think of anything else I'd rather do.]


"It's about trying to come up with a working solution in a problem domain that you don't fully understand and don't have time to understand."

Hrm... it's like that for me, but it's not like that for others I know. Some people I know have worked in the same industry for several years and have a good grasp on the problem domains they address. That doesn't mean they know the solution to everything off the top of their head, but it does mean they'll likely have time to figure it out, as they're in that business for the long term, and have incentives to get it right vs 'fire and forget and move to the next project'.

I'm in my 40s and have been programming, for 30 years. Initially as a hobby (obviously) but getting paid to do it, first part time, then full time, for about 20 years. I had this same conversation with an uncle last year - shouldn't I be doing something else (OK, not quite the same tone as the OP, but we had the discussion).

I have skills that allow me to solve problems for people. Many people do as well, but with software, I do it with electrons, and can do it wherever and whenever I want. In contrast to many other types of work which dictate location, tools, timing, software work is incredibly flexible. But... more to the point, as more of the world continues to become software-based, the opportunities to offer my problem-solving skills to people increases at a rate few other industries/skills have enjoyed (or will continue to enjoy).

Even if I switched focus to work in "company X" vs "company Y", my core ability will still be "problem solving with software" - I just don't see that changing for me over the next 20-30 years. The 'how' and 'who' may change, but probably not the 'what' so much.


FYI, I am 50 and loving it still. More relevant question IMO is: are you doing what you enjoy doing?


I'm 60 and have been programming for 44 years. This year I'm working on election maps for Google. I still like learning new languages - this year it's PostgreSQL and PostGIS, Go, Autohotkey (a very strange language!), and now TypeScript (not quite a new language).

One thing I get an odd pleasure out of is when other programmers use phrases and styles I came up with years ago. A recent example is the $ prefix on a JavaScript variable containing a jQuery object:

    // Set $test to a jQuery object and test to the DOM object
    var $test = $('#test'), test = $test[0];
I just saw someone explaining that on reddit last night and it gave me a smile.

Much longer ago, I coined the phrase "fire an event" back in the 80's when I was designing the VBX interface for Visual Basic (then called Ruby). Alas, not all the names I coined for that project survived: VB Controls were originally called Gizmos, which I thought was a much more fun name. But still it's neat to see people talk about firing an event.


I have been programming for 10+ years professionally (not counting those 'Hello world' days in school), and I need to admit the OP hit the nail at its head. Yes, I still believe programming is fun, problem solving is fun, and solving a hardcore problem is fun. But putting all these in the context of a tight deadline, management who has no clue about technology, and changing requirements, I really am tired to pull the miracle off by working my ass off.

A quick glance through the posts here reviews a lot of folks here have better luck and it is a good thing. To put things in perspective, I have been working in Asia Pac and now in China. Now I am in the business dev turf where a technical background is proven useful.


People are being very selective in what they are responding to. The final words are "But large scale, high stress coding? I may have to admit that's a young man's game." High stress coding is what companies can get away with when they hire kids fresh out of college, i.e. young, stupid and inexperienced.

And before people throw a hissy fit about being called 'stupid', look back at 10 years ago and tell me you weren't stupid with regard to what you think is important now.

No one is saying you can't (or shouldn't) code in your 50s or beyond, but the older you get the more particular you get about what you work on and what your working conditions are.


Programming, by itself, the mechanics of it, isn't something that I find stimulative enough to derive long-term enjoyment.

I think the author is right in pointing out that there's an ugly side to programming that includes bugs, bad API's, bad tools, bad documentation, etc.

This is what I have come to term "programmer on programmer violence". We certainly can't blame anyone else for these issues.

This I don't enjoy.

Not to single them out --because EVERYONE has these issues-- but you look at the bullshit you have to deal with when doing iOS programming and, yes, it can be down-right demoralizing. Horrible documentation, an IDE that looks more like an iTunes-styled toy than a professional development system, bugs, bugs!, no feedback, huge delays in fixing problems, etc.

Again, this isn't just about Apple, as nearly every system I've worked on over the years has some kind of bullshit that you have to deal with, like it or not.

This, I do not enjoy.

That's why, when justified, I've always gone for projects where I can "own" all of the code. Two typical cases are FPGA-based projects where you start with a blank slate of sorts and develop it into a useful signal processing subsystem. Or, embedded systems where I've had the chance to roll my own RTOS from scratch. These projects are fun. And you don't have to deal with other people's bullshit, laziness, incompetence and technical baggage.

These projects I really enjoy.

The other side of this question is: If you didn't program, what would you do?

I am an odd duck. I am equally at home designing multi-gigahertz digital circuits, programming embedded systems, FPGA signal processors, iOS apps, workstation apps, websites, doing mechanical design and even running a CNC shop. I've been lucky enough to have had the opportunity to learn tons of disciplines through hours-upon-hours of hard-work and dedication. I've enjoyed every minute of it.

What I have not enjoyed --and I'll try not to get too political here-- is when your efforts are affected or even destroyed by external --political-- forces. I recently had to close down a beautiful electronics manufacturing operation that took me fifteen years to build. Typical story: Started in the garage. Worked my ass off. Learned a ton of stuff I didn't know. Worked some more. Grew it to a 15 employee company in a 10,000 square foot building with top-notch manufacturing equipment. That's the good side of the story.

While I was busy doing this, fucking idiots, otherwise known as politicians, where busy meddling with free markets and passing laws and regs that would, ultimately, cause the economic implosion in 2008. My customers couldn't finance their purchases (this was B-to-B in a mostly leased-equipment environment) and orders went to zero or nearly zero instantly. There's a lot more to it, but that's the basics. At one point no option remained but to fire everyone and shut it down.

How does this relate to the "Would you want to be doing this at 50?" question?

Be careful about doing something or falling in love with something that external forces can seriously affect, damage or take away. For me I'll generalize and call this "manufacturing". No, I don't want to be in manufacturing any more. Not now, not when I am 50. It's a shit business in the US and, between our politicians and what's going on in China, it is getting destroyed a little more every day. Here's a case of having invested fifteen years of my life into something that the government destroyed. I did not destroy it. None of my actions caused the economic downturn. None of my employees or my customers caused it. It was government policy that allowed millions of people making $50K a year to buy $500,000 homes they could not afford. And so it went.

The software industry, as fucked-up as it can feel from time to time, can have a lot more isolation from these issues. That's not to say that it isn't affected by economic ebbs and flows, it is.

There's a fundamental difference between the nature of a software business and, say, a manufacturing business. At any given time I had to have one to two million dollars in inventory, tools and equipment (parts, assemblies, raw materials, manufacturing equipment, tools, infrastructure) in order to be a small manufacturer. And, when things go bad, this infrastructure is sitting there, right above your head, ready to squash you, ready to kill you off unceremoniously. It can happen almost literally overnight.

Software is different in that infrastructure is minimal and there is no real inventory investment. You can do software from your bedroom and build a nice lifestyle business or million dollar venture. Most importantly, software is incredible in that you can pivot overnight. You can be doing children's educational apps one day and a real-time process monitoring system the next. This allows for great security and potential stability for years and years. This is a huge advantage and, yes, this is something that would be desirable to have in your life at fifty and beyond.


Regarding "programmer on programmer violence", I recommend http://chriswjohnson.blogspot.com/2005/12/programmers-hate-p...

A little old, but it captures the spirit of the thing.


Sorry to hear you had to fold up shop like that. It sounds like you have plenty of talents to fall back on but that probably doesn't remove any of the sting of having all your hard work swept away. That said, US Politicians have plenty of misdeeds to answer for, but over-regulating the financial sector is really not among them. The requirement to prove that you have some sort of income before getting a house loan was one of the things deregulation "fixed". It was bank policy not government policy that "allowed millions of people making $50K a year to buy $500,000 homes they could not afford". Check out Alan Greenspan's testimony before congress. Its easy to find on youtube.


LOL: and who guaranteed all these bad loans? Who guaranteed all the mortgages by the Law? The US Government and the FED. Are you really surprised that banks were approving nearly all mortgages when Government GUARANTEED they if house owner stops paying, the Government will buy the mortgage?! That's the very purpose for which Fannie Mae and Freddie Mac were created. To guarantee risky mortgages so even people who shouldn't get a house (lazy) would still get one. With the Government guarantee. The unintended consequence was (of course!) that banks started giving out loans to everyone.

Look for Peter Schiff videos on youtube from 2005/06/07 when he talks about it and everybody laughs at him.


The lesson is that you can't just ignore politics. You can't just leave politics to the politicians.

The same people who bitch about the government typically refuse to take control of the government. Democracy is bullshit and it's time for technical and scientific people to create a Platonic state.

The price good men pay for indifference to politics is having their businesses destroyed by evil men.

What mystifies me is how all of these smart technologists and scientists refuse to use their intelligence to take over the state.

People should have to pass science and math exams if they want to vote. It's that simple.


http://en.wikipedia.org/wiki/The_Big_Short

Read it. It's an eye opener.


That is the reason Siemens actually became a bank, so they could lend to their customers. Its a weird situation.


Fifty? Pfft, sure! I'm almost there, and yes, I want to continue… Now Sixty… I'll confess that my evil "plan" from many moons ago was to—by then—be able to balance this with my other loves, being outside and moving (not just my fingers). I suppose many professions suffer from the same disadvantage, but programming is a slow killer. Eyes, joints, all that clot-inducing sitting, disrupted cicardian-rhythms, too easy to get trapped in bubbles disconnected from reality, you need to be extra-vigilant and pro-active if you care at all about your health and those that love or at least put up with you.


I definitely feel this. I'm only 24, but already I can feel the effects of being in a chair for 8-16 hours a day. It's sad that it is happening so quickly, but it has really made me realize how much I need to break the cycle and start thinking about this now, rather than just deferring it till when I have time.

Also I deeply feel the mental bubble that forms around me when i'm programming. It makes it scarily easy to just start withdrawing from other people and the world around me.


30's here. I'm actually calling "still doing this when I'm 50" my best case scenario. It will mean the joy I take in making was able to outrun the creeping cynicism that seems to catch up with far too many people as they get older.

It's about getting derailed by hairline fractures in otherwise reliable tools, and apparently being the first person to discover...

I actually live for these moments. When I google the error, in quotes, and get 0 responses. Its a total rush to know that I'm the first one there. Its even better when I figure out a decent fix and then light out across the forums to share my new-found knowledge.


The frustrations of this are less than frustrations of almost every other job I know.

I hope to mitigate the frustrations by simplicity - the idea of a few great tools I know inside and out


The point is you have to be prepared to re-select the 'few great tools' you know every decade or so and invest time getting to know them inside out. That can get very tiring as you get older.


How is that different from any other job? Listen even to people in traditionally creative/uplifting jobs...including artists and teachers. It's depressing to hear how much of their time is struggling with data entry/Excel/why-wont-the-font-stay-the-same-size issues...time (and energy and angst) that is probably substantial over their career


Interesting.

I remember an industry teacher once saying to me that "You'll probably never put '10 years experience in Technology X' on a CV." because by the time it's been around for that long it will be pretty much obsolete. The fundamentals of computer science won't change (big-O, synchronised distributed systems, logic etc.) so I suppose it will just come down to re-learning the modern day tech.

But that's the same for lawyers (fundamental laws / processes unchanged, need to be up-to-date on modern rulings and changes), doctors (fundamental human physiology unchanged, need to be up-to-date on modern techniques and drugs) sales assistants (knowing how to greet and assist a member of the public never changes, need to know how to use the latest cash register / Square-up card reader terminal).

I suppose you can't escape it in another industry. I still stand by my point that your skillset as you get older will make you more appropriate for other duties.


I think the skillset as we get older is knowing when to duck.

It might be called wisdom, mentoring, what have you but basically, having been in situation X before, you can give sensible advice to someone just entering situation X.

Monetising that is generally harder


Reading through all the comments has reinforced my original comment that this kind of "bring it on" passion is heavily correlated to geo-location, culture, industry and day-to-day grind that one is put through.

>> Monetising that is generally harder

Tell me all about it! So, I've heard of elephant graveyards and jet graveyards... Now, where do all those grizzled, veteran (old) programmers go away (other than into management)?

:)


we hang around on HN, moaning


Finally an article that tells it like it is. A word to the commenters trying to disparage the author. I am sure wherever you live, in la la land, you wake up smiling, sipping your coffee, checking tech blogs, dev sites, spending couple of hours learning a new technology and then when you feel like it you write a single PHP page and call it a day. But let me tell you how the rest of us do it. You wake up with a headache because you spent last night dreaming about all the meetings you had the day before. You chug your coffee hoping the headache will go. You spend 15 minutes catching up on emails and if you are lucky 15 on reading tech blogs and then the misery begins. In 15 minutes increments you jump from coding project 1 to a meeting to fixing project 2 to a meeting to learning about the domain of project 3 ... And then some douchebag in a meeting says why don't we use technology X and spend many days learning about it to build something we could've coded in couple of hours. And then management says why don't we use technology Y because all the douchebags on the internet are talking about it. You try to make you case that we don't need any of that i.e. we don't need to use Hibernate for COUPLE of select/update/delete queries SQL is not that evil! and then even though most of the team agrees with you, no one has the guts to say it out loud. You return to you desk trying to remember the algorithm you were designing in your head but part of it is gone. You jump from JAVA to .NET to PHP to javascript to C++ to SQL to Hibernate to jquery to YUI to MVC to mapper to, to, to ... You go back home, do whatever nightly routine you do and call it a day. Sorry, passion is not the problem here. Software developer is a tough job and I know I can't do it when I am 50.


I just turned 29 and this depressed me.


You'll see, turning 40 is even worse ;)


I'm nearly fifty and have found things get easier as you age. The things I used to worry about in my twenties just aren't on my radar now.


I've been doing software development for a total of 16 years, with a stint as an IT manager for 5 additional. Did some side work here and there to keep skills sharp, but I recently got back into full-time development after I realized I like creating more than I like maintaining.

I'll be 42 in November, and my experience gives me a guided path to understanding and solving problems, independent of technology, language or API.

I don't need to chew through espresso and lattes until 2am, because I've gotten smarter over time. I can identify patterns and problems faster than I did 20 years ago. I work more efficiently and don't need to take a scatter-shot, unfocused approach to work.

I don't disagree that software is a continual source of frustration to develop, but I think that's because we expect at some point to be super-experts for any problem domain.

Yes, tools and frameworks change. Sometimes they suck. Sometimes they don't. If you don't love learning new things and investing yourself in continually keeping up to date, then you doom yourself to being miserable in this profession at any age.


I liked that article, it's a question I've asked myself numerous times. I love programming, been doing it for about 14 years now and I regularly find renewed interest.

I think one point that's maybe not stressed out enough here is that the passion for the activity itself doesn't necessarily have to do with a passion for the job related to that activity. I very often do things at my work I honestly wish I didn't have to do, a lot of it is really, really numb. Consequently, sometimes I think I wouldn't want to do that for too long, but then I realize the problem is the job itself, not programming.

There's also the question of whether I'll still be able to keep up with all the new stuff when I get older. I've often relied on the fact that I can adapt and learn things pretty quickly. Then I think back and it turns out that it's not so much a 'mechanical' problem, it's more of motivation problem. So I suppose as long as you can keep yourself motivated, you'll keep going.


I think the key, just like any career, is to truly make an effort to reduce your cost of living (yes even with dependents, or what I like to call barnacles). This will help you get the stress under control and free you up to be a little pickier with the projects / products you work on and the people you work with.

Still happily coding away @ 37 here.


It really depends on what you mean by "programming." Following some dullard's waterfall plan to put sludge data in one server into a database of sludge on some other server would make anyone depressed.

Writing books, consulting on multiple interesting projects, and being well-remunerated is a very rewarding way of making a living. Can't complain.


I am 61, started programming in high school in the mid-1960s, still really enjoy it.

But, that is the issue: enjoyment. The author of the article is not enjoying himself (apparently) so time to try something else.

I enjoy the tech and helping people. My only frustration with my work comes when occasionally projects, for whatever reason, don't work out well.


I'm 51 and I've been programming since I was 21. I write code every day. I love what I do and I have never been more productive than I am now nor have I ever written better code than I am writing now. I write highly complex multi-threaded algorithmic code that operates on extremely large graphs (up to 3.5 billion nodes). I have no interest in getting into management.

I did get "lucky" in that I was a member of the founding team of a publicly traded company and am now a technical co-founder and chief software architect of an up-and-coming engineering software startup. I've written 3 blog posts in career and, except for LinkedIn, I participate in no social media/networking. I've never posted on StackOverflow. Outside of my niche industry, I'm sure that no one has ever heard of me. And, that's exactly how I like it.

Just my $0.02


Whether I'm still programming when I'm 50 (currently 33, programming for about 20 years), will depend on whether I have the same appetite for being wrong that I do today. To constantly program, you have to constantly learn, and to constantly learn, you have to constantly be confronted with the fact that you're doing it wrong. Not using the right API, the right language, the latest technique, etc. The best programmers are the best learners.

The author here doesn't seem to be particularly passionate about learning from his battles with Hard Problems. I don't blame him, because it's hard and painful to be in a constant battle. But for my part, I hope that I still have a taste for the pain of learning when I'm 50; the day I stop wanting to learn is the day I become bored & boring.


I am at 29 and finally after years of wanting it I landed my first software developer job(Didnt have the uni degree needed, but now I do, hells yeah!). I know that I will be happy doing this until the day they pry the keyboard/neural-thought2ascii interface from my cold, dead hands/brain.


I'm 63, been programming since my student days in 1965. Programming is one of the greatest jobs in the World. I'd rather program than play golf. All my life I've been incredulous that they actually pay me to do this.

(I'm not sedentary, I walk 3 km/day, 8 on week-ends).


Yes. But not actually for technical reasons. I program to be a part of something, to participate in a vision or shared goal. I program because the experience of creating something is (currently) the major way that I have fun with people.

If I'm working on a projects/products I care about I think I could easily do that for the rest of my life.

At times, it's the enthusiasm of others which pushes me along, while I provide technical expertise / experience. Other times I will have a silly idea of the way the world should be, and I can use that to gather others around me and make their lives better.

Programming at its best, for me, is vision enabling :) How could you ever grow out of that?


I think it is very important to understand the "real" differences in what it means to program vs. manage. In programming in most cases you are working on projects. Once you deliver the code that project is essentially over (minus support and bug fixing of course). In a management role many of the key activities never really conclude. For example, resource allocation overall and amongst various projects, is something depending on circumstance, you may have to revisit on a weekly or monthly basis. So you don't get the satisfaction of "delivering" anymore and items stay in your inbox much longer. This for me is the key difference.


Yes and I hope to continue programming well into my 60s and beyond if I will be so lucky.

However I hope that by then I won't be working for a boss and stressing to meet deadlines. I hope that I will be conducting research and working with fellow hackers to seek out the next frontier of the future.

While I think the present we live in now is full of wonders, I don't get a very gratifying sense that it's going to last. It seems more to me that we're finally able to apply the things we've spent enormous amounts of time and money learning over the last thirty years -- we're not out seeking the future so much as we're claiming a stake in the present.


I think those who hate IT, programming are the one who does not understand the computer architecture, compilers, programming languages, protocols (http, tcp), OS, does not becomes friends with tools, never try to improve themselves.

They don't know what is happening behind the scenes like how code gets compiled, how inter machine, inter process communication happens. How browsers work, what is the work involved when someone requests a web page from a server. How to debug issues? Effective debugging requires great knowledge of the components involved and creative thinking and above everything else lot of patience.


I'm 23, so I have no idea, but I'm pretty sure that I will still love programming as much as I do now. I started as a kid, so it's a big part of me. However, a lot can change in 27 years. Programming is a huge passion of mine, but music and charity work can also steal all of my focus if I let them.

I'm a Ruby on Rails specialist at the moment, and I absolutely love the framework and community. GitHub and rubygems are amazing. Google and Stack Overflow are like all-knowing genies. I'll go out on a limb and say that right now is the best time in history to be a developer, and tomorrow will be even better.


I will always program, for myself, solving my problems, exploring my interests.

I doubt I will always program for someone else, solving their problems. I'm sure I'll do it for another 8yrs at least. Which will put me at 50.


After being inspired by a Team Lead in my office, 2 years into my career as a software engineer, I chose to focus all of my efforts onto Programming. The main reason it seemed attractive than any other option was that I liked the feeling of having found a solution to a seemingly hard puzzle or a challenge. The small victories. But of course now the reasons include the prospect of creating something of value for which I could get paid passively. Thanks to hacker news! And yes, I like it and don't see myself doing any other thing that programming!


I'm 51, and having a blast.

I'm still learning. I'm an ACM member and read at least a paper a week from one of the journals. I keep trying to improve my skills. (A couple months ago I realized I hadn't done much work with trees in a few years, so I spent a week going through tree balancing algorithms from several books. It was fun).

Hardest thing: Having to learn new stuff that isn't designed right. I'm going through a fair amount of that now. Having to move in with a large, not very well designed system and make serious additions to it is . . . irritating.


Yes, I do plan to be doing this when I will be 50 or 60 or whenever. There's always something new coming up, new platforms, new hardware, new languages, new tools, new problem areas.

For example, I've just learned a new vision algorithm that came up couple year ago that makes one of the vision problems solvable with modern hardware, that opens up the possibility to build solutions for this kind of problem.

We are slowly but surely automating life with software, and we developers are in the middle of it. Why stop just because you've aged?


If I can still build planes in the sky and herd cats when I'm 50, I'll be happy.

I've been building planes for my first 20 years and herding cats for the rest of my career and there is probably nothing in the world I'd be happier doing.

Note: those may be obscure references for some. http://www.youtube.com/watch?v=Y7XW-mewUm8 and http://www.youtube.com/watch?v=m_MaJDK3VNE should help.


No. I'd like to be retired before 50. I'll probably still code when I retire, but it will be in something like Mathematica or R while I sit around learning subjects that interest me.


Taken to extremes - if it's not worth doing at 20 then it's not worth doing at 50. If you feel that you don't want to be doing this at 50 then you should probably get out as soon as possible.

He also mentions something to the effect of not being able to take the time to completely understand everything. But the problem is, it doesn't matter if you are being paid or not. Your lifetime will always be a constraint. You will never completely understand everything you are working with.


Yes, course I still wanna be coding when I'm fifty in a decade's time. If I was rich enough to not need a job I'd be hacking on my homepage.

I just hope my wrists hold out that long.


54, programming for 34 years. Numerous adventures in entrepreneurship, one of them successful. Came back to programming in the last few years because it's the most satisfying work for me. Making stuff that amazes people and makes their lives better is totally rewarding for me.

Nothing wrong with being a craftsman, using your intellect, and making others happy. In some ways, pursuing the elusive "big win" seems a little shallow by comparison.


65 and coding harder than ever. All the things I have wanted to do for years are now becoming easy.

It's not that I am getting any smarter. There are so many new tools and so many new techniques with thoughtful discussion to back them up, that creating cool new stuff is becoming a piece of cake.

My world is all about 3D.

WebGL and libraries like Three.js are breakthrough tools.

Stuff that would have taken weeks to code gets dashed off in hours.

I would not stop coding even if you paid me to stop.

It's way too much fun right now!


I want to do exactly what I'm doing now in seven years. Like several stories, I drifted out of programming and into various management roles over the past few years. I'm super-fortunate to be out of Excel and Word and back into a command-line and VIM.

As a side note, I work with a well-known researcher/developer in his 70's, and it's like working with Yoda. There is so much to learn from him.


I enjoy it now and that's the best prediction of the future I could hope for. It would be silly to worry about something so unpredictable!


I think this is the reason VC need kids to build hyped contraptions of unneeded but usefully obfuscating complexity that can be pitched to investors as "the next big thing". Adults would just skip the hype, the faux productivity, and do things efficiently in the simplest way possible. Case in point: the author's small image composition program built using C and Erlang.


No matter what you do, you should absolutely be asking yourself "do I want to still be doing this in N years?".

It isn't just a matter of trying to have a fulfilling life -- it's a matter of survival. People who don't look up once in a while and consider their larger place are the people who get steamrolled when a new technology kills their entire industry.


  > ... a problem domain you don't fully understand and don't have time to understand.
One resolution is to create products that address problems. Then, you can justify time in understanding and improving, because it's amortised over many users.

Of course there's still pressures, and technology still moves, but it's not cut and paste and pray.


Or go and work in that industry. I work in finance and the office has plenty of older programmers who have been trained in the theory of what they're working on.

Being a good software engineer still puts you in a large group. Being a good software engineer with good domain specific knowledge instantly puts you in a much smaller group.

It can also be much more satisfying work. And an awful lot more secure (depending on the firm) compared to starting out on your own.

Trying to be a rockstar competing on your coding merits alone is going to be damn hard to keep going for 30+ years.


I want to be programming, but in the line of non-professional software development, whether it's making open-source tools or to advance the processes of a cause/organization/business that I support, on my own terms. I've been lucky that I haven't had to go into a purely software dev job at a company...


Game development in a fairly NIH-ish studio can be very close to the good scenario: very little API wrangling, very little red tape, the "client" (game designers and artists) are in the next room and generally reasonable. I'm not terrified by the idea of doing this 15 years from now, aka when I'm 50.


From codinghorror, on the subject of working as a programmer "Programming: Love It or Leave It" http://www.codinghorror.com/blog/2008/12/programming-love-it...


Yes. Maybe not exactly the same thing (because as the author mentions, technology is an ever-changing field), but it's very interesting to see and adapt to that change as it is happening. Especially now when the tech sector is at the core of everything around us.


I think it depends on WHAT you're programming at 50. Anyway, my philosophy is that I want to be defined by what I'm doing away from my job/career. It is extremely depressing to me to think that my career will be my driving force through most of my life.


I really started programming at 30. Prior to that I spend 5 years managing medium-sized groups of IT staff (telephone, wan/lan,satellite). Managing the IT groups was a billion times more stressful. Programming is so much more fun and rewarding.


I will still enjoy programming at 50 and will still want to it for money. But will the ageism in this industry permit that to happen? It feels like the tech culture must change to accept that there are good programmers who aren't in their 20s.


If you look for achievement in programming field you have to plan it for a long term in specific area. Unfortunately many programmers turn to be jack of all trades, working in many things at the same time and without a long term purpose.


- But large scale, high stress coding? I may have to admit that's a young man's game.

This statement verges on ageism, which I forgive you for because it is common in the tech industry. Ask Rob Pike (b.1956) if high impact programming is for young men.


So, what do you do instead? As someone whose only job has ever been programming, what else is worth moving to that pays about as well, has similar job prospects, and is suited to the type of person who is drawn to programming?


If that's been your experience of programming either:

1. You're doing it wrong. 2. You work for some sort of agency / programmer-for-hire outfit where you never work on the same project for longer than a few weeks or months.


I've been programming for 37 years. Programming is learning and learning makes me happy. I don't hunt, fish, play golf, chase women or drink in bars. I learn. I discover. This vocation is perfect for me.


I had to reply... more than a comment, an entire blog post :) http://blog.maclawran.ca/hell-yeah-hacking-at-50


> But large scale, high stress coding? I may have to admit that's a young man's game.

Was there a reason to use "man" instead of "person" here? Being a man doesn't seem important to the article.


Yes, because I can't guess what the world will be like in 20 years time, but I am 100% certain that I'll want to be working with the insanely powerful computers that we have then.


Reading the mostly positive replies of "Yes, I definitely want to keep doing this well past 50!" gives me manly tears of happiness.


Yes, maybe I do! Just need to make the sure you end up being an ageing Rockstar programmer rather than retired Lounge singer


50 next month, and yes :-), and do cutting edge development still. I'm worried I wont be able to do it when I'm 70


Hell yes!

Im only 20 and if I can program/code/solve problems for the rest of my life, I know i'll be content until I die.


I'm not gonna say by how much, but I passed that mark some time ago. So the answer is emphatically yes.


Would you ask that of a lawyer or an accountant.... Or even a civil engineer?


It would be nice to have that kind of job security.


FUCK YES!!!!!

of course I do


I'm literally going through this at the moment.

I'm currently 24.

I do still love programming, and I'd like to think i'm pretty damn good at it. But do I want to be doing it as a job in 30 years time? I'm not so sure anymore.

I've been through one software job at the very loose-and-fast end of software development, but the pace (and a huge amount of overtime) burnt me out. I got to the stage where I couldn't get myself out of bed to go to work the next day. Over time I recovered somewhat, but I just wasn't enthusiastic about the work anymore.

My current job is at the complete opposite end of the spectrum. Medical software development is very slow, conservative, and methodical. To be honest I can see why most of the companies in this industry are at the thousands-to-tens-of-thousands scale; you literally need that critical mass in terms of staffing to deal with all of the overhead associated with a medical product. Reports, standards, committees, meetings, audits. And yet this company is doing it with less than 10 people.

It's really feel-good work, but it is really easy to get bogged down in the day-do-day drudgery and overhead, to the point where you completely miss the big picture of helping save peoples' lives. Do I want to be doing this when i'm 50? I don't think so.

In general in software development there's a couple of things that I've realized you have to work really hard at to have as a software developer. I've also discovered that both of these are much more important to me than I used to think:

-- Physical health and fitness: if you're sitting statically in a chair for 8-16 hours a day you have to really watch your diet and make continuous conscious efforts to exercise at every opportunity: it's going to catch up with you eventually (especially by the time you get to that 50 mark).

-- Varied and changing environments: both of my parents have "desk jobs", but both have extensive trips out of the office to visit customers or other sites. As a programmer I don't get this variety (the spice of life), so it's very easy to get bogged down and forget the big picture. I think this also leads to getting stuck in mental and emotional loops, due to a lack of external stimulus (kind of like what people who work from home report).

Nothing prepares you for actually being in a 9-5 programming job. At university it was obvious that there were people who were able to pass tests well enough, but would obviously struggle to code their way out of a paper bag. What about the people like myself, who are competent and practical, but are not prepared mentally to handle the rigors of 9-5 programming? Maybe that's why there is a shortage of labour in this sector: not only are we struggling to find people who are excited about programming and skilled at it, but we also struggle to find people who can handle working in these commercial scenarios?

There are also a number of companies that aren't like the examples above, especially in SV. But the problem with that is that not all of us are, or want to be, in Silicon Valley. Could I start my own company? Maybe, but that's not where my competencies or passions lie, at least currently.

Some deep thought is required about where exactly I will go next, given the time and effort I've invested up till this point into electronics, computers and programming.


I enjoy programming and would like to be doing it at 50, but with regard to the software industry itself... not in its current state.

If you want to be able to survive more than 10 years in the software industry, you need to get manager-level clout and full autonomy over your work. That's non-negotiable. This industry destroys you if you don't have those things.

The terrifying thing about the software industry is that if you don't continue to get good work, you decline pretty quickly. Also, I honestly think 90% of what makes some engineers great and most not (once filtering for natural talent has taken place) is past experience: you need a continual stream of high-quality work to become and remain decent at this job, and the good stuff is rare.

The actual work of programming can be a lot better (more interesting, more rewarding) than anything that managers do. The hard part is figuring out a way to be a full-time engineer but retain manager-level clout.

Many engineers think that actually becoming managers will give them what they need to enjoy engineering again, but the problem is that this strategy doesn't work. If you're a manager and your reports figure out that you're taking all the interesting work for yourself and throwing them the scraps, they'll get pissed off and either underperform or leave.


There is another option: find a really good manager who is able and willing to give you what you need, make sure they understand your value, and stay with them.

I don't really know how to do that, I just got lucky. I moved into management myself about five years ago (still working for the same guy), and I'm trying to be the same kind of manager for the people who work for me.


I like that idea as well, but the problem is that your manager will, over the long term, change. Most people have no insurance against some person they've never met being hired above them. You need enough independent credibility to protect yourself against that. You have 5 years of managerial experience, so you probably have enough work experience that any job move would be a likely promotion, so your company has incentives not to treat you badly.

I used to think the software industry was about programming: writing great code to solve hard problems. It's not. It's about credibility and technical risk. The software industry is 90% industry and only 10% software. Most of your time will be spent convincing people to allow you to do useful stuff, not actually doing useful stuff.

The ironic thing is that, as software jobs increasingly slide toward looking more like widget-making and less like research, programmers become a lot less effective. Valve established that open allocation works. (http://michaelochurch.wordpress.com/2012/09/03/tech-companie...) Every other software shop has proven that the alternative (still more popular) doesn't.

The Death of R&D, I think, will be looked upon as the "conscious" decision (of course, large groups such as nations do nothing "consciously"; it's a historian's metaphor) of the United States to go from a world leader to third-rate in a few decades.


Most of my experience has been in product-focused teams, so there is a good mixture of R&D and polish work. The company as a whole has to spend time convincing customers that our product is useful, but the development team is able to focus on actually making a useful product.

I can see how what you're saying could be a much bigger problem in a project-focused organization (or if you're working on a product that isn't actually useful). So maybe my advice is twofold: "find a good manager and stay with them, and work for a company that values software for its long-term potential."


My version of "values software" is that it be mission-critical. If it breaks, we're going to be chatting at 2 AM and testing a patch at 3, because we'd lose vast sums of money or customers by waiting until after breakfast. I met my favorite manager turning around a shop like this.

Most software is utter garbage because everyone knows better than to actually rely on it and nothing bad happens to incompetent people maintaining it.


Just making heads roll is not going to magically improve software. You can keep firing your teams but if there are other issues like unrealistic deadlines, bad process you are going to get bad output even from good people; all firing will achieve is churn.


I don't necessarily mean firing people (though there are some who really aren't good fits for this work). I mean I see better work from people who literally lose sleep over bugs, rather than merely shrugging.


> If you want to be able to survive more than 10 years in the software industry, you need to get manager-level clout and full autonomy over your work. That's non-negotiable. This industry destroys you if you don't have those things.

Can you explain this further? I've been a developer for 12 years, never happier, making very nice money and constantly getting interest from other companies. Yet I have neither of those things, nor do I even want them.


I'll say that I've learned alot from doing the crappy work too.

Also, I think most managers don't have the autonomy to "do the right thing" because ultimately they're working for somebody else.


Current landscape in the industry provides an out for this. Its become easy to blog, contribute code socially, or simply run your own startup on the side, while you slog in your mundane day-job. All this empowerment will only make you hate your employment all the more... so either you will quit or become apathetic.


High-powered service-oriented software companies like Google and Amazon are great for this, where every engineer runs their own project and has vendor-client relationships with other engineers, where the vendor bills are paid by management based on client satisfaction.


I was a manager in the dot-com era, made good money then took a decade off to climb mountains and raise my kids. Now approaching 50, I've taken up programming and just loving it. Today's tools are incredible - I can do myself what used to take a whole team and literally millions of dollars. Ruby/Rails/Sinatra/Rspec/Postgres/Backbone/Coffeescript/Erlang/Elixir/Chef/etc/etc - we are blessed. Creating with my own hands and having a direct relationship with my customers is so much better than hassling with investors, attorneys, employees etc. I hope to do this the rest of my life.


It's about skimming great oceans of APIs that you could spend years studying and learning, but the market will have moved on by then and that's no fun anyway, so you cut and paste from examples and manage to get by without a full picture of the architecture supporting your app.

Well stated. Man, do I feel like that. But I think this is a universal problem now. Information is freely available, and there's so much of it. An endless buffet, and it doesn't matter what field you get in to.


It's not so much the field but rather your role within it. Someone with many years experience as a programmer working within a specific industry might have the experience necessary to make sound, informed technology decisions.

Not saying that would be an easy job or not stressful but it's a better use of that persons skills and experience.


Yes I do but we'll all be writing genomes by then.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: