Hacker News new | comments | show | ask | jobs | submit login

I was writing production code over 30 years ago (C, OS, database). It is much worse to be a software developer now. It used to be a very high autonomy job - where you were trusted to figure out your work process and usually given lots of freedom to dynamically define many of your deliverables (within reason). I remember when I first read about Agile - I looked at the practices and thought "I've done most of those." But when our nightly builds broke it was no big deal, we would just fix them when we got around to it (as opposed to managers now assigning blame and calling in people on weekends to "fix" it). And if things weren't going well then we might have daily brief meetings for a couple of weeks. But now there are managers who insist on daily standups irregardless of their actual business necessity. I could go on and on. There is a reason why I'm not a practicing programmer anymore - even though I love to code.



I agree. I started 25 years ago. My first projects were pretty much "Here is the problem. You guys figure it out.". And off we went for months without much reporting back to management. Now everything is very "professional" and process driven and you barely get space to breathe and think about something. God forbid to do any experiments.

I don't envy young people who get into the business now. A lot of them will probably never get the chance to work on something uninterrupted for a long time. Instead they are being micromanaged daily, have to justify every little thing they do and don't get much opportunity to make mistakes and learn from them.

I guess most industries get boring once they mature. Working on cars between 1900 and 1950 was probably much more fun than working on modern cars in a modern car dealership.


Watching IT mature over the last 25+ years has for me been extremely sad to watch. What was once a vibrant dynamic discipline, full of great minds and ideas, is now a grey suited sea of processes and meetings with no real purpose to them at all. IT is/was my vocation, and has been since I was a small child, however now I can't wait to get out of the industry and do something else.


It's also a sad irony that this mirrors what's happening to the Internet, as it became commercialized and now found itself in the cross hairs of nation states.


What industries have you worked?


Tech is like being a football player or an exotic dancer: you have a shelf life. Some people can make it a life long career, I haven't seen that to be the case though. Get in, make as much as you can, get out into a sane industry. Plumbers, carpenters, electricians, electrical linemen, welders, lots of trades make similar to what you'd make in tech, the jobs can't be outsourced, and you deal with a lot less day to day bullshit (and you usually have a union protecting your wages and benefits, as well as no such thing as unpaid overtime).


> you have a shelf life. Some people can make it a life long career, I haven't seen that to be the case though

That could be an illusion caused by the fact that the number of programmers in the world have been observed to double every five years. It may be that all the older programmers actually do stay programmers, but there are always more and more new young programmers around, which makes old programmers seem like anomalies.


You may be right.


I know many who made it a life long career. It will see me through to retirement as I still love coding as much as I first learned it 35 years ago. I guess your experience is maybe in another part of the world; many of my eu colleagues and even most of my chinese collagues do not really have those experiences: we make (far) more than plumbers, do not get called out to fix things outside hours and do not have that insane feeling about our jobs. I only get that dreaded feeling reading HN or Reddit about how people need to take uppers to stay awake and have no weekends or vacations, or about the latest language or framework we have to use now (I actually try them all, but that is more of a hobby). But then I get back to work on stable dev stuff we have used for 10+ years and it is all good. In the C/ASM but even C# world, very little changes and you basically do not have to ‘keep up’ if you do not want to (I do, but again, this is also my hobby). Newer things hardly ever help with productivity. And a lot of new things (like daily standups) really are counter productive imho.

Another anecdotal point; we are rolling a new app; the lead tech is 64 y/o and uses React Native and Node (different company than the above so different tech choices; not my choice). He does the app and the API almost all by himself (I do code reviews on them). He gets paid well, works from home and is fast.


>Some people can make it a life long career, I haven't seen that to be the case though

So, what, you've literally never met anyone over the age of 40? 50? 60? in IT? I'll bet if you think about it for a moment you probably have. But if you haven't you need to look no farther than Pike and Thompson working at Google for two examples of older people working on interesting problems at a top tier company.

Regardleas I don't share in the cynicism and burn out that some have shared in this thread.

Even if I see some ideas recycled from 20-30 years ago I'd argue the implementations are novel. Frankly the fact that IT keeps changing is what makes it fun for me.


>So, what, you've literally never met anyone over the age of 40? 50? 60? in IT? I'll bet if you think about it for a moment you probably have. But if you haven't you need to look no farther than Pike and Thompson working at Google for two examples of older people working on interesting problems at a top tier company.

Well, there are 60 year old exotic dancers too.


"I'll bet if you think about it for a moment you probably have. But if you haven't you need to look no farther than Pike and Thompson working at Google for two examples of older people working on interesting problems at a top tier company."

I don't think most of us can follow the example of some superstars.


On a more mundane level, IBM was full of older techies and programmers. Until more recently, anyway. In my mid-thirties there I felt like a youngster.


A lot of trades people also have a shelf life. It's hard work and you may not be able to work as carpenter or welder after 50.

I agree about unions. The older I get the more they make sense to me. The tech industry is living off exploiting young people's enthusiasm with the promise of a big payoff that materializes only for a few.


You don't need to win the IPO lottery to make good money in tech. Facebook's median compensation according to their SEC filings is 240k/year. That's the median over all employees; the median engineer compensation is probably even higher. If half of their 25,000 employees are making 240k+, a decent fraction of them are probably making 400k, 500k+ even. It's hard to consider these people exploited.


I was reading that it is up to the discretion of companies like Facebook as to how they compute the median. So Facebook can decide to include stock options and projections of their future value when computing the median. I suspect that they fudged their numbers in an effort to make their executive pay look reasonable relative to the employee pay.


Getting a job at Facebook is also a lottery win. Not too many will get a job at these highly paying companies.


It's a minority of tech workers who will end up at a FAANG-tier company, but it's not a tiny minority. There are hundreds of thousands of people being employed by firms in this category. It's less like winning the lottery and more like winning a dice roll.


> I agree about unions. The older I get the more they make sense to me. The tech industry is living off exploiting young people's enthusiasm with the promise of a big payoff that materializes only for a few.

Can't agree more with this. When I rail against the tech industry, it isn't as a Luddite, but as someone rallying against exploitation and subjugation.


> When I rail against the tech industry, it isn't as a Luddite, but as someone rallying against exploitation and subjugation.

Which was precisely what the Luddites were doing too. They weren't anti-tech. They were anti-exploitation. In these days, such exploitation often involved use of weaving machines, so the latter got destroyed in the process, but it was never about technology itself.


> Plumbers, carpenters, electricians, electrical linemen, welders

Also a shelf life, just how much abuse your body can take.


You're right of course - but there are so few young people in the trades that the average age of a plumber in some US states is now 60.

The cost of maintenance and construction must be going to skyrocket in the next ten years.


There are heaps of older devs. Are you conflating 'tech' with. 'SV startup culture'?


Is your experience typical? I've noticed the opposite trend, myself.


Maybe I’ve lucked out, but my 18 years of working in this industry has mostly been: “Here’s a problem. Go solve it, please.” And almost as often, it’s been, “We don’t know the exact problem, come help us find it and solve it.”


Same here. I've had some projects with aforementioned negative experience, but usually it's been as you describe.


I don't know if it's typical but I hear it a lot from other programmers my age.


I think this evolution of CS didn’t exactly deliver what it needed. Machines went from huge systems designed to solve complex problems to shuffling information around and content delivery - or manipulative marketing.

I guess what I’m saying is: Maybe it’s time to revisit the blackboard. Rethink how a neural net or intelligent model should be implemented. Retry and rethink the “set in stone” basics. Also, throw out the entire discipline and try to come up with novel, new approaches.


Same here, I couldn't bring myself to contribute to the current drama for all the money in the world. This crap has to crash an burn first, then I'll be more than happy to help create something better. While I'm waiting; I'm writing the code I always wanted to write just the way I feel like [0].

https://github.com/codr4life/snabl


Robert ‘Uncle Bob’ Martin has a theory about what happened, starting around 1970, to change this to the present situation:

https://www.youtube.com/watch?v=ecIWPzGEbFc#t=47m30s


TL;DW: Number of programmers doubling every 5 years means at least half of all programmers are completely inexperienced, overwhelming the number of teachers, so kids stuck learning by remaking mistakes.

OTOH, certainly worth the watch even if just from this point to the end, easy listen at 1.5x speed.


What you say is true, but that wasn’t the initial cause of it, according to Martin. As I understand it, Martin says that since there were no CS degrees until about 1970, the first “generation” of programmers were internal company transfers/promotions of existing employees into the programming department; therefore those people were disciplined and mature (both figuratively and literally).

But as soon as there were new fresh CS degree graduates, companies preferred to hire those since they were cheaper. This produced two effects: 1. The CS graduates were, for some reason or other, mostly young men, so the gender balance tanked. 2. The new CS graduates, fresh out of school, were neither disciplined nor mature, and so required a lot of micro-managing. Both these effects were made more or less permanent by the steady growth which you summarized, and the second of these two effects is the change which user MrTonyD lamented above.


s/irregardless/regardless/

No need to double-negate this word.


You know, I actually changed it from regardless to irregardless. I like the fact that irregardless seems to have a connotation of wanton disregard. So my use of the "double negative" was intentional and supported my point.


I don't care to be honest, not a big grammar person. In English however, "two negatives are understood to resolve to a positive." It undermines rather than supports the point, folks focus on that instead of your message.



The phrase "I could care less" is similarly accepted, but that will never stop me from judging people who say it.


The linguist Steven Pinker says that it is sarcastic.


Doesn’t change the fact that it is already negated (with -less) and longer. No need for it to exist, like flammable and inflammable meaning the same thing, haha.


By the dictionary, not by us.


Personally I stick with “irregardlessly” just to see who goes bug-eyed when they hear it.

This is not directly in response to your comment, but I see three types of people.

Some people don’t know better or care to know better or weren’t paying attention or don’t mind because they know what I meant.

Some people care enough about language to debate usage.

Some people just want you to follow “The One True Way”, which is coincidentally whatever they think.


Yes calling out people for a broken build in dev is a waste of time, money and also that mangers emotional capital with the team.

You do the 24 hour call outs with 15 min response times for key business processes a live monthly billing run for example.


Completely agree. If your last commit broke the build revert it and enjoy the rest of your weekend.


This depends entirely on the org. In many places with lots of engineers a broken build means hundreds of people are blocked n their work, it's bad news, lost productivity, slipped schedules, it's legitimately a high priority (page someone to fix this) issue.

But that's not always true, especially at smaller dev shops. However, smaller shops sometimes like to imitate the big corporations, it makes them feel more important, even though it's not necessary.

In both cases having broken builds in your production pipeline are an indication of a process or policy problem more than anything else, especially in 2018 when build hardware is cheap and CI platforms are everywhere.

(P.S. I've worked in both types of orgs. Ones where the builds had several teams of people working on them, where broken builds could mean huge amounts of lost or blocked work hour by hour and fixing builds was a very high priority task, and where there were huge systems and extensive policies designed to forestall build breaks getting checked into important branches. All of those systems and policies were built out of a history of chaos, where builds were almost always broken (if you have thousands of devs, and none of them take build breaks seriously, then there will almost always be one break checked in every day), schedules were unreliable, etc. So much so that it was burning people out. On the other hand I've also worked in places where a build break can be handled by filing a bug and letting it go through the normal process of triage and fix over a period of many days. Which process is appropriate is entirely dependent on context.)


A surprisingly good workflow improvement will be to run tests on master + your feature branch, and then have a bot push to master. No humans need to be involved in the final steps.

This way master can be always green, because build errors will crop up in branches - only once the tests pass and review is complete, the bot can push to master. Because builds are generally done from master, this prevents landing broken code that could break others' development flow.

The end result is that all build failures have been addressed in the development branches. Bot will refuse to merge code that fails tests - and the workflow itself will guide towards a desirable process.


Exactly. If the build is broken, it's broken because of the manager who allowed and is responsible for this broken process. If the smokes are not green, if there is no coverage and no code review it cannot affect your master or prod branches.

Humans need to be involved in the code review step. Even if everything is green and covered it still can be wrong or unmaintainable.


"schedules were unreliable,"

They still are unreliable. the only difference I see is that I spend a lot of time on reporting status instead of doing actual work.


Only if you let a broken build into prod




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

Search: