
Silicon Valley's Dark Secret:  It's all about Age - nanospider
http://techcrunch.com/2010/08/28/silicon-valley%E2%80%99s-dark-secret-it%E2%80%99s-all-about-age/
======
cageface
If you're young and sharp, programming looks like paradise. It's more or less
a meritocracy, there's a ton of personal freedom, and you get to spend your
days doing creative, challenging work and getting paid fairly well. You may
not have even had to slog through 4-5 years of college.

You'll start to see the downsides as you approach 40 though. Many programmers
can't play the social games that management requires, there's a limited number
of "architecture" slots, and you're suddenly competing neck & neck with people
twenty years younger willing to work 60+ hours a week for half your salary.
It's brutal but you've just got to knuckle down and do your best to keep up.
Leverage your experience to learn new tech faster and _constantly_ work on
moving yourself upmarket technically. You've been in a footrace all this time
but you may not have noticed it until now.

~~~
yungchin
> ompeting neck & neck with people twenty years younger willing to work 60+
> hours a week for half your salary

My probably naive question is, how come you earn twice as much in the first
place? Shouldn't salaries reflect the value you provide to your employer, so
that either 1) you don't earn as much because you're actually worth less than
the 60+ hours working kid, or 2) you earn twice as much because the hours you
do put in are worth more than the kid's hours?

I would hate to be out of a job at fifty because by some arbitrary convention
I'm supposed to either earn twice what the kid earns, or alternatively be
jobless. If I can't provide more value than the kid, then pay me as much as
you'd pay him.

~~~
hga
The variation in productivity between programmers is somewhere from 1 to 10 to
1 to 100 (although I like to point that for a certain level of problem
difficulty there's a cutoff below which productivity is 0 (ADDED:) ... and
then there are those who's contribution to the organization is negative, but
that's a different problem...).

If it were the case that "salaries reflect the value you provide to your
employe" we'd see some people making 10, 25, 50 times as much as "average" or
below programmers. And I'm sure you can figure out a bunch of reasons why that
would never fly in addition to the other replies to your query.

~~~
stellar678
The question I have about these 100x (or 10x) productive programmers is why
they wouldn't jump ship on employment and sell their 100x productivity on a
project basis? Presumably they would make multiples of their salary if they
are really multiply productive.

~~~
Silhouette
Some of us did. As a contractor, you certainly can earn a significant multiple
of the hourly rate you would make as an employee in most companies. If you set
up your own business and build your own stuff, then you have almost
astronomical potential: the software development business has low barriers to
entry, and the right idea can scale from a small team to serving thousands or
millions of customers.

However, it's not as simple as that: you absolutely must have a broader set of
skills to work effectively in these ways. There are many management and
communication skills that you wouldn't need much working in a technical role
as an employee that are quite simply essential to working independently, and
more still if it's not just your own work to be organised but a whole
team/company. Also, you are operating without the safety net that being an
employee provides: you typically bear all of the risk if you're on a high-
margin fixed-price contract that overruns by a year, or if you put your own
money into starting a company and your idea just doesn't work out.

------
patio11
To the extent that this reflects material reality, it suggests that there is
an arbitrage opportunity for anyone who can get a babyfaced twenty-something
to front for a team of 30+ year veterans with deep domain expertise and 10x
productivity. All you have to do is have the consultant bios note their WoW
habits and 7 weeks of professional experience with Merb and Cucumber testing.

~~~
sethg
Ah, yes, “Potemkin Consulting”.

~~~
hga
Not the best metaphor since it's not hiding that there's nothing behind the
facade, rather there's something _superficially_ unacceptable behind it.
Trojan Horse is not quite right (the experienced veterans are not going to
leap out from behind the facade and ravage the hiring company :-) but
something in that direction would be much better.

------
Silhouette
Management error #1: "Move up the ladder into management, architecture, or
design"

As long as management insist on perceiving themselves as superior to other
people, and assuming that technical competence somehow implies management
competence, there will always be a drain on the good technical guys. The
reward and recognition structure strongly encourages them to change
discipline. However, can anyone cite me a _single_ source that justifies this
position? I'm not sure that any company I've worked for, of any size, really
got more value from its middle managers than from the senior technical people
it keeps trying to turn into middle managers.

The assumption that architecture/design is more important than front-line
coding is also dubious. A good architect/designer is worth their weight in
gold on a large project (just like a _good_ manager), and to be sure you
probably need a fair bit of experience to be any good at all in that sort of
role. But that just means the low end of the scale for that role is higher, it
doesn't mean the high end of the scale for front-line coding jobs has to be
lower. All the evidence I've ever seen still says an expensive, high-end
front-line coder is disproportionately productive compared to a cheap, lower-
end worker. You can have the best project management and the best design in
the world, but if all the guys implementing it are chumps, your project is
still going to suck.

Management error #2: "Even though you may be highly experienced and wise,
employers aren’t willing or able to pay an experienced worker twice or thrice
what an entry-level worker earns."

That's because they're dumb... Maybe because they got too many technical
people to do their management instead of people who are actually knowledgeable
about and good at management? Project costs scale disproportionately with team
size/structure. Developer productivity scales disproportionately with
experience. How is it that so many companies can't do the basic arithemtic
required to see the implications?

Management error #3: "This means keeping up-to-date with the latest trends in
computing, programming techniques, and languages, and adapting to change."

This is not an error in itself. On the contrary, IME most older developers who
are genuinely interested in their field do keep up (and find it far easier to
do so than their younger and less experienced colleagues, since the tech
industry doesn't innovate nearly as fast as the PR guys would like to pretend:
older guys have seen a lot of it before, and can quickly identify genuinely
new things worthy of further exploration and put them in context).

However, the error is in drawing this sort of conclusion based on the
statement above: "To be writing code for a living when you’re 50, you will
need to be a rock-star developer and be able to out-code the new kids on the
block."

Almost _everyone_ who is keen enough to still be coding by that age will out-
code the new kid with his trendy tools and methodologies _in his sleep_.

BTW, I'm not an "old guy" in programming terms, and there's no bitterness
here. I'm just a guy who watches this sort of debate from the sidelines,
wondering how so many supposedly smart management people can be so utterly,
obviously, incredibily dumb for so long, and still not get it in 2010.

~~~
d4nt
> "Move up the ladder into management, architecture, or design"

The ability to convert detailed specs into code is a fungible commodity.
Management, architecture and design, on the other hand, are areas of software
development where you need multiple complementary skills; technical ability,
good communication, understanding of your customers and industry area, an
ability to influence others, etc. People like that cannot easily be replaced,
hence the higher price. In some cases technical guys appear to need those
things too, but that's just because they're unofficially doing the job of an
architect, manager or designer.

> Even though you may be highly experienced and wise, employers aren’t willing
> or able to pay an experienced worker twice or thrice what an entry-level
> worker earns.

Define wise. That sounds a lot like "capable of being an
architect/manager/designer". If you're capable but resisting the promotion
then I'm suspicious of your claim to deserve more money.

I agree with you that an experienced coder will be more productive than a less
experienced one. But I would also say that 20 years experience will never make
up for a lack of natural ability. I've interviewed programmers with decades of
experience who failed the most basic of our technical tests (think FizzBuzz).
I'll bet for every old timer who's excellent and just wants to stay a coder,
there are 5 who are just below average and have never been offered a
promotion.

I see the issue more as a failure by the good experienced coders to
differentiate themselves in the marketplace than a conspiracy against old
people. If you've been doing something for 30 years but all you're selling is
"5 years python experience" just like everyone else then why should I pay you
more? Tell me why you're worth more. Convince me you're lack of promotion
comes from a passion for your craft and not just down to a lack of ambition or
ability.

~~~
Silhouette
> The ability to convert detailed specs into code is a fungible commodity.

I strongly disagree. The point of a commodity, in the economic sense I assume
you meant, is that one item is just as good as another. You pay a certain
amount of $$$, and you get a certain amount of Stuff.

IME, one piece of code implementing a particular requirement is very much
_not_ the same as another. Assuming otherwise is the kind of naivety that
leads managers to make the sort of mistakes we've been discussing.

> I see the issue more as a failure by the good experienced coders to
> differentiate themselves in the marketplace than a conspiracy against old
> people. [...] Tell me why you're worth more.

If you believe code is a commodity, you don't want to hear and won't believe
the answer anyway.

~~~
datapimp
I love that you're fighting the good fight, but to these people who run
things, code is in fact a commodity and so is the person producing it. From
the owner's perspective you buy coders low, you maximize their output and sell
it high, accumulate the difference, and repeat. If you're a more liberal
owner, you buy them free lunches and build up a "culture", let them wear
sandals, send them to conferences, tell them they're not little units to be
counted, but at the end of the day these pretty lies are just costs -- costs,
which may or may not yield profit over the long run.

As a coder, and somebody who loves the craft and identifies strongly with it,
I "disagree" with this relationship ( as much as that is possible, since
nobody asked me to vote on it or anything ) and I think it is dehumanizing.
But wishing it away or romanticizing what we do, avoiding the fact that we are
commodities just like every other worker in a corporate enterprise is just a
terrible strategy for overcoming it.

I like what the guys at <http://www.bettermeans.com> are doing with the open
enterprise governance model. I don't want human activity to continue the
process of commodification, and this is a big step taken to change course.

~~~
Silhouette
Oh, I understand the problem; it was "management error #2", I think. And I
understand that discussing it here will have little real impact on the
managers concerned. I got off that train personally and no longer work as
anyone's employee.

I hope that my contributions to discussions like this will encourage others to
do the same, and that maybe, if those people one day have employees of their
own, they will be a little smarter than the managers of today and the industry
will be better for it.

In the meantime, I don't see why we should place any faith in the established
practices of managers who, as an industry, run more projects that fail than
projects that succeed. Can you name any other industry where it would be
considered acceptable by the market if over 50% of the products bought failed,
even if the costs ran to millions? I sure can't, it's just that the management
idiocy is so widespread in IT that the market seems resigned to the
inevitability that whatever they pay for will be crap that doesn't work
properly.

------
msort
Possible solutions:

1) Join a good big company like Google where experience is not disrespected.
It is natural for startups to prefer good and cheap young engineers.

2) Face the reality, develop and respect soft (management, talk, people,
emotion) skills besides pure coding skills. It is a fantasy that coding skill
is superior to other skills. Everything is engineering: your job is solving-
problems, not mere coding.

3) Start your own company and work hard on it at least once in your career. If
it fails, you learn valuable skills other engineers cannot compete.

4) Beat the average. Going extra miles to become better every year (if not
every day). You will be surprised how far you can go. Most average engineers
will never go outside their comfort zones, thus peaked after 5 years into the
career path. It means: contributing to an open-source project; writing a blog;
creating several web applications; Learning new skills (Machine Learning, Web
Design).

------
neodude
Counter-anecdote: I just got rejected from a startup because I was too
inexperienced, despite having 4+ years of professional experience under my
belt. They said there's no reason why I wouldn't be awesome, but I've just
done too little for them to know for sure.

~~~
elai
Your not the mid-30s programmer, your the mid-20s programmer. The drop off
happen after your mid-40s.

~~~
hga
As far as I can tell the drop off starts in the mid-30s and is very strong by
40 (which also just happens to be where one can file an age discrimination
lawsuit which is nearly impossible for not being hired but much easier for
being fired). And that's what I personally noticed in the D.C. area in the
'90s due to fortunate genetics (until about 49 and 1/2 a few months ago when I
started to get some gray hairs I was still frequently being mistaken for a
lower 20-something college student): at a certain point it became a lot harder
to find work until I got a clue and scrubbed my resume of all evidence of how
old I was.

(One interview was very amusing where I slipped and started talking about
working on PDP-11s and the guy exclaimed "How old are you?!?!!!".)

------
latch
This is seriously noticeable in other places as well. For example Ottawa. The
place is over flooding with vast quantities of old engineers from the likes of
Nortel. They come into job interviews with most of their experience dedicate
to archaic languages and platforms invented for and at Nortel.

They generally believe they are worth a lot and should be entitled to
everything they had when Nortel was at its peak. Unfortunately, they don't
have relevant skills and are generally outmatched by new grads in programming
interviews.

I find it both sad and enlightening. Having been the young guy who interviewed
a lot of these, I certainly feel like I have a good clue on how to avoid it
(don't become a lifer at an big'ol company).

~~~
jimbokun
What relevant skills did they lack, specifically? Was it just the particular
programming language you use, knowledge of how to design and architect
systems, development methodology, algorithms...?

~~~
latch
It was a slew of modern stuff..none of which, on its own, is particularly hard
to learn, but between someone who had been doing something else for 20 years
vs someone who had been doing it for 6 months...the 6 month guy was always
more appealing.

I'm not just talking about stuff like NoSQL, but most had limited experience
with relational databases. Not just a lack of knowledge around ruby/python but
sometimes even java/c#. Web, css, javascript, mvc or any relevant high level
pattern - forget about it.

So I guess, specifically, what they lacked with the general knowledge of web
or mobile (what we largely hire for) paradigms, and then the entire technology
stack (from view to storage) that accompanies it.

And the few who did have relevant experience, tended to be
"experts"...certainly not able to go from html/css all the way to database
design.

------
mberning
That's not just Silicon Valley's dark secret. It is pervasive in the industry.

------
pointillistic
This article fails to mention the most important factor, even more important
than the money. Often people who advance to the management rank have the
political skill or fund raising skill superior to their technical expertise.
They simply don't what experienced engineers around who can see right through
their bluff.

For the same reason the executives advocate immigration, they want ever
greater supply of slaves to be discarded just when they start to understand
the real game.

------
mark_l_watson
I don't get why someone who is older should get/expect a higher salary, all
things considered. To me, it seems like this should be a free market thing.
And by free market I mean on a global basis. On the other hand, I am in my
late 50s, and I don't think that I have ever suffered from age discrimination
(but who knows).

Experience over the last 14 years as a consultant, working with a few very
skilled people in Russia, Brazil, India, Vietnam, etc. has convinced me that
salary or consulting fees should be based on value provided, not location,
age, etc. I offer a 60% discount when I work remotely because frankly remote
workers are not as effective as having everyone in one location and I see
little difference between myself telecommuting in the USA or someone equally
talented half way around the world, assuming that people are willing to time
shift their work schedule as needed. Age does not have too much to do with it
either, except that I find myself unwilling to work long-term more than a
certain number of hours per week - and this is probably common with older
workers.

~~~
mattmanser
Experience.

That experience means you don't have to pay for your worker to be spending
half the day trawling google or api documentation to learn how to do x when
they could be writing code.

You also pay for the code to be maintainable, well written, flexible, robust.
An inexperienced programmer will write shitty code, no matter how good they
think they are, regardless of the number of books they've read.

Finally you pay for experience within the same domain as your company's
problems. I don't care if a guy's been programming since 12, there's a 99%
chance they've never touched business software. They will not know the right
questions to ask.

As for the 60% discount, if that's what gets you gigs, fair play.

But to offer it on principle? That's just bad business.

~~~
mark_l_watson
Hello Matt, I agree: experience factors heavily into value.

re: 60% discount just on principle: not the case. I have had a reasonable
amount of customer feedback that they feel they get better value at the higher
rate when I am on site. I would be curious if a good percentage of consultants
are able to get the same rates regardless of working on site or remotely. One
big win for me with my setup: I like to work early in the morning and often at
night, and I like to hike during the day (I live in the mountains, 2.5 hours
from the nearest International airport - fairly remote) and this allows me to
work hard (and do a lot of writing) without burnout. That said, it is a lot of
fun to work on site also, even if it cuts into my lifestyle.

------
dspeyer
Is anyone willing to think about the opposite hypothesis? Maybe programming
really is a young person's game.

You don't see a lot of startups full of old programmers dominating their
fields. You don't see a lot of old programmers creating awesome open source
projects. Not even from those who retired and have plenty of time on their
hands. Many of the programmers who created great things 30 years ago are in
positions to name their projects now, but what they've achieved since is less
than when they were young and limited. Math and physics (the fields generally
most like cs) show the same pattern: throughout history, most great work done
by people under 40. None of this can be attributed to discrimination.

Certainly old coders feel as sharp as ever, with knowledge and experience
tacked on. But how one feels is a poor measure of anything. Measuring overall
talent is hard, and controlling for everything else so as to measure talent by
age is harder. I haven't heard of anyone seriously trying.

It's a scary thought. Can anyone disprove it?

~~~
mgkimsal
I'm not sure we're at a point in the evolution of programming having been a
viable career path for enough people yet to judge one way or another. There's
not many people in their 60s who have been professional software developers
most of their career, so you wouldn't (yet) see a large number of retired
people "creating awesome open source projects".

IMV, the it was the tail of of the baby boomers who could have started doing
programming in anything resembling what we might have today, and they
wouldn't/couldn't have started until at least the late 70s/early 80s. When
'home computers' started becoming commonplace, 'programming' started to become
an accepted vocation. Those people are now approaching or in their 50s, and
still have another 10+ years to go before 'retirement'.

Frankly, I don't see that many 'awesome open source projects' compared to the
total number of projects launched/opened. What I value more are 'awesome open
source projects _maintained and kept current_ '. I don't see many of those
around at all, by young _or_ old people.

------
afusiak
I thought that this was one of the better articles published via Tech Crunch
lately. I would be interested in reading more articles from Vivek Wadhwa and
highly encourage guest writers on Tech Crunch.

~~~
luckystrike
I personally found some of his previous articles on TC better than this one:
<http://techcrunch.com/author/tcvivek/>

------
tristan_juricek
So, we should be taking care of our own career growth? Shocker.

Yes, there will be a point where your salary will not grow. But that salary is
usually higher than most other skilled professions. (Note: this is an
assumption; if I'm wrong, _that_ would be interesting.)

My experience has seen very little "mastery" in programming; after about 5
years, most engineers hit about the same level of ability. (Note, I'm not
saying you can't hit mastery of a particular thing, but that most don't do
it.) Thus, there are only two kinds of programmers, skilled, and learning. If
you don't gain differentiating skills after those extra years, why should you
be paid for it?

Maybe this is the real "dark secret": most programmers don't know how to gain
mastery of something useful to a business. Maybe this is what "we" should be
worrying about, rather than hiring practices?

~~~
hga
All that said (and a lot is certainly true (except you're leaving out the
unskilled and/or unlearning types of programmers :-) ), it's _widely_
perceived that there is serious, unreasoning (aside from cheaper salaries,
which is often a false economy) age discrimination in our field and that it's
particularly strong in Silicon Valley. Doesn't matter if you're skilled and
learning.

~~~
tristan_juricek
Most programmers definition of "highly skilled" is more like "proficient with
a language", or framework, etc. A lot of people I know aim for "can use stuff"
rather than "master this thing", which is mostly because, hey, it's
technology, and there's always a new thing.

But there _are_ skills past simply becoming proficient in new tools. You could
"master the tool", like knowing the details of the JVM memory model, and very
importantly, be capable of identifying very hard problems that you can solve
that those "young guns" can't.

It is incredibly rare for me to find an experienced programmer that can sell
anything but their past "obsolete proficiencies" to me. Most of them sell me
on the fact that they've simply been good with X+Y number of tools, where Y of
them are now no longer relevant. But they never focused on developing deeper
skills that might have relevance (big data problems, etc).

It's the constant shift of tools that adds a lot of this tension. Yes, we need
to be able to pick up new ones (languages, frameworks, etc) quickly, but if
broad proficiency is how we define mastery, this has little relevance to
businesses.

I'm not saying this is easy. How do you unambiguously describe a programmer's
skillset past the languages and frameworks they say they know, especially in a
way that might be "future-proof"? ("I optimized my system to display 30 frames
a second!" "Wow, my phone does that now...") Ultimately, if we can't clearly
describe why people's experience is better, it will be hard to justify paying
them more, once you become proficient with that particular toolset. Thus, I
don't sense real age discrimination as much as a simple inability to sell the
value of our experience.

Of course, some programmers are WAY more valuable than others, so this is a
problem that isn't just about age and experience. Hiring practices sure
haven't matured at all during my 10 years on the job. But, until the finance
guy can see why a guy with 25 years of experience but with 3 years with tool X
is more valuable than the guy with only 5 years of experience but all 5 with
tool X, well, you're not gonna see the money flow.

------
robryan
This vastly undervalues knowledge and experience. Maybe a graduate can compete
in the day to day work of programming but over the long term of projects that
extra knowledge and experience is going to help, assuming the senior
programmer is constantly learning. It would be true to say programming in
general isn't one of those professions where you can learn your craft and then
spend a career applying it.

------
motters
This is just the typical youth Vs experience dilemma. Older programmers -
assuming that they keep up with newfangled trends - probably have quite a
cushy time compared to other types of engineer, such as electrical or
mechanical.

------
known
I think programmers should _plan_ to retire by 40. Subsequently

    
    
        live on passive income 
        become a entrepreneur
        become govt employee

------
ratsbane
It's really more about how long it's been since you learned new stuff. Lots of
programmers in their 40s learned most of their skills writing Windows apps
and, at least the ones I know, are very resistant to change. If you just
looked at older programmers who are open-minded and still learning then the
numbers might be different.

~~~
hga
Maybe it's that subset. Windows 3.0 was released in the middle of 1990 and it
took a while for it to get red hot. Lots of programmers "in their 40s" should
have "learned most of their skills" on earlier technology, e.g. UNIX and MS-
DOS. Or mainframes.

I'm something of an extreme in that I was forced by finances to quit college
after my freshman year and am about to turn 50, so it was a dozen years into
my career before I started programming Windows (Charles Petzold C SDK level
... which I suspect is also not the sort of Windows programming you're talking
about).

------
known
"Experience is the name everyone gives to their mistakes." --Oscar Wilde

------
HilbertSpace
Here's the real story:

First, the 'suits' want only 'fungible', 'compliant' workers.

Second, the 'suits' do NOT want any workers who might have some technical
qualifications that might be powerful, compete with the suits, and scare the
suits.

Third, likely highly experienced, older programmers can get good work via
'body shops' around DC.

Fourth, one common tech personnel policy is to hire people as young as
possible, promote 1% into management, and fire the rest by 35. In this case,
the person 35 would have been better off starting a grass mowing service at
age 18 so that by age 35 they have had 17 years in the business, expanded to
landscape architecture, have 12 employees, etc. Or generally a Ph.D. in EE
will be better off at age 35 having just gotten an electrician's license and
built a nice collection of local customers.

Generally, in a technical field, it's important to need a LICENSE.

Generally the big, secret economic opportunity now in the US is to exploit a
'geographical barrier to entry'. So do well in a Main Street business where
anyone more than 100 miles away can't be a competitor and do well.

It can commonly be better for a person 18 just to join McDonald's, work hard,
learn the business really well, work up to a manager of one McDonald's, manage
also a second McDonald's for the same owner, and then have a heart to heart
with a local banker about buying and running their own McDonald's. Build up to
10 McDonald's, run them WELL, and will have a better job than nearly anyone in
a company a programmer might work for.

Fifth, a good programmer should start and own their own business. E.g., really
good at Web site design and construction? Fine: Do such sites for companies in
a radius of 50 miles. There, of course, need to meet face to face with the
customer and, thus, have a geographical barrier to entry.

Sixth, have some deep technical qualifications, say, from grad school? Fine:
There's nearly NO WAY anyone else will construct a good job for you. So, start
and run your own business based on the deep knowledge you have.

~~~
sanj
Go find a better company to work for.

All of those issues are company-specific. Sadly, most companies have at least
some of the problems.

And I find your McDonald's story insulting: talk to me after you run one a
single McD's by yourself and then you'll be able to convince me that a
programmer _should_ get paid more.

Dealing with people is hard. Dealing with short term employees is harder.
Dealing with people who don't have skills to work higher up the employment
chain is even harder. Doing it through two levels of surly middle management
would give me an ulcer.

So are there multi-McD's owning entrepreneurs who make more money than me?
Hell yes. And they deserve every penny. It's a harder than sitting down in an
Aeron chair, staring at 30" monitor and trying not to drip the condensation
from your iced coffee on your MacBook Pro.

~~~
HilbertSpace
When I was an MBA prof, one of my students was running a Wendy's, in Columbus!
He explained some of the opportunity: Watch staffing CAREFULLY. To do this,
more than once a day, watch the weather, various public events, say, a high
school football game, or anything and everything else that can affect traffic,
Then staff accordingly.

If are one person short on a shift, then lose revenue. One person long, then
waste money. Getting the staffing right, for each shift, for the year, is a
LOT of money -- add it up yourself.

Net, there's a LOT of difference between running a good fast food restaurant
and not. So, someone who knows how to run 10 such restaurants can be getting
annual cash income over $1 million a year, with a VERY stable job, where they
can't be fired and where they can bring their children into the business. Go
to a yacht club, and it is mostly such people you will find.

The blunt point is, in the US, some of the best opportunities remain just
doing well in a Main Street business.

Then, if some computing expertise can help, still better. But, generally in
the US, getting away from just owning a Main Street business is a risky career
direction.

~~~
nostrademons
That's an information problem, though, right? A McD's manager uses information
and domain knowledge they have to lever up efficiencies in the business.
They're every bit as much of a knowledge worker as a software engineer.

Now imagine that you partner one of those with someone who has technical
skills in data mining, expert systems, and real-time data feeds. They build a
system that watches local events, checks the weather feed, looks at traffic,
etc, and predicts likely sales and staffing needs. Heck, it could even call
the employees in to work while the manager sits on his yacht.

This lets several marginally profitable McDonalds owners suddenly start living
the high life on $1M/year. The software might cost say $100K, quite a
reasonable price if it saves at least that much on employee costs. There are
12,000 McDonalds in the U.S. The software engineer and his McD's partner are
now head of a company doing roughly $1.2B/year in revenue, and there are maybe
10,000 newly-minted millionaires out there.

Any experienced McDonald's managers looking for a technical cofounder?

~~~
HilbertSpace
Nice. Then sell to Wendy's, Burger King, Domino's, and Pizza Hut.

Buried in the middle should be a little integer linear programming for the
scheduling!

The 'qualitative' stuff about the impact of weather, high school events, etc.
would be more difficult, and it may be that something like an expert system
would work -- typically there's not enough data for some clean statistical
attack so that some _expert_ judgment might be essential.

Uh, the $1 million a year would be for someone owning 10 McD's, not just one!

Cute.

One potentially nice part of this could be the point of sales terminals: They
may have been recording data on each Big Mack, fry, etc. along with time and
date. Good data to have.

------
sabat
I suppose programming as a particular profession may have this dark secret;
I'm not a straight-up developer (meaning I'm an IT generalist who does develop
but usually has some sort of hybrid job including mgmt).

However: I know lots of 50-something developers who have no problem
maintaining employment and contracts. They are top-notch; their skills are
current and their proven track record and accomplishments are what get them
gigs. Companies want them because they're less of a risk -- instead of
guessing whether the young guy will develop the right skills, they can take
much less of a risk and get someone who's already proven himself.

~~~
didip
Observing older programmers within my circle, they tend to master a few
specialized skills that's hard to get from the hardcore and enthusiastic 20+.

There are a lot of subdomains within programming. Mastering things like Unix
tools, patching certain web servers, knowing the kinks of specific RDBMS
and/or filesystem, how to design batch processing, makes you a lot harder to
be replaced by those 20+.

Not all 20+ guys are hacking on PyPy or Firefox. Most of them are Rails/PHP
warriors. Competing against them is a lot easier if you master skills that can
only be obtained by experience.

~~~
jacquesm
Don't rule out the embedded world either. Lots of gray hair there.

------
lzw
Zuckerberg advocated age discrimination outright from the stage of startup
camp 2007. Of course at his age, he doesn't know any better.

Here's a big secret, it isn't a struggle for older people to keep up with
younger people. It is actually easier for me to pick new technology, or
languages now than when I was a 20 year old programmer.... And I'm able to
take responsibility for projects and order of magnitude more complex.

I always believed that when I got into the position of hiring people, I'd hire
younger people because when I was younger the companies were all seemingly
snobby about experience. But when I got into that position, I discovered that
it was all about hiring people with presence, perception and perspective.
Assuming the candidates can program, their ability to make good creative
decisions is what determines productivity. Far more than experience sit any
language. Any programming language can be learned in a short time...
Perceptiveness is hard to teach.

These qualities themselves are too rare to waste time discriminating on age...
These qualities, I think, are more common among older programmers, but there
are more younger programmers interviewing....so I can't really say, and admit
that is a prejudice. At any rate discrimination on any terms not related to
doing the job is counter productive and stupid. I find someone with the
qualities I'm looking for, I don't care about the age, or anything else.

The HR system in America is completely broken. Part of the reason is that
nobody knows how to measure developer productivity on a corporate level. I've
seen youngsters who put out huge amounts of buggy code praised which
youngsters putting out slow, carefully designed code were told to emulate the
"rock star"--- but it was painfully obvious that the rock star was slowing the
project down by causing damage everyone ewes was spending a lot of time
repairing.

Meanwhile, i once had a "recruiter" refuse to send my resume on a java
position because the previous java shop I'd worked at had used oracle 8 and
this new shop "is really looking for oracle 9 experience.". -- it doesn't
matter what version of oracle when your job is to write code to process the
data delivered by the db connector. But the company listed oracle 9 and she,
who knew nothing about programming, felt she needed to screen out those who
were unqualified. She was unqualified to do her job.

Almost never have I been on an interviewed where they actually checked to see
if I was qualified competently. And universally the ones who did, didn't ask
me to write code for them. Again, correlation is not causation.

But what we have is cargo cult HR - confusing experience with competence. It
probably took 20 years to be a great machinist and you got valuable every
years. You get more valuable every year programming, but you don't measure
that value by whether someone knows erlang or haskal. Either one will do, even
if your codebase is in erlang.

For me starting startup was one of those burn-the-boats decisions. I was a
victim of age discrimination, after being hired, in face, I was let go for my
age. Of course they wouldn't tell me that, and they wouldn't tell me why, but
the said they'd give me a sterling recommendation. It was obviously age... And
I vowed to never need that recommendation because I was damn certain I'd never
leave my livelihood in the hands of another idiot who knew nothing about
technology but thought he could manage programmers or a startup. I was happy
to see that startup fail..... And so far, I haven't failed.

Age discrimination happens, and it is one of the profoundly broken things
about our industry. When I started, i saw a lot of it happening to younger
programmers. I saw zuckerberg advocate it public ally against older
programmers.

But it is counter productive.... And a sign of being a bad work environment.

I suggest everyone take into account the age of the people at companies you
interview at. Even if you are 20, if they don't have a single engineer in
their late 30s, beware.

~~~
bokonist
_Almost never have I been on an interviewed where they actually checked to see
if I was qualified competently. And universally the ones who did, didn't ask
me to write code for them._

What they did the companies who actually checked your competence ask you?

~~~
lzw
That was a side point, not really fully expressed. But part of the point I was
trying to make is that there's no secret interview question and no trick
questions. The best ones have been interviews where we talked about a problem
they were working on. The best interview question is to tell the prospect
about what the company is doing and the assumptions behind it, and see what
questions they ask, and then go from there. Ask them about a hobby, ask them
about anything that interests them. The important thing is to get them
talking. In doing so you can find out how they think. Don't ask trick
algorithm questions. (Got asked one of them 6 times in a row once because it
was apparently the fad that year. )

Ask them how they like to work, do they like big projects or small ones? Do
they like to work alone or in groups? What kind of reference material they
like to keep handy. All of these can be phrased as sort of "how can we best
support you as an employee" questions, but they will tell you a lot.

------
c00p3r
It is not about age itself, it all about _motivated, young software developers
who will accept minimum wage_.

It is almost the same story as with foreign laborers, who will accept almost
any terms, that are slightly better than at their home, and they already got
motivation and taken risks.

Young, inexperienced people are much easy to manipulate and control, due to
their naivety, lack of market understanding and inexperience.

The same practices are used on campuses, where some professors agitate
students to get a part-time jobs or a test-task, with very low, or even no
payments et all, while they're collecting the result and creating products for
profit.

------
HilbertSpace
Age discrimination is standard: The subordinate is supposed to be younger.
Period.

~~~
daniel-cussen
I remember hearing about a Korean company that changed a CEO for a younger
one, and they fired everybody who was older than the new CEO.

------
HilbertSpace
Also over the past 10 years, venture capital in Silicon Valley lost money.

Generally the venture partners do not know how to build significant
businesses. Look at their backgrounds and see why. Compare with people doing
significant work in technology for, say, the US DoD.

~~~
hga
While I don't agree with your general point those are things with have always
been true. For the last 10 year period I can't exactly blame the venture
partners for SarBox ending the IPO exit (as another article has noted, in the
last ten years there have been fewer > $100 million exits than there are VC
firms). Add in the dot.com crash which started a bit before SarBox and the
Great Recession and it's no surprise the industry has lost money. Or that we
have every expectation it will continue to as it radically shrinks. The great
1958-2002 VC experiment is _over_.

~~~
HilbertSpace
I can't judge the impact of SarbOx.

My guess is that the IPO market remains open for a solid company -- good
market position, plenty of revenue and earnings, good record of earnings. But
there have not been very many such companies built, even private where SarbOx
doesn't apply.

My take is that we need to do better at building solid companies. I'm trying.
I know some people I'd like to have on my Board, but I don't see any in a
venture firm. Sorry 'bout that.

This should be "the best of times" due to a 1 TB Seagate drive for $60, an
Asus mobo with a dual core AMD for $100, plenty of GbE, fantastic 'framework'
software -- I'm using .NET and find Visual Basic .NET to be fine. I use the
compiler just via command line and think it's fine.

The US just needs to do MUCH better at building significant new companies.
I've heard that SarbOx costs about $1 million a year for a company to follow
it. For a significant company, okay.

Just how VCs are going to get an exit with Facebook and Twitter I don't know.

There is a Great Recession out there, but I sense that there is also a LOT of
cash 'on the sidelines'.

~~~
hga
SarBox is considered to be the last nail in the coffin, not the sole cause of
seems to be the effective end of the US IPO. The numbers speak for themselves,
although of course a return of more than a couple of handfuls or so of IPOs
per year would change that (less than that when you just count tech firms).

I've heard it costs something more like $2.6 million, but it's going to be
company specific and the cost might have come down as people and accounting
firms got experience. However the pure $$$ cost is only a portion of its total
expense, it's also a time and attention sink and it _significantly_ increases
the liability (including as I recall criminal) exposure of some of the
company's officers. Plus it costs a LOT of time (a year or more), money and
attention upfront to get your company SarBox compliant for an IPO, and too
much of it is insane stuff that does _nothing_ to improve your real business.

If you remember your chemistry, look at it as raising the activation energy
needed for a reaction.

Agreed this should be "the best of times", but you're still talking about
fairly small scale and limited domain areas. As I keep harping on, where's the
next FPGA like thing going to come from? The only really big "new thing"
hardware based startups I know about are Tesla and Space X and they were
funded by a single angel. Who got his money from co-founding PayPal, which was
a _perfect_ fit for eBay to acquire, which is a prior to SarBox public
company.

I don't really know about Twitter (but it's _tiny_ in terms of people and
revenue, all out of whack with its impact), but Facebook has clearly made a
decision to stay private for whatever reasons. It could go public,
investigating why they've decided not to might be worthwhile.

The cash on the sidelines is a good and big question. Some say it's not so
much at net, i.e. companies are keeping it to make sure they can service their
debt (unfortunately debt is massively tax advantaged compared to stock based
capital), others say (and this is clearly related to the first point) that
it's being held in reserve for the Dark Times To Come. Or at least fear of
such.

There have been too damn many 2,500 page pieces of unread monster legislation
passed with no end necessarily in sight (let's say that confidence in what the
Republicans might _try_ to accomplish when they get one or both houses of the
Congress back is not exactly high) ... in times of _colossal_ uncertainty
keeping reserves can mean the difference between your company's survival and
death.

E.g. will the insane file a 1099 for any corporate recipient of $600 or more
per year insanity be repealed? If you're a small business (< 500 employees,
half the economy), well, you best keep some reserves in case you have to do
that (it will cost a lot of money and friction, and will likely cost a lot of
companies business as everyone decreases the number of companies they do
business with).

Etc.

At the furthest extreme, compare to 1937 when "capital went on strike"....

------
pvg
Seems to have missed 'sell your lifestyle to impressionable kids'

------
johngalt
Does age discrimination exist? Yes. To the degree everyone fears? No.

People can't control their age so there is an inherent insecurity there.
Combine that with a small amount of actual discrimination and confirmation
bias; now you have a "dark secret".

