Do You Really Want to be Doing this When You're 50? - <AUTHOR> http://prog21.dadgum.com/154.html <comment><USER2> 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.

<comment><USER3> 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?

<comment><USER4> 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.

<comment><USER3> 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.

<comment><USER5> "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.

<comment><USER6> "goog luck"

Great Fredudian typo, or greatest Freudian typo?

<comment><USER7> Definitely a Fredudian typo, Freudian would have been "Good fuck".

</comment></comment></comment></comment></comment></comment></comment><comment><USER8> 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!

<comment><USER9> 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?

<comment><USER10> >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?

</comment></comment></comment><comment><USER11> 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.

<comment><USER12> 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.

<comment><USER13> 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.

</comment></comment></comment><comment><USER14> 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.

<comment><USER15> 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?

<comment><USER16> 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.

</comment></comment></comment><comment><USER17> 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.

</comment><comment><USER18> 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.

<comment><USER19> _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.

<comment><USER20> So true. Just crushed me...

<comment><USER6> 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

<comment><USER20> 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.

</comment></comment></comment></comment></comment><comment><USER21> 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.

<comment><USER22> @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.

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

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

</comment></comment></comment></comment><comment><USER24> 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.

<comment><USER25> 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.

<comment><USER26> 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.

</comment></comment></comment><comment><USER27> 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.

<comment><USER28> 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!

<comment><USER27> MIT Scheme, T3, vi, Gambit-C, postfix, openssh, postgresql, redis, GNU Emacs, clisp

</comment></comment></comment><comment><USER29> 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!

<comment><USER22> +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.

</comment></comment><comment><USER30> 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.)

</comment><comment><USER31> 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.

<comment><USER29> 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.

<comment><USER32> 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.

</comment></comment></comment><comment><USER33> > 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...

</comment><comment><USER23> 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.

<comment><USER22> Well put!

</comment></comment><comment><USER34> 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!

</comment><comment><USER35> 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.

</comment><comment><USER36> 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 ...

<comment><USER37> 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...](http://www.steptools.com/support/stdev_docs/express/ap203/recprac203v8.pdf)), 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.

</comment></comment><comment><USER38> 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.

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

</comment><comment><USER22> 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'.

</comment><comment><USER40> 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.

<comment><USER41> 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.

<comment><USER22> 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. :-)

</comment></comment></comment><comment><USER42> 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/>

</comment><comment><USER43> 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.

</comment><comment><USER44> 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.

</comment><comment><USER45> 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.

<comment><USER46> 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?

<comment><USER47> 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.]

</comment></comment></comment><comment><USER48> "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.

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

</comment><comment><USER50> 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.

</comment><comment><USER51> 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.

</comment><comment><USER52> 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.

</comment><comment><USER53> 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.

<comment><USER54> 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.

<comment><USER55> 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.

<comment><USER56> 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.

</comment></comment></comment></comment><comment><USER57> 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.

<comment><USER58> 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.

</comment></comment><comment><USER59> 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.

</comment><comment><USER60> 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

<comment><USER40> 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.

<comment><USER61> 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

<comment><USER40> 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.

<comment><USER60> 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

<comment><USER22> 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)?

:)

<comment><USER60> we hang around on HN, moaning

</comment></comment></comment></comment></comment></comment></comment><comment><USER62> 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.

</comment><comment><USER63> I just turned 29 and this depressed me.

<comment><USER64> You'll see, turning 40 is even worse ;)

<comment><USER65> 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.

</comment></comment></comment><comment><USER66> 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.

</comment><comment><USER67> 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.

</comment><comment><USER68> 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.

</comment><comment><USER69> 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.

</comment><comment><USER70> 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.

</comment><comment><USER71> 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

</comment><comment><USER72> 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.

</comment><comment><USER73> 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.

</comment><comment><USER74> 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).

</comment><comment><USER75> 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?

</comment><comment><USER76> 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.

</comment><comment><USER77> 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.

</comment><comment><USER78> 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.

</comment><comment><USER79> 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.

</comment><comment><USER80> 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.

</comment><comment><USER81> 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!

</comment><comment><USER82> 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.

</comment><comment><USER83> 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?

</comment><comment><USER84> 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.

</comment><comment><USER85> 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.

</comment><comment><USER86> 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.

</comment><comment><USER87> 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.

</comment><comment><USER88> 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.

</comment><comment><USER89> 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!

</comment><comment><USER90> 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.

</comment><comment><USER91> 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!

</comment><comment> dumb-dumb 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.

</comment><comment><USER92> 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.

</comment><comment><USER93>
      > ... 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.

<comment><USER94> 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.

</comment></comment><comment><USER61> 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...

</comment><comment><USER95> 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.

</comment><comment><USER42> 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...](http://www.codinghorror.com/blog/2008/12/programming-love-it-or- leave-it.html)

</comment><comment><USER96> 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.

</comment><comment><USER97> 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.

</comment><comment><USER98> 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.

</comment><comment><USER99> 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.

</comment><comment><USER100> 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.

</comment><comment><USER101> \- 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.

</comment><comment><USER102> 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?

</comment><comment><USER103> 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.

</comment><comment><USER104> 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.

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

</comment><comment><USER106> > 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.

</comment><comment><USER107> 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.

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

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

</comment><comment><USER110> 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

</comment><comment><USER111> 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.

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

</comment><comment><USER113> Would you ask that of a lawyer or an accountant.... Or even a civil engineer?

</comment><comment><USER114> It would be nice to have that kind of job security.

</comment><comment><USER115> FUCK YES!!!!!

of course I do

</comment><comment><USER58> 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.

</comment><comment><USER116> 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.

<comment><USER117> 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.

<comment><USER116> 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...](http://michaelochurch.wordpress.com/2012/09/03/tech-companies- open-allocation-is-your-only-real-option/)) 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.

<comment><USER117> 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."

<comment><USER118> 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.

<comment><USER119> 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.

<comment><USER118> 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.

</comment></comment></comment></comment></comment></comment></comment><comment><USER120> 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.

</comment><comment><USER121> _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.

<comment><USER40> 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.

</comment></comment><comment><USER122> Yes I do but we'll all be writing genomes by then.</comment>


You don't need a UX specialist - <AUTHOR> http://blog.123ship.it/2013/03/you-dont-need-ux-specialist.html

<comment><USER2> I agree with the sentiment that UX shouldn't be something that only a specialist can consider, but the idea that it's nothing more than common sense is a sad misunderstanding of what it takes to build a great user experience.

Graphic designers are not UX designers. If that's where the author's been getting their ideas about UX, it's no wonder they don't see the value.

The ability to understand your users, then prioritize and design an experience that will serve their needs while balancing business requirements and the need for speed to get to market is far more than "common sense."

A hierarchy of things _you_ want is not going to get you to a good experience.

If you need to build an MVP quickly, and don't want your UX to suck (and you can't get a dedicated UX person on your team), I would provide this alternate set of steps:

1\. Know who you're building it for. Remember the mantra "you are not your users." Even if it just means reading some published data or articles about your users, or having a chat with a few people, anything is better than nothing. Start from their perspective, not your own.

2\. Tell yourself a story. The best way to design a product is to design the story of your product. Instead of starting with features and hierarchies, start by going up to the whiteboard and drawing a few user flows. Name your user, so you're thinking of them like a real person. (DON'T make complicated profiles or use silly names. It's enough to just think "would Sally want to do this?")

3\. Use your story to design your features. If there was something in your flow that was vital, then use that feature. If you found yourself saying "yes, but she could always do -n- instead for now," it's non-essential, and you can leave it out.

4\. Grok usability. If you don't have anyone on your team who knows what Fitt's Law is, or why the 10 Heuristics matter, find someone who does. This is where "common sense" leads most people, graphic designers especially, into pitfalls. There are a lot of UX professionals who are happy to give your product a once-over and point out the hidden traps you might have missed. You probably have a friend who does this for a living, and would love to help you.

5\. Build early, iterate often. This is where the author gets it right. There's no substitute for the real world. Instead of long periods of usability testing on prototypes, if you can handle an imperfect product going live, you're better off watching how real users deal with it, and iterating quickly when problems arise. Use tools like Crazyegg, Clicktale, or Mouseflow to see what's really happening and react. Don't wait for users to tell you what's wrong, because they often can't (or won't bother to) articulate the problem for you.

<comment><USER3> Agreed. Original article is a dismissal of the amount of research and consideration that goes into UX.

</comment></comment><comment><USER4> I'm sorry, but as someone who does UX full-time, I couldn't disagree more.

I used to be a developer who felt the same way. All of this stuff is just common sense. Then, I decided to do a career transition into full-time UX and spent a year studying intensely.

Now, I look back on my old self and laugh. Practically everything was wrong, and some things were horrifically wrong. There's just too much to think about and too many fundamental concepts that you must be aware of to do good UX (Gestalt principles, color theory, design patterns, etc.)

The way I feel about this post is about the same as developers out there feel when your uncle says "How hard can web development be? My nephew made me a website in Wordpress in a couple of weeks"

<comment><USER5> Since you transitioned into full-time UX starting as a developer originally, I am curious as to what resources you utilized to improve your knowledge of good UX principles.

<comment><USER4> I've been meaning to write a blog post on it, but you know how it goes. Never enough time.

Basically, it comes down to study + experience. But study is absolutely a necessary prerequisite; otherwise you have no criteria to decide what went wrong when something fails.

I did a post here about some books that I found useful

[http://www.jeremytunnell.com/posts/books-on-user- experience-...](http://www.jeremytunnell.com/posts/books-on-user-experience- and-user-interface-design)

I basically spent a year working part-time and studying part-time. I read every UX book, article, and website that I could find, and then I got experience by offering to do a heuristic analysis for startups on the Washington DC hacker news list for $20 per hour.

This kind of thing:

[http://www.jeremytunnell.com/posts/watchparty-tv-a- usability...](http://www.jeremytunnell.com/posts/watchparty-tv-a-usability- analysis)

</comment></comment></comment><comment><USER6> I kinda agree with the headline, but only because I think the followup is "Instead, you should become a UX expert".

I think many developers do themselves a disservice by not working to get good at this stuff. It's not magic, but it takes consistent, conscious practice like any other skill. What's more, every time you sit down to code is another opportunity to practice, because every program has a user, and every user has needs, expectations, and frustrations.

</comment><comment><USER3> Lets (for a moment) agree that we can achieve 99% of UX via common sense.

The question I would ask is: Would you make the same argument for Typography? (I know, seems completely unrelated)

Typography, we can say, is just making text readable, organized, and appealing. We can all read some info about kerning, leading, and spacing, and their common ratios. Then, pick up a 'modern' typeface and that would then bring us to 99% of making a new webapp/site beautiful in terms of type?

</comment><comment><USER7> This is insulting to UX designers. It's the equivalent of saying to a dev "development is easy, just keep it simple and use common sense". Absurd.

</comment><comment><USER8> Then you also don't need designers - you can just use common sense of taste instead! Easy-peasy!</comment>


Moonscript: A CoffeeScript-Like Lua-Based Language - <AUTHOR> http://steved-imaginaryreal.blogspot.com/2011/12/moonscript-lua-based-language.html

<comment><USER2> Very nice.

Makes Lua finally palatable, to my eyes.

I can't quite figure out why, though. Perhaps because I'm used to CoffeeScript?

</comment><comment><USER3> The only thing I dislike about lua is the 1-indexing. Other than that, it's a perfect little language.

Yes, I prefer Pythonish indentation to Cish curly braces to Pascalish begin- end, and Moonscript fixes that. But you can't fix 1-indexing with a front end, unfortunately....</comment>


My Slow Internet vs. Docker - <AUTHOR> https://medium.com/google-cloud-platform-developer-advocates/my-slow-internet-vs-docker-7678ae1cae72 <comment><USER2> So the TL;DR is run your day to day on a VM that has a good internet connection if you use docker. Ok.

<comment><USER3> Really just run your day to day on a VM regardless. It's 2015.

<comment><USER4> I run my day to day on a Macbook. I don't feel like wasting my limited resources for such minimal benefit.

If my gaming PC supported PCI passthrough I would though.

</comment></comment></comment><comment><USER5> When Docker was new I could download the Ubuntu baseimage with no issues. Now there's so many layers it takes far too long.

<comment><USER6> Which Ubuntu image are you using? The official Ubuntu 14.04 image has always been only 4 layers and is about 190MB total size.

</comment></comment><comment><USER7> Really cool post... though it seems like DigitalOcean, Linode or others might be a better idea if you use the instances more than a few hours a month.

I'm not connection constrained, but my workflow for linux is to mount a drive/directory to a linux instance (virtual or physical) edit with a gui editor locally, and run via an ssh connected cli. Which works pretty well for me.

Anyone familiar with something that can mount a virtual drive in windows or osx to a linux machine over ssh?

<comment><USER8> Don't know about windows, but you can use NFS on OS X and Linux.

If you mount your working directory exactly like on your host machine, you can even use relative paths in your Dockerfile.

E.g mount /Users/tracker1 from your host on /Users/tracker1 on the VM.

Since your Dockerfile working dir matches on both systems, you can use them as if you were working directly on the machine, like:

ADD ./entrypoint.sh /entrypoint.sh COPY ./app/code /code

etc.

<comment><USER7> I didn't know you could NFS over SSH... interesting... Just need a solution for my windows desktop.

[https://gist.github.com/proudlygeek/5721498](https://gist.github.com/proudlygeek/5721498)

</comment></comment></comment><comment><USER9> You can do the same thing with a Digital Ocean droplet. Just make sure you add a swap file to increase the RAM to >=1 GB.

<comment><USER10> Right.. and doing so is just a matter of using --driver digitalocean instead of --driver google

</comment></comment><comment><USER11> [https://medium.com/@chanezon/good-post-on-using-docker- cloud...](https://medium.com/@chanezon/good-post-on-using-docker-cloud- instances-to-optimise-dev-build-over-low-bandwidth-a897977dae64) great post, but don't use maven:onbuild for Java projects

</comment><comment><USER12> Also, an alternative to `docker-machine scp` is docker-osx-dev ([https://github.com/brikis98/docker-osx- dev](https://github.com/brikis98/docker-osx-dev)). It will rsync a path into the docker-machine host.

</comment><comment><USER13> I would prefer to use LXD for this stuff. I can work in a container that is pretty much a vm. Snapshot and publish that vm to LXC registry and pull it down to another machine with faster internets. And all I need to do install apt-get install lxd. No crazy plugins and long command line stuff.

</comment><comment><USER14> Micro-studio? In London that's a studio. New York micros are London standards.

<comment><USER14> [https://www.youtube.com/watch?v=bNPJuJSVmNA](https://www.youtube.com/watch?v=bNPJuJSVmNA)

</comment></comment><comment><USER15> I don't using Docker or any of these tools, but I get the feeling this could have been done easily using rsync instead.</comment>


Ask HN: What can I use my excess development capacity for? - <AUTHOR> I love to make things. However, every time I try to start something from nothing I abandon it once I get the basic framework together. Nothing is ever ready for real users, and as such I never get any real traction on my projects.
I need an outlet to build things that provides some sort of value. Open source projects seem like a good candidate but the learning curve seems so high and different for every project.
I wish their was a place to go where you could pop in, do some work for someone, and pop back out. Does anything like that exist? I'd love to have my own lifestyle business that I could tend to, but short of buying an existing one I'm not sure where to put my resources. <comment><USER2> You could try browsing sites like UpWork to check out available projects - maybe these requirement more commitment than you'd like but you'd get an idea of what's available/what others are working on. You could also try trawling business or engineering school message boards - there are often tons of small- scale projects looking for someone to pop in to lend a hand. Short of finding someone else's project to work on, you could focus your efforts on an "mvp of an mvp" \- something so incremental and yet complete you could have it in the app store or in beta in a matter of weeks.

<comment><USER3> I've been tossing the idea if starting a company with some people at uni. Do you have any tips for finding clients as a company.

I know this is off topic a little, but I'd like to know how to do this.

<comment><USER2> Do it! Uni is the perfect time to do this, most of all because you will never have as much free time as you in college. In terms of finding clients, start calling potentials - generate a list of leads, rank in terms of potential and prioritize. Follow up; be polite but persistent. No shortcuts, just hard work.</comment></comment></comment>


12 tips for Front End Web Performance  - <AUTHOR> http://blog.brennanmceachran.com/post/12-ways-to-instantly-make-your-web-page-faster

<comment><USER2> Great tips, thanks</comment>


Ask HN: San Francisco's Best Coffeeshops for Writing Code - <AUTHOR>

I was always skeptical about writing code at coffee shops, but have just tried once and found out that I was way more focused and spent time much more effective than from home. So I want to explore it a bit more and was curious what is the other peoples' experience.<p>So a question for those who don't work at offices. What are your favorite places in San Francisco to write code/make a design? Places where you would go instead of working from home. And do you find working from coffeshops more effective than from home or just go there to feel more social? <comment><USER2> I frequent Philz on 24th. It seems like there are always developers there. Javalencia on Valencia is usually pretty quiet. That being said, neither has the best coffee. Also, Philz isn't quiet if you need it. It depends on what atmosphere and other attributes you need to code to offer a true recommendation.

Java Beach cafe (on La Playa at the beach) has awesome sandwiches but is normally crowded. It's 100 yards from the beach for nice breaks and thinking about problems.

<comment><AUTHOR> Thanks, I tried Philz before and will definitely try Java Beach cafe, since it's not very far from home</comment></comment>


Microsoft shows off XNA games running on Windows Phone, full 3D is a go - <AUTHOR> http://www.engadget.com/2010/03/09/microsoft-shows-off-xna-games-running-on-windows-phone-full-3d/

<comment><USER2> Nothing could be more exciting than "porting" traditional arcade/console concepts to this new world of location-aware devices. Hope I'm not going too off topic here, but where are the games that overlay, for example, an MMO experience on the physical location of the user. In the Smithsonian? Good luck fighting that T-Rex statue that just decided to make you lunch. Outclassed? Somewhere in the building is "Sephiroth1994lolz" and you can push a button to see if they want to join for a split of the loot. Or, perhaps you need a new item and you've been saving up, so you go to the local grocery store and see what people have listed there in virtual space? PK? Awesome. Hang out at the mall and see who shows up. I'd rather play in the world.

Sorry for ranting.

</comment><comment><USER3> I always have the feeling that battery technology is holding back mobile computing. I can only play about two hours of Plants vs Zombies on my iPhone when it's fully charged, and it's not 3D at all. Imagine how long this Windows Phone can stand 3D gaming ...

<comment><USER4> It's not 3d, but it could well be consuming as much resources as a 3d game would (I don't know for certain, but I imagine that it's hardware rendered 2D). It's not hard at all for a game to consume close to the maximum power.

<comment><USER5> Then how come portable consoles from Nintendo / Playstation can support like 5-10 hours of usage?

<comment><USER6> In fairness, the DS' CPU runs at only 67MHz (DSi: 133) and has access to only 4MB RAM (DSi: 16MB); the GPU pales in comparison to the iPhone's. We're talking around an order of magnitude difference; the physical dimensions are also larger than an iPhone although it's hard to say if the extra space is mostly taken up by the second screen and the hinge mechanism.

The PSP is somewhat larger than an iPhone and also less powerful.

I also suspect the iPhone has been optimised for standby and audio playback battery consumption, not necessarily for max CPU/GPU utilisation and active screen.

</comment></comment></comment></comment><comment><USER7> If I were Apple, I'd add some nice APIs to help integrate Steam games with the iPhone. MMO integration with the iPhone too. (Must be an App for controlling training and trading in Eve.)</comment>