Hacker News new | past | comments | ask | show | jobs | submit login
Bad Microsoft (badmicrosoft.com)
351 points by Flopsy on Dec 14, 2014 | hide | past | favorite | 224 comments



For people supposedly so intelligent, programmers often appear quite foolish, at least when compared with other professionals.

They give away enormous quantities of their labor for free through open source (some even going so far as to sign one-sided contracts granting the copyright to for-profit corporations without compensation). They openly denigrate their own skills by spreading egalitarian myths like "everyone can be a programmer" (whereas I doubt many doctors or lawyers would make similar declarations concerning the practice law or medicine) and by preferring the title "coder" over its considerably more prestigious alternatives like "programmer" or "software engineer." They promote bootcamp-style vocational schools to flood the market with cheap labor to compete with them and to further bolster the perception that programming is an easy, low-skill trade, perhaps a rung or two above mere clerical work.

And then when it becomes apparent that they are getting screwed by their employers who collude with one another to drive down wages with no-poaching agreements, H-1B visas, and by firing senior devs in favor of 20-somethings, the long-ignored subject of unionization is revived.

And of course, being programmers and therefore unsavvy, the model proposed is invariably that of a blue-collar trade union like the United Auto Workers Union and never an innocuous-sounding, white-collar "professional association" like the American Bar Association, American Medical Association, or American Dental Association. These outfits are so successful in both their lobbying and PR that they've made their members among of the highest paid practitioners in the world (particularly doctors), and the gullible masses remain wholly ignorant of their true nature and consequently spare them from the condemnation usually heaped upon unions, both public- and private-sector alike.

In fact, their PR has been so successful that I wouldn't be surprised if someone responded to this very post contesting my characterization of them as unions, despite evidence of their anti-competitive practices being trivial to come by: http://www.usdoj.gov/atr/public/press_releases/2006/216804.h...


You are 100% correct. It is something that infuriates me when I hear people say they love programming so much they would do it for free. That's great but don't say it out loud. Some people are not motivated by money and that's fine but when you work value is created and it has to go somewhere. Even if you don't need it, take as much money as you can get then just donate it to the local animal shelter. Because if you don't, someone else will, and they will not spend it as wisely as you would.

I see it all the time, silly kids who think there is something pure and noble about giving themselves carpal tunnel, sacrificing their 20s when they should be having fun and forming relationships, sleep deprivation and associated psychological problems, stress, getting burnt out for 0.001% of a company and their boss buying a Porsche and propping up his "habits". Lawyers and doctors are far savvier.


Thanks. I wasn't really advocating unionization or really anything in particular, just marveling at how stunningly clueless (or, if you prefer, generous and egalitarian) programmers can be.

The amount of money we collectively leave on the table is staggering.


> The amount of money we collectively leave on the table is staggering.

Right if your goal is to make truckloads of money sure. Not all software professionals ascribe a great deal of value to this end. Many major advances in bringing high-end operating and distributed systems to the masses have come from "Open Source" movements. Is is that hard to imagine a more protectionist, profit-driven software industry where these technologies are shelved in favor of propping up current money makers? In effect denying cheap, high quality solutions to a generation of innovators and start up companies?

As a side note I found your call for unionization to be a flawed comparison. The organizations you've alluded to (AMA and ABA) deal in inelastic goods that enjoy popular legal protections. This is for good reason, no one wants brain surgery from an amateur, but I might give one a shot at standing up my wordpress site.


You have managed to completely miss my point. Truckloads of money ARE being made. The only question is who controls them. If a programmer creates a product worth millions but only gets a £20k salary, where has the rest of the money gone? Are you really so altruistic that you would rather your boss and his boss got rich, than taint yourself with money? As I say if you don't want it donate it to good causes but either way YOU should control what happens to as much money as possible, because if you don't, someone else will.


I think it is you that has missed the point. Its not about who gets the money, but whether the initiative would have survived at all in a corporate environment.

Sometimes the only way to jump over the heads of the paymasters is to do something for free.


my point

Wrong browser window maybe? :)


There's some truth to that, but you have to pay attention to the other factors involved in a typical full-time job. You probably are giving up a lot of money compared to what your work is objectively worth, but not simply to greed and exploitation. At least some of the gap is from the stability and reduction of risk. You know exactly how much money you're going to make every month, and it doesn't change, even if the company/your product isn't doing so well right now. That isn't natural, and it doesn't come for free.

To see the other side of that, you can always work as an independent consultant. You'll probably make more money if you do it well, but you'll have a lot more risk and variability in your income. Can't find a client this month? Tough luck, hope you've got savings. That's what you're giving up money for protection from.

There's also usually a bunch of other stuff provided, which may include sales, advertising, market analysis, customer relations, infrastructure management, etc.


I think it's an okay attitude to have early in your career. I don't think I would have gotten a foot-in-the-door where I am geographically if my price hadn't been so low. It's very hard to genuinely argue that you're worth $X when you have no professional history. The alternative is essentially socially engineering your way into a position to get the initial experience, and that can be rather underhanded. It's relative though, because even though I am underpaid compared to the USA national average, it's still higher than the median individual incomes for my state. Once I get a year or two under my belt, that experience very quickly pays me dividends by giving me skills and experience that can take me almost anywhere in the world for decent salaries. For the second job, I plan on negotiating much more aggressively. The critical error is maintaining this initial attitude AFTER you have the experience to back up the talk.

The advantage to this attitude is that it appeals to HR and Technical interviewers. You're an upstart with some introductory skills and you probably have the competency to learn on the job and become productive within a decent time frame. It's better than working retail or fast food.

If we move towards an environment more like doctors and lawyers, we'll lose some of the self-taught crowd and probably rely more on paper credentials. I'm sort of talking out of my ass at this point because I've never seen or heard a doctor/lawyer interview for a job, but I imagine it's a little more involved and cautious than our industry's technical tests, puzzles, and quizzes. Our education is also far less involved. Our industry doesn't seem to want to move towards more in-depth technical interviews to establish competency, so unless some heavy regulation comes down the pipe, I really doubt the industry will become professional like the industries of doctors and lawyers

(And besides, why would we? Not every position in the industry will require extensive skills and education. We don't need BAR examines or peer interviews or board examinations or state licenses to build websites)

Another facet of this is that doctors/lawyers are somewhat gated by the time and money costs of education. In 6 months you can crank out one unit of basic programmer through bootcamps or whatever for a fraction of the cost that it takes to produce one unit of doctor or lawyer.


This is the argument that photographers and musicians should give their work away for free for the "exposure". But it turns out that converting "exposure" into paying work is quite difficult. Good luck with your negotiations!


interviews for graduate legal jobs in biglaw are mostly focused on "fit".


What you are telling is completely true, yet this feels so unpleasant — how it sounds and what natural conclusions we can make from it. Because the same thing can be described in other words: it somehow happens that most of skilled professionals (mentioned doctors and lawyers in the first place) are mostly treating the world as zero-sum game and thus strive for personal success only, trying to be monopolists, restricting their domain of competence to any others, trying to scare off newcomers and make getting to the "inner circle" as hard as they can; while software engineers are treating the world as non-zero-sum game and thus somewhat naively strive to make world better in the first place, believing that they personally would also benefit from that. (Of course there are exceptions on the both sides, the description is purposely rough.)

I don't know why it happens to be like that and if such people tend to become programmers or programming makes people to believe such things (although I have some guesses and the former seems more plausible, but that's another topic). But because of that striving to "make the world a better place" it would be much better if it would be natural for us (us people, not us programmers) to describe current behavior of doctors and lawyers as "evil" rather than describing behavior of software engineers as "foolish", even though both are completely valid. After all, the technical progress over last few centuries clearly shows that the world isn't zero-sum game, not yet.


The world is not a zero sum game. But adjusted to a 3% annual growth rate, it _is_ a zero sum game. In other words, the growth rate is not arbitrarily large. On top of that, the finance industry is dedicated to capturing the 3% growth, and it's very successful at it. Thanks for making the world a better place, but chances are you won't see much personal gain from it.


It would be zero sum game when there's no more place for new people to be born and no resources to feed them. The current state of being is that there are plenty resources just wasted because of very technical reasons and finance industry is very successful at making ones rich virtually for nothing, while others starve (that is money isn't used to unify measuring of value, as it was initially intended, but more like making money is orthogonal to producing value).

Yeah, I know, it sounds like advocating communism. But what can I do if it so much naturally better in it's essence! And we would be pretty close to making it almost possible already, if not for that "pragmatic" ideology some people are spreading.


That's true only if you reduce "progress" to "GDP growth". As much as economists see prices of goods (e.g. houses, transportation, iPhones) falling as a bad thing, it's actually the true indicator of progress.


Aggregate deflation is not a positive for an economy. It's nice that some sectors are more accessile than previous centuries, esp. food and clothing, but that doesn't mean that deflation in every sector indicates forward momentum.

IIRC, deflation would be caused by a very fearful and therefore finacially conservative population.


So foolish it is to enjoy one's work, share it for free. How stupid not to band together to spread misinformation about the nature of one's work in order to increase profitability.

^ What a crap culture that perpetuates this kind of thinking.


Right, it's perfectly zen to be exploited and have the spoils of your work concentrated in the hands of a few.

I'd rather have 100 doctors earn 500k/year than one insurance admin earning $50M.

In the meantime, programmers aren't even paid overtime. Because...?


Contributing to open source != being exploited.


If you pick the one aspect that my comment isn't addressing, you can manage to dismantle it. Surprise!

There'd be more open source if programmers were paid more, not bullied into working free overtime on a salary and pressured by companies into vastly expansive, potentially illegal (but what individual has the resources to find out?) contracts that curtail their copyright to even products they develop in their free time. These cases exist.


It is a crap culture. Unfortunately, I fear it's one we'll be stuck with for some time now. In the meantime, I don't think it'd be unreasonable for us to collectively up our business-savviness a bit. Some of us have families to feed, and that only gets harder as our industry's race to the bottom continues.


"Misinformation" is that you can spend thousands on a "bootcamp" or tens of thousands on a degree from a low-tier school, and walk into a well paid secure job.


For what it's worth, the foolishness you describe—striving for a non-zero-sum game, realizing that giving part of our work for free nets us benefits, being willing to do things in our spare time because our hobby and our work happen to overlap—these do not exclude being smart in the workplace and demanding we be paid what we deserve.

Someone can simultaneously work on side projects for the greater benefit of the community around them, and make sure their employer is aware that working on stuff because they're interested in their spare time does not mean they can be underpaid.

It's up to those that are considered the best by their peer group to lead the way on this. In fact, it's precisely the same mindset that has us contribute to open source for free, with a vision to expanding our collective knowledge base and propel software development as a whole forward, that should push us to demand better treatment and pay of the other developers around us, commensurate with their abilities.

There are often two or three lynchpins at smaller companies who can easily ask for more for themselves, because they are invaluable to the organization. Those same lynchpins can also keep an eye on the other folks at the company and make sure they aren't being treated or paid like dirt. It's possible to do this while keeping the organization's own concerns in mind. Arguably this is the kind of thing that ultimately may lead to some sort of union, guild, or association structure, as the people working at one organization start going to work at other ones, and ask their original champions for help on how to be treated well at their new jobs.

I for one will have my foolishness, which I truly feel is a great contributor to how fast our industry is able to move, and eat it, too, by looking out for the folks around me at work and doing what I can to make sure they're paid as they deserve, within the confines of what is possible without bankrupting my company. I'm sure it won't always be easy, but I suppose we wouldn't be talking about this if it were.


The thing is, most programming really isn't brain surgery in most cases. Unfortunately most professional programmers are arrogant douches that really do believe they're on the same level as a doctor. Maybe some are, especially if they're coding medical equipment, but the majority of programmers are just regular people with average IQs. Programming is only "hard" because traditional western schooling doesn't introduce you to any programming concepts.


Programming and brain surgery have very little overlap. I would actually argue that brain surgery is far more about having a confident, steady hand, and less about raw smarts. Undoubtebly, brain surgeons typically have above average IQs, but so do programmers.

Numerous studies have placed the typical IQ of software developers to be in the >120 range. That's between 1 and 2 σ , or somewhere around higher than 90% of the population.

http://www.randalolson.com/2014/06/25/average-iq-of-students...


Good point. The act or programming is comparable to writing or simple arithmetic.

However, where things get complex is when we reach the systems-design level. Doctors need ten years of studying to be qualified. I would claim that you need at least that much of programming to be really qualified for a position where the evolution of an expensive system depends on the intuitive design decisions you perform on the spot.

The cost of unskilled medical practice are localized and can result in large costs and an individual tragedy.

The cost of unskilled systems design practice can be spread temporally over several years, result in large organizational costs in maintenance and small tragedies for the poor bastards who have to maintain the system.

While I do not suggest comparing the economic risks are a good key metric in computing a professionals pay check I think it should be a part of the equation. It's really hard for me to figure out who has more financial risks tied to their profession, the systems designer or the doctor.

If we continue the risks analysis one could say a regular lorry driver can easily cause as much in damages with careless driving. However, in the case of the lorry driver learning to do a proper job does not take ten years.

Edit: Auch, the downvotes, they hurt. I was trivializing a bit with the comparison to arithmetic. What I should have said is 'a fundamental skill applicable to many domains just like arithmetic or writing.


The act or programming is comparable to writing or simple arithmetic.

I have interviewed many people who claim to know programming, but can't program. These same people I think could read and do simple arithmetic.

Like many things, once you know how to do it, it looks easy. I never understood why people have a hard time with pointers, recursion or dependency injection, but many people do. Programming is not some impossible to learn skill, but it does require dedication, a level of abstract thinking not often found in other disciplines, and logic. Reducing programming to writing or arithmetic is maybe true for simple Excel macros, but not what most people on this site would consider programming.


Is the 8 year old doing Scratch exercises not programming? I would claim she is. The difference we want to make then, is between 'simple' programming and complex systems level programming.

I claim both can provide value. Even simple programming can be used to automate domain specific tasks that will reduce the amount of manual labour required, freeing the professional to other tasks and thus increase their productivity.

Programming in a professional setting has thus at least two facets - a tool to create new systems and a tool to automate existing ones. I would claim both tasks are programming but with dramatically different mechanisms for adding value.

"Reducing programming to writing or arithmetic is maybe true for simple Excel macros, but not what most people on this site would consider programming."

Yeah, I went overboard with simplification there. The difference I wanted to communicate (but failed) was between the human requirements for entry level scripting and actual systems programming as the post I responded to stated programming did not have the same economies of scarcity as skills in medicine. I would have been more correct to state that programming is more like arithmetic than medicine in the sense that both novice and experts alike can provide added value through the act of programming but in widely different circumstances.

I'm a professional software engineer but my wife with a PhD in physics 'just happens' to write Matlab scripts in her day job as an R&D engineer to chew through terabytes of production data in an indusrial setting so I think I have a pretty good view to these different kinds of domains :)


I think a lot of what we call simple programming today will just be expected knowledge for most people in a short amount of time. Doing Scratch exercises or writing a macro will not make me a future person a programmer in the same way doing some simple math does not make me today a mathematician.


I agree for the most part, but I don't believe that the people who design critical software are being screwed by their employer. They also make up a fairly small segment of what's considered "programmers" imo. I'd say the vast majority of programming is web/mobile applications which I would argue takes about six months to learn and maybe two years to get pretty good at it.


Considering how many software projects have ended as major screw ups I would claim that there are instances where the employer and/or the programmer are clueless about how much skilled design efforts they would really need.

So I would not worry about systems designers being screwed for low pay. Rather I find those situations problematic where employer does not realize they would need systems design nor know what it would look like in the first place.

Having some sort of "guild verified" systems designer licence might alleviate those situations by making the client realize the thingamajic they are ordering might need systems design and would actually require it in the contract. Would it help really? I don't know but it would bring clarity to the profession-client interface by making the client more aware of the skills needed to implement the contract successfully.


it is not the same writing or simple arithmetic for most people. this sort of comment is exactly what the original post was talking about -- programmers are often unable to imagine other people will struggle with tasks they take for granted.


Ok, I was exaggerating a bit just to contrast it with stuff that really needs experience - "Hello world" vs. Linux kernel, so to speak. But really, programming is something people can pick up while doing something else. Not systems programming, mind you, but Python, Matlab or such they pick up from labs or programming 101 which they find after graduation is employing them while extending a one domain specific system or another.

Let me rephrase this, anecdotally STEM inclined people can pick up programming at an adult age far easier than they would e.g. reading and writing or playing a musical instrument.

Can everyone do this - I don't know.


Is programming on a level with brain surgery, probably not, but it's probably not far off being a GP, every year a new batch of kids with measles (or whatever), same as last year's batch, yadda yadda.


most of the work GPs do is far easier than bog standard web or mobile development



So like 0.1% of programming is brain surgery.

But do you go to the brain surgeon when you need a band-aide? How often do you visit the brain surgeon?

My point is most programmers are arrogant douches who think that their todo app is the equivalent of brain surgery.

And the people coding robots to do surgery couldn't do it without actual surgeons telling them how to do it.

And I can almost guarantee you that those programmers are getting paid hundreds of thousands if not millions of dollars and are not the ones who are getting screwed by their employers.


You keep touting brain surgery as if it's the yard stick by which all other endeavors (including pure mathematics and astrophysics) should be measured for difficulty and cognitive ability required--it isn't. The brain may be immensely complex, but neuroanatomy at the macroscopic scale isn't and has fewer inter-connected components than a large software project.

The only reason you think brain surgery is so complicated is, again, because doctors have excellent PR.


"well it's not brain surgery" is an American expression.

And you're kind of proving my point about the arrogance of programmers.

I'm sure you'll fix your moms computer before you let just anybody do brain surgery on her. A large project may have many interconnected components, but it's not the only profession that involves such things and the way the human brain works means that given enough time you'll probably be able to understand whatever systems you would like to. I mean, what it basically comes down to is understanding a few programming languages and logic. Maybe chemistry would be a better comparison? I wouldn't say IQ matters as much as dedication.

Bill Joy wasn't at the forefront of computer science at the dawn of the computer age because he was a super genius, he had just logged more than 10,000 hours of programming by that time.

Unfortunately for us programmers we're soon going to find our salaries going down simply because there are inevitably going to be more and more tech savvy people and programmers. It's not a new thing anymore. ANYONE can do it. Literally. Only about 1% of programming being done right now is highly advanced and complicated. The good programmers will continue to create easy to understand abstracts for the not so good programmers until we can ask watson to code what we need on the spot.


I'm not sure anyone can do it, sure on a global scale it might seem that way, but the same goes for any other profession. If you hang around in a non tech city you'll see that there are actually a very small amount of competent programmers.

And with most software projects, much like real world engineering, it's less about the fundamentals (language, base logic, etc...) and more about managing and working with highly complex systems.


not everything can be taught to all people. a person of average intellectual ability will always struggle with cognitively demanding tasks like mathematics and programming.


>>>>> They openly denigrate their own skills by spreading egalitarian myths like "everyone can be a programmer"... to further bolster the perception that programming is an easy, low-skill trade, perhaps a rung or two above mere clerical work.

I think this works both ways. When I was in high school, it actually seemed like everyone could be a programmer. My mom was teaching programming at a state university extension campus. Her students were getting jobs after one year of school. I was already programming at the same level. Neither my parents nor I could see any reason to spend four years in college learning a skill that anybody could do, and we expected the market to saturate.

So I majored in something else, and learned programming on my own.

You can try to elevate it by calling it engineering, but it's not. Most programming (truth be told, most product design, not just programming) is done by trial and error. Of course there may be a level of computer related activity above programming, that deserves to be called engineering, that is vital for critical tasks. This is not to denigrate the market value of content knowledge, such as knowing a complicated API inside and out, or the different processes for making things out of metal, that allow a good designer to come up with better designs.


Yeah, this a thousand times. I cannot prove but I believe this happy-go-lucky professional ethos is also quite expensive for the rest of the society since everything runs on computers. Were the programs implemented by a less numerous but higher quality workforce I think the state of software would be much better.

I think there is a kind of a institutional schizophreny on the role of the modern programmer since the first programmers were mostly a mechanical part of the machine translation process, punching cards for programs written by someone else. I believe this historical trait has skewed the perception of the requirements for the profession.


>Were the programs implemented by a less numerous but higher quality workforce I think the state of software would be much better.

While I understand the desire to improve the quality of programming, I don't think what you're proposing would do that. I think all it would do is encourage horrible enterprise practices to spread and create vendor lock-in as smaller companies become less able to compete.


" I think all it would do is encourage horrible enterprise practices to spread and create vendor lock-in as smaller companies become less able to compete."

I suppose it depends on whether the seed population in this parallel universe were composed of lisp hackers or architecture astronauts :)


I don't see the problem with open source work, any more than I do with legal folk and pro bono work. I do however take your point on the rest. Essentially we are treated how we let the folks treat us. I think this is partly an endemic cultural thing though in big American firms, and firms that emulate them, where they publically say that tech is the lifeblood of their firm, but privately treat it as a cost centre to be mercilessly cut to as close to zero as possible.


I don't know what it is, but I feel same about programming as achieving anything else in my life; if I can do it, so can everyone else. I know how much effort I put into things, like, say a my B.Sc and while it too seemed big and hard thing when I started out I've managed yet again swindle my way through it without much of a hassle.

Maybe it's about more you know about stuff the more you know how little you actually know, if that makes any sense at all...


> never an innocuous-sounding, white-collar "professional association" like the American Bar Association, American Medical Association, or American Dental Association.

http://acm.org/

http://computer.org/

These organisations have been around for decades and have been pushing the professional-body wheelbarrow for the whole time.


I was a student member of the IMechE. I left when I realized they looked out for engineering employers, the government and actual engineers a very, very distant third.


You don't go to jail for practicing programming or computer science if you aren't "accredited" by the ACM.

Try practicing medicine without a medical license.


If the ACM or IEEE had their way, you would.

Which, frankly, would be approximately ridiculous. Even shitty code creates enormous value, and the industries where it matters have already extended their regulations to cover software development.


> (some even going so far as to sign one-sided contracts granting the copyright to for-profit corporations without compensation)

(not rhetorical) In situations where you need a job and don't have the cachet to dictate contract terms, what choice do you have?

Such terms (and some equally egregious) are very common in some places. All companies know the value of it (but play dumb) and won't budge an inch.


Perhaps I should have been more specific. I was referring in that sentence to Contributor License Agreements (CLAs), specifically the most egregious ones, such as Canonical's CLA that not only transfers your copyright to Canonical but grants them the right to relicense your work under any license they wish, even proprietary.

If I'm going to give something I produced away under a permissive license, I'd rather not be harassed to sign an actual, physical contract with some company as well, let alone one that places additional obligations on me while offering nothing in return.


It strikes me as incredibly... (foolish, arrogant, etc.) to think that one knows better how a set of certain people (programmers in this case) SHOULD organize their life/defend "their rights".

People, in general, don't want to be rich. They want to be happy. Programmers are a happy bunch, when you look at them in aggregate, and compare with other categories of professionals. They are happy to give away enormous quantities of their labour. They spread "egalitarian myths" because they are happy with their lifestyle, and want others to join in. Because they are so confident, that they don't feel they need monopolies to protect or improve their lifestyle.

You are making a fundamentally flawed assumption that programmers are not "smart enough to unionise". What if they are smart enough NOT TO unionise? What if they actually know better than you think they do?

Never assume you know better how one should live his/her life.


Your comment addresses many things at once, some insightful, others more botched IMO. However I find them wrong in a very interesting way, so let me try to counter them.

First, seeing "programming" as a generalised activity is barely more accurate than bundling "doing stuff in front of a screen and keyboard" together. You wouldn't bundle together writing a novel and doing mechanical simulations on Mapple, would you? Same for programming. More specifically, the intersection between fun+unpaid open-source programming and corporate programming is tiny. Nobody's going to write an open-source SAP module for fun. As for big, strategic open-source projects, they have their many unfunny parts done by employees, who typically work for companies who want to commoditize something on their vertical market, by enabling an open-source product.

I do hack some stuff for fun, some others for money. I reasonably often manage to write fun stuff for money, and sometimes I even get to open-source it. But my open-source programming? I do that because it's more fun than _World of Warcraft_ or TV watching in my twisted mind; it has little to do with my job (most of the time, and unfortunately).

The "I'm no Senior Software Architect I'm just a coder" thing: OK I'm guilty of that one, but it's no modesty, it's just instinctive rejection towards a corporate system we often despise. We have a urge to reject the Dilbert ladder, the way you might reject a medal proposal from a country / organization whose ethics you condemn. Think of the people who declined the Nobel prize, nobody ever believe anyone did that out of modesty. An important point of yours still stands though: not playing along with the corporate charade is going to hurt most of those who indulge in it, in the long term.

About ageism, and as a not-so-young person anymore: when you age, you get a broader picture of what you work on, and why, while you lose some sharpness, most notably in speed of learning. This broader view has some value for the company, but only as long as it comes with some managerial skills: your better synthetic view is of no value, if you can't effectively share it with others. Your caricatural Aspergerish programmer doesn't have the interpersonal skills required to transform the insights of maturity into value for a company, and that kind of person is over-represented among the people who still call themselves "coders" when they hit 40. Successful mature hackers hide under other titles, in companies.

As for the "everyone can be a programmer", I don't remember having ever witnessed that, quite the opposite. Actually, I'm here because a decade ago, I enjoyed reading some smug essays, from some openly elitist guy who was trying to figure out what made hackers such special bunch ;-)

About the dangers of boot camps: if you need to teach someone how to program, he won't be serious competition for any hacker. You'd have to teach a hacker how _not_ to program. Cue that famous story about Mozart [http://betweenletters.quora.com/Mozart-How-Do-You-Write-a-Sy...]. OTOH, H1B might be more of an issue, I don't know. Sure it's cheaper competition; but what makes the Silicon Valley such a wealth generator is a critical mass of smart people. It might well be that allowing a thousand super-smart foreigners creates interesting jobs for hundreds of thousands of merely-smart Americans?

About programmers being typically unsavvy with politics and human relationships, there sure is a strong correlation here. Not being American, I don't understand why you typically despise unions more than the other lobbies which serve wealthier interests, but I can see the savviness in avoiding a name that triggers knee-jerk reactions in many voters.

So, back to the core argument: why don't we organize into unions, optionally under a less unamerican name? An issue is that many of the smarter programmers already have a fun job at a decent pay. In Europe, they also typically enjoy a healthy life/work balance, but the American relationship with "work ethics" is yet another thing I won't pretend to understand. Anyway, when you have fun doing something you're good at, you aren't tempted to enter a field you neither like nor master, such as politics, be it the genuine or the corporate kind.

And why aren't we typically good at it? Well, we typically enjoy deterministic things with explicit rules, like computers and unlike politics. We also typically can and love to fit complex models in our minds all at once, to design and debug them; I guess it often comes with a solipsist / introvert character.

Would I want a programmers' union? I'm not sure. I fear that it would favor a bureaucratized view of development, and suck the fun out of the job. I navigate the anarchic development job market just fine the current way, favoring what I personally care about (lots of from-scratch / exploratory developments, moderate workload, mutual trust with my hierarchy). I don't want to think of my job as a permanent struggle against my nasty overlords, the way automobile workers seem to experience their workday. But sure, there needs to be someone to kick the companies' asses when they implement no-poaching cartels.


There is a union of people who "do stuff in front of a screen and keyboard" and they help negotiate laws in California which ensured that contract engineers are not paid for overtime, while writers are paid for overtime:

https://news.ycombinator.com/item?id=8748894


"Telling your story to HR or the ERIT will make you feel good, but all you are doing is giving Microsoft Legal a heads-up."

This can't be emphasized enough: In any conflict between employees and management, HR will always be there to cover the company's ass legally, not to help the employee. Don't expect them to be on your side.

I've been reading the book "Corporate Confidential", recommended recently by a HN contributor.[1] Strategies like "managing employees out" seem to be a ubiquitous practice in corporate America, not just limited to Microsoft.

[1] https://news.ycombinator.com/item?id=8600716#up_8602172


Agree completely. It's amazing how many people don't realize this. HR should be called "Employee Risk Management." I can think of few things you should ever talk to HR about other than your benefits.


No, "Human Resources" covers it just fine. Humans are merely resources a company can use and discard as it sees fit.


I spent some time this week reading old CIA interrogation manuals (which openly discuss "coercive" techniques), for personal background on the current debates.

Anyway, the CIA interrogation manual for the wars in Central America in the 80s was titled "Human Resource Exploitation Training Manual", which struck me as perfectly Orwellian from a couple of directions.


Unfortunately I think this one will be lost to the HN archives because of when it was submitted, but:

https://news.ycombinator.com/item?id=8746758


just like cattle on a ranch? Mooo....


Agree. Reminds me about an article I read about company loyalty: http://heartmindcode.com/2013/08/16/loyalty-and-layoffs/ Was quite an eye-opener actually.


This great article was actually posted to HN about a year ago. You can read the discussion here:

https://news.ycombinator.com/item?id=6240495

Excerpt:

Most of the (now ex-)employees of my (now very ex-)client are in a blind, terrified scramble right now because they made a critical career mistake: They put their loyalty in the company. They put so much loyalty into the company, in fact, that they stopped nurturing themselves and growing and building their careers as a separate entity apart from the company.


Join a union. I know they're not particularly popular in the USA - and especially not in the high tech sector. But if these actions don't convince you that they're necessary, nothing will.

In the UK I pay ~£16/$25 per month to be a member of Prospect, a union for workers in the telecoms sector. When I was made redundant (downsized) they were able to get me an excellent settlement and provided me with incredibly useful professional advice.

I also know that if I'm in a disciplinary situation, they'll have trained employment rights specialists available to fight my corner.

The best way to think about a union (IMO) is as legal insurance. You pay for car insurance in case someone plows into your automobile - why wouldn't you do the same for your career?


Can't emphasize this enough.

I once got into a conflict with my immediate supervisor which escalated into legal territory. The hows and whys doesn't matter right now, but suffice to say I had every right on my side, but I still couldn't have done it without a lawyer from my union who knew exactly who to contact and what to do.

As you say, unions are a form of insurance system and when they work they are irreplaceable. It's a win-win situation for the company and the employee to get rid of the situations I mentioned above.


Does anyone know if something like Prospect exists in the US? In the U.S. the only unions I'm aware of are collective-bargaining type per-workplace unions, where either your workplace is unionized (and therefore has union representation) or it isn't (and therefore doesn't). When I worked in the U.S., I was unable to find an organization that would let you join individually, and then provide employment advice and representation. There are professional associations like the ACM, which you'd think might provide some employment & advocacy type services, but the ACM at least doesn't provide anything like that. I'm not sure if that's because of American labor law making such an arrangement difficult/impossible? The Danish quasi-equivalent to the ACM, IDA [1], does provide those kinds of services, but the labor system is quite different overall.

[1] http://english.ida.dk/about-ida-0/about-ida


US unions are notoriously combative cold-war era affairs. I wouldn't give up the search, but the average union differ quite a lot from country to country.


> You pay for car insurance in case someone plows into your automobile - why wouldn't you do the same for your career?

Few people willingly pay car insurance; fewer still have any confidence that their insurance will pay-out. But we pay the premiums because it is a legal requirement, even though it might be more effective for some people to put that money into a bond instead.

It's a similar situation for unions; few people expect that a union really protect them from a determined private-sector employer, so they assess the cost-benefit of such "insurance" to be negative. Particularly when the premium, much as in your example, costs a lot in terms of minimum wage.


> Few people willingly pay car insurance; fewer still have any confidence that their insurance will pay-out. But we pay the premiums because it is a legal requirement, even though it might be more effective for some people to put that money into a bond instead.

What country are you from? In the US most people who can afford it have more than the legally-required car insurance and insurance companies are expected to pay out in the event of an accident.

A bond isn't insurance because, on average, it won't cover your expenses (if you earn enough on it to pay for a catastrophe, that means you didn't need it). The whole point of insurance (and unions) is to share risk over a large number of people, only some (random) fraction of whom will ever "need" the insurance.


FWIW, if any Australians are reading this : Union fees are tax deductible. And your employer doesn't need to know your part of the union until absolutely necessary. Seriously, I know there is a lot of bad press about unions because of a few arseholes, but they are necessary and you may find you need them the longer Abbott is in power.


Just to add, union dues and initiation fees are also tax deductible in the U.S.; however, you can only deduct the amount above and beyond 2% of your AGI.


Is it really that different in other parts of the world? Over here a minimum car insurance is mandatory but pretty much everyone pays for increased coverage. You don't want to be on the receiving end of the bills after a chain reaction of traffic accidents.

Regarding unions, it's first and foremost not a question of protection from a determined employer, but protection from specific parts of the company doing illegal and/or wrong things.

As soon as your company has more than 10 employees, it gets a whole lot more complex than "employer" and "employee".


Huh? I certainly expect my car insurance to pay out. I expect them to pay the minimum they can, which for collision insurance means "not quite enough to actually replace my car", but I expect them to fully cover any liability I might have, up to the limits of the coverage I bought.

Actual experience has borne out these expectations.


But to pay that amount for prospect membership you on 50% more than median salary for the UK.

I remember one jokey comment that low pay in prospect terms means some one who isn't paying any higher rate tax :-)


> Few people willingly pay car insurance

By that rationale, no-one would by the more expensive fully-comprehensive insurance (where your own car is insured, not just third parties) but they do.


Many people only buy the comprehensive insurance because their loan contract and/or lease terms require it.


And that makes sense, you can just return the car and get a new one. And lease contracts fees reflect this. If you have a fixed term lease, then returning a car ahead of time costs you, so you opt to repair it, and probably the leasing company wants it repaired at a brand licensed garage, so higher prices on that means you're likely to get a proper insurance, but you get the lease for cheaper.


In the UK, fully-comprehensive insurance can often be cheaper than third-party only cover.


Unions aren't the panacea you think they are. My experience with unions has been that they cater to the lowest common denominator. My salary increases were built into the union contract as was my "work out of class". I could only get a 5% pay differential when I did a work out of class, rather than having the ability to negotiate that on my own.

Then when I became a manager and was no longer a union member, the union attacked my management position so hard, that I rage quit because I simply couldn't take it any longer.


I was going to say the same thing. Unions are not too expensive, and mine has probably already paid itself simply by reading job contracts and advising me in payment negotiations.

It's also nice to have a group of people lobbying for the interests of IT workers, say.


> In the UK I pay ~£16/$25 per month to be a member of Prospect, a union for workers in the telecoms sector. When I was made redundant (downsized) they were able to get me an excellent settlement and provided me with incredibly useful professional advice.

Thanks, I didn't realise we had a union for our sector.


Prospect coves pretty much any job in technology/science not just telecoms.


The problems with "unions" is that they are a nebulous thing. The main thing they do varies enormously from sector to sector.

They are associated with and often still do a lot of things that I really want to part of. I associate joining a union more with joining a political party than what you describe, rightly or wrongly.


YMMV. I paid to join a union when I worked in the public sector (Unison, I think) and they ended up being useless when I had a problem with my employer. They just 'advised' me that there was nothing I could do and to let it go.

I think an actual lawyer would probably be better value for money.


Without any info about what the issue was, your anecdote is useless.

If you murdered a customer, your Union will probably "advise" you that there is nothing you can do to keep your job.


I explained the situation to a lawyer I knew years later and they stated that there were options and the union probably just couldn't be bothered to get involved.

>If you murdered a customer

Oh yeah, that was totally it eyeroll.


As you say, YMMV.


yep some times all you can do is help manage the situation to the members best advantage or get say a final written warning down graded to a verbal informal one.


If you are living in a small mining town where everyone else works for the one and only company, then an union makes sense, because it gives everyone a leverage against a monopoly.

High-tech industry is not a monopoly. The only thing unionization would do is to complicate life of capable people who actually work by forcing them to work alongside unmotivated lazy-asses that are employed just because they can't really be fired. I can't pay good people better money and I still have to drag around these useless clowns that religiously observe their mandated 4 coffee breaks and time their arrival and departure with sub-second precision. This is counter-productive. Unionization in high-tech is a seriously bad idea. It's just a way for unqualified personnel to hold on to their jobs instead of developing themselves into someone actually employable on their merit.

If all you are looking for is a legal support in tight spots, then there's an actual regular insurance coverage for that. Just ask your insurance provider.


"High-tech industry is not a monopoly."

While that may be, employers in the same field with geographical vicinity are known to negotiate on shared terms of employment - in effect creating leverage over individual employees when negotiating the terms of their employment.

A union may devolve to many things but one of the valuable facets are that it creates leverage for the employees against the employers.

I don't have to like it, you don't have to like it but that is the way the market works.

"still have to drag around these useless clowns that religiously observe their mandated 4 coffee breaks and time their arrival and departure with sub-second precision."

I would have just used the words 'non-productive' - that amount of verbiage creates the feeling that there is non-spoken behavioural pattern that is used as the metric of an employeed value rather than the value they produce.

Especially in high tech the moments when an employee actually performs value adding work can be spurious, unlike in lower tech industries like logging where the work you see is actually the work input you are getting.


Assuming this is what you're referring to when you mention shared terms of employment.

http://en.wikipedia.org/wiki/High-Tech_Employee_Antitrust_Li...


Including that, yeah. It's a known fact companies have a tendency to form informal syndicates to game the market to their advantage, be it employment or pricing.


That is true for union-shops. There is a hell of a difference between paying a union to negotiate on your behalf and paying a union to come up with relevant courses for your speciality and paying a union to lend you a lawyer.


This is actually a really good datapoint.

UK: Has software union. Developer salary in London =~ $65k

US: No software union. Developer salary in SF =~ $200k

I'll be sure to pull this out next time I'm trying to explain to somebody why unions are such a terrible idea for software developers.


But please control for confunding factors. Supply-vs-demand in SF and London are rather different, costs of living, union membership statistics, and so on. And even after that you are in for a hard case to argue that unions are responsible for this difference.

And, that said, unions have very bad failure modes, as experienced by the problems with regards to (allegedly?) bad teachers. Also, they are able to mask problems for quite some time, and when they finally implode you have a half-broken sector on your hands with cascading effects and unemployment and defaults and ... well, Detroit-like consequences.

Furthermore, software developers have it good, and probably will be in demand for the coming part of the century, but that won't stop labor exploitation even in the tech sector for specific regions.


I love anecdotal data, so I'll share mine: I'm at Microsoft, almost 46, and most of my managers have been younger than me. Nearly all of my reviews have been extremely good; the remainder just good.

It's true that there seems to be a sort of cliff around my age; there are very few people in product development roles over the age of 50. I would attribute that to the way the industry evolved: mine was the first generation that really had the opportunity to grow up with PCs. My first exposure was a programming class in summer school in 1981. The demand for software developers also really exploded in the 1980s. These things combined to make software both more interesting and more compelling as a career than it had been in earlier generations.

EDIT: It's probably also worth pointing out that anyone who'd joined Microsoft before ~1995 and was careful about managing their money could likely have decided to retire by now.


To find an explanation of the process I would really just look at the number of programmers working in any given year. There are many times more new programmers starting professionally in 2015 than 1985 while mechanical engineers, lawyers and poets get produced at a roughly even rate.

That in itself creates a huge skew, there are fewer 50-something programmers because 1985 produced fewer programmers. I think a lot of the concern/focus on the youthful "fetish" in the industry is this kind of an illusion.

In the early 70s, Rockstars were by definition in their 20s. These days, if you are looking for rock mega stars who can fill arenas anywhere in the world, you will find rockstars of all ages. In fact, rockstars like Mick Jagger (70s), Steven Tyler (60s), Prince (50s) are more likely having had decades to accumulate fans.

It turns out that the 27 year old rock god cliche was a product of the fact that it takes time to make a 60 year old and no one was making rockstars in 1929.


Unrelated to your point, but undercutting your conclusion is the fact that the "27 year old rock god" cliche came about in large part due to the # of rock stars who died at 27. Check out the wiki article on "the 27 club" for more info.

Plus, when you're 27, you're probably at or near your physical peak. IE, you're good looking. And that's arguably more important than any skill.


This is a great point and one I have mentioned to friends. We are only now getting to the point where there are a lot of older (>35) programmers. I'm sure there is some ageism/easier to exploit younger workers happening, but on whole given the current demand I don't think it really saves companies much money.

For an anecdotal data point, where I work now I'm one of the younger guys at 37.


Have you read the mini-Msft blog? The big problem for msft employees is the up-or-out review system. If you don't make partner, the review process seems designed to kick you out of the company.


Given that less than 1% of employees are partner level or higher, this idea is numerically ludicrous. To the best of my knowledge, the "up or out" thing ends at the "senior" level -- well before partner -- assuming it even still exists in the new system.

The posts from "Mini" are always interesting; the comments much-less-so, and recent ones consistently seem to devolve into immigrant-bashing.


This story reminds me of my current company. A large fortune 500 company that has recently had most leadership moved to Silicon Valley, in which there were major layoffs to most of the older engineers, based on a consultants suggestion. Most of these engineers maintained and supported older legacy and mainframe systems. Now everyone is scrambling to fill the gaps and it puts a toll on everyone. Not to mention the fear of current talent fleeing as the word is out that you don't spend more than 5 years here or you will be forced out.


based on a consultants suggestion

No top management decision is ever based on a consultant's suggestion; it's the other way around. The consultant's job is to provide the appearance of neutral outside expertise to justify whatever the executives wanted to do anyway.


Only 17.7% of Microsoft employees are younger than 30. Almost half are 40+. Average age: 38.7.

Source: http://news.microsoft.com/facts-about-microsoft/

Don't be scared. Instead, learn to have more compassion on others while you are young. Join a Union. Keep improving. And consider moving into management later or start a small business in your late 30s.


Wow, I'm trying to imagine what that age distribution curve looks like. It must start out pretty heavy, and then have a super hard drop right after 40.


Why? A bit more than half the company is under 40 and the average age is slightly under 40. Seems like any sort of distribution could yield these sorts of numbers.


> And consider moving into management later

Should this really be necessary to stay in the industry? What about those who enjoy being hands-on with code?


Stories like this one terrify me. No matter how young you are today, someday not too long from now you'll be 40+ and on the receiving end of this type of discrimination. Is that the kind of industry we want to be?


But we don't know the full story (for each individual) - we don't know if it really is discrimination based on age or if there are other things going on. I've seen both things happen in medium sized companies so I won't be surprised if it's the same for Microsoft (or other major companies for that matter)

- case 1: a guy in his fifties writing C++ like it's C with classes in the same style he did 20 years ago. Every piece of code is a complete trainwreck. I could go on for hours on how bad it is. Anyway, the programs he creates like that sort of work. Barely. But because there isn't anyone else to do his job, managment is stupid and too lazy to find someone else and rather waits until it explodes in their faces (i.e. when he retires), he can stay. Until one day a new manager steps in and immediately sees the problem and lets the guy go. Would you really call this discrimination or rather the proper thing to do?

- case 2: the opposite. Decent guy in his fifties, hard working, always learning, writing proper code, not afraid to speak up. The letter eventually yielding him fired because (again) of stupid managment: one manager able to convince the rest he's too old and too costly too keep, rest of the pack too lazy too stand up and just let it happen.. That is discrimination.


There is also a trickier and more interesting case 3:

Experienced guy in his 50's, seen it all before. Remembers the era of object databases, knows why SQL was invented, and shuts down his hipster colleague's plans to use Mongodb. Remembers CORBA, SOA and J2EE and is skeptical about microservices. Understands why logging/metrics/dependency injection is necessary and pushes RoR guys to use more verbose syntax to support it.

Younger folks dislike him because of this. There is conflict. Management has a real problem, since they both need experience but the senior guy can't build everything on his own.


dependency injection isn't needed in RoR, as mocking/stubbing is so simple, and built in (with RSpec, say)... (Same with metrics, they can easily be injected into the entire object tree). Logging sure, you need to write some of that.

There are also arguments for NoSQL dbs as well, some times old knowledge is exactly that.

This doesn't seem to be a compelling example... But alas, I think I've taken this off topic.


> dependency injection isn't needed in RoR, as mocking/stubbing is so simple, and built in (with RSpec, say)

Disclaimer: not a RoR guy.

Dependency injection isn't about unit tests. Dependency injection is about weak dependencies, easier refactoring, and preventing bad design decisions from being a disaster 5 years down the line. Dependency injection is a good idea no matter what the language/framework is.

That's the point of the parent comment. A dev in his 50s would point these things out.


Dependency injection in practice is almost always implemented for tests.

In terms of architecture, it's usually a case of YAGNI. Every dependency injected is a configuration point that is almost never altered, except for mocks in testing. When this style infects a whole codebase, it makes it far harder to read and navigate, because code flow is dependent on runtime data flow. Heavy use of indirections that only ever go to the one place is a bad code smell, and it's a stench over the entire field of enterprise Java.

Code that is easy to read is easy to refactor. Except for natural architectural chokepoints that are typically intrinsic to the problem being solved, you're fooling yourself if you don't think architecture changes are needed for most refactoring - dependency injection isn't buying you what you think you're buying. Every injection point you create is a prediction about the future, about the possibilities of change, but there's one gotcha: the future is hard to predict, so most of your decisions are wrong.

You're better off being agile, following YAGNI, doing the simplest thing that will work, and altering it when requirements change.


I've done DI many times for things other than tests - swapping out different algorithms is the most common case (BetaBanditCalculator -> TimeVaryingBayesianBanditCalculator -> HierarchicalPersonalCharacteristicCalculator, etc). It also makes testing easy, which is great, but that's far from the only use case.

DI tends to work great for the integration point between systems - e.g., connecting the REST or Thrift interface to the calculation backend and datastore.

The fact that a concept is hard to use in Enterprise Java is a poor argument against anything other than Enterprise Java.


DI is nothing else than partially applied functions, which is useful to limit the number of values flowing explicitly to the call point. Limiting the data flow diameter is good, as our brains can handle so much information simultaneously.

On the other hand, DI frameworks are a "modern" way to do global objects. I have no clue what problem they solve or why using a DI framework is a good idea. I've had the "pleasure" to work with a Java DI framework project last week, it turned 10 lines of code into 300 lines of boilerplate spread around 3 different packages.

Furthermore, I agree, the pervasive use of mocks is a smell. The point of tests is to have test suite T.A to validate module A. Littering the test base with mocks of A which don't pass the test suite T.A is just a recipe for pain, both semantically and as increasing the amount of code change required by a refactoring. A is changing? Go chase the 100 mocks that make their own assumptions about A and fix them. Your tests are now part of the liability under change instead of being the safety net that tells you whether your module B depending on A is still working.


One extra point: what @barrkel is saying here works much better in a language which is fairly concise. In more verbose languages, any kind of change becomes more difficult (there is simply more code to change and more opportunities to make mistakes), so it is understandable that people want to build in "hooks" for extension.


Dependency injection should pretty much be renamed: "Unit testing in java". Sure you can come up with contrived examples like: Algorithm swapping, or integration point swapping, but I would hazard a guess that covers about 1% of DI code written, the other 99% is for unit testing.

You can achieve weak dependencies, easy refactoring and bad design without DI (Maybe it's harder in java to do thought :\ ).

The magic question of DI is, how do you decide what is a dependency worth injecting vs a static/strong dependency? In my experience its: "Inject everything". Which leads convoluted code. The correct answer (imo) is "you can't, unless you can predict the future".


I'm terrified to follow the start-up route as well, because I'm 34 and I know that

a) Silicon Valley is notorious for its implicit ageism

b) Once I'm 40 and have 4 years of experience working in start-ups I'll be dismissed from either getting hired or getting funded because I'm old.

The only thing that makes this topic worthy of upvoting is because people identify a company doing things an entire culture does. Sure you can bring a lawyer and pull a company to the court (good luck proving that they discriminated you based on age) but a culture? How do you even do that? You can't.

This is why I find it hypocritical that people act appalled on the idea that a company is doing what everyone admits a culture does but for the company is punishable and "well deserved" to be punished for it. In fact, I imagine there will be some sort of standing ovation somewhere in the world when an ageism case is won against ANY Microsoft, whereas for the culture is just "how things are" and it's your job to avoid it.

Funny, isn't it?


At least in The Netherlands it seems many older employees can get by perfectly well as freelancer in IT. And as freelancer at least you have much more control over your own future, instead of linking ones future to some specific company.

The times have changed anyways. Most people won't be working at the same company for most of their lives and to me that seems like a bad investment anyways. It's time that people (especially in IT) start shaping their own future.


"Microsoft uses bad performance reviews (“The How”) as a tool to eliminate the elder (40+) and senior ranked employees."

Current Microsoft employee here. A few years ago my manager at that time did exactly the above. The review process in use at that time rated employees on "What" you accomplished and "How" you accomplished it. I had done really well on the "What" and the manager still gave me a low rating because supposedly I did poorly on "The How". The "How" gave managers tremendous flexibility to rate employees however they want regardless of actual performance. So why did my manager do it? I believe he discriminated against me for age reasons. There is evidence to support this: This manager rewrote ("reinterpreted" according to him) the HR-supplied expectations for SDEs (Software Development Engineers) at each level, and he raised expectations for those at higher level, while leaving expectations for lower level employees the same.

While I believe this manager discriminated against me for age reasons, I don't believe there is Microsoft-wide, corporate-sanctioned, age discrimination going on. It might be happening at the level of individual managers, however.


This is how big company middle management works across the board regardless of profession. You think it was age, but it could simply be your manager didn't like you or was threatened by you.

When I worked at big companies I was fortunate to have great managers, but I was able to see how bad ones worked from the outside. I got tired of rolling the manager dice and have since decided to only work at smaller companies. At smaller companies it is a lot easier to see how things will go during the interview.


So, how'd it all work out? I mean, obviously you still work for MS, but what happened with the manager? Did he move or did you?

This is actually part of classic corporate behavior: * Company starts small, based on people who want to get things done (and get rich)

* Small company succeeds, discovers need to expand

* Small company becomes big company

* At some point a threshold is passed: behaviors (such as are typical in middle management) begin to appear, and are tolerated, because the company is successful.

* But, the mid management behaviors are lethal in the long term. The reason its long term instead of short term is because the company success is a kind of inertia -- it takes a while before the "decelerating" behavior of mid management affects the company.

* By the time the success inertia has been countered, those mid managers have moved on, either through making a fortune, or being able to parlay their "success" into other positions in other companies.

Pessimistic, but I've observed it in many circumstances, up close and personal in one or two (including my current position).


I moved to another group immediately and doing well in the new group. The manager got demoted during a reorg several months later, likely because there was a lot of negative feedback from his direct reports. That's one thing I like about Microsoft. Microsoft collects anonymous feedback about managers from their direct reports during an annual survey, and if there is a lot of negative feedback about a manager that manager is not going to do well. Other companies should adopt this.


Good move on your part.

Lets hope Nadella works out well for you and MS.

I've made my career on MS technologies, and it's been painful over the past decade or so to gradually turn away from it as the big corporation management power plays run their course.


[deleted]


No.


This story doesn't exactly scream "STEM shortage", does it?


I've always taken "STEM shortage" to mean "STEM shortage of low cost, high tolerance for long hours overseas workers".


Does anybody actually still think it's anything else than that?


Same is true for talent. There's no shortage for talent. There's a shortage for talented people willing to work for "the price we're offering".


Reminds me of this recent Businessweek story:

http://www.businessweek.com/articles/2014-11-24/the-tech-wor...


"There's no shortage of smart, hardworking engineers. There's a shortage of smart, hardworking engineers willing to work for very little money." ~ David "Pardo" Keppel


I don't get this kind of reasoning. Since when is $100K+ a year, plus bonus and stocks, "very little money"?

I'm a foreign STEM worker myself, currently on an H-1B visa. I have a very decent life here in the US, much better than I had it in Brazil. Back there both my wife and I worked and we lived at a quite lower standard than we live here. Now I'm currently the only one working and we live in a way nicer looking place, have a car we could never afford there and we're able to save some good money and still get to travel a few times a year.

So really, where is the "very little money"? A lot of other people share stories similar to mine and are doing pretty well too. And by the way, we're in our 20s and I was a college hire, so the good situation is not really due to having experience and being hired into a higher position.


The only thing you did here was inject a personal anecdote; that hardly disproves the Keppel Effect. The point of my Keppel quote is to counteract the constant drumbeat of "skills shortage" STEM news in publications based in the USA.

I don't know for sure but I also suspect that if your salary is $100K+, you're probably far above the median STEM worker salary:

Median earnings for those with a bachelor’s degree in fields including aerospace, chemical and mechanical were $75,000, according to a study by Georgetown University's Center on Education and the Workforce (CEW). [1]

[1] http://cew.georgetown.edu/whatsitworth/


Right, but my point is, if there isn't a shortage, how did I get such a job and why do so many other like me get them? Why would companies go through the trouble of recruiting overseas if they could find people with the skills they need in the local market? It doesn't add up. I've personally witnessed my former manager spend almost a year looking locally and abroad for someone to fill a software engineer position, and yet he couldn't find someone fit for the job.


Do you understand what "anecdotal" means? You're using yourself and your company to extrapolate to the entire industry. One of the reasons why companies recruit overseas is because they don't want to pay US market salaries. This has been discussed over and over again here on HN with regard to the H-1B visa and the use of foreign engineers and developers, because of the difficulty for "handcuffed" H-1B holders to transfer to other companies:

http://www.motherjones.com/politics/2013/02/silicon-valley-h...

http://www.cringely.com/2012/10/23/what-americans-dont-know-...

http://www.ifpte.org/news/details/Obama-Administration-propo...

Google, Apple, Adobe, Intel, et al. have been caught red-handed in illegal collusion in order to keep US engineer salaries suppressed. Knowing this, why would anyone find it hard to believe they would turn to foreign talent to effect the same goal?


There isn't a STEM shortage, STEMs are just expensive. If you don't have enough STEMs you can steal them from another company by paying more. If your company cannot afford the labor it will die, STEM or not.


Demand and supply dictates that if a product is expensive that's equivalent to there bring a shortage of it.


Is there a shortage of cruise ships? Perhaps cruise ships require many man hours and not-abundant resources to make. Perhaps software engineers require many man hours to make and intelligent people with a passion for computer science is a scarce resource.

We can say "there is a food shortage" because a certain amount of food is necessary for a society to survive. The same can't be said of software developers.

Also, if you argue a high price means it is scarce, does that mean there is a shortage of hedge fund managers and CEOs?


Which explains the critical shortage of Ferraris in my driveway.


I guess it is just the audience on HN that is driving it, but I find it interesting that this whole discussion here is focusing on subjects like the purported STEM shortage and whether programmers should unionize. As far as I can tell the badmicrosoft.com site and suit in question really doesn't have anything to do with these subjects, other than the fact that Microsoft is the largest software company in the world.

Relatively few Microsoft employees are STEM workers or programmers, and none of those in the lawsuit in question. They are in the sales organization. They may work in the technology industry, but the questions of this lawsuit are more about ageism and management issues endemic in many Fortune 500 corporations regardless of the industry or role of the worker.


Why are tech writers and programmers treated differently in the law? Recruiter lobbying: http://andreas.com/faq-overtime.html

"The recruiters accepted our exemptions because they were going after bigger fish: the engineers. The computer engineers who work as W-2 contractors are generally earning $100-300/hr and often work 60-80 hours per week. The recruiters were afraid that if such workers were entitled to overtime pay, the companies may cut overtime work, and therefore the recruiters would lose their 30-50% share of that money (this can be much as $6,000 per week to a recruiter for a single worker.)

Engineers have always refused to organize or even to be aware of their interests: they think recruiters are their friends. One engineer said to me: "Engineers think they're so smart that no one could do such a thing to them. Wow. They got really screwed." The law is an annual loss of as much as $50-75,000 dollars per each engineer. Yep, it's legal. The recuiters wrote a law to take away their money. Silicon Valley engineers were plundered by their "friends"."

See also https://news.ycombinator.com/item?id=8137958


Companies don't pay overtime. Those numbers cited would never happen. Instead, employees would simply lose the freedoms they enjoy now to work hours that suit them or spend company time learning.

I was hourly once because my company was very conservative about labor laws. Finally reaching the rank that no longer required me to fill out timecards or justify project time was a big upgrade in my life style. Did I work an occasional Saturday? Sure, but I also left early on other days or worked from home. I couldn't do that when I was hourly.

I'm far from convinced that overtime rules would make anything better for tech workers.


These rules are about hourly contractors, not equity-incented employees. You're comparing hourly to non-hourly. This is about hourly with overtime (tech writers) vs. hourly without overtime (engineers).


Microsoft has turned into Ma Bell. Microsoft is so large that any innovation at this point has to be minimal and highly managed or it would rock the boat, threatening the cohesiveness of the company. This is the worst environment for the hacker. It's an excellent environment for office slime who know how to play the game and lean more toward the psychopathic end of the spectrum. It's a world tailor made for the venal and the mediocre. A word about priorities, let the pricks take all the money, it's really worthless anyway compared to your mental health. In lieu of any positive creative talent middle management and HR thrive on destruction pursuits like emotional abuse, gas lighting and lying. Start living a real life worth having, live by your own rules and play your own game even if it means living on $20,000 per year which is all you really need anyway. Most of us are fighting an uphill battle with corporate suits to protect our clutter, distractions and excesses. Go outside for a nice walk, feel the sun on your face, read a good book, talk to a friend, take your child to the play ground, throw out the stuff you don't need, just start living for God's sake. Be happy now and leave all misery and bad feelings with them where they belong. Do not take the anger and resentment of your bitter experience with you (that's their greatest weapon BTW). It's very difficult to just drop your anger and resentment but do it fast, hard and don't look back. You want to be happy don't you? You want to be free? Don't waste your time thinking about them. Only think about good things. If it doesn't make you happy, you shouldn't think about it. If it makes you happy, you should think about it. You can and should become the happiest person you family and friends know about. Happiness isn't free. It requires a disciplined mind that allows good stuff in a throws out garbage like grudges. Happiness costs you but it well worth the price. There will always be enough money in your life. Social status is overrated and useless. Imagine yourself on your deathbed, are you going to regret not making $X million dollars and being the center of attention or the opportunities for true happiness that you let slip.


> In lieu of any positive creative talent middle management and HR thrive on destruction pursuits like emotional abuse, gas lighting and lying.

This whole post is crazy but this quote especially is absurd.

I'm a current Microsoft employee and I'm not a brainwashed corporate drone constantly abused by incompetent management. I don't think you've had any experience being employed by Microsoft.


What incentive does Microsoft have to get rid of high performing older employees?


Nothing for Microsoft. Microsoft managers, and really any manager, see older people as threats to their power/jobs. They did not get into the business because they want to make successful products and technology that makes everyone happy. Management is the business of controlling people for a paycheck, and nothing more. Obviously the type of people who get into that kind of business are not the kind that give a shit about replacing workers for their own benefit at the expense of the company.


I must be lucky because in 25+ years I have worked for only one manager like that, during my (brief, and regretted) foray into sales. Every other manager I've had has been interested in building things and enabling his employees to do great things.

My point is just that if you have a manager like you describe, leave. You don't have to with that; there are better options out there.


Agreed, in fact at our company it's the opposite: engineers mostly don't want to manage, and director level managers keep trying to push us into the positions. For the managers we do have we are mostly thankful that someone is willing to do that thankless job and sacrifice their coding time :-)


I think this is one of the reasons why michaelochurch advocated open allocation.


Probably most are not high performing? They are expensive, often slower (or at least perceived as slower), get ill more and don't work as many hours as younger employees. In a lot of jobs, you really want to have your things in order when you hit 40 as when you get fired there is not a lot of room for you anymore. Those are usually the jobs people over that age will be pushed out. As I am that age, I know too many people between 40-50 who get fired and that's it; they will not get hired anywhere else. Once 'successful' (if they really were they wouldn't get fired or at least find other jobs easily, so successful for a definition of double average income (I'm not sure that goes for the US; triple/quadruple whatever could apply, in NL we have a word for it) for instance), now unemployed with 25-30 years to go before (meagre) pension.


That's pretty terrifying. I'm 5 years out of college, mainly "progressed" sideways and realised I'm only 12 years from 40. The previous 5 went so quick. There's no way I can retire at 40, or 45. Damn.


I'll be 40 next year, and this is indeed scary. I feel like only in the last couple of years I've become good as an engineer, and I'm still learning and evolving. I think I'm considered a high performer where I work. To think that in a couple of years I'll be unemployable makes no sense to me.

I'm working hard at not being left behind in terms of new technologies, and doing more managerial/architect style roles in recent years. I think people don't realize how young 40 is today, and more so how quickly it comes around the corner. You're 12 years from 40 and I assure you these 12 years will pass about as quickly as the previous ~5 years. I'm less than 10 years from a 20-something and already an "old guy"! bah.


I don't think age as a numerical thing is the issue here. The problem is probably more related to people that stopped learning / being interested in new stuff when they landed a stable job. So they've been using the same skill base for a long time, and suddenly they realize they are obsolete.

Sure they may have grown their skills inside that particular silo, and that is worth something, but maybe outside the whole world has taken a different direction.

Never forget that the cool tech you're learning now will be out of fashion in a few years, and completely obsolete a few years more down the road (replace years by months for any JS framework out here :p).


This also creates a bias against older engineers. People assume that since they meet a lot of "dinosaurs" (in terms of technology) out there, 40+ engineers will probably be dinosaurs as well.

Also, there's some unspoken assumption, that if you're 40 or even 50 and "still" an engineer, something is wrong with you - you should have been a CTO or something years ago, so you either have bad personal skills or are untalented, kept for some Job-Security-Tech you know.

The sad thing BTW is that this attitude is a self fulfilling prophecy, causing talented engineers to push up the ladder and become bad managers, or go into marketing/sales/etc. Even if they're not bad at it, we are losing great engineers due to that, who were just scared to remain engineers.

BTW to me personally tech is a second career, although I've been programming since I was a child, my first career was in journalism, and later web content and product management. I've only started working professionally as an engineer at 29.


Your line of thought relies very strongly on the assumption that the skills of software engineers are tied to the particular language or framework they are using. Surely that's just complete nonsense?


> the skills of software engineers are tied to the particular language or framework they are using

Well, not all of them of course, but yes, knowledge of a particular language matters.

For example:

a) idiomatic code in a given language is easier to maintain, a programmer who doesn't know this language won't write idiomatic code for awhile

b) lack of knowledge of available libraries may result in reinventing them poorly, leading to NIH syndrome, which is bad for maintainability... and just bad in general

c) std lib of a language is a special case here: without having memorized what it has to offer you're going to work many times slower due to having to google all the time

and so on.

You can either know a lot of languages and technologies and bet your career on ability to learn new things very quickly, or you can be content with one language and become a master in using it. In the latter case much of your skills do become tied to the language and particular technology, so just be sure to pick one which is not going to stop being popular in a year.


Well, I wasn't thinking of specific skills for a given language/framework, but maybe more how those frameworks help you evolve along with the tech landscape.

I started my career around 15 years ago, working on a complex server system written in C++. The important skills back then were all about managing concurrency using mutexes, RW locks, events, and so forth.

Fast forward to now (with lots going on in between), and I find myself working again on server software, but this time the approach is much different: now for dealing with concurrency I'm relying on immutable state, and using Futures or actor systems to coordinate parallel work. It's been years since I've had problems with a deadlock.

Bottom line, it's true that a good programmer doesn't care about language or framework, since he can pick those up pretty fast anyway. But it's a skill that needs practising, and I've seen people neglect this and then regret it later.


Whether it's true or not, that's how employers choose employees.


Just make sure you don't become one of those roles then :) Keep learning, show you have a lot to offer, PR/Market yourself, be vocal, get really good at something scarce, be it in tech or management (or...). I can get a job anywhere I would if I wanted, not because i'm so good or to brag (I'm an average programmer for the most part, I just really like it and i'm practical; I get stuff done), but I learned enough on the business side (management as CEO/CTO), tech side, human networking side (I have a lot of contacts who trust me enough to give me a chance when I require it) and marketing side to be perceived as valuable to a lot of medium to large sized companies. Then again; I like working (long hours; I forget time when coding and I don't care about that happening) and I like learning a lot.

Anecdotal; I know two engineers, one over 55 and one over 60; the first one is an expert at lower powered embedded hardware & software of the tiny kind (think smart credit cards, complex dime sized sensors); he gets flown in all over the world to help out for insane amounts. Chinese companies hire him to make more robust stuff. The other one is an expert at Fortran/Cobol/mainframe OS crisis management; whenever a bank anywhere has a very serious issue, he gets flown in to fix it. Again at rates high enough to only need one gig per few years.


Basically: work harder/longer to prove you're younger because youth is the illusion we're all trying to maintain?


Yes,terrifying~!


Older employees are obviously more likely to have families which they will always priotorise ahead than work.

Given that the IT industry is notorious for long hours and impromptu overtime it's easier to see why they might be prefer younger employees.


Hmm I'm not sure I agree with that. From my experience the period where family is most likely to be a problem with a demanding job is when kids are very young. The short nights, demanding daycare schedules, having to clean them, feed them, and provide a mostly continuous watch, etc. It's pretty gruesome. If I look around me this tend to happen around 28-30 years old.

Of course family remains #1 priority afterwards, but there is enough flexibility to go along with a demanding job (provided you like said job).

I've been working remotely for the larger part of may "young father years" so I guess this helped a lot, too.


Where I have lived, the age of getting children has been getting higher and higher. It's not unusual for couples to have their firstborn in their mid-30's.

And yes: family does come first.


I've been in interviews where they made it so obvious they didn't want anyone with any commitments it was cringe-worthy. Also accompanied by a contract in which you agree to do as much unpaid overtime whenever deemed necessary by the company in order "to do your job".


We can only guess:

1 - Supervisors might feel threatened or disrespected

2 - https://en.wikipedia.org/wiki/Illusory_superiority

3 - Cost (with or without considering the true value/cost)


Microsoft's got a LOT of fat accumulated over the many years. They got royally stagnated under Ballmer, too much office politicking, designing by committee - all especially true in the management layers. This is what Nadella is purging. Not "high-performing older employees" specifically.


But those are the ones that it easier to target so they are the ones managed out not the career politicians.

Nadella should have been fired by the board over that "karma" fiasco if you fuck up that badly when at an internal event where some one throws you a soft easy Q you couldn't be trusted run a whelk stall (I suppose hot dog stand is the US equivalent)


I have the same question. Surely older employees have more experience, more knowledge, more to offer than the younger ones? I'm 1 year (and 1 day) away from forty, and yes, this kind of story does hit home a bit, but I feel my contribution to the company I work for is more valuable than my age?


I guess they are not perceived to be high performing because they don't spend as much time at work and are less flexible.


Or because they are not high performing, occam's razor says :)


"Microsoft uses bad performance reviews (“The How”) as a tool to eliminate the elder (40+) and senior ranked employees."

Proof please. This not only reeks of confirmation bias, but could it also be explained by resistance to acquire new skills in line with advances in fast-paced technological improvements?


Proof please.

I'm kinda thinking that's what the case could possibly be about?

Is this one of those divert the conversation by asking for citations for things that are obvious sockpuppet things?


Could you explain your position a little better? Maybe I'm misunderstanding you, but it's not immediately clear to me how the proof being asked for was already obvious.

Also, I'm wondering how you know for sure that someone is a so-called "sockpupppet"? This is a skill I'd really like to master because reading people over the Internet is so difficult.


A sock puppet has no interest in actually participating in a discussion. It's only interested in harping on one side of a political debate. You ask for specifics and they just repeat a bunch of talking points.

Someone like this might be a sock puppet, but they might also just be an ideologue. A sock puppet will have created a login, assuming a login is necessary, just for the purpose of sock puppetry. An ideologue will stick around and argue other topics.

Sock puppets also like to work in teams, you'll see them in groups of two or three 'me-too'ing each other's points. If this happens, all of them will have created accounts specifically for that purpose. Sometimes they'll also all have the same IP address. This kind of manipulation is easy to detect, so generally you'll only see them rarely and in the short window between their spamming and the subsequent detection and banning.


If you read the linked page, the whole thing is about if the case will go ahead. A judge has said it will, so presumably there is some evidence.

Now while that evidence needs to be evaluated, merely asking for proof ignores the premise of the whole linked page.


He doesn't know; he asked.


I hope these people do get any justice they truly deserve.

But, I work for a big company. I've only been here 4 years and I've been desired by other teams and at least a half dozen occasions - I do my job, I learn the technology and processes used here, I solve problems, I deliver, I am reliable and consistent, I treat people with respect, etc. Even still being a junior, if I lost my job today, I'd have at least 3 different job offers in different areas of the company just by my perceived worth. No, I'm not a brown noser.

So my question is, how can one work for a company for so many years, deliver and execute on so many projects, only to be invisible to the entire organization? This makes it sound like these are line workers getting laid off despite their long-term employment with the company.

If I was as invisible in my current job as these people were, I'd be looking for a new job so that I can actually be valued for my worth. Are these people victims, or are they mediocre and their career came to an end sooner than retirement?

Just a perspective, don't hate.

Edit: My company isn't one that values young workers - our primary TS core is older. Thing mainframe old. So I don't actually have much of an advantage with my "youth".


These stories lead you to believe that engineering, as a profession, is broken. Like athletes and models, software engineering is one of the few career paths where your perceived value starts declining at a relatively young age.

If a developer's value truly increases faster than their cost over time, why are software companies engaging in age discrimination? We can all tell ourselves that these companies are shooting themselves in the foot in the long run, but do facts back this up? Presumably, if another company hired all these valuable experienced professionals, they'd wipe the floor with these companies staffed by cheap college grads. Why hasn't this happened?

I'm currently in my early 30s and working in a different engineering discipline, but I love programming and part of me would love to jump into professional programming. I interviewed at a few start-ups recently and got an offer for that money than I'm currently making. Ultimately, I turned it down because jumping into software this late in the game feels like possible career suicide. In my current occupation, senior engineers are valued and their accumulated knowledge and experience has demonstrated value.

By comparison, writing software the HN way feels like building on sand. It's fun how a new programming language or database or web framework is announced weekly, but in the end everyone is chasing a moving target. I enjoy this now, but I can see how I might eventually grow tired of playing this game.

I don't think Facebook, Google, Apple, Microsoft, etc., have consciously been creating/adopting different programming languages to silo their workforce and reduce the fluidity of the labor market, but that might be a side effect.


I don't feel like the article convinced me that Microsoft has any wide spread process for removing older employees.

A little off topic, but: I am in my 60s and I have never felt any age discrimination (at large companies like Google, Disney, and remotely working for many small companies, some of them startups).

I think it is critical to put effort into developing your own career, in addition to giving fair value to whoever is paying you at the moment.


Metrics for MSFT vs GOOG: https://blog.kissmetrics.com/google-vs-microsoft/

Pay > $150K: MSFT 40%, GOOG 20%. Age Over 55: MSFT 16%, GOOG 20%. No children: MSFT 74%, GOOG 79%.

As for me, I am 57, a developer in a startup, and still get offers. MMV


Just when I was starting to think Microsoft had turned a new corner. Can't say I'm surprised. But definitely a little disappointed. I guess it's just part of their corporate identity.


This case goes back to when stack ranking was ruling the company, and managers had to get rid of a certain fraction of employees. That they would tend to choose older ones is no surprise.

Note the system was so perverse managers would, if they could, store up genuinely low performing employees precisely so that they had ones they could sacrifice.


All big companies have this; if you have a lot of employees and buy a lot of companies which need to be 'integrated' you'll have elaborate plans to sack them without it costing too much money. It sucks but it happens everywhere. It is really really hard not to be evil as a big company, hence it's probably better to just stay small if you have that goal. In some companies you have a social net to catch you; I believe companies, when hiring/acquihiring, should be held responsible for those people. But I understand this is not (always) possible. The staff being the most important asset of a company (as they like to say) usually only goes for the super-human part of the staff, not for the rest.


I appreciate your thoughtful response. Though I don't think it's a size thing, I think it's about culture and priorities, and being beholden to stock holders and profits; having no loyalty for the employees (or likely customers) that got you to where you are.

Some people / companies believe that the only way to get ahead is by screwing someone else over; either out of some money, or out of a job, or what have you. That's just a shitty way to do business, and a clear sign of lack of respect or appreciation.

But then again it might be a scale thing with them and a matter of acquisitions and such too, as you said.

+1 for staying small; or at least growing slowly and carefully. Companies that just spam hire are likely not thinking about how they'll support any given hire for the next few years let alone the rest of their lives.


Every organization has its share of problems. Microsoft has quite a lot of them. They are working on some of them, but others linger...


Let's wait for nice, approachable Mr. Nadella's response to this. I'm sure he'll be right on it.


The article has a lot of innuendo, but I couldn't actually find any data in it. Did I miss it? From my observations MS is one of the "older" tech companies.


No disrespect, I have something that is pressing on my heart.

I am absolutely mind blown by reading the comments here. You are afraid of what will happen to your job when you reach 40? Ask yourself this: how do you think people managed to live and have a job a hundred years ago when they hit 40 or 50?

OK, perhaps this is a cultural thing. I am from eastern Europe where a "normal" annual income, for a single person, can be $12,000. So a couple can bring $24,000 I assume this would be devastating in US. Just like the news the other day with the president of a university (in UK?) where he was complaining of having to deal with an €220,000 annual income.

But of course, you are aware of this discrepancy. Otherwise why would these kind of job offerings exist: https://www.elance.com/j/wordpress-plugin-theme-developer-mo...

$300 / month "FULL-TIME wordpress plugin and theme developer from Pakistan and India only."

Please, if you are being laid off at 40 and in the case you are not suffering from a company downsizing, bankruptcy or you don't have medical issues (another interesting topic to talk about) it means that you are either an incompetent or a lazy individual.

No disrespect, please just wake up from your dream.

EDIT: I just realized from the feedback to this message how completely and utterly naive I am to not taking into account that HN is in no way representative of the average worker in US. Here, the absolute majority seems to be only people from IT which don't quite appreciate the opportunity and privilege actually to be able to code and think that only > $60,000 salaries are worth their time and effort.

Good luck then!


If we take the global perspective the quality of the state funded safety nets combined with the local culture and job market greatly affect what the implications of a lay-off are. And they can vary drastically.

For instance in the USA the economically worse off are in relative terms considerably more worse off than in countries with lower income inequality.


I just cannot believe you are arguing that in US you have a more hard time finding a job then in a less developed country like in Eastern Europe.

> You seem rather ignorant of the U.S. then.

To this type of a comment you can easily answer the same way. You madam or sir seem to be equally ignorant of Europe as well.


I don't think I argued that - but that the amount of economic options available to individuals should not be deduced from comparing GDP or such. I think in eastern europe most countries are still civilized enough to offer basic medical care without insurance?

Any way, I have no local knowledge of either issue ... I'm located in northern europe.


You seem rather ignorant of the U.S. then.


[flagged]


> fuck off

> learn some basic economics

Madam or mister, it seems you don't understand from my message the essence of it.

A valuable, reliable person with a salary that is not massively higher then it was 3 years ago (so I am mainly talking about inflation correction) will not be let off. As a younger man and when I did IT maintenance I had often found employes over 50 on jobs which were good enough to allow them to still keep their kids in colleges, allow them to be dressed nicely at work and so forth. They were on jobs which younger employes refused to take. They were desk jobs varying from constructions (estimates and offerings) to accounting to work safety management to human resourcing etc.

And just for your record, food here can and IS more expensive than in US. Clothes and electronics have the exact same price or are more expensive. Cars too are equally or more expensive (taking into consideration maintenance as well).

Please don't bring the economic aspect into discussion. You have a higher standard of living. That is a fact. Lower your standards a little if you are incompetent or lazy and you will be happy no matter what.


You live in a different culture. What works in your culture may not work in another culture. I don't think you quite understand the concept of income inequality.


> What works in your culture may not work in another culture.

Here, if you are not performing you are being sent away. So you have to perform in order to keep your job. Obviously, being able to perform beyond a certain age does not work in the US according to you.

Thank God the other massive part of US is not composed of people like yourself. If US doesn't understand the need of hard work (Okies and the Dust Bowl simply pops in my mind) that I don't know what other country does.

You and all of the people giving me negative feedback are in no way representative to US I believe.


One issue is that in most companies in the US most employees get annual salary increases, 5-6% is a common baseline for people who are doing their jobs well in a company that is successful. Sometimes people get much more.

This means that someone who had been getting annual increases for 20 years is paid approximately 4X as much as a new hire. In addition, their annual increases, being a more or less constant rate, are also 4X as much... and if the pattern continues, by the time they've been working 40 years they'll be making 16X as much as a new hire. Are older workers really that much more valuable? And if they are, as I think is often the case, will management see it when looking at their payroll expenses?

You might think one solution is too stop giving them raises, or even cut their pay, but there's a strong reluctance to do that, even if the employee is willing. Add to all of this a culture of youth, which exists in tech, and you can see a potential problem.

Note, however, that it's not universal. I'm 45 and have no concern about my employability. I work with many people who are much older than me, up into their late 60s, even. In my experience, good software engineers can find employment regardless of age, though it does get harder as your income rises. At some point people may need to either move into management or switch to freelancing, trading steady employment for a much higher wage, working for people who judge your cost against what you achieve for them.

Note that I've dramatically oversimplified the annual salary increase situation, but it's a useful approximation.


I respectfully disagree: most corporations offer 2 to 3 % increase for a good year end review. In other words, stay in line, and we'll match inflation. Consequently, you'll often find the new hire for a given job title making just as much as the guy that has been there for 5 years.

In contrast, you often only get a "real" raise when you change positions, or if your employer genuinely fears your chances in the current job market - for the moment. But then the problem with that is when the job market tanks, management will look to adjust the salaries of those they had to pay a premium to keep, usually by making it unbearable for them to stay.

Not every place is this volatile, but some are.


Given I'm an Australian, I'm merely pointing out to you that as you don't live in the U.S., it's very presumptuous for you to know what happens in a society you don't live in.

Basically your response confirms it. You really don't know what you are talking about.


It`s somewhat bizarre to find that programmers are starting to have a much shorter shelf life (In SV only?), something that used to be associated with more the 'fickle' fashion world ... what does that say about us?


Now I am scared for my 40s.


You should be. Start saving.

Anyone who tells you there's no age discrimination in the industry, old people are fired because they are no good, so just be good - that person does not have your interests in mind. They aren't thinking about your future.


Set yourself up as a consultant, read Patio11 for tips and don't worry about growing old. Heck it pays better than working regular and you get to have more than one client.


Just keep being good, learning new skills and liking what you do. I'll be 40 soon so I'll let you know if this tactic works out.


Yep, I started learning C and ethical hacking, to start with. I do have a decade till I turn 40, but that's not too long honestly.


It feels like time goes faster as I get older (I'm mid-twenties).



Yet another reason to start or join a worker cooperative. http://techworker.coop


So glad to see the "new Microsoft* is so much different than the "old Microsoft".

/obvious sarcasm


Care to elaborate on your sarcasm? I'm interested to know how Microsoft is no different than they were 10 years ago because of an employee dispute.


I agree with many of the sentiments here regarding software engineers particularly in regard to not effectively capturing the economic value of their own work and that corporate interests which depend upon that value do not have their interests at heart. While open source and information sharing is one of the joys of working in this industry, I wonder if there is not a middle ground - confederations of engineers who charge for their products as independent entities as a means to reclaim that value for themselves, where the software they create is charged for, and shares of the profit are distributed on a contribution basis. Does this idea have merit, and is there interest in the community to write software to manage this confederation model?


I understand the reason behind replacing older coders. However, I think software companies like Microsoft should have transitional programs to better help seasoned programers proceed with their careers.

There are plenty of transition paths I think. For example, education, research, legacy support, etc.


When I was 25 I preferred recruiting 25year olds. Now that I'm 35 I realize I didn't know squat when I was 25 so prefer to recruit at least 35year olds. I suspect this story will repeat when I'm 45.

What could possibly be the reason to avoid older coders? You probably don't want the 85-90 year olds but 40? 50? What you want to avoid are those who stop evolving and stop being curious. Those who go to the office and apply what they learned a decade ago but doesn't learn anything new. That can happen at any age. Evolving doesn't require putting in 12hour days. Also it's likely cheaper for the company to encourage employees to grow within their field than to move all "old" people to supporting roles.

If you could learn a new programming language when you were 20 it should be easier, not harder, to do at 50. Experience should ensure that.


Now that I'm 35 I realize I didn't know squat

Just wanted to quote this for truth. Every couple of years upon evaluating myself I recognize I know more, but likely still squat about certain subjects, and laugh at my past self because it would think it knew a lot. Figuring out you don't know as much as you thought seems the key to really learning more. And that idea in turn has led me to be really wary of people claiming (as in, yelling out loud sometimes) to be wise. If you claim that there's a good chance you aren't. I'm definitely not. But at least I know it..


I'm currently hiring a dev team for a startup, and found myself focusing on the older candidates simply because they asked the right questions about the product, project and existing tech burden. I need someone who's been to war and seen the elephant, and many younger coders just haven't been able to quickly model the problem space (in terms of the larger project) quickly and concisely.

One thing that experienced devs do well is pattern matching, though for many at the cost of flexibility. By way of analogy -- and I do not mean this to be taken at all literally -- you could consider the use of the cerebrum and cerebellum in physical activity. Repeated practice of physical activities embeds the patterns in cerebellar memory, which can access them quickly; novel activities involve the slower but more flexible cerebrum, which often results in "overthinking" a shot or a move. Likewise, I think that long familiarity with a discipline results in rapid pattern matching in experienced workers,allowing them to quickly model new situations in the context of existing ones, but this also leads to the use of known-successful solutions, rather than exploring new spaces. (Org theory posits a similar effect in homogenous groups, which is one reason why the inclusion of women and minorities on corporate boards seems to improve governance and performance.)

Really, there are roles for both kinds of devs, and I think we're shorting ourselves by not working hard to integrate inexperienced but flexible developers with experienced and combat-hardened ones.


It's probably the cost factor. The salary of a 50 year old will be way more than a 25 year old for doing the same job.


That may be one part, but somehow that should rather mean that most big-city corps should hire really good 40 year olds to telecommute and be paid less than the 20 year olds in whatever tech mecca this may be taking place. But that doesn't seem to happen in my experience.

Another reason of course is the ever changing tech landscape; when I had 5 years under my belt C# had existed 5 years and I had 5 years of C# experience. I had more pro experience with C# than anyone, including of course most of those a lot older than me. The takeaway is that the exaggerated focus on experience with specific tech keywords means that young age often trumps longer industry experience, simply because the young dev may have started just as Tech X took off. This obsession with resume keywords will go away as our industry matures. Companies that don't realize that won't be around long.


But the ROI on the productivity of a seasoned 50 year old can be far higher.

Bean-counters who think 'Don't spend money' is a good way to run a corporation are not only clueless, they're immensely destructive.

The correct approach is 'Don't spend money unless you get a good return on it.'

In some situations, the expensive choice is the rational one.

Unfortunately hiring policies aren't rational. There are all kinds of issues of power, politics, face, ego, image, prestige, accountability, and so on to consider.

These are the real root causes of ageism and sexism.


Only in IT people would think being a seasoned professional as a negative.

Look at movie industries. OMG. Martin Scorsese is over 70 years old.


Look at movie industries.

Seriously? The movie biz is known for being brutally ageist. And it's not just a problem for actors, but even for writers and other behind-the-camera folks, who find work drying up as they grow older, e.g.:

http://www.masterjules.net/ageism.htm

http://www.psychologytoday.com/blog/hollywood-the-couch/2011...


I think you need to look a little harder at other industries. Scorcese isn't an average person, any more than Ken Thompson (71, still works at Google).


>I understand the reason behind replacing older coders.

Oh yeah? What is that reason?




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

Search: