A comment left on Slashdot
chaosinmotion.com
chaosinmotion.com
Yea, 32 years old programmer is just too old, 32 years old surgeon is usually too young to work alone.
I keep on learning, I have accumulated lots of knowledge working in different areas of programming like system administration, database administration, programming etc. I have been payed to program using over a dozen of programming languages... At interviews I still hear "oh, you know, I'd love to have experience like yours"...
And I still hear "you are too old". What's more funny - people are not embarrassed saying that. Even though that's illegal where I live. Writing "we want to hire a woman/man only" is also illegal, but people still write that, and no one reacts.
I'm afraid I will be totally unemployable in a couple of years, just after my 40, which will come too soon. And I don't want to get into management only position (which is also hard, as I cannot get a management job "because you haven't worked on such a position, and you are too old to start that".
That's hilarious, but on the other hand that explains a couple of things like a-brand-new-hyped-technology, which is just a rewrite of what we had 20 years ago.
On the other hand I'm not from the USA, and what's worse - currently I need to have only remote job - which makes searching for a job even more hilarious.
If none of that is an option, I guess you could always try Botox :( https://newrepublic.com/article/117088/silicons-valleys-brut...
Not everyone can or wants to live in Valley.
On the other hand, somebody that has deeply learned their craft and is still actively learning makes a very attractive employee. Age and number of years on the job by themselves say nothing about ability.
Knowledge and professional experience are not properly reflected by age. Naïveté and lower expectations however usually are, which may explaing agist hiring preferences.
Startups need cheap workers who will work long hours. And honestly, for every one Google (who legitimately needed genius level scientists), you have 10 WhatsApps (which are glorified simple CRUD apps).
Now how are you going to get a guy (who sort of knows what he's doing) to work 15 hours a day for pizza?
You've got to trick him "Change the world", " we're the next Google ", " you get to use any stack you want"
When your a 20 year old kid, with no responsibilities and a future ahead of you, this sounds perfect. When you're 30 (and all the more so 40), you go to work to 1. Feed your family 2. If you want to "change the world", you work for a non-profit.
And all the skills don't matter. Your knowledge how to save RAM? Useless. Just spin up another VM.
So for the CEO of a startup, a 30 year old is simply too expensive for what he needs - a cheep code monkey. All the excuses are just that.
Offer tenure? Then you don't even need the pizza.
Whatsapp at 20 engineers delivered service to an audience comparable to Twitter, except with 1/100 the manpower (and hardware) and a couple of 9s more in reliability. They patched FreeBSD and Erlang to get there in the process.
it's a problem that was solved many times before, but not successfully at this scale or cost. These are not your run-of-the mill CRUD developers.
[1] https://medium.com/the-story-of-grip/5-things-every-founder-...
I'm not familiar with the scale+cost of every every bank, stock exchange, flight search, messaging app, log transport system, telco CDR matching infra, etc. Can you comment re: similar scale/cost projects?
> They patched FreeBSD and Erlang
Neither of these are distributed systems, which I think is the interesting challenge part of messaging.
Do you have a link for this whatsapp info? It sounds like you got a lot of good information from it that others could benefit from by reading.
On the contrary - Erlang and its runtime were built from the ground up for use in distributed systems.
Wow! I didn't know that asking for more information was frowned upon on HN! Here's me pointedly not asking for links to the HN commenting guidelines.
-- falsedan
Here's another talk: https://www.youtube.com/watch?v=c12cYAUTXXs
The Whatsapp guys were smart enough to think about using the right tool for the right job in the first place, i.e. stuff like Erlang - which has been tried and tested for scenarios like this for decades - and applied it to a modern infrastructure.
Twitter OTOH was built with Ruby on Rails... That's more like a fitting example. :)
Twitter isn't really comparable to WhatsApp. How many people read a tweet compared to a WhatsApp message.
There are tweeter messages that are read by millions, but they are offset by many tweeter messages read by no one. The average no. of followers of a tweeter account is 1, and 5-10% of all tweeter accounts are bots.
The distribution is different, but there are a lot of similarities that warrant comparison.
WhatsApp is a one to one messaging service.
Twitter is a one to many messaging service.
(that's a BIG difference, by many orders of magnitude)
Infrastructure is always messy and needs maintenance.
WhatsApp is not a good example.
There's a reason that company's success drove a huge amount of attention to Erlang, led to the popularity of Elixir and caused a whole lot of experienced developers to look deep enough to go "Holy crap! This solves so many problems!"
My cynical response to your cynical explanation is that bottom tier engineers only see bottom tier solutions.
At a startup I worked at, we were considering hiring a developer who was older than us (+20 years older), but in the end did not do it as we felt he might have trouble being managed by people significantly older than him. This was not my decision and I would have been in favor of hiring him - for the experience he could bring to the company.
Anyway, I now work in a team where most people (apart from 2) are older than me, and I consider that a priviledge. I get to learn from them in a great way, and I feel that I can teach them things as well. It goes both ways really.
And I do feel that in general here age is not such an important factor. Though that is just from looking at my colleagues, I am not in a comparable situation yet.
Just out of curiousity btw, does 'ff10' hold any relation to 'fast fingers'?
I am curious: Did something give you the impression he'd be bothered by a younger management, or was it just a general concern?
I am only 23, but I imagine I wouldn't have issues being managed by someone my age if I were 33. However, I know that I'd be pretty shit at management right now, and would definitely not want to manage someone older than me. Personally, I'd prefer to be managed by someone older than myself due to them having more experience. Then again, wisdom doesn't come solely from age; one can have more experience and wisdom at 15 than someone at 50.
My conclusion is that there is no conclusion, I guess.
When you get to 33, look at the 23 year olds around you, and imagine taking direction from them.
Imagine them making blatantly/obviously poor decisions, and understanding that because of these decisions you may very well be out of a job in 6 months.
Imagine there are half a dozen or more folks in your org that have been in similar situations, and they all have experience in "domain X", and are available to be probed for info/insight on domain X to help avoid poor decisions. Now imagine them all being completely overlooked because they're "old" (40) or aren't in the "circle" of the 23 year old manager/ceo.
There of course are exceptions to these scenarios, but they tend to be just that - exceptions. Most 23 year olds simply do not have the depth of experience needed to understand how and when to best use the folks around them. Think about this when you're 30, 33 or 40, and revisit the idea of being "managed" by a 23 year old.
This doesn't mean no one younger can ever manage anyone older - not by a longshot. But it's not trivial, and getting it 'right' takes a lot of work.
Nah, I ain't that fast. There's a completely different story behind that but there's also a time and place for everything ;-)
You didn't hire him because of his age. Isn't that illegal in pretty much the entire western world?
I guess that you can always make up some kind of excuse other than just saying "too old". But I am unaware of how they corresponded this to the person in question.
The former is legitimate: "this person will have issues with management and cause problems". The reason for this is a moot point: the candidate has issues with younger people, the candidate has a chip on his or her shoulder, or some other reason.
The latter is questionable: "This person is old, and old people have issues working for younger people, so we won't hire him."
Why would he have trouble being managed by people older than him?
Out of personal interest (my partner lives in Germany. I'm considering moving there in the long term, and I'm your age), how would you describe the German situation when it comes to diversity in general?
I think the diversity situation is not as complex in Germany compared to the coastal areas in the US – if you're talking about ethnicity. Sexual orientation and identity is not as much of a big deal here as well. Not because those questions are frowned upon or considered unimportant, but because those things are looked at with a more relaxed, laissez-faire attitude, at least in the urban areas. It's much less charged with political and religious ideas and action, maybe also because those questions are considered _a bit_ more private as well.
Those are just my 2 cents though, maybe someone else can add his own view, I'd be very interested in that myself.
(This is not a hit on Germany, which is a wonderful place. It's just how things work in the German-speaking parts of Europe.)
This is contrary to my personal experience.
English was absolutely the lingua franca.
At my last jobs (I'm a freelancer, so I get around), Germans were clearly the minority. The language environment tended to be very fluid; people joining or leaving a conversation would cause a switch in language, sometimes mid-sentence.
I currently work with 3 Russians, 1 Pakistani, 3 Germans.
> Without language skills you are likely to remain an outsider in non-work situations as well.
If you're thinking of outings with the team, if they are halfway decent they'll take you under their wing.
If you're thinking of day-to-day situations, it'll be harder of course, but absolutely feasible. Many people speak reasonable English.
To be fair a lot of my interaction has been in areas outside of large cities like Berlin, which are far more cosmopolitan than they used to be.
There is an elephant in the room that the Americans on HN are reluctant to admit, which is that the US healthcare system sucks. Startups can't easily afford the corporate health insurance premiums they need in order to attract older staff, so they perforce rely on the young and healthy — who are cheaper, don't have families, and don't have expensive chronic conditions.
The US healthcare system thus applies invisible constraints to hiring practices that encourage unspoken discrimination against experienced adults.
(Whereas in the UK we had a working NHS to provide cover for us and our families, and in Germany the insurance system is at least sane. Sure, our VC and finance sector is (or was, in my day) less hospitable to startups, but: swings and roundabouts.)
Things are going to be even worse IMO with the new adminstration.
[1] https://medium.com/the-story-of-grip/5-things-every-founder-...
I also think startups have less experience running a company so assume if a developer knows x language and some experience with dbs will be able to build anything but then wonder why they have so many bugs / made so many bad design decisions.
I want to do great, efficient work, and leave at 5pm every day to spend time with my family.
I don't give a shit if your office has free snacks, beer, and ping pong, I'm an adult. Life isn't work.
I was just there to show the new office and some of our toys to my girlfriend, he was there because he was really excited about the job and just wanted to really kill it.
Twenty year olds generally haven't figured out what really matters in life, especially when it comes to work life balance. That's a valuable asset to most companies.
I told the kid to go home and have some fun, but I don't think he did. Later that day the 40-year old posted a picture in slack of him flying a drone with his kids, and just looking happy as a clam in mud.
As I got older, got married, had kids, that time is now spent helping my kids grow up. I have other things that take precedence over it. Honestly, I still think it would be fun to hack out a project for work on a weekend. I just don't have that luxury anymore.
I like my life equally (or rather, I try to not constantly judge my life) now as I did then but it's different.
Hopefully your 40-year old employee brings something different to the table - domain expertise, ideas born of repetition, lack of mistakes, dedication to quality craft that is equivalent to the raw output of your 20-something.
Some (paraphrased) excerpts from conversations I've had recently-- "Would you be willing to do a coding challenge? "Sure, about how long is it?" "I'm not sure." "What subject is it on?" I'm not sure." "When do you need it?" "A week from today." "I'm going to be traveling starting tomorrow, can we do the test the week after next?" "No, I really need it on Tuesday." "So the only thing you know about this test-- is the due date? I can't commit to an unknown amount of work in a week where I know I'll be traveling."
"We only hire the best, absolutely best programmers." "Oh really? What would you say your average experience level is?" "3-5 years."
"We insist on the highest quality work, would you be able to perform at that level?" "How does your organization define quality?" ... what ensued was 5 minutes of stammering and "uhhhsss" until I let her off the hook.
Experience, at least in California, is a liability not an asset.
"Ours is also one of the fewest industries based on scientific research which blatantly ignores the research, unless it is popularized in shallow books which rarely explore anything in depth. We have a constant churn of technologies which are often pointless, introducing new languages using extreme hype which is often unwarranted as those languages seldom expand beyond a basic domain representing a subset of LISP. I can’t think of a single developer I’ve met professionally who belong to the ACM or to IEEE, and when they run into an interesting problem tend to search Github or Stack Overflow, even when it is a basic algorithm problem. (I’ve met programmers with years of experience who couldn’t write code to maintain a linked list.)"
I find it difficult to discern a common thread to the various claims made, but if I had to choose one, it's an obsession with novelty, which overlaps with your comments a little.
But I have a question. Why can't you exactly walk away from the opportunity and money? I have exactly walked away from it and was better off for it. Not everyone will be, no doubt, but the fact that I exist means that it is possible ;-)
This is very comforting to hear! I'm 27 and feel the same way. I can only hope that I keep getting better at this whole thing, and that I can keep ahold of the feeling that I am getting better at it, as you appear to have.
Oh - and I work in a startup.
About the only positive thing I can say about code I wrote in my 20s is it seemed like a good idea at the time.
You will feel the same way in ten years and in twenty. Except by then you'll recognize the pattern. I have seen lots of good programmers (I am not one) and the more experience then accumulated, the better they become.
However I also started programming when I was close to 30. I'm now near 50 and I'm still programming. I have to justify what I've learned. On the other hand I actually have learned. And it doesn't take too many rounds of, "Here is what I learned from X ... and so I suggest Y" working out in spades to demonstrate my value.
It is easy to work yourself into a career dead end. It is also easy to not stretch and find yourself with skills that were once great but no longer applicable. I have seen these happen to very good people.
But being unemployed because you are old is far from inevitable.
Sorry, still a bit bitter.
I'm a 40+ years old life-long programmer with some academic science background, and it's not possible for me to actually get a job. A few years back I thought I'd try to get a full time position, to no avail. The only work that happens for me is freelance work with clients who already know me. It's not an uncomfortable life, but there's also a very distinct ceiling I'm always aware of.
I was instrumental, and often also the de-facto project lead, in launching several multi-million websites and other software, but as a freelancer I'm not really benefitting from these successes. In most cases I can't even legally advertise it. I'm stuck at a medium income level that I feel could dry up very quickly if bad luck strikes.
The job market appears saturated with programmers, and to make matters worse for everyone involved, companies lack the tools and the will to even select applicants properly - I suspect this is partly due to the fact that programming is considered such a low-value skill. At times it feels like it's the corporate equivalent of working as a burger flipper. It's not really considered a dignified position to be in when you're 30. Yet, perversely, the world is built on software.
There is a fundamental misunderstanding - even inside tech companies and SV startups - what the nature of programming-as-a-profession is. In my opinion it should not be some menial work that should only be performed by unskilled youth looking to advance to a "real" job as soon as possible. It's a skilled trade that takes time to develop.
You work with a constant target on your back. Your bosses have no political capital to defend you in the media, if they aren't marching in lockstep with the demagogues running the budgeting process who are calling your work "government waste", etc. The list goes on.
Also, what sort of contracts are you signing where you can't even disclose what you did? I've done some consulting work in the past (though admittedly not a lot), and I don't think I've even seen that sort of thing attempted. Obviously there are NDAs on the actual product of the work, but no one's ever attempted to prevent me from claiming I did it.
They resist the self-promotion to their own peril.
Do you have a portfolio site, sample open source projects, a blog? None of those are golden tickets and can hurt you if done poorly, but they are examples of what I've seen missing when I talk to unemployed (or under-employed) programmers.
Time spent learning how to get a job is probably better spent at this point than learning your craft better. Just short term.
Ageism can lower the odds, but you probably wouldn't be happy in those places anyway.
Another comment mentions the fact that interviewing or marketing yourself may be an issue. It also may be that you're not in the right geographical area, or that you're not interviewing at the right companies, or that your skill set on paper doesn't include the current high-paying buzzwords.
Oddly enough, Android development has been one of the highest demand items for me recently. I do think the full stack development world may be oversaturated, and that 98% of the developers in it are probably too green to do a great job running a project, so I agree with your assessment that most companies have a terrible interview process -- and that they consider programming to be a commodity, where it should be considered some combination of an engineering discipline and a craft that requires a skilled craftsman.
You wouldn't hire an artist whose entire portfolio consisted of collages of magazine photos, and yet companies are hiring programmers who literally can barely get beyond cut-and-paste coding. And you certainly wouldn't hire an unlicensed builder to create a skyscraper -- which is why we have so many companies' backends falling down like a house of cards the moment they get any traction.
I am not even that strong with the latest whiz bang JavaScript framework of the week but I can architect anything with my chosen stack and I know what I know on a very deep level.
Those roles carry various titles - Principals, Architects, etc., but basically it is the non-management track.
In my team it's architects, senior programmers in both age and skill. Use them for code reviews, query tuning, investigating infrastructure/code improvements, etc.
Invaluable help, true multipliers.
I'd gladly head that way. Pure software engineering is gradually becoming less interesting to me over the course of my career - the people problems are the ones I like.
However... I'm older than you and have never gotten a "you're too old" vibe from anyone. In fact, if I have a complaint it's the opposite, it's that some companies want to treat me the same as someone 10 years younger - i.e. they don't see much difference between 2 and 10 years of experience, and you're a "Software Engineer" either way.
Wait, how are you supposed to be a senior level developer without at least 10 years experience?
They took that old saw about only the grandkids being able to make the VCR stop blinking 12 and applied it to the entire frikkin world and they are unable to tell that it isn't even remotely true.
When they don't know what to do, they resort to the basics, i.e. "he will stay alive longer, he is underpaid, get him".
I see this a lot. Companies where top management are not sure of the difference in skills between a guy they pay 80k and their cousin's nephew who is really smart.
if the guy they pay 80K is young and inexperienced like their nephew...
maybe there isn't as much difference as we'd like to think?
How many people do you need to do X? The answer could vary wildly depending on the actual people involved, yet you don't know the people when you're planning it. So it's decided that X will take 20 people, and guess what? At a minimum it will take 20 people. Magic.
Apply this same kind of problem-solving skills to any other problem you're facing. Is this new program going to involve a lot of difficult technology? The groupthink says we should give it to young 20-somethings. They're naturally smarter than the old dogs. Plus they're cheaper to pay and easier to get to work overtime. Their ego is more involved so they'll kill themselves before they'll push back on us for anything we've done wrong. Sweet deal all around.
Is this article true? Yes, partially. There will be companies and people out there who won't hire older programmers, and this is true for almost every other profession as well. 15 years ago there was the scare about offshoring all our jobs too. We were constantly told that the people in India were smarter, worked harder, and had cheaper salaries. They said we were lucky to keep our jobs. Is this true, yeah partially, but anyone who as any good found another job at a better company. Are the people in India hard workers and smart? Yeah there are a lot of them that are. I've worked with a lot of people from India, and many of them are great people. They are smart, passionate about what they do, and nice. Heck there is a woman from India sitting 10 feet from me who is brilliant, and a hard worker. Am I afraid of this? No. Sure there are companies that will pick her over me strictly because she is younger, but I don't want to work there anyway. A lot of times companies making decisions like that are the ones that are in real trouble and do it, because they know that older and more experience people won't stay long. You can keep those companies. I've already lived through that. Getting rejected by a company doesn't bother me, especially for a silly reason like that. I'll see where they are in a year, and I'll most likely get the last laugh.
Indeed. You see things over the course of 5, 10, and 15 years. You start to see the same patterns over and over. Oh that high flying company with the big merger? Turned out they attempted a system integration, offshored most of it, laid off senior talent 10 years ago. Then 5 years ago started hiring like crazy. Turned out the integration was a disaster, all the organziation knowledge left. The only people who stayed were the 'don't move my cheese' types who didn't have any other options. Now, they're still hiring, and if they can't get their apps off of IE6 (or IE11 in IE7 compat mode) they're screwed.
That's when they start paying through the nose for senior on shore talent.
For example, imagine if most baseball teams started excluding non-white athletes again. If I owned a team, I'd immediately start hiring those athletes; I'd have by far the best team in baseball in short order (EDIT: To be clear, I'd have the best team because I'd have the market cornered on a large portion of the talent; it wouldn't be because of some imagined (and false) racial differences in performance.)
But in business (and in sports) it never works out that way. Certainly some executives have discriminatory attitudes, but that doesn't account for all. Certainly some will give into and/or are more exposed to social pressures, but not all. With the very high demand for talent, why aren't there businesses snapping up the older developers?
(There also is another problem: Excluded groups tend to avoid that marketplace. They are discouraged by their parents, teachers and peers, and they may not want to have to deal with discrimination every day for their whole careers. But that shouldn't apply as much to middle-aged developers; that labor supply is already in the pipeline.)
I do think there is some truth in "ten years of experience" versus "one year of experience times ten". There are a lot of jobs in this industry where you only have to know so much, and that's all you have to know. CRUD forms are CRUD forms, at least until they change the technology stack.
Software is a fad-driven industry, but I think the underlying reason for continual new-stack fetishism is to shake-out the 1x10 people, rather than say the 5x2 people.
If people would think for themselves, you would see much less of herd behavior and less insecurity induced posturing.
a.) Willing to give applicants time to learn and hired them for technologies they did not knew. They hired people who were changing careers. Many position were treated as truly entry level positions, meaning dudes got hired for demonstrating a bit of iq.
b.) People negotiated part time and still had pretty good career. Some people worked long hours, but it was by no means required (ok, you had to be assertive and say no and stand your ground, but in the end nobody could afford to punish you for it).
c.) Nobody cared about things like culture fit (as someone below cares - did you grew in right culture?). They were starved for people doing the work.
d.) I have seen old programmers.
Not all of that was shining, specifically some people should not have been hired. I am not saying it was some heaven on earth awesome in everything for everybody situation. Just that the environment was different.
There are, the problem is three-fold. One, older developers are too numerous for any one firm or group of firms to really hire all at once. Second, the job market is way more geographically constrained than people want to admit. (insert rant about "all companies should be remote" here) Third, older developers that need jobs need to be able to find companies willing to hire them.
The last aspect is the one that really matters from a social perspective. The market can come up with a matching service to pair job seekers with companies, but just having the service exist doesn't mean that all companies and all job seekers will use it. Motivated individuals will find it, but not all individuals are motivated.
The lesson here is that markets can't solve all social problems. Sometimes they exacerbate them. In these cases you really need a social solution.
And I'll add, few businesses are that motivated. Most look to get their hiring done as efficiently as possible; it's a burden, a delay, and a cost.
The free market fails because ageism, sexism, racism is cultural and sometimes so deep we don't even realize we're doing it.
To a lot of HR types even now, being an older programmer is seen as failure as they cannot understand why you wouldn't move into management.
HR will probably catch up, but for that to happen we need to keep talking about it and showing that it's an issue and it's actually better to give some of these people a shot.
Then you have race, where hiring white people is seen as the safest option for the business because they generally aren't discriminated against. It minimizes the risk of your company getting a bad reputation with certain groups, and minimizes the risk of lawsuits when you need to fire people.
With business the market isn't cultural as much as it's about maximizing profitability. That still doesn't make it fair.
E.g. my ex works for a bank where she is on a diversity commitee, where the constant frustration is that the bank is only willing to take actions that everyone knows will have very little effect: The underlying problem is that they continue to insist to hire mainly from schools that predominantly have students from wealthy families, and are skewed heavily towards white students to the extent that if they took the entire graduating classes for the next decade without considering results, they'd still not solve their diversity problems.
But any suggestion of widening their search to less elitist schools and focus on results instead gets shot down instantly.
Thus they remain mostly white, while holding all kinds of diversity events etc. to look like they're trying hard to solve the problem.
To be fair to them, they're happy enough to hire minorities from those schools. The point is they know that will not address their imbalance, and all their other diversity work is window dressing. I don't think it's because they have anything against hiring non-white people, but simply because they care more about the prestige of the schools they hire from than they care about diversity (even if you could guarantee to only consider candidates with equally good results).
I think you will find this many places.
As for whether it is fine, that depends on whether they actually care about their diversity goals, and whether prestige is in fact more important to them than job performance. I'd argue that it is likely "prestige" here is simply used to enforce informal social connections and to some extent to avoid diversity at the cost of job performance. If I'd been an investor of said bank, I'd consider it a major concern.
What do you mean by "avoid diversity at the cost of job performance" - are you saying diversity improves performance?
The internal data that the group that is tasked with improving diversity (and that is largely being ignored) at this particular bank shows that being equally strict about results but considering a wider range of schools would increase diversity and would allow them to actualy do so while making their hiring cirteria stricter. This gets brushed aside, and then the bank keeps complaining about how hard it is to be more diverse afterwards.
In other worse: They are hiring less qualified candidates and use the prestige of the schools as an excuse for avoiding hiring more qualified candidates that would also bring more diversity.
Older people generally aren't willing to work for the same low pay because we have enough experience to justify it.
This kind of discrimination is peculiar because the exact same people are often sought after if you only change their title. E.g. as a consultant I'm sought after at a far higher price point, and my age and experience are a big selling point, where trying to apply as a regular developer would make people wonder what's wrong.
This is more of a perception and marketing issue than it is about young people having an edge, and the pereception comes down to the same reason we ascribe more value to e.g. an expensive watch than a cheap one: Signalling effect.
Being a developer at 40 signals to a lot of people that someone doesn't have the skills to get promoted, because they don't understand that you can be a developer and do stuff any random CS graduate could do, or do stuff that makes you one in a million without getting fancy titles.
Conversely, being a consultant signals to people that I must be able to do stuff other people can't.
You see the signalling effect clearly when pitching for work as a consultant: I have conversations with people that are 90% about me telling them whether or not I can do the work, rather than being interviewed by someone who is trying to figure out if I can do the work. The assumption is that my judgement can be trusted because I'm a consultant rather than some "lowly developer" applying for a job.
Seeing the difference in respect and attitudes (and money...) makes me even more determined not to go back to normal employment.
(There's also a subtle difference there between attitudes to presenting yourself as a "consultant" vs. "contractor")
This seems to be the problem at the heart of a dozen disparate issues in software hiring and management. Standard HR and management systems are largely unprepared for the idea that two people with the same title (or even the same degree, from the same school, in the same year!) may have almost-unrelated skillsets. Treating two people on the same team with the same job title as completely non-interchangeable just doesn't happen.
The problem is that the skills of an individual are only part of the formula for success. In team sports and in companies, people need to work as a group to achieve a common goal. This involves leadership, management, teamwork, and individual contribution.
Super talented people, by definition, are great at individual contribution. They may be good team players, or they may not. Their individual talent is not a barometer of how good of a team player they are.
Add to that the management skills of the coach or team leader. If they're lacking, even skilled team players will have much lower chances at success.
Finally, there is leadership. If inadequate, there are no clear goals, there is no culture, and no guiding principles. Progress will be made haphazardly, at best. Long term success will be severely compromised without good leadership.
The marketplace is not failing. The ingredients to success involve more than superior individual talent.
On the other hand, part of creating a team is fitting in, and many organizations take the easy way out and avoid diversity on their teams - even though research shows that more diverse teams produce better results (what good is the 8th team member with the same experience and frame of reference?).
Older and otherwise non-traditional devs miss out on an undeserved windfall, but the market pressure is on drying up the hiring binge not on broadening the high-demand pool.
I've heard plenty of stories about people who left startups or consulting because they needed BigCorp's insurance plan. That's understandable for the worker in question but puts a strong pressure on the employer in favor of hiring single 24-year olds.
Not to discredit the real ageism that exists, but far more often I think its the fact that older, saltier people are going to demand a higher wage, more work life balance, and see through bullshit easier. All of those things are negatives for a middle manager trying to fill a role. That's right, they become more focused on the task of filling a role than about solving the companies issues.
I'd wager that if you got old farts to agree to the same bullshit terms pushed on younger people because they missed Legal Contracts 101, the gap would shrink.
What's funny to me is that a contractor I was the dude picking up the pieces after the technical debt inevitably bit them in the ass, so in the long run companies that make decisions like that end up paying more for them.
I actually gave up my share of my first startup because it was built on exploiting this fact, and I felt a proper counciling of the customer would include something along the lines of "we are more expensive than a full time person, but do less than a tenth of the work of one since we split our time between many clients, therefore we should be a temporary stopgap and a continuing advisory position", which obviously didn't go well for an msp style it support company.
I'm increasingly convinced the business world is full of short sighted incompetence.
This one resonates with me quite a bit.
It is much easier to take advantage of young inexperienced people.
My selling point as a consultant is "I am more expensive and should be a stopgap and ongoing advisory position".
I can push my rate up more by basically marketing myself as an expert / luxury / problem solver.
It means I get rejected more, but it's worth it over time, because I know when people call me later, it's because they have problem where they won't quibble over my day rates, because they're calling me about things they know their regular staff can't handle and that it'd be very expensive to hire to solve.
It also avoids the issue of having to justify my price with bullshit and arguing over timesheets.
But I can certainly see someone trying to scale up a business around it finding it easier to try to pretend they're a good way of replacing hiring.
Point 2: maybe not all of the blame lies with management, and the most important exercise for a crowd of technical people involves introspection instead of blaming others. We get enough of that in politics; we don't need a bunch of little techie-Trumps playing the same tune. Some of the blame belongs with the engineers themselves, who hoodwink naive managers or exert peer pressure to create a culture of deliberate ignorance. When "disruption" is one of the most popular words within an industry, it's easy to lose sight of the fact that even one's thoroughly disrupted predecessors knew a thing or two worth learning. Good software engineering is a lot like recycling - instead of incinerating all "legacy" code just because it's legacy, find the parts (ideas) that can be used as part of something new. New solutions to old problems can be found without having to reintroduce the old problems in new code.
+1 to that.
However, it cuts both ways. Being an engineer with a recently bolted-on manager responsibility, I am struck by the many ways that nothing in Engineering or Science prepared me for dealing with the people side of management.
At high levels and large companies, managers are often trained in 'management', without any of the domain knowledge needed to understand their choices. But throughout all levels of the industry, the alternative is raising engineers to management with only a seminar (or nothing at all!) for training.
It seems fairly obvious that effective technical management involves two different skills. But I virtually never see people react to that knowledge and seek (or train) expertise in both domains. As a result, the best management seems to be from engineers who are naturally adept at management, or eager to learn on their own.
Project management is already its own skillset. Do you think people in your position would benefit from some short-and-intensive course in "software team management"?
What we need is more companies with robust technical career development that does not necessarily involve management.
It's at its core a multi-skill/prestige class, it's really hard to learn to do right, everybody makes fun of them ("hey guys, I found the bard!"), a successful party really needs them - and the way they make things happen is by augmenting the rest of the party subtly.
Which means you need to dump a whole lot of skill into Charisma, and up your game of fascinate.
(If you don't play D&D, apologies for totally nerding out. If you do, leveling up a Bard and becoming a manager is really surprisingly similar. Just don't bring a lute ;)
Having spent the last 3 months totally involved in the US medical field regarding a family member's life-critical condition, I can say with confidence: the professional credential/certification process works really well when built well, and software engineers with an interest in seeing our field should strongly consider the medical community as a working example - remember - "rough consensus and running code".
However, one thing that must be kept in mind when comparing to e.g. healthcare or aviation is that progress in those fields happens at a pace that's positively glacial as compared to software development. The development time for new airplane tech or healthcare tech can easily be a decade or more. At that pace, employers don't perceive "you're old and don't understand the new stuff anymore" to nearly the same degree.
Some of the stuff that happens regularly here in software land is like if suddenly accupuncture became the best cure for most diseases, or if pilots were given new planes with flight controls manipulated by moving your eyelids in a special way.
I work daily with javascript and enjoy it but it frustrates me that people treat aforementioned tech as cutting edge but these ideas were already around a long time ago. The counter to this is that javascript is finally maturing and starting to use these patterns which is a positive thing, I just wish the people promoting these "new" technologies would give recognition to what came before.
And there are definitely software devs working in fields that change more slowly. But if you take web development as we frequently do around here, e.g. the joke article posted yesterday about "Hello world" in PHP does provide some good examples of stuff that's changed dramatically in the last five years.
Upgrade in hardware
Bitcoin technology (made it's way into traditionnal banking)
And if you want more thing into programming:
In the last 15 years the Racket team has came with contracts (something with high order function that didn't existed before), gradual typing which generate contracts, macro composition. None of them existed before.
But, that really doesn't affect the vast bulk of programming: what we do isn't changing that fast.
Now, take a look of what changed in aviation tech in the past 5 years. I don't even think you'll be able to. Aviation does not change on that speed - your 5 years time frame is nonsense there, like asking what changed on IT in the last half hour.
If aviation adopted the 'move fast and break stuff' paradigm it would be the end of aviation as we have come to rely on it. No doubt there would be a huge amount of technical progress in a short time but for the purpose of enabling commerce and having reliable transportation it would be an absolute disaster in every sense of the word.
Agreed. The accident rates in both categories are also a good indicator.
When I talk to many people under 35, across fields, they often complain about workplace disorder, mismanagement, and lack of planning. They also complain of an overload of work and of working too many hours. I don't think this is a coincidence.
This was corporates adopting their own version of the agile development methodology.
Unfortunately I can tell you large corporations with a lot of inertia and managerial politics don't mesh well with agile, so you end up with poor planning, pants on fire fixing, overworked employees*
* anecdotal evidence
It's crab bucket is what it is.
Tell them they're smart, they're critical! and then work them to the bone until you can replace them with the next batch of the bright-eyed and bushy tailed.
The lack of centralized control is a good thing. In other industries you can be barred from even working in the field if the "council" doesn't like you.
Things like the lawyers' bar are complete bullshit as a concept in themselves.
That attitude is exactly why we have quality and fad problems. ::shrug::
Besides, isn't the argument here that a guild would enforce more conformity upon professional programmers? Linux wasn't made by professionals, in the beginning; it was made by a college student who then collaborated with other academics. A guild can't prevent that, any more than it can prevent people from buying copper pipe and fittings from Home Depot and fixing their own plumbing. And further, how long did it take before companies really started taking Linux seriously? It was ages before free and open-source software finally got (mostly) past the attitudes that hindered its adoption in corporations. I don't see how a guild would have changed this at all.
Since at this point the marginal benefit to the populace for each additional lawyer is negative, I'm glad the Bar has done even the little it has to limit the number of lawyers. I certainly wouldn't want to see an even less regulated market in lawyer service... eventually when most coders are coding pay2win games we'll have some regulations imposed from outside.
Associations and certifications don't necessarily have to involve the government. Various professions in various countries have non-government certifications that are well regarded (one such example would be a Bachelors Degree).
Unless you are making the arguing that libertarians are opposed to certification in general, whether the state is involved or not. In which case you've completely lost me.
- A Bachelor's degree is well regarded, but it is not sufficient to demonstrate competence. A working certification system demonstrates competence on the part of the certification-holder.
The problem with having no government involved in these things is that inevitably someone is going to ask a software engineer to do something that's "Legal But Unethical", and the question at hand winds up being: can the person be fired for this(remember, this is the engineer's career and livelihood)? And here we find the Law being involved. Or we find that building really bad software impacts people's quality of life in measurable ways, but the market won't improve the software. Infrastructurally, this requires a coordinated effort.
This specifically is why unions and the law's intruding are so entangled: companies can be extraordinarily abusive to their employees; they can also be abusive to their customers (monopolies are distrusted for this very reason). And the proper recourses here involve significant fines and/or jail time - meaningful mechanisms of discouraging misbehavior.
Degrees are an absolutely awful example of a non-government certification. They're given out by institutions that are almost universally state founded, run and regulated. The US probably has the most private universities as a proportion of universities of any nation and I doubt they break 30%.
I think some of us take themselves a bit too much seriously. As a programmer, you have not just First World, but actually Zeroth World problems. In the world of struggle we are having a guilt-free easy ride.
These posts read as "please somebody solve it for us." But we are the solvers. Think we have problems with older developers employment? Influence a hire of a team of them. Who will do that for you?
Not really. They were pointing out a problem. Highlighting a problem isn't the same as pleading for help.
This reminds me of https://xkcd.com/1232/
At what point is it ok to talk about your own problems? Only when no one else has worse problems?
Think we have problems with older developers employment? Influence a hire of a team of them. Who will do that for you?
I can't figure out what you mean. Could you clarify?
I do it all the time and probably bothered a good amount of my friends.
I just find this problem reported massively more than it is worth. Everybody who cares even a bit is long aware. Today, I will appreciate posts on "what we did about this problem already". And I have already seen one just recently: https://news.ycombinator.com/item?id=13194074
https://www.foreignaffairs.com/articles/united-states/2017-0...
I have yet to encounter any obvious or recent drop in regard for doctors, geologists, chemical engineers or indeed software developers, probably because none of those job categories make money by attempting to influence government policy via dubious predictions about the future.
How much traffic is required to be considered slashdotted these days when running a simple blog?
Tangenting away from the OP, but curious because I'm getting into setting up and running my own web server for the first time, and while I don't expect to be slashdotted, it's something I'd like to prepare for.
My site didn't even top 5% of its resources when it was on the front page of HN, Reddit, Kotaku, Destructoid, Eurogamer, The Informer, Slashdot, etc all at the same time. (Well okay, Slashdot four days later.)
You don't need Node, Ruby on Rails, PHP, Apache, PostgreSQL, Wordpress, etc to serve up a simple text blog that you post on once a week. If you put all of that on a $5/mo VPS, it's not going to handle any kind of serious load.
We're mostly all developers here. It's not even a weekend project to set up a simple blog from scratch.
Host your site on nginx, don't include a bunch of massive Javascript libraries, serve your content statically or without using a dynamic scripting language, and you'll be fine.
One thing I'm not certain of - I recall there was a significant overhead to running a site on SSL vs plain HTTP (mostly due to key negotiation - the initial session setup). That overhead is still there (even if running something with http2 support, like caddy[2] should help a bit). What I'm not sure about, is how much CPU time a typical $5/mo VPS has compared to the dedicated webserver I managed to run into the ground due to a miscommunication that led to a https-link being sent to media outlets rather than the http-link (the server wasn't really specced to do https). This was around 2005 though, and the server was already a bit long in the tooth.
I'm not going to say my design is maximally efficient, because it definitely isn't. It's just that 'modern' dev creates sites that are orders of magnitude more expensive to construct pages with. That stuff works for major corporations with data centers. It doesn't work so much when you're one of 256 instances on a single blade server inside a single data center hosting 20,000+ servers.
Also, when it comes to HTTPS, my site also uses that. HTTP redirects to HTTPS, and the TLS used is very strong 256-bit ECC.
The biggest cost to crypto is definitely for people living overseas from the server location. The added round-trip inherent in TLS v1.2 and below slows things down for international visitors. But ... I kind of lost it when my own ISP started injecting falsified HTTP responses to redirect me to their "maintenance notifications." I don't have the luxury of switching ISPs, so instead I'm moving everything possible to HTTPS.
I didn't see the original slashdot discussion so didn't have context, but IMHO the phenomenon described is more that programming in the USA and Europe has become a blue collar job, as it has been in Japan for decades. I think this is great -- the tools have become strong enough that someone with limited (but nonzero) training can produce solid apprentice and journeyman work. (masters, well, I know I will never be even close to some of the master machinists I've been lucky to work with; they can't craft code like I do).
The fact is you don't need a programmer to throw together a viable web site. Isn't that great!?
Innovation is still coming out of computer science and trickling down into the real world. And highly experienced programmers are also contributing cool stuff. But as programming has opened up as a discipline to a significantly larger pool of people, is it any wonder the density of new ideas per capita would go down?
(oh, and CS has always scorned reading the literature, to its detriment).
I wouldn't use Japan as your data point to champion programming as accessible to the common man. One only needs to suffer through a few domestic websites to know that talent is sorely missing.
Pay peanuts, get monkeys, etc.
Which is not to say that there aren't great programmers here. There are. But the average view of a programmer at large companies (not high tech), is that it is a pretty junior position.
"I’m not bitter; I just believe we’ve fallen into a bunch of bad habits in our industry which need a good recession and some creative destruction to weed out what is limping along."
A recession might actually make things even worse. At least part of the problem in the industry is the growing power of monopoly. Firms are increasingly protected from competition, and therefore bad habits can thrive because the bad habits are not enough to bring down the firm. That is, there isn't enough competition for the firm to be hurt by its own bad habits. And this lack of competition goes back to the declining rate of new company formation:
http://www.governing.com/topics/mgmt/gov-businesses-economic...
Also, see this chart:
http://www.smashcompany.com/business/the-decline-of-usa-inve...
I don't think it was linked in the post.
Reinventing the wheel every time is stupid and it really seems more like he's the one not able to adapt. When I can do the same things faster and better than you, because I make use of available resources, then I'll be the better choice for most employers, regardless of the age.
Experience is good, but constantly learning and adapting is even more important in this industry and he seems to think he doesn't need to do that.
IMHO, it's ok to lift answers from SO as long as 1) you know it's a shortcut and 2) when necessary you can trace back the history to the origin so that you can know the original frame the technique was invented and how it was modified along the line. A good solution in a certain context might not be optimal for your context, even though it has been improved by many.
The second point requires a certain level of skill---able to search and read CS papers and implement by yourself or incorporate the ideas into your domain. Without having proper training, it's difficult to acquire that kind of skill solely from skimming SO and alike. But I'd like to assume that graduate-level CS course do give such skill, and by experience you can hone it.
I do note that some answers in SO are pretty decent, with references to the original papers. When I answer online questions I try to do the same as much as possible within my ability and knowledge.
FFS, our industry is huge and there are many problem domains and many specialized areas of expertise, most of which don't require you to write linked lists. It's like expecting someone who's building windshield wipers for a car to also know how build an alternator (this analogy may not be great, but you get the idea).
I'm sure if someone spent half an hour brushing up on linked lists, they could easily create one. If you don't do something a lot, you forget. You get rusty. Why is this so hard to understand? This is true in any discipline.
edit: To use one, you need a mental model of how they work, so you should be able to write one. Not a great one... just one that works.
Aspect (b) is why people ask about it in interview questions. You are not expected to remember the details, you are expected to think about them as you go.
Writing a linked list is like hiring someone to be a professional driver, and you want to make sure they know that you can change tires, and that one should adjust mirrors to be able to see behind the car.
What I realize is that I know it because of life experience and there is no way I could have learned it (or maybe it's a realization, not a learning) without having lived through all those winters.
The impact of this is that as we gain experience, we can be more deliberate and selective about where we focus our talents and energy, entering into fewer endeavors, but have a higher success rate per endeavor.
But I'm way better at knowing what to do, and recognising how not to approach things.
My belief is that as you age, more and more of your brain is turned over from processing to pattern recognition.
If only my communication skills had advanced apace, so that I could convince others with less effort )
To my way of thinking it's a Sili Valley workplace culture problem. Sili Valley is a high-rent district, and doesn't favor people who need more than minimal housing, unless they've already made it big.
Also, Sili Valley is all about the new new things. It will be interesting to see what happens to the present crop of Sili Valley giants in 20 years. What happens when Page, Brin, and Zuckerberg turn 55? What happens when the rapid growth of their companies slows?
Maybe they retire and start concerning themselves with scenic easements and other perqs of the hyper-rich. Or maybe they try to keep reinventing themselves and the companies.
They may make the same mistake Digital Equipment made: responding to a slowdown with a hiring freeze. Once a hiring freeze is imposed, a company loses access to new people and the ideas they bring. The median age increases by one year for every calendar year that goes by. There's nothing wrong with older folks, but not all of us can be managers.
They may make the mistake MSFT made in the first few post-Gates years, and that AAPL is in danger of making now: laurel-resting and inward-turning.
One of the problems of measuring age distribution is this: Averages don't mean anything. Many effective orgs have lots and lots of fresh young faces and a dramatically tapering age pyramid. Military services are a case in point: Sure, the median age is 22. That's because they have vast numbers of 19 year olds. But they also have lots of 30 year old captains, 35 year old majors, and even older colonels and generals.
I'm a developer who started on Hollerith 80-column punch cards. I'm still doing good work. Others can too. But not in Sili Valley: we have too much sense to jump on the latest js framework.
Which can be depressing when you search http://stackoverflow.com/jobs/ for the word "young".
Interestingly, companies don't tend to describe themselves as "male startup", or "white startup"...
tl;dr Language matters.
I was an IEEE student member all through University so that I could participate in IEEEXtreme[0]. I did eventually become involved in the student branch and attend some local section meetings. I think that IEEE loses a lot of their student members after graduation. As a "young" professional, I'm not sure if there is much value. Most of the young professionals I met were past chairs of the student branch (within the past 5 years or so). The rest of the section seemed to be much older folk (like 40-50+) - both in industry and in academia.
Aside from that, I agree with the author's points.
This is why there are a host of lawsuits for ageism and a bunch of job portal like https://www.giantsforhire.com/ or https://oldgeekjobs.com/ poping up
Quite possibly, this "young, dynamic, better" culture is more prevalent in startup-heavy areas like the US or eastern Europe, as opposed to western Europe where I live.
I've been IT for 40+ years. Still working. Still seeing the same mistakes made over and over again. I have a few young people I mentor and I've seen them move way above their co-workers.
So here is some words of wisdom if your new in IT. Find a co-worker over 50 and ask for advise.
This comment feels incongruous with the rest of the article: why wouldn't I refer to a standard implementation rather than trying to solve it on my own? Isn't that a commendable case of not ignoring the 'old junk'?
Can somene name companies where 30 or older is considered old?
I believe that being an old programmer will become accepted in time. I believe that posts like these help to bring this issue to the forefront and it's good that it's being discussed.
I've had an open spot for someone with 5+ years of experience for nearly 6 months. I've done maybe a dozen interviews and made two offers. Still unfilled. At this point I really need more people and may have to start looking for new grads instead.
I don't doubt that there are experienced engineers unable to find jobs, but I wonder if there are other regional factors at play. I'm in San Francisco, so it's possible (probable even) that more established companies like Google, Apple, Microsoft, Intel, etc. are recruiting for the same people.
You're hiring for the same skills as the big companies are in the same field in the same geographical region. I bet you're even using a similar interview process. I also bet you don't pay as much as they do. You either need to pay more or play programmer moneyball[0].
at fifty plus the only thing I note with difficulty in moving to a new job is that it is harder to change. learning something new, language, etc, isn't that difficult but I do have to fit in. It is the idea of changing environments that I do not care for.
Many people I know in the placement of developers look not only as skills but how long you have been where you are, because apparently I am not alone in being reluctant to leave even if I say I am willing
As an aging jack-of-all-trades, I've been wondering if I should refocus more on back-end skills (and skills lower down the software stack) and start transitioning away from app development - especially web development.
I'm also wondering if Woody's observations of ageism mostly apply to 1) Silicon valley, 2) startup companies, and 3) web development.
After trying for months to get into a CSE course at my university (they had a disagreeable policy wherein CSE courses were almost entirely open only to CSE majors), I was surprised by this aspect. We were taught methods for proving correctness for recursion-based code, re-expressing recursion as iteration, and things like loop invariants - the latter in particular presented a more methodical way to approach programming than I had seen before. But the general reaction was almost uniformly "yeah, sure, like I'm ever going to use this".
And sure, I don't think about loop invariants when I write most loops. And KISS tends to make most of my loops pretty trivial to understand. But for more algorithm-intensive work, the ideas behind these approaches have proven to be really useful tools! It's disappointing for me to see scientific approaches to SWE so quickly shrugged off. I seem to see the "cobble something together, and then patch it until nobody complains about bugs" approach to coding more often than "assemble this code in a way where it's demonstrably correct and easy to comprehend", and I'm often in the minority by strongly preferring the latter.
Doctors have to go through a pretty rigorous certification process that is independent from medical school and career work.
We need a similar certification process that requires that we know a lot of the things we need to know; and breaks the misconception that the industry is always changing.
The example of Facebook immediately comes to mind. I'm sure everyone has read articles about "TheFacebook" on the Harvard Crimson's website for a good chuckle. But reading those 2004 articles give insight to how Mark Zuckerberg succeeded despite not being a better programmer or computer science thinker than others (including faculty) at Harvard. He was not only competing with an already dominant MySpace, but Harvard computing services:
http://www.thecrimson.com/article/2004/2/9/hundreds-register...
> “I’m pretty happy with the amount of people that have been to it so far,” [Zuckerberg] said. “The nature of the site is that each user’s experience improves if they can get their friends to join it.”
> But Director of Residential Computing Kevin S. Davis ’98 said that the creation of a Harvard facebook was not as far off as Zuckerberg predicted.
> “There is a project internally with computer services to create a facebook,” Davis said. “We’ve been in touch with the Undergraduate Council, and this is a very high priority for the College. We have every intention of completing the facebook by the end of the spring semester.”
Doesn't seem like that Harvard-built-and-funded Facebook got very far. I'm also struck by how mundane the work of Facebook sounded (including the low salary), as described in this old article, when you compare it to, say, Clinkle:
http://www.thecrimson.com/article/2004/3/1/facebook-expands-...
> In order to expand, Moskovitz and Zuckerberg had to write computer programs that would “parse the course catalogs and student newspapers” of the additional schools. Following Columbia, Stanford and Yale, which Zuckerberg said took about three hours each to set up, he hopes to open the site up to Boston-area schools like Boston University and MIT.
As I get older, yes, I start to appreciate the foundational concepts as the OP does. But I think that programming's seemingly youth-centered churn of knowledge is not unrelated to how personal and malleable -- i.e. how varied the goal of programming is, because of how programming is so directly related to the work of how humans consume and disseminate knowledge.
Is it possible this is more apparent because the industry is so young compared to the other professions?
Historically most programmers have gone into other industries or management, however with more programmers today in their 30's than ever before isn't it possible that the average age of our profession increases?
Perhaps it's just because I know lots of entrepreneurs that are much older, in their 40's - 60's that consume massive amounts of new information and enjoy doing so that I don't fully agree with your statement.
And about Facebook, I am sure there were lots of other social networks being formed around the world by young people that feel over too.
I am not sure that is such a old vs new thing.
But I do think that younger folk have more impetus, or at least more idle time, and more naivety, and ignorance combined with optimism can spark invention. I don't think I'm super old, but I did not expect Airbnb to be so successful, given how much Craigslist changed my life (and for free). And I understand why Twitter and Facebook are successful even though I grew up with blogs and Myspace...but it took me a long time to understand the appeal of Snapchat.
The abstractnrss of computer science is also a factor. You can practice and pivot with little direct cost or consequence. Whereas with civil engineering, there's only so much leeway for fun experimentation with structural principles before you end up killing someone.
Popular music, athletics, professional team sports, combat sports, hospitality, beauticians, the military (a big one, that one), until recently airline hostesses... there's tons of them.
That's not reflective of the industry! Thats the slashdot community and you should expect such treatment. There are several sites like this and unless you have a pension for online flame wars its pretty much a waste of time to read :(
Then, after the Internet became more ubiquitous the industry started pushing towards "minimum viable products" that get fixed over time, but can still make revenue. Usually keeping the product low profile with low to no marketing.
But after a couple of years, the agile enthusiasts took over and decided that everything should add "customer value", and everything else should be neglected. The Scrum proponents were also very inclusive, inviting non-technical people to become certified... and that's when things went south and the beginning of the low quality doctrine started.
As digital distribution starts becoming more popular, business people no longer wanted to keep a low profile launching a minimum viable product. Now they want to launch their prototype with full marketing and user acquisition.
Post-launch, software gets bloated with additional features nobody requires, rather than finally fixing long-standing bugs. In addition, developers get the blame for defects and if they want a solution they have to fix them on their own time.
Any non-engineer can become certified in Scrum, and that has had an impact in the way Scrum has been implemented. Suddenly, a certification involving 16 hours of training to pass a 35 question exam with 68% passing score is more important than an engineering degree. Then, the vast majority of people who criticize non-Scrum methodologies has not actually been curious enough to try them and form their own opinion. It is the herbalife of software.
A Scrum certification without a software engineering degree should not lead to a managerial position in software. You can hire the best engineers, but with mediocre leadership results will be mediocre.
It is time to acknowledge Scrum has been hijacked by greed and has produced a huge software quality crisis.
If Scrum isn't the problem, it's clearly not the solution either.
Yeah, I know Scrum Masters are not project managers but let's not go down that rabbit hole.
No one ever claimed that Scrum is the solution but it does bring together a number of practices that have been found to usually work well for team software development. Some additional structure is usually needed for larger programs which go beyond what a single agile team can deliver.
Scrum by itself has no real impact on release cycle times or quality. Find another whipping boy.
Then, let me paste a claim from "Scrum Alliance", one of the top institutions granting these McCertifications:
"A Certified ScrumMaster® helps project teams properly use Scrum, increasing the likelihood of the project's overall success. CSMs understand Scrum values, practices, and applications and provide a level of knowledge and expertise above and beyond that of typical project managers."
How are you supposed to be "above and beyond" a project manager if the certification itself:
- Has no training requirement
- Has no experience requirement
- Requires 16 hours, a ~30 question test over the Internet with a 66% passing score.
As a result, you have someone who is supposedly capable of balancing a software engineering team requirements with stakeholders... after sixteen hours...
Scrum has nice values but in practice, it is a get rich quick ponzi scheme. It is a telephone game that after person #100 is completely distorted from its original meaning.
As for balancing software engineering team requirements with stakeholders, you appear to have a complete misunderstanding of the Scrum methodology and the role of a Scrum Master. If you're going to argue against a straw man and get angry about a nonexistent problem then we can't help you.
1) Hackers that grew up with technology that are typically very proficient and employable before entering university or having much work experience.
2) People who went to CS school in order to get a job as a developer because the pay is pretty decent and they were always kind of good with computers.
I'd much prefer to work with people that grew up as hackers than people who learned later in life. It's a cultural thing more than an age thing, but I feel like it's very hard to see the big picture if you weren't indoctrinated into it on IRC or forums when you were a teen. I'd imagine it's sort of like growing up on a farm vs going to agriculture school.
Because of this, it's very hard to tell as people get older which camp they came from. If someone is young and knows a ton, it's clear that they grew up in hacker culture and likely have a breadth of knowledge. If someone studied hard for years and never was part of the culture, IMO they will be harder to work with and not have as much general knowledge.
As a bonus, if you grew up in the culture and you're applying for an entry level job, you probably already have a decade of hacking under your belt, and that's work experience that's totally unaccounted for on a resume.
The result of this is that if you see someone young and surprisingly knowledgeable in many computer related areas, they probably grew up steeped in hacker culture and have tons more useful general knowledge than someone without that extra decade of experience.
BTW, I'm not advocating for age discrimination, but it may actually be more of undocumented experience discrimination than age discrimination.
Meanwhile, I knew a woman who first became a nurse and only second took up computer programming, to write software to track maternity progress, and she has no interest in the hype cycle, instead she just writes good, simple code that gets the job done.
And I know a guy who started as a statistician, and who later became a programmer so he could do serious data analysis. He doesn't get distracted by the flavor of the week. He sticks with good Python tools and he writes the code he needs to get the job done.
That said, I am one. And I don't think I'm that bad. I code with security in mind, I suppose a positive side to IRC PTSD I acquired at 16! Uni got me into thinking about testing while I code, and DBMS + algo + opsys courses Didn't hurt either. The math though... Wish I was quicker. But being a hacker has a disadvantage there I think in my case. I struggled due to not paying attention to math classes while defending our irc network against floods and tinkering with Linux and bsd. Not sure where that puts me on the list.
(I also think there's a huge spectrum of people between these two "types" of developers)
"Because of this, it's very hard to tell as people get older which camp they came from."
I agree, and I think that's a great thing. Being a hacker at a young age is awesome, and should be encouraged, but there are a lot of people who don't know what they're good at (or love) until later in life. In my experience people newer to the industry (at least on the level of "hacker at 13" vs college or later) often have less ego on them, and are more down to Earth about what they do.
If we slightly re-write parent's argument to remove the elitism and focus on the people it's possible to see the same message without the baggage.
Focused study can level the groups, but regardless of how people get there, the quality of any graduating class has a roughly bi-modal distribution. One group is the students who kept up in class, knew what they were doing, and learned a lot. It doesn't matter if they had experience going in, or worked hard to make up for lost time. And the other group half-assed it just well enough to make it over the finish line. Or to rephrase again - you had people who wanted (for whatever reason) a skillset that is marketable, and a group that thought they could buy a ticket to a good jobs.
I also think what you fail to take into account is that peoples software skills often plateau. They'll soak up lots of stuff in the first 3 years then won't have any motivation to improve because they're good enough. I'd argue that attitude is much more an indication of skill than n number of years programming.
So in a sense I do kind of understand your bias. Our field is full of people who decided "the pay is pretty decent and they were always kind of good with computers.". But it's entirely possible to become a "hacker" at later age.
(Also as an aside, I wish more people would post controversial stuff on their main account. They're just make-believe internet points).
Nearly 40 years later I recognize fellow perpetual students during job interviews. To be fair I'm hiring for sys admin roles these days but the principle is the same: there are people with two years of butt-in-seat time who know more than folks with ten.
Now imagine how excited I am to meet a fellow perpetual student with 10, 15, or 20 years of experience!
I've personally been working in the industry for 20 years, full time for 17. I Can't believe I just read someone asking for QA/QAE/QE. Modern dev shops should be relying on automation for test coverage, and the developers of the code should be the ones writing the tests for their code. There is a place for QE, those are Software Engineers focused on tooling around the automation for tests and such.
Relying on QE is an antiquated relic of the bad, very bad, Waterfall days. In those days release cycles were long because shipping software meant that there were releases timed to marketing and cyclical sales. Now software is shipped online. the role of QE has changed to not take crappy code a Dev wrote and validate it, but to be the one responsible for making sure Dev's are actually testing their code and that the code is being measured for quality.
The easiest way to make this obvious, go write some code, say a few files worth, and then try to add tests to it later. You need to go back and refactor, in some cases significantly, to make the code testable. Code needs to be written from the beginning as testable. I always felt bad for QA/QE folk, because they would just get handed crap and be expected to do something with it. This is no longer cool.
(btw Documentation is also a requirement for all code and should be done earlier, not later. Use your own software and try and figure out how others will use it, and document that. Tech Writers should be dealing with well understood systems...)
QA is a lot more than writing automation or validating code correctness. QA are the first people to lobby on behalf of a customer when it comes to actually using the feature (ideally this is a PM's job, but I've seen few good PMs in the Bay so far).
QA also has to think holistically about security, performance, UX, on-screen text like error messages and so on. Hopefully the team has free access to other teams who specialize in this kind of work, but more often than not such resources do not exist or are unavailable. Thus it falls onto QA to fill all these small (or big) gaps.