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

As a developer over 40, my biggest challenge is actually that the management has come to expect weekend work and late nights as the norm. As someone with a family , I can't put in those hours every day and every weekend. Single programmers who can put in those kind of hours are rewarded and those who cant are singled out for ridicule or "performance concern chats with manager". Projects have gone agile and they have not accounted for the unexpected shit that happens, low level functional designs seem to have fallen out of fashion and the deliverable deadlines have become ultra aggressive.

And the mangers' attitude is that "they can shake any tree and it rains qualified programmer resumes". Here in Toronto, there is a company called Allegis and all major employers post their developer job here. The headhunters are plugged into Allegis and they call you based on keyword match. Have you ever seen poor people huddled outside HomeDepot, hoping to be picked up? Thats what it like to be a developer searching for a job in my town. Most enterprise dev jobs are focused on a very narrow set of skills; so it doesn't matter how good you are with designing solutions or algorithms you know -- what matters is do you know java/c#/angular(new) ? And thats all that matters for Allegis keyword match. You are probably thinking I can learn more technologies ; what I am pointing out is that enterprise s/w development process is based on the fundamental principle of getting barely skilled people who can put in the hours and keep their mouth shut. But these jobs pay a lot more than startup jobs and have a lot more security.

This is probably an unpopular opinion here, but only a very small subset of developers need to design algorithms or even know any of them by heart.

Disregarding a few years that was mostly WordPress consulting, my experience is largely enterprise C#. Lots of line of business applications, glorified CRUD apps, and some client work. Zero need for any ability to write a BST or radix sort.

If you're working for SpaceX, or Twitter, or a Big 4, of course you should know those things. But most developers don't work for one of those companies. The vast majority of programming is done to further a business other than programming.

Vast majority of developers would benefit from at least passing knowledge of algorithms and data structures.

For past few years I work (not full-time) on what is essentially a prototype of trivial line of business application: stock-keeping system. It is 3 layer and blahblah, with me implementing most of the server side. Amount of various hacks in the server to accommodate requirements of the "It is impossible to linearize a tree in C# without having local SQL database" kind is truly ridiculous (most of these involve few lines of generator-and-list-comprehensions-heavy python code on server).

Somehow there is whole large class of so called "developers", that can only directly transform input to output and anything that requires building some kind of data structure is impossible/unfeasible/whatever for them.

I'd agree with that. My impression is that the profession is bifurcating into two categories:

1) Programmers, who have solid coding skills that primarily work on building systems using existing modules and libraries. 2) Software engineers, who have algorithmic and systems level expertise along with advanced coding skills, and are capable of working on complex software such as operating systems, compilers, and other libraries / components used by others.

Let me hasten to add that that isn't to say one is better than the other. Both are needed, just like both regular doctors (in greater quantity) and neurosurgeons are needed (in lesser quantity) are also needed and all are highly skilled professionals.

>and all are highly skilled professionals

Apparently (and unfairly), our society thinks otherwise - family doctors make $150K/year and neurosurgeons make $750K/year :-)

I'm pretty sure there are more distinguished engineers and other senior engineering roles paying $750/year in total comp at Google/Microsoft/Apple etc. than there are neurosurgeons.

Not to mention tens of thousands of average developers that got lucky with stock options and became millionaires where a doctor of same age is still slaving away as a resident with 24-hour shifts and abysmal pay ($50-$60k year for surgical residents, according to google).

The market (not society) is treating us developers pretty well.

>The market (not society) is treating us developers pretty >well.

I am on the East Coast (outside of NYC, though), have been in the software business for 20+ years and know a lot of smart /accomplished people.

I don't know a single software engineer who makes more than $200K/year in a senior engineering role, as an employee. (We are comparing salaries, not consulting income or stock options here, which can disappear very quickly).

It would be nice for you to step outside of the bubble you live in SV, every now and then :-)

Please include stock grants, because otherwise it's a silly comparison. With that included, I know a lot of people in SV, NYC, and even Pittsburgh who meet that bar. Google, Facebook, Dropbox, Microsoft -- all of these places pay over $200k total compensation for senior engineers. A grant of shares of GOOG or MSFT every year isn't likely to completely disappear within the vesting period...

Stock grants for non-executive employees are rather rare (at least on the East Coast).

And even then, once the bubble pops, if you don't sell (there is usually a vesting period), they could be worth much, much less than today. Remember 2000-2001?

I'm confused about this "east coast" thing. Many of the major tech companies that compensate in cash+RSUs operate on the east coast at some scale or another. Heck, in Pittsburgh alone, you can pick from Uber, Google, Facebook (Oculus), and Apple, of the "really big tech companies that give their employees RSUs". You'll find similar options, no pun intended, in NYC and Boston, at minimum.

As I said: The rolling vesting offered by most companies means that you're selling stock every year after your first. So if you ignore the first year (or pretend that it's poorly compensated), it's not that shockingly bad.

I am not in SV (but still on the West coast) and I know several software engineers making more than 200k/year. That includes stock grants, because it's ridiculous not to when the stock is in a public company and can be immediately turned into cash.

> stock options

RSUs in an established big company are much less likely become worthless overnight. Core part of your compensation at Amazon/Facebook/Google/etc...

The barrier to being neurosurgeons is much higher than a software engineer. The average Neurosurgeon will make on average more than than top 1% of engineers. You can look at pure statistics and get that result.

True but neurosurgeons go through almost 10 years of additional training at a fellow's salary (~$50k/year), in addition to a much worse work-life balance.

Looking at the reponses (and downvotes), it looks like my comment was understood as a comparison to software engineers' salaries

I was just pointing out that, even though both family doctors and neurosurgeons go through long and arduous studies, the income disparity among doctors is very high.

Outside of SV and NYC, $150k is more than enough for a single-income family of four to have a solidly upper-middle class lifestyle.

Not, really, if saving for retirement is factored in. Most people aren't saving at all, which is how they manage to maintain that upper middle class lifestyle on what has becoming the equivalent of a formerly lower middle class salary.

It's true. I make in that neighborhood, and I can't even save for a house, much less retirement. Maybe my kids will support me when I'm old.

What makes you think they will be able to afford to, if you couldn't?

If you really feel that you are living beyond your long term means, you should act: you can make more changes now than you will be able to later, and as hard as it can be to accept - this problem isn't going to solve itself.

Thanks, I hadn't thought of that.

Where do you live?


How can you not save for retirement with 150k outside of those places? Are you assuming everyone is getting a Lamborghini or something?

I'm not assuming anything, except that you don't know the costs involved in supporting 4 people, while raising and paying for the education of two children, and while putting together the few millions of dollars it takes to live, pay for medical bills and assisted living for a decade or three after you can no longer work.

So true. Alone its a good salary with retirement needs not so much.

IMHO software engineering is more about how you go about your work rather than what you work on. You can be an absolutely brilliant developer working on complex software but still not be a software engineer, yet still work alongside and be paid more highly than software engineers.

You're designing algorithms even when you're coding a FizzBuzz or a "Hello, world". And most of the business logic is by far more complex than FizzBuzz.

Hah, I was just discussing something like this with a coworker this morning. We both agreed that the business logic we're dealing with is actually less complex than FizzBuzz! We work for a huge bank where nearly all (our) business logic boils down to boolean conditionals. There's almost no math at all and if there is it's all addition and subtraction.

Writing front-end JavaScript is vastly more complicated than the business logic!

Everything I witnessed was not just a bunch of boolean conditions, but a mess of boolean conditions. This is where complexity comes from.

And, think about the awful stuff like derivatives, taxes, etc.

Need to know? Sure.

But being able to adapt, apply and even create algorithms is a big part of what separates crappy CRUD/UI implementation dev jobs from real engineering and research roles. I don't imagine anyone wants to be stuck writing CRUD apps their entire career.

If you are just a CRUD developer then yeah you don't need much to do average work.

If you're working for employers who think it's easy to find good developers, you're working for employers who hire lots of terrible developers.

A recent (UK-centric) study[1] shows that working fathers get a 21% 'wage bonus' on average over their childless counterparts. Is this situation reversed for engineers?

[1] https://www.tuc.org.uk/sites/default/files/Pay_and_Parenthoo...

>As a developer over 40, my biggest challenge is actually that the management has come to expect weekend work and late nights as the norm.

my experience is that this isn't the case, at least not where I am. Last place I was at, the guy who came in weekends was the first of us to be let go. (granted, the first guy to get promoted to direct-hire status also worked more hours than average, but he didn't come in weekends, and he certainly put in way fewer hours in the office than the guy who was let go first.)

There is quite often a correlation between my perception of a person not being very effective and staying super late.

>what I am pointing out is that enterprise s/w development process is based on the fundamental principle of getting barely skilled people who can put in the hours and keep their mouth shut. But these jobs pay a lot more than startup jobs and have a lot more security.

Eh, that's kind of the space I am in right now, only I'm more ops than dev (nearly every job is a mixture of both, most are tilted one way or the other.I am maybe 1/3rd dev, 2/3rds operations, my title is 'SysAdmin' at the moment)

The thing is about the corporate keyword jobs? You are right that they are looking for replaceable cogs, and it usually pays better than startup work, but it is very 'easy come, easy go' - expectations of contractors are super low, and contractor interviews are super short, so while you are very replaceable, so are they.

Where I am, in silicon valley, direct hire jobs at the places where you'd get those easy contractor gigs are kind of a different animal. They pay even more, really by quite a lot, and getting them is a combination of passing a bunch of IQ-test like puzzles and complex social signaling. Now, most of the people I know with those jobs are actually pretty good, so maybe the sorting process is better than I think? My problem is that first, I barely qualify, IQ wise, at least for the best of those companies, and then I am, well, I kind of am a capitalist, and part of the complex social signaling is pretending that you really want to be part of that advertising collective, which is super difficult for me, personally. I mean, I don't mind selling my sword to an advertising collective, but I am not the sort to 'drink the kool-aid' - Advertising is not making the world a better place, and I know that them hiring me is a transactional sort of thing. I'm not joining a collective, and I have difficulty pretending it's a collective.

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