Hacker News new | ask | show | jobs
by numinary1 3348 days ago
What's up with the phrase, "Still programming?" Would anyone think it odd for a 60-year-old physician to still be doctoring, or a 60-year-old lawyer to still practice law. Or for that matter for a 60-year-old artist or craftsperson to "still" pursue their craft.

Corporate culture embraces the notion of management as a profession. I think programming would benefit greatly from more of a tradecraft model, where leadership is provided by the master practitioner rather than the professional manager. In the alternate universe that's how we do it. The bottom line productivity boost is awesome. I don't know if it scales, but I don't care to scale.

-- 63-year-old full-stack web and machine learning programmer...living the dream

8 comments

> What's up with the phrase, "Still programming?"

What's up is the rampant ageism in the industry - the perception that you are washed up as a "dinosaur" developer after a certain age, maybe 40 or so, and belong in management.

We "dinosaurs" - we happy few - are living evidence to the contrary.

-- 58 year old broad-spectrum software guy, hard at work and loving it

61 and right there beside you brother!
There is a reason graybeards are valuable. It's not that they're over 50 or 60. It's experience. A full-stack developer with 20 years' worth of experience will not make certain kinds of mistakes.
I'm in the awkward position of having only gotten a CS degree and taken programming seriously after 30, so I suppose I'm the worst of both worlds. Of course, I also started going gray at 30, so...
I just graduated with a CS degree at 36; have an offer and will start soon. The age aspect is scary, but I've honestly found it less of an issue than I thought. The most difficult part is pushing past the part of me that says I'm too old to be starting now.
I'm currently working as a developer and aiming to go back to school within the next year or two for physics, after some catch-up math courses. Good for you for even setting out. It's intimidating, if not down-right frightening to start all over again at something.

But hell, the unconventional is increasingly becoming the conventional. Some of the best advice I ever received was from a doctor I had when I was young. He was an old Jamaican man who went from the slums of Kingston to Chemical Engineering in the US to a practicing MD (physician, general practitioner) in a small town in Canada. He just said (kind of what you'd expect from a Jamaican man): not to worry about anything.

Just do things, make messes, clean them up, do more things. You just might do some good in the process.

I graduated CS at the age of 27 and thought I'd be at a disadvantage starting out in the industry due to it. If anything the couple more years seems to have helped me out quite a bit as I found it made me more relatable to the more senior technical people and management.

In the modern dev shops now the soft skills you've developed in the additional years you've had before getting into development will give you quite an advantage since 99% of places aren't just heads down coding anymore.

Where I've found I have a disadvantage is in my non-work commitments and free time outside of work. The younger guys can spend their evenings and weekends working on side projects, going to hackathons or just learning something new, whereas I come home to the family and try to spend quality time with them, do my share of the work in the upkeep of the house, yard, etc.

We only get one shot at life so you're never too old for anything in terms of what you want to spend 40+ hours a week doing to finance your life.

It's not that big a deal.

Just be willing to learn from those who are more proficient than you, even if they are younger.

You'll soon catch up.

After 30 is totally fine. I know several programmers who either switched to programming around 30, or had a long break from programming. Sure, you may be a junior developer while younger people may already be senior, but there's time to catch up, and with a bit of maturity, you may have a far better attitude than young cowboys who think they know everything.
In enterprise adults are often more useful because understanding, dilevery in schedule and the ability to do what you are told is immensely more valuable than doing things in a fiery passionate way on some new tech.

On top of that, while you might learn slower, you probably attended more classes and played less video games during them than 90% of the twenty year olds.

Does anyone with 20 years experience refer to themselves as a "full-stack developer?"
By default, most programmers from two decades ago ARE full stack developers.

Back then, there was no separation of front end, back end or database - it was all melded into one, so if I wanted to write an app, I would have to learn the language, figure out how to display the data and collect user input from the screen, write the data tables and the code to update it etc. etc.

There was no question of learning SQL or raw file system I/O to manipulate data - there was no ORM or framework to fall back on. Until Windows came along, there was no standard on UI or UX principles. It was all 'build it as you go'.

Some of those older habits die hard. Though I use ORMs almost all the time now, I still find myself experimenting with queries in raw SQL before translating them to my ORM of choice. I still have a hard time separating my front end code, or the design elements thereof, for someone else to do, because I am so used to doing it myself.

Somehow, I still feel the need for ownership of all aspects of my application stack, and will often spend an inordinate amount of time learning about something that I am not familiar with. As I said before, Old habits die hard.

So, while I don't often refer to myself as a 'full stack developer', I do routinely say that I 'do it all, including making the coffee and sweeping the floor in the server room'.

Yes! Thank you. I never know what to call myself. I just signed a comment as "broad-spectrum software developer", but your description is more accurate.

We catch the things that fall between the cracks; we are the glue that binds together the things that fall apart; we are the toolmakers, the automaters, the pinch-hitter sysadmins; we are problem solvers, the ones that do whatever it takes - and if we don't know how, we learn.

Exactly right. Back in the day you had to know a lot more to get stuff done. You didn't have databases as a service with built in public APIs, authentication, etc.

Younger devs have it made in that regard. And the amount of tutorials and quality are amazing these days. They do have a lot more technologies to learn though.

Full stack is just new age lingo, and sure why not. We say AI (shudder) these days instead of ML, we say devops instead of sysadmin, we say cloud instead of vps/hosting.

Times change and so does language, true to any old fart out there, and the old farts to be.

"We say AI (shudder) these days instead of ML"

I thought it was the other way around. With ML taking a more statistical approach to traditional AI problems.

I come from an age that used csv wranglers. ma pa was a csv wrangler and so was his pa before him spits into bucket scrapins hard work lad.
Apparently the new hotness is AI. The last five years have seen titles with similar(ish) roles evolve from Data Scientist -> ML Engineer -> AI Engineer
I studied AI back in the 1990s, but these days it seems to be called ML everywhere. To me, ML sounds like the new hot name (of course it existed back then, but it was less commonly used).
Sure. But it means I can write device drivers up to a single page application UI.
No, no, that's just today speak for "systems developer". Really, someone who can dev/debug run-times for any languages, write C10K networking code, write good Haskell code, do wonders with average SQL RDBMSes, suffer through JS, and put together a complete solution.

I actually like the term "full stack developer". I take it to mean: can handle anything from assembly to HLL and everything in between.

I always took "full stack" to imply web stack, like MEAN or LAMP. Maybe I'm misusing it, but I tend to call myself a full stack developer and I don't know a lot about assembly or low-level languages like C.
I would argue that "systems developer" is the opposite of "full stack" Your average full attack dev probably doesn't even know what assembler is.
"Full attack dev?"

I like that - may I use it?

-- 58 year old full-attack dev

When you call yourself a 'computer programmer' and noone calls you back on your resume because they think that is a different thing, then yes.
It's such an insufficient title when your product is a robot and the database is closer to the top of the stack than bottom. I gave up on titles a few years ago when I began to realise that so much of it feels fitting of the dot com era but not today.
It's a thing, isn't it? I mean, as words and phrases go, it at least means something, like not just front-end, back-end, or client-side view-model reducer mapping specialist. AI is much close to fully content-free.
I've jokingly referred to myself as "full stack from transistors upwards" - I've done (professionally) a little bit of everything all the way from chip design to web server administration.
Fred Brooks wrote about that idea in 1975. It seems that the management side still has not learned the lesson.
no, it only seems that way because the powerful silicon valley and finance giants are the only ones with access to the top-tier young talent. the rest of the young people out there are inexperienced and not that smart, and definitely aren't worth a six figure salary.

so everyone else just hires older people, but it isn't sexy and marketable to the impressionable technology crowd.

You also can't get away with demanding the same work conditions or work/life balance from an older person than you can from a 21 year old CS graduate who's very eager to impress and has little other commitments to attend to.

I can't imagine you'll find many older, experienced devs willing to put up with the "we need to ship so you've got to put in 80 hours this week. You build it, you support it so keep your phone and laptop by you at all times outside of work" shtick that a lot of tech companies beat the young guy devs with.

> I can't imagine you'll find many older, experienced devs willing to put up with the "we need to ship so you've got to put in 80 hours this week.

Yes, because we've fallen for that bullshit before, killed ourselves to meet the deadline, and found that the asshole manager made it artificially short to "motivate" us, and the other teams aren't even finished yet :)

Ha, this happened to me a couple of weeks ago!
Management seems peculiarly impervious to almost all of Fred Brooks' ideas: mythical man month, second system effect and the toolsmith especially.
I've read his Mythical Man Month book, including parts of the anniversary / silver jubilee edition, but it's been a while. A couple of questions:

- Was the toolsmith idea about some people in the team building tools, that others in the team use for the project? - and if so, what was the benefit cited - specialization?

- What was the second system effect about? I know I can google, but interested to read your take on it first.

"Was the toolsmith idea about some people in the team building tools, that others in the team use for the project? - and if so, what was the benefit cited - specialization?"

Yep. The benefit is efficiency. However, modern SCRUM advocates simply advocate grinding away at stories.

"What was the second system effect about?"

The glittering new rewrite of an existing system is usually overengineered and worse. Seen it several times.

Interesting about the 2nd point, thanks. Might make for interesting reading if there are any articles about that. Intuitively, I would have thought that a second system (rewrite of the first) may be better due to lessons learned.
>Intuitively, I would have thought that a second system (rewrite of the first) may be better due to lessons learned.

And at least in one case, it was: in a C database middleware product that I worked on, as the team leader. It did work earlier but had big issues of bugs, slowness, memory leaks, and maintainability. There were many reasons for that, including complete freshers put to work in it (a mistake). After me and a small new team took over, we improved it a lot and fixed all those issues. It went on to become a much more successful product, deployed somewhat widely within the company, for client projects ...

> Or for that matter for a 60-year-old artist or craftsperson to "still" pursue their craft.

I still find it rare for 50 or 60-something designers to still be actively hands-on designing purely as a designer. At a certain point, a lot of the ones I know of migrate into creative direction and ideation, delegating the hands-on work to younger designers. It actually scares me a tad because I like being hands-on and generally dislike focusing my time on managerial activities, but it's always going to be hard to just limit oneself in that role as the younger generation will always be a little bit faster and more talented.

Faster? Probably. Faster at making mistakes, certainly. More talented? Absolutely not. That's the myopia of SV's cult of youth.

We're all running the same hardware, and there is very little that does not get better with experience.

If you want an analogy in a different field, consider Dale Chihuly. From his wiki page:

>In 1976, while Chihuly was in England, he was involved in a head-on car accident during which he flew through the windshield.[6] His face was severely cut by glass and he was blinded in his left eye. After recovering, he continued to blow glass until he dislocated his right shoulder in a 1979 bodysurfing accident. No longer able to hold the glass blowing pipe, he hired others to do the work. Chihuly explained the change in a 2006 interview, saying "Once I stepped back, I liked the view," and pointed out that it allowed him to see the work from more perspectives and enabled him to anticipate problems faster. Chihuly describes his role as "more choreographer than dancer, more supervisor than participant, more director than actor."

There is no inherent reason a more managerial position involves less creativity. It can frequently enable more.

Honestly, I'd rather be led by a "dinosaur" programmer than some marketing or MBA geek any day. At least then I know that my boss would go to bat for me when it's clear something is achievable within the capacities of the team or department. I've worked for too many clowns that think computers are magic boxes where you just whisper a few words into then you get a fully fleshed out platform out of it. Seriously, it should be a legal requirement that you have at least a year of experience in the profession you'll be acting as manager in.
Or you have creative types running the show and what I like to call "programming with Photoshop" -treating programming as drag and drop.
The management track seems unsustainable anyway if the projected career path is seen as Developer -> Manager with no alternative, unless you just keep adding layers of management.
My manager is over three teams. Each team has around ten developers. We all can't be promoted to manager "if" he leaves.
Why a "Lead" will often come from another company.
Totally agree. I'm a partner in a small business and I don't have to do any programming but I enjoy it so I dedicate at least 50%. I also run some accounts myself and provide strategy and leadership in addition to the sr. programming. I manage my team too.

There is a notion that the next step should be to not do any programming and be a manager. All that does is ensure you have extra layers. I have respect as a manager because I'm still current and more skilled technically than my team. If I leave my craft my skills will decline and I wont be able to help my team accelerate in skillset. You're a better manager if you're also a subject matter expert.

You should move out of low value programming but I don't think giving it up is good.

Because age discrimination is less prevalent in doctoring, lawyering, and artisting.