Do you really want to be making this much money when you're 50?
yosefk.com
yosefk.com
As a business-owner in my mid-40's, I travel around quite a bit. There are locations where the employment picture is similar to what the author describes. But what he describes is far from the norm in the places I travel to, or from what I hear from friends and old coworkers during lunches. Ageism, low-salaries, "sweatshop"-like/highly-political work environments, lack of diversity in companies/economic sectors, lack of interesting problems to solve. All are observations of mine, as well as old friends' concerns voiced softly after looking over their shoulder during lunches over the past year or two.
Very good IT people (programmers/developers, DBAs, infrastructure, the whole gamut) wanting to leave their current job, but wondering where to go, because their friends in other "just as bad" companies are looking too. Discovering they can still get interviews--but maybe not the job--after age 35; and discovering the difficulty in even getting interviews after age 40. Watching their companies hire either H-1Bs for 40-50% of what they're paid, or college interns (or even recent grads for intern salaries) for even less.
Yeah, people would like to be making this much money in technology when their 50. But in most places, it's a pipe-dream.
What are your thoughts on what puts people into that programming underclass (which definitely exists)?
An example is the developer that just quoted me on setting up a server. He is charging me essentially his cost for the equipment and 3 hours at $50 per hour to set it up. I've seen this time and time again. Not able to price to what the market will bear. (He's in the midwest by the way and has a stunning resume and full time job working for a known company).
Someone is either feeding you bad information or you are extrapolating and imagining things.
Where I work, we have a very good team of developers and being mid 40-ies I am right in the middle of the pack.
BTW, having been on H1-B 10 years ago, I can tell you that "40-50%" is not true either.
So, what the heck are you talking about?
You are falling into the same trap as the author of the original article. Just because Denver metro (or the Valley, DC, Minneapolis or a couple of other tech/government centers) are doing well, you're extrapolating that the rest of the nation is the same. I know there are places where the beer flows like wine. I'm here to tell you in many--if not most--places where I roam (primarily in the midwest), that is not the case.
Ageism is a serious concern, along with companies doing what they can to lower "human capital" costs while still extracting as much work as possible. Infrastructure is somewhat immune to this, as well as smaller towns (25-50K and smaller, some distance away from larger metros) where they can't retain or recruit younger workers as easily.
As for being fed bad information, you haven't seen the look on friends' faces who've remained in tech when they talk about their concerns and experiences. 10-20% paycuts 3-4 years ago which have not bounced back. Two different companies recently resetting position titles from "Senior Position" to "Position II" for those with 15-20 years experience. Watching any open positions be filled with H-1Bs, college interns or recent grads at intern salaries. Hearing about apparent tech Nirvanas in other metros, and being unable to leave because they'd uproot their family.
The look on their faces may not be fear for their future, but it is a deep concern/worry.
New York state or New Jersey versus North Dakota right now might be a better analogy than Manhattan for a wildcatter. Sure, there are probably wells in NY and NJ, but the big money is in ND.
But you're correct. Since getting on this thread, I've been thinking of developing an empirical model to back up my statements. I have a gut understanding from my observations and discussions of what some of the factors would be. Could be interesting. I'll have to see if I've time to do so.
I don't believe that for a second. For $500K/year you will have top 3% developers moving to your office tomorrow (unless you're in Iraq or some other messed up place).
What that means is that your budgets suck.
There are employers biased against older candidates, I guess - though not near me, not to the point where I'm able to get all the good candidates aged 40 and up for peanuts, and it's not like I'm not searching, goodness knows.
But I think this is going to get better over time, as the masses of young programmers who entered the profession during and after the .com bubble age. In particular, you'll have more people in higher age brackets recommending each other.
Maybe I shouldn't have been an absolutist about not being able to get an interview after 40, but the difficulty of getting one is an order of magnitude or two higher. 45-50? Even more difficult in many locations.
But my original comment's point still stands: things are not a bed of roses everywhere. Ageism exists in the field, and is probably more the norm than not. Will things get better in time? Maybe.
>The ADEA permits employers to favor older workers based on age even when doing so adversely affects a younger worker who is 40 or older.
I personally think the mentality is stupid and probably quite inefficient. In my field, law, they don't even let you into the courtroom until you're 5+ years in. Practicing law is an art and people with 20 years of experience are just better at it than people starting out. I never understood why so many people think software development is any different. Companies don't lay off their lawyers and hire fresh graduates when some new major new law goes into effect, so why do people lay off their software developers and hire fresh graduates when some major new technology becomes popular?
A new technology may in fact be much more productive to work with than an old one. Does someone with COBOL experience have an advantage or a disadvantage in learning Python vs someone who is just starting? Which is larger, the amount of useful knowledge they bring along, or the amount they have to discard?
There are sage old programmers that I look up to. But there are also a lot who just burned out and quit, tired of the new technology treadmill. I'm not sure which I'll become.
The pace of paradigm shifts is indeed much faster in technology, but I disagree there are major paradigm shifts in technology every 10 years. There are major developments within specific scientific domains like AI, image recognition, etc, but in software engineering itself there is little new under the sun. There is nothing in Javascript that wasn't done better in Smalltalk 30 years ago. CoffeeScript, C#, Lua, Ruby, etc? Derivative stuff that any Lisp-er plucked out of 1985 could pick up in a week or two.
Not disagreeing with your point. Just pointing out something that has been bothering me a bit about the fragmented platform market.
In programming, there is a difference in someone who learned computers in college, someone who learned computers in high school, and someone who learned computers in grade school. Then the next wave was kids who grew up with the internet. I suspect it will continue with kids who grew up with touch devices. I don't think there is a similar parallel in other industries.
Today I consider my judgement, that is to say, my ability to forsee the path of a project, or anticipate and avoid complexity to be better than it ever has been in the past, and think this is one of my strongest and most marketable skills.
Yes I still learn new things (faster than ever), and yes I am still very productive.
Am I a "digital native"?
The fundamentals of programming, as an engineering field, haven't really changed since the 1980's.
It's like the language. You spend a lot of time observing and using the system (writing, speaking)—even without full understanding—and you get comfortable: you easily distinguish between characters, recognize speech, can quickly and legibly write. It takes much less effort to apply this knowledge to do successfully things that may require it.
Likewise, if you spend a lot of time around computers, it takes much less effort then to use them for many things, including programming, since computers (or, maybe in future, touch devices) are tools we use for programming.
Ditto doctors, you are required to stay up to date, where programmers can come back after 10 years and learn on the job doctors need to pass a "Maintenance of Certification Exam" or break the law.
PS: Programmers do need to keep learning, but it's no where near as time consuming.
Paradigm shifts every 10 years? Not really. COBOL to Python ain't no paradigm shift.
I think that VCs and incubators have very good reason to invest in mainly younger entrepreneurs, and they probably suggest to hire "the best, regardless of age" but ....
__Could someone with administrative access take a look and ban fatbird's account?__
Regarding this post specifically: I'm not sure what kind of sensible forum lets you tar an entire class of people with the label "douchebag."
I'm not a troll account. I haven't been terribly active. I do tend to read more than write. "Take a look and ban"? Why bother taking a look if banning is called for?
http://www.paulgraham.com/say.html
tl,dr: You have to consider heresy seriously if you want to think clearly. Restrictions on expressing heretical ideas are harmful, though it's unsafe to disregard them where they exist.
Similarly, I know carpenters and plumbers who will get the job done - and make a lot more than the aforementioned lawyers. These pros can demand hourly rates of anywhere from $60-$80, but more often will make $250-$500/hr by quoting a job price and doing it quickly. And it's no problem for them to drive to all their appointments in their 1997 Ford E series wearing flannel and jeans.
I could also introduce you to janitors that make six figures a year because they know how to penetrate insurance bureaucracies and get black mold cleanup jobs.
If money is your aim, pick a job out of a hat and be excellent at it - and not just the actual execution, but the promotion, estimation, and pricing of your talent too. If you can get into the 25th percentile of solving problems in your expertise, you'll be well compensated for it no matter what it is.
Stock brokers are regularly getting beaten by monkeys when it comes to betting on the stock market, yet they are among the top earners in society. It's just insane to suggest that salaries are fair or that skill is in any way correlated to income.
Unless you believe that making lots of money proves that you are good at what you are doing, which makes the whole argument a tautology.
Edit: Also, the best work I've done is all open source. It isn't all very good stuff (far from it!), but it certainly is both more valuable and better than the corporate code I write for a living. Then there is http://www.ohloh.net/ that tries to estimate the labour costs of various open source projects. People have plowed thousands of hours of unpaid work into some of the highest regarded software projects on earth just for fun. They will never get properly compensated for their work. "From each according to his ability, to each according to his work." is the famous slogan of Socialism, but it certainly isn't how the world currently operates.
The key thing to realize is that value to the customer isn't part of the performance equation. It doesn't matter if a hedge fund manager is beating the market. His performance involves how many people he brings in the door willing to pay the fund's management fees. That's the metric he's judged on.
Which brings me to your point--it's not that pay isn't correlated with skill. It's that the skill it's universally correlated with is salesmanship.
Indeed, and if these people are his high school friends, then the task of bringing them in the door "just got a whole lot easier"...
So going back to a parent's point, it seems being born into wealth just happens to give certain valuable, uh, "skills"...
compensation in banking is very related to performance
The last four or five are conclusive proof that this is not even remotely true.Notice the OP mentioned "promotion, estimation, and pricing" as part of being great.
Thomas Fuchs quotes clients at $800/hr ( http://script.aculo.us/thomas/ ). Thunderbolts labs is quoting $277/hr for their consulting rates ( http://thunderboltlabs.com/ ). And these are people that publicly advertise their rates. I know several other individuals at these levels that just don't publicly advertise.
Skills in this context includes (self)promotion; it's not enough to just code. No one (usually) comes knocking on your door after a great commit. But if you put yourself out there, stand by your work, talk to lots of people and show that you're a problem solver, by all means, you can triple even quadruple your income as a developer.
Honestly, it sounds like you're a good developer, so you're probably already half way there. Put up a site that outlines your major open source commits, your ability to cut through the BS and distill the problem to it's necessities. Tell the client that you ship on time.
Your world will open up with (financial) possibilities my friend.
A developer who makes 10x a regular developer happens often, but what they are doing is taking on a lot of the risk that companies take on and knock your salary for. Your project is 2x over budget and 4x behind schedule? Oh, that's just Software projects in corporate IT. This has nothing to do with the developer actually being better of course, but the developer willing to assume the risk that results in 10x payouts.
Instead of complaining about Stock Brokers, it might be more effective to look at what they do (transactional work) and try to figure out how to place your self in a position so that you can take advantage of transactional work.
And a minor correction, it should read: From each according to his ability, to each according to his need."
The quote is right, "From each according to his ability, to each according to his need" is for Communism, which has a different slogan than Socialism.
Programmers who are making that kind of money know enough to keep it quiet.
I was suggesting that there's good money to be made in every discipline - you may need some creativity and personality to get to that money, but no one should ever look at the field they're in and say "Oh, ho hum, I'll never be rich because of my field."
And your socialist quote was misquoted: http://en.wikipedia.org/wiki/From_each_according_to_his_abil...
Finally, if your open source code is good in that it is solving problems for people, then you should have a very fertile network of possible consulting clients. Those who use their open source work to feed their consultancies can make very very good money.
I think this is a factor of latency in added value. It seems to me that higher salaries are often given to those who can provide immediate usable value in the short term (lawyers, stock traders, some programmers). Long-term value-add professions, such as biology and many other R&D fields, tend to get the short end of the stick salary wise. Perhaps this is tied into the immediate gratification complex of western culture; professions with a significant value-add prospect >~5 years in the future have a difficult time arguing their own worth.
My point was mainly that there aren't very many of those high paying positions relative to the number of graduates in the field. The ratio of graduates : professors is not too different than the ratio of CS grads : CS professors, but unlike CS, biology doesn't have nearly as many high paying positions outside of the professorial field. Even within education, many very good life scientists have a hard time obtaining tenure.
Most jobs outside of education pay somewhere around 60k, and there isn't a whole lot of room for growth unless you move up into management at a biotech firm. This is in contrast to CS, where a non-manager software engineer has a pretty decent opportunity to make 6 figures if he works hard enough and has a decent level of talent.
I mean, it makes sense that return on all sorts of investment should be about the same once the respective markets stabilize, but some things aren't investment, they're luck. Being good at something that is in demand is more like sitting on a gold mine than buying stock.
Much of what the author says is true, currently. This is a fantastic market for programmers, and anyone being born into this era is lucky.
But the forces of supply and demand will sort this market out in the future, to which the author seems ignorant. Name another profession that requires "Little or no education", and "no physical effort" (not to mention the ease of globalizing coding) that has sustained the kind of market pressure where agents are required to fend off recruiters, or kids right out of school can demand six figure salaries and four weeks of holidays right off the bat.
America (and the world) will churn out programmers until being a programmer is a marginal decision, equal among many occupations. It will lose its luster; it has already happened to lawyers. So planning on having a blase attitude towards deadlines and stress-free work in this field at 50 (assuming you're ~30 now) is a tad naive. I believe this will be an extremely competitive field in 20 years.
(I'm not sure I have an explanation myself, really; perhaps it's something innate in people and perhaps it's something about education, but the fact remains that the world still hasn't churned out enough programmers even though the incentives have been there for a long time. One possible explanation is that much of the software implements bureaucratic processes and there's always more demand for this sort of processes - so demand will outstrip supply no matter what happens at the supply side.)
Visas.
Most programming work (of the type talked about in the OP) originates in the USA, and most companies, even startups, need employees to come in the door everyday. (not taking on the question of whether this is ideal or not, that is the just the way it is, right now) .
Imagine (as a thought experiment) a scenario where a smart kid who lives in India or Ukraine or Africa is just able to get on a plane and land in SF for an interview or a job irrespective of whether he has the right degree, paperwork etc and without jumping through hoops at the consulate and rolling the dice.
The (edit: thanks @daladd for correction) supply would go way up and hence average salary would go down (which is why large companies are trying for more H1 Bs - they like easier availability of devs and lower salaries)
Or imagine the border with Mexico being completely officially open. See what happens to the dishwasher/fruit picker payment structure.
> The demand (and hence average salary) in SF for
> programmers would go way down
Wouldn't this be detrimental to the SF area, considering as the high cost of living? I realize that cost of living will probably lower to meet what people can afford, but not without growing (or shrinking) pains, I imagine.Perhps, for say land or houses, people will still pay the same price or more per square meter. But they will get by with less area.
The changes to the cost of living are primarily a function of the now thousands of google and apple commuters. Not that that is stopping them from complaining when they wonder why moving up to a 2BR costs $4k/month now.
The companies in the USA are competing with companies in China for essentially the same talent pool. It's a good time to be in software.
And no, mandarin isn't a requirement. I'm not really teaching english like those stories from japanese blogs -- I'll be coding in coffeescript for my wages.
I think you mean the supply would go way up, and thus the market-clearing salary for new hires would go way down.
Also (all other things being equal) the number of programmers employed would go up as the equilibrium shifts to a lower-wage, higher-number-employed point on the demand curve.
Programmer talent is sparse worldwide, not just in the Valley.
And yet, when I look around at the job postings in Canada, a job with requirements that go on endlessly tops out at about $80,000/year. Expect less if you are an average programmer. Such a low income, relative to what US-based companies are offering, doesn't really speak to a shortage in my mind.
I admit, there could be some kind of survivorship bias here: I'm only seeing the lower-paying jobs because the good jobs are less likely to be hanging around on the job boards. But then if an $80,000/yr. job is failing to attract talent, should it even be considered a real position with respect to shortage counting? I could hire dozens of programmers if they would only do it for $10/hr., but I don't think it is fair to count those as unfilled positions or a shortage surrounding that. Nobody with talent is ever going to do it for that kind of pay.
One of the reasons that the housing bubble is starting to pop in Canada is that the incomes can no longer support the housing prices. We tend to have lower incomes than the US, but our houses are more expensive, cost of living is here, higher taxes, goods are more expensive, etc etc.
I wonder if SV incomes are higher simply because people expect them to be higher, or maybe there are more fundamentals to it.
I think we can find the source of this distortion if it exists. All I can say right now is that areas where you have access to money not backed by productivity tend to trump programming or any other jobs where the employer has to make ends meet. Those areas are usually law, sometimes medicine (often not), and some public sector / government contractors.
An endless list of job requirements is a sign the company doesn't know what it wants, so it's hardly surprising they don't know how much to pay their programmers, either.
Though your point may still hold true, however I've seen it often enough that I find it surprising that so many companies (many of whom specialize in tech) are that out of touch.
I live on a small island in a small city and I wont be short of work for the next 20 years.
Developers/programmers are hard to find. Finding good ones that pass the interview process are even harder.
If you waited until people are 20 to start teaching them to read and write, you would probably also get poor results, while the weird kids who learned to read for fun when they were 12 would end up outperforming the regular students when they grew up.
Therefore, programmer is a much broader occupation than almost any other. It's still a seller's marker because of that. Look at everything around you, and while there is at least one item that doesn't execute code inside, we haven't hit peak coder yet.
That's an extremely short-sighted way to look at it.
In fact, take out the non-programmers, and all programming will collapse -- literally come to a halt.
You know, guys like those that grow and transport out food, clean up the streets and the garbage, cook our meals, mine our coal, produce our energy, drill our petrol, build our houses, etc etc.
People seem to think that because he have the "information superhighway" (sic) we're, say, above actual highways. Where the fact is that without truckers and highways and oil and the like, the "information superhighway" will collapse in a few days.
In fact, you can take programming out of the picture, and the whole world will keep on turning, at least as well as it did in the sixties or fifties.
The reverse, not so much. Programming is indeed a pervasive but insignificant in the grand scheme of things addition to the workings of our society.
There is no reason you can't replace most of those human tasks with machines. And while we gradually do that, we'll need more and more programmers. Or maybe we will fail horribly, but not because it could not be done; and somebody will do this a few centuries later.
This is sci-fi as for now, and for the foreseeable future. It's like someone in 1800 saying that the mailman is not needed anymore, because we could use electronic mail. Possible, but far off in the future. See the factories that make iPhones for example: some prefer manual to robotic labor, because it is cheaper.
>There is no reason you can't replace most of those human tasks with machines.
There are several reasons. One of them is that such technology and in such scale has not been invented yet (or has not been "engineered for widespread actual use"). Another is the power needed for all this, especially in a global scale.
And there are lots of social reasons too: what will you do with the BILLIONS of people whose work is not needed anymore? Unless you come up with some equal pay for all scheme, there will be blood.
As for programmers, by the same logic you dismissed manual labour in favor of robotic labour, we could have program writing programs, or trivial "connect the dots" programming solutions for non programmers, that would make the demand for programmers even less, not more.
Currently I'm a programmer not a politician, therefore social reasons are not my problem. My problem is converting as many tasks in the world to code. And that will keep me busy and pay me a salary.
We could have a program writing programs, but I won't bet on that. Somebody will still have to give it orders; and the guy giving orders to a program is a programmer by definition.
You will have a lot of programmers overseeing computers and robots do various tasks, and that would be the largest and busiest part of the workplace.
So were are our servant robots and flying cars?
>The only things withholding this sci-fi from happening: lack of competent workforce (programmers and roboengineers) and lack of vision.
That's too generic an accusation. One could say that about any problem.
>We could have a program writing programs, but I won't bet on that. Somebody will still have to give it orders; and the guy giving orders to a program is a programmer by definition. You will have a lot of programmers overseeing computers and robots do various tasks, and that would be the largest and busiest part of the workplace.
So, your vision of sci-fi future is conveniently constrained such that programmers are always needed and in large quantities.
Why seeing everything we currently do becoming automated as an easy task, and not also the overseeing of "computers and robots doing various tasks"? If you trust them to do the work, you can also trust them to do it correctly, and built the required self-correction routines.
Sure you can automate more and more things, in this case programmer will be the last [productive] job remaining. One that slowly wane when more and more things are fully automatic and all other jobs already gone.
Look at what happened to "making websites". It used to be a super lucrative field, now agencies who can afford to slash prices because they hire cheap developers can churn those out by the hundreds a month. It's become a very silly market to compete in because all the competition that still happens is based on price.
But while this was happening, the web evolved and opened up new jobs and opportunities. Now you can make a lot of money by making web apps, interactive things and so on and so on. That's still not a market where everyone can compete.
Even moreso, mobile has opened up.
So I think that programming has a very lucrative future for a while yet, because new fields where it is applicable open up faster than old ones become commoditized.
"Despite the enormous changes which have taken place since electronic computing was invented in the 1950s, some things remain stubbornly the same. In particular, most people can’t learn to program: between 30% and 60% of every university computer science department’s intake fail the first programming course." (Source: http://www.eis.mdx.ac.uk/research/PhDArea/saeed/paper1.pdf)
Many others learn how to string glue code together, but can't really solve problems that go deeper than finding the right library to import. I've heard working programmers worrying they'd fail a FizzBuzz test in an interview.
If anything, I suspect the bar for talent will go up—increasingly, programmers barely getting by now will become a commodity. But real aptitude is still rare, and I think the right combinations of talents will hold their value for a good while.
And I have a theory: there's a group of people who have picked up patterns from a bunch of examples they've found on the Internet, or in code they've managed to be allowed to work on, and they've never grown past that. They're fine as long as you're asking them to do something they've seen or done before (for generous definitions of fine), but completely screwed the moment you venture out of that zone and consulting the Internet draws a blank. They can memorize patterns, but haven't learned to think through anything more complicated than that.
These people can appear productive to the right people, yet be completely stumped by FizzBuzz.
Saying that programming "requires little or no education" is from the perspective of either a naturally smart person or the Dunning–Kruger effect. Like any profession, there are some self-motivated people who can do the job effectively without formal education. Yet it saves time to have everyone on the same page with knowledge of basic algorithms, terminology, and problem-solving methods.
If money is your motivator for programming in your 20s, the odds are that you will find some other way to make more money and not last until you're 50. At least I hope so.
Hell, if you use a Linux development environment you will feel right at home.
There are programmers with almost zero CS education, formal or otherwise, who are rather productive. This may make the more educated among us cringe at some of their work, but the fact remains. If CS education was essential, it wouldn't happen, whatever we think about the merits of CS education (I rather value mine). A high school dropout could not successfully operate brain tumors; there are many countries where the fact that it's illegal wouldn't stop the practice if it were effective, but it can never be. Similarly for most high-paying professions other than programming and certain types of business.
All of the professions you named are people who hang a shingle and sell services to low-information customers.
Missile systems, voting machines, and power plants are all "sold" to high-information customers that need less gov't protection.
Other engineers do need certification and do face legal culpability if they are negligent in their work, but it's inherently different I think. We can talk more about that if you're interested, would like to hear your take.
It's just that there's not that much to learn that is universally applicable, comparatively. The field is young, and then computers are easier to make sense of than most things, because we made them that way. Doctors need to deal with human bodies which aren't designed for human understanding and tinkering. Lawyers need to deal with documents which aren't designed for easy understanding, either - they're designed to prevent hostile, malicious parties from screwing each other. We simply have it easier than most skilled professionals.
I've been a working programmer [or software engineer if I've just met you at a party and I think you're cute] for long enough to work on >5 multi-billion dollar projects. Of these, one was delivered on time and according to spec. That company went down the toilet within four years.
I've read fairly widely in the software engineering literature starting with Weinberg and Brooks in university, and chasing my share of papers, 'blogs and web pages since then. One of the most positive things that has happened to the field is the recent discovery that the only thing at the end of the methodology rainbow would appear to be consultants [wearing suits with slits for the dorsal fins [h.t. Mr Stross]] and stacks of unread Learn Florble-Oriented Development in 21 days.
I know I can build complex systems. I know I can sometimes build simple systems [much much harder.] I don't know how to reliably schedule a project to build a new thing. I think anyone who thinks they do know this is delusional or lying.
And in the end, I think it probably doesn't matter. The truth of the software engineering crisis, is that it never existed. And it's possible that software engineering never existed either. We program. We do it because we like it and it pays. The folks who do it only because it pays usually end up in management fucking things up by assuming they can motivate people always and only with money.
[oh, on a tangent I've also been a manager. I wasn't all that good at it. The team I managed delivered good stuff, some of it on schedule, but the company still went belly-up. And I learned that I don't enjoy management, and would rather have less money and more fun - take from that what you will]
I can't really imagine that. Are those ever executed by a single company all on its own? Are they software-only? Do they exist outside NASA?
That said, I also suspect he may have been exaggerating for effect :-)
Edit: Google and Amazon likely don't, actually.
But I'd say the iPhone was easily a multi-billion dollar project.
Even if we stick to just the development side, I would be very surprised if Google has not spent > 250 million a year on Chrome development over the last 4 years.
The marketing bit is a bit special since they don't actually spend any money by showcasing Chrome on google.com.
Edit: They do spend lots of money to get it pre-installed on new PCs, though.
Consider Google's opportunity cost for advertising on the "internet's home page". I've read estimates of $2B.
For a while, Google was also paying Adobe to bundle Chrome with Flash (in addition to bundling Flash with Chrome).
As far as people on Chrome go, you're right that back in 2008 they likely did not have 1000+ people on it. The best data I can find for mid-2008 on the Internet says about 50 in mid-2008.
Looking for newer data, according to the last several updates on http://peter.sh/ at this point there are about 100 daily WebKit commits (not all by Google, obviously) and about 120 daily Chromium commits. That's not counting the parts of Chrome that aren't WebKit or Chromium. What fraction of the WebKit commits are from Google is an interesting question; as of early 2010 according to http://neugierig.org/software/chromium/notes/2010/02/webkit-... it was around 40-45% and growing rapidly.
Now going from "number of commits" to "number of engineers" is hard. For comparison, as of today according to http://oduinn.com/blog/2012/09/04/infrastructure-load-for-au... Mozilla has about 200 commits per day, but about half of those are to the automated testing repository, not to the main code. So that's about 100 commits per day. Mozilla right now has around 700 employees, I believe. So if you assume similar commit patterns (which is an assumption, granted), Google certainly has 1000+ people on Chrome now.
But I'm also not sure you need 1000+ people to hit $250 million/year in spending. In addition to Silicon Valley compensation packages, there's also a lot of test infrastructure and whatnot as part of every browser project which costs nontrivial amounts of money to create and maintain.
Again for comparison, since there's data available there, Mozilla spent about $63 million on "software development" in 2010 ($85 million if you include stuff like office space, HR, marketing, etc) according to http://www.mozilla.org/foundation/documents/mf-2010-audited-... and had about 200 engineers at the time, I believe... and Mozilla does not give out huge stock bonuses, like Google has done with Chrome.
Connecting for Health (and all the rest) are the programmes that persuaded me that governments should just define a standard, and then let providers build software and clinicians buy software that conform to the standard.
There are lots of things wrong with email, but SMTP was pretty robust across a range of platforms for servers and clients for many years.
The project developed a new CPU architecture, several variant implementations and ported several operating systems to that architecture. Amongst the more impressive feats I saw during that project:
- a compiler from assembler of architecture A to assembler of architecture B. This was necessary because we had a lot of code [~10^6 lines] in architecture A assembler - several other compilers that handled code written for A, with no thought to portability, and produced asm for B. - a modular emulation environment. Initially it ran on a larger example of A that had a programmable microcode feature. Later it was ported to other examples of A. Some of my colleagues were in the room when the ported OS first booted on a machine of type A with the funky microcode. As I recall, it took most of a day to reach the banner. - my own part was very modest, but I had fun. Amongst other things, I ported a disk checking utility [think fsck] from A to B. That was easy. To test it I had to create bad blocks for it to find. So I got a SCSI 1.44 floppy drive [!], and a box of new disks. Then I formatted and scratched each disk with a paperclip, and did a disk copy.
So, that was lots of bucks, hundreds of software engineers, and some number of hardware people. I don't know how many of the latter were involved. But remember that nearly everything was custom; CPUs obviously, boards, buses [though that was fixed eventually], bent metal, power supplies. The lot.
That was one fairly large company.
I've done other large projects that had many cooperating companies, usually with one or two large partners and a number of small outfits. Those involved similar sums, but a large part of that was in the equipment deployment, land purchase and so on. Not so much fun. I did once crash the wireless data network of New Zealand because a radio [or possibly an antenna] came loose on a mast and flapped around in the wind. Every time it swept through 120 degrees, all the effected clients channel hopped, provoking an exciting synchronisation bug in my multithreaded code.
Oh, and I got paid for all of it. Not as much as I would if I'd become a banker [though it's presumptuous to assume I _could_ become a banker]. I'd quite like the money, but then again I have more fun that the bankers I know. I've built software that was used [and is used] by fairly large numbers of people [if you're reading this, then you're one of them]. This is satisfying. Even it I can't call it 'engineering' with a clear conscience. If computer programming hadn't been invented, I don't know what would have become of me. There aren't that many other occupations for people with my particular blend of what I'll call talents. If you fall into that category too, then get your laughs while you can. You're a lucky person right now.
[and since it behoves me to actually answer the question, I've never done any work for a government or defence contractor. I've no particular objection, it just hasn't come along]
Execution: Generally no. There are sub-contractors, out-sourcing, COTS, etc. And there may be a program management team of companies.
Software only: The three I've worked on, no. Hardware, software, "mechanisms".
Outside of NASA: Yes, although the US government probably has the lock on the sheer number of such programs. Chip-makers, with fab plants, are one sector. Vehicle manufacturers (planes, trains and automobiles) are another. Construction--especially massive high-rises--is probably another.
Enjoying the role is another thing though.
I also echo the concerns below about the "multi-billion" comment. Did somebody just mention sometime that it's that expensive? Because that's a remarkably large amount of money for business. Government? Not so much. But for a business, well, there are very few billion-dollar businesses and a scarce handfull that are spending a billion+ on any single project. My fiance is a PM on the largest electronic medical records rollout in the nation, which includes visits to over a thousand clinics around the country to install hardware, convert paper records and train people, as well as all the infrastructure, and it's reportedly going to bust through the original budget but still clock-in around $100 Million dollars.
As for methodologies, perhaps getting everyone to actually use one is the biggest problem; that's been my experience. I have myself found about 4 things that seem to work:
The project should have a specifications document of one or two pages, no matter how complex. This is to try to get everyone on the same page, as it were, it has goals and requirements, must do N transactions/second, must run on X, etc. As much what and as little how as possible.
Further project documentation efforts must factor in the Don't Repeat Yourself (DRY) principle, i.e. the code is the only truth, and attempts to duplicate it are going to get out of sync unless you work really hard at avoiding that.
From OOSE/RUP: do short ("several week", 2-4) iterations and get your complete software and systems stack into a "Hello, world!" end-to-end state very early in them.
Otherwise, yeah, I've read a lot about software engineering beginning within the first month or two I started programming in the fall of '77 (sic) and while I think there is such a thing, it's indeed not really engineering as we otherwise know it. There's something there, but you learn it as much by doing as by more formal methods (classes, reading books) and there's no substitute for a serious amount of experience.
And mostly because computer science is not software engineering. If you want to learn software engineering, find a degree or diploma program in software engineering.
Being frustrated that your computer science degree did not teach you about software engineering is like being frustrated that your civil engineering degree did not instruct you how to physically build a bridge, or that your mathematics degree did not teach you how to corporate accounting.
I might even take a cs course this year assuming it's possible to get the loans. I'm still paying off an art degree though.
By the way never get an art degree.
Strikingly succinct and useful benchmark, just sort of thrown in there like it was jam on toast.
There are some tidbits of wisdom in this article, but overall it boils down to a life that has lost all meaning and passion and has succumbed to the lowest common denominator: money. True, maybe, but sad, really.
A life full of "meaning and passion" is typically sustained through money. It's much easier to find meaning and passion given money than it is to find money given meaning and passion. If nobody is willing to pay for your program, maybe it's not worth the passion; if they pay, maybe it is.
Jobs are jobs because they involve a lot of crap people don't want to do. No one's going to find personal meaning by writing specs, or by cutting a beautiful design down to an ugly minimum to fit into time constraints, or by maintaining some poorly-written internal tool. But these are all things programmers will do, at some of the best jobs in the industry. Every job has a large chunk of "this sucks" work. If it's kept to a minimum, you're doing far better than most people.
As someone who is currently working his dream job, this statement couldn't be further from the truth.
Far too many people chase a "dream job" not understanding that every job will have parts they simply will not love. And instead of accepting that this is reality, they fixate on the problems and fall prey to "the grass is greener" thinking. I'm sure Elon Musk loves his job (indeed he has many people's "dream job"), but I bet 90% of it is tedious bullshit.
"Far too many people chase a "dream job" not understanding that every job will have parts they simply will not love."
I don't think that is true, I think most people realize any jobs just like anything at all in life, won't be 100% fun stuff. It is just such an obvious common sense thing that they don't bother talking about it.
I disagree. People who are happy with their jobs realize this. People who switch aimlessly between jobs and careers definitely do not seem to realize it. They get fed up with dealing with people, or a crappy co-worker, or whatever else they don't like about their current job and leave, assuming that somewhere is a job that doesn't have to deal shitty thing "X", not admitting that most jobs will have shitty thing "X", and the ones that don't will have shitty thing "Y" instead.
On top of this, we get sentiments like the one from calinet6, telling people that if they simply accept that they need to work for a living, then their lives must sad. "Oh, you work as a programmer for money; how sad for you." Yes, how sad that someone can make a good living in a good industry.
How sad instead that so many people look for their life's meaning at work and never find it.
I'm in a country where the wage difference between the protected professions and the rest is pretty large, and programmers are pretty much commodity employees with little advancement opportunities. The only way to break out seems to be entrepreneurship, but the local market isn't big enough to support big or even medium exits. I guess that's why so many people try to get into medical and law school or into i-banks.
I can vividly remember my days in back in college where a lot of fellow students in my CS classes had substantial problems writing even the simplest of programs and understanding basic statements and data structures. A lot of them couldn't even write simple programs which would take user input, do something with it and give some output, let alone come up with more complicated solutions and architectures for real world problems.
This field is not for everyone and I believe that is often not obvious to many of us because we take our ability to turn mental constructs into code for granted. A lot of people just don't have the mental facilities to do it. I'm not saying this to sound elitist, but it's the way it is.
Nowadays anybody with sufficiently good Googling skills can put something together by stitching pieces of Stack Overflow code. You don't need a specialist to make it happen, just about anybody will do. Perhaps you shouldn't leave mission-critical aspects of development to those people, but you can get away with most of the other work.
Was it Mark Suster who said that most companies out there do not fail because of bad technology?
At the risk of introducing a Scotsman to the discussion, I suggest that passion is the only sustainable thing. If you sustain an interest in money for your whole life but not an interest in programming, or art, or writing, or Ultimate Frisbee, those other things aren't passions, they're interests or hobbies.
Greed is pretty much the definition of a passion for money. If you identify with this quote, I suggest that you modify it slightly to read, "For the greedy, a passion for making money is the only sustainable thing, all other interests burn out."
I do know a programmer who became an IP attorney (doing well at it too) and a couple of programmers who have gone off to do entirely different things (one is a guide in Africa, another drives a tugboat around Puget Sound for fun and profit). I also know some who are not working at their first choice of job, rather they are working at jobs they would not have taken if they had a choice.
It is this last bit that suggests we are at the beginning of the end for the programming shortage.
NB: I think it is hilarious that the first comment is from a user named Bogdan but I suspect that is just me.
I've been hearing this for fifteen years now, which is about as long as I've been paying attention. For the first five years I was maybe even a little concerned. (In the nineties programmers were going to become obsolete because OOP worked and all code was about to become highly reusable so there wouldn't be any need to write new code. Yes, people were saying this in earnest.)
So this is how I look at the health of the market:
1) Does any programmer have their choice of jobs? (which is to say bargaining power when changing jobs)
2) What is the median unemployment time for programmers?
3) How are the first two mediated by contract vs full time work?
4) What are the median salaries?
What I've been seeing since the more recent depression is that unemployment median is staying fairly low but that is being achieved by an increase in the number of folks doing contracting work. Full time work (and that includes health benefits which become significantly more expensive for the 'over 50' programmer as a contractor) is getting harder to find.
As with most markets it is more clear on the 'mediocre' programmers (where mediocre is a function of code productivity) Another thing I'm seeing is salary erosion, which is to say that engineers taking lower salaries at large companies to stay employed. That also indicates a switch in the 'bargaining power' of companies looking for programmers vs the available programmers.
The sequence I've seen a number of times now with acquaintances are flat to negative salary growth when leaving one job and moving to the next. Some folks spent a year or two consulting looking for that position that would be a net gain on their salary growth.
From an economist's point of view if prices are flat to trending down it signals a shift in power from the seller to the buyer.
Those are the signs I'm seeing, would love to hear other's experiences on whether or not they think the market is saturating or not.
This is one of the most underrated jobs around. Good pilots will make >200k working 4 days a week doing this.
More and more programmers are looking for good company cultures with a good (but not highest pay). Money will make your life easier but won't make you happy.
Working for a huge amount of money in a corporate machinery is a brain killer.
(Unfortunately, this is a theoretical discussion for me, since I'd make a lousy lawyer.)
Basically, after graduating from a law school you either get hired by a good law firm or not. In the former case, which happens to some 20% of graduates, your starting salary will be $160k. In the latter case your salary will be dictated by an unexciting distribution with the peak around $50k.
> No health or legal risks
On the contrary -- the health risk arises primarily because of the sedentary lifestyle. It's hard to imagine anything so hard on one's health and longevity prospects as sitting and typing all day.
As to legal risks, they're certainly on the upswing, as people who can't program try to steal the work of those who can, and as people try to take generic methods, known to all, and turn them into private property.
Apart from those quibbles, a nice article.
As to legal risks - it's not the programmer who's facing them, it's his employer (which is the same thing for the self-employed programmers, but they're few). A programmer will not be personally sued for any sort of "IP infringement".
I didn't consider this angle, because I've always been my own boss. I've never written programs for anyone else, which means I took home the money, not the grief.
http://en.wikipedia.org/wiki/Paul_Lutus
But as time passes, I see more and more cases where someone tries to patent something that should never be patented, which might eventually prevent people from writing programs at all.
Yes, I agree completely. To me the problem is that programming is so lucrative and fun that it might make us too sedentary to be healthy.
Who says you have to do that? At the very least you can demand a standing desk.
I'm just saying that it's pretty much accepted that sitting around a lot is bad for you.
There were some studies floating around a while ago, about how even if you control for amount of exercise people get, sitting around more still leads to worse health and higher death rates.
Be humble if people are willing to pay you more money than others for what you do - it might change incredibly fast. The more generic assumption of the post is that people are willing to pay good money for skills that are relatively rare... well, make sure to keep your skill set up to date.
Food and tech is where investors are piling all their money right now. As both a software developer and farmer, I do fear what will happen when investments start going elsewhere.
I would be interested in more information about this. Which parts of the world, farming what, what skills make a good farmhand, and is there any public data that I could look at to look at trends?
A skilled farmhand is someone who has, well, skills. They probably have a commercial drivers licence, background in mechanical work or dealing with animals, and have spent a lot of time operating heavy equipment. Those kind of people are rare, but can be paid well when you find them.
Someone without skills on the farm will probably be paid as you describe no matter where the location.
The freedom from work as we know it, is the dream that technology is meant to bring... to everyone. When I am 50, I hope that how much money I am making will be largely irrelevant due to advances in technology and society.
I'd like to see some research to back up this claim, but I'm not aware of any studies into occupational health for programmers. Does anyone know of any?
While you can't claim "no health risks", they are pretty low as far as jobs are concerned.
I should probably get a standing desk. I try to stand up, move about and go to the restroom or look out a window every hour, so maybe that helps.
a) Tons of money to be made b) Tons of unmet demand
Why the outsourcing market isn't growing as much as it should? There are plenty of places with more than capable programmers which are usually paid in peanuts not only when compared with SV, but when compared to people in the same country.
That smells like a niche waiting to be disrupted. He who solves the trust and quality perception and control issues, will become very rich.
The good programmers around the world command good salaries, whether out-sourced or not.
In the end it doesn't matter whether you're in India or the the US; there are just not that many great programmers around.
As to the rest, I'm baffled. How can you even think it doesn't matter where you are?
Different cultures value differently different jobs. For example, I know of places where programmers are not valued much and it doesn't matter how good you are, you'll not earn more than a corporate salesman.
Maybe it doesn't matter for the top 0.5% who end up going to work for Google or Facebook anyway. But there are lots of jobs for merely above average programmers, which are very well compensated in the US, but not at all well elsewhere.
If you can manage to produce quality work and convince people to hire you consistently (big if, I know) in the high paying market, you can leverage the existing programming population oferring wages a lot higher.
Getting value out of outsourced workers is a skill more rare than programming itself.
It has been associated with the lack of regular collaboration between the outsourcing resources and the customer. As a whole, this industry has not perfected the art of specification. An analysts with the ability to comprehensively specify software requirements is a scarcer resource than a programmer who can properly print a binary tree.
The lack of adherence to proper standards surrounding specification is generally compensated by ongoing collaboration between development teams and stake holders (hence the wide adoption of SCRUM). Separating the two entities with geographical, cultural and language barriers causes a break down in collaboration and that allows the deficiencies in specification to cause the project to fail.
I would argue that a bad team of coders with a water-tight set of requirements will have a greater chance of success than a team of rock stars with vague and incomplete requirements.
It's not surprising many former programmers of that vintage are in the managerial ranks now. Whether that is a good or bad thing, I'm not sure.
But indeed that doesnt matter. Because the demand is high.
But for me, this is what drives me: working with an excellent team on a product/service that is heavily used and comes with technical challenges.
If managers, business and bad programmers interfere with this, i'd rather stop and get a decent job.
The money is not the main driver.
In other words, a clock-punching mentality is not enough, but neither is making it your life's mission necessary.
He says he's "in it for the money" because he's honest. No one working to earn a living is not in it for the money, and if they tell you otherwise they're delusional. I think the measure should be "Would you still program if this wasn't your job?" and if the answer is yes, then the passion is there.
I really hate it when people decry the importance of money, because money is basically our unit of human sustenance. It is what we trade for food, shelter, and clothing.
However I choose computer science because of the passion. I also had a passion for making music. But the passion and the money are the drivers. But the main driver is not the money.
A friend of mine hated piano as a child, only after many forced hours of practice (from his tiger mom) he became really good and started to win state championships for his ability. After a few more years, he developed a passion for it and played piano for fun. He never liked piano to begin with, but when he became good at it, he developed that passion.
So I'd argue that a bad programmer, after making some decent money, can become passionate at it when the initial driver started as money.
Not to mention that here where I work you are tested for your knowledge and problem solving skills - so although there is a high demand there are still very few that are hired.
BTW. About 15 years ago I heard that it's not a good choice to go and study computer science because there are a lot of others that do it and the market will be saturated. And we know how it is saturated right now (it isn't). There are more and more "places" where software wasn't needed before (e.g. cars, TVs) and now it is required - demand for programmers increases.
You need persistence, logical (not magical) thinking, willingness to learn a tremendous amount of material, and the ability to envision abstraction in order to become a programmer. These skills co-occur in only a limited portion of the population and of that, only a subset would be willing to live the programmer lifestyle (indoor, bad for extroverts, sedentary, not so high-status as being a Dr.)
That said, I recently founded a startup, where the work is more stressful and the pay is less and I'm hoping for it all to be worth it financially in a few years. This is often not the traditional "Why I founded a company" story you read about hear on HN, but I wonder how common (or misguided) it is.
http://marginalrevolution.com/marginalrevolution/2011/11/col...
Given that college has been incredibly (over)promoted over the past 20 years and that CS jobs have become more lucrative if anything, the conclusion I drew from this is that there just aren't very many engineers on the margin.
The moving targets that are the latest fads in languages (every six years a new "generation" does the same old thing their way) and shifts in market demand certainly create an environment requiring constant learning. Unless you're in business for yourself and taking on more risk and stress, your earnings will top out in the low six-figures so you have to value daily comfort and health insurance over any grand ambition or ability to disappear for months at a time. Outsourcing and immigrants willing to work longer hours for less money are a constant macro threat to this comfort zone too.
To say that it requires almost no education isn't true. An engineering or computer science degree surely makes it easier to get a job. Whether that training makes a difference at work if you started coding at age 9 anyway is debatable but a degree gets you recognition as a professional and shows that you have deep cross-training in math and physics.
I do agree coding non-mission critical applications is pretty low stress and for the most part you have a chance at a decent quality of life.
It would become a necessary skill that simply everyone in a wide variety of fields (doctors, accountants, etc) where programming is the slightest bit helpful would have.
In such an age and era, will programmers get paid anything close to what they get paid today?
You probably can score ok in a math SAT. Can you visualize the mathematics of a quaternion, or formulate the equation for an n-sided betzier patch?
The work a linguistic/novelist/journalist or a mathematican is not on the highscool level. Neither is the work of a programmer.
I do believe basic programming should be taught, just like basic math and writing skills. But that has absolutely nothing to do with proffessional programming.
Plus most people don't have great GRE/SAT scores anyway. You don't have to have outstanding scores to get into most programs. You just need decent scores.
This blog entry seems to have been written so that it can end up with this sentence and not read cynical.
So the economy rewards someone building facebook or groupon more than someone with a PHD and multiple post-docs doing basic research, and while the developers for said companies do add a tremendous amount of value, which is reflected in their sallary -- IMO it is more likely that DARPA or a similar government body is more likely to develop the next step in innovation. Siri was originally a government project, that was then commercialized from CALO. http://en.wikipedia.org/wiki/CALO Same goes for the internet.
However, I disagree with this statement: "So I'm not planning to quit programming, not because it's such a great source of joy by itself, but because it looks so good compared to just about anything else."
Well, I wouldn't want to miss the high I get from being in the zone for four hours straight either. I wonder if the author implies that programming is no longer fun to him or if its just not the deciding factor. To me, the fun in coding is really a big part of my overall happiness and so contributes a large part of the decision to stay in the field.
yosefk.com +10000
But while in college I saw that most powerful people in america were lawyers of some kind. These were the days of the Clintons, btw. Then I got into my stupid head that perhaps I should go to law school. You know in order to join the power elite and make a difference and all that.
By that time my english was very good, and being naturally intelligent (I will not bore you with false modesty), I got into some of the very best law schools in America. I chose one and did very well there and got jobs at some very prestigous top law firms. Basically, for a while I had the promise of a career that most lawyers would dream of.
But now this is all in shambles and I am thinking of getting back into engineering or something more closely related to technology.
Oscar Wilde said something very wise (paraphrasing): "I used to have the life of my dreams and I was happy; now I have the life of everybody else's dreams and it is incredibly tiresome"
So my advice is if you are one of those natural programmers by all means do it, and do not ever think about what other people say about "what would you be doing when you are 50." Yosef (the author of this article) is one of those people, and to him the answer is very simple and very happy: "programming".
You see this question of "can you see yourself as a programmer when you are 50" does not have much to do with ageism or the labor market but about people's inner feelings and desires. Some people are horrified to see themselves as programmers when they are 50, not because of the market but because they secretly loathe it. And to see themselves doing it when they are 50 seems like a life sentence. For others, it is the most natural thing in the world.
I remember when I was a lawyer I once had an especially good stretch. Some of our top clients complimented my work. This is a big deal because those clients spent crazy money on fees and it is very rare for anyone to complement a lawyer's work. I thought to myself "wow keep going and you will be a partner in no time". Then I thought about life as a lawyer, doing the same thing over and over again, for the rest of my life and it was the most depressing thing ever. It was horrifying and the thought about multi-million dollar salaries did not help (although now in my much more perilous situation those salaries sure seem nice). I got into a serious depression and that badly affected my work thereafter.
So my advice is, if you are good at programming, if you are one of those few for whom this stuff just clicks, go for it and do not listen what anyone says about markets, or ageism etc. Note that those that are really good at programming are very few. Even among programmers, I would say that those to whom programming is annoying and a little scary greatly outnumber the ones that have real talent for it.
So people will generally give you many reasons to move away from it, but those are their reasons, not yours. If you are part of this select group just count your blessings. And here are some of these blessings:
1. You know how rare it is to have a passion and talent for something, and at the same time have that something be valuable and useful. Think of all the brilliant and passionate people that are into disciplines where only a few thousand people in the world get a decent income. Think of all dancers, screenwrights, directors, painters, poets, chess players, etc.
2. You have a wonderful differentiator of skill and ability: things either work or not. When I was a lawyer I had to compete with so many hacks. When I would stay up nights writing complex documents, trying to phrase every single word just the right way, when I would stress out for hours about a particular phrasing or argument, they would slap something together quickly and with no second thought. And their work would look like mine to the client. The consequences of bad legal work are uncertain and tend to be much delayed.
3. Your craft requires very little investment. Again, you have no idea how lucky that is. Even startups that require capital, get it mostly for salaries. There is no expensive equipment to purchase, etc. Marx thought so much about how to connect workers to their means of production, and in the end came up with a theory that turned out into a complete disaster and caused untold tradegy. If he only knew that some day there would be a sub $500 means of production that can create wealth worth millions he would not go into silly plans about dictatorship of the proletariat.
There is more but I have rambled enough. Heed my advice. If you are one of the lucky ones, ignore what the less lucky ones are saying and do not squander your good fortune.
That's a really good point. Well over 50% of the "lines of code" in a typical complex business contract cover contingencies that ideally will not happen. That means they will likely never be "executed." That, in turn, allows the legal profession to be held to very different quality standards than an engineer or programmer.
As a freelance developer I often find myself reviewing contracts and consulting agreements prior to signing them, and I'm rarely impressed with either the original language of the documents I'm given by clients, or with the reviewing skills of the attorneys I engage to look them over. Yet it's inevitable that the attorneys who wrote (i.e., cut-and-pasted together) these agreements, and who review them on my behalf, will make more on an hourly basis than I will when I perform the work.
Particularly good: "You see this question of 'can you see yourself as a programmer when you are 50' does not have much to do with ageism or the labor market but about people's inner feelings and desires. Some people are horrified to see themselves as programmers when they are 50, not because of the market but because they secretly loathe it."
I hope you do get back into engineering, and write about it.
ghostoffuture, thank you for a most insightful comment.
Retirement in Canada just got pushed to 67, and I think most people expect it will go out to 69 before we actually get to retire (I'm 30 now).
All these titles should say "Do you really want to be doing this at 66"
I started in FORTRAN in 1968. Today I'm working in Java and MongoDB and studying Scala and Go.
Also I like this post from him a lot. He just likes to say things more frankly.
http://www.yosefk.com/blog/work-on-unimportant-problems.html
There's also tremendous scope for working from home, or from wherever you want. I can imagine it getting to the stage where job ads for developers will advertise perks like 'work from the beach!'
I'm not a full-time developer (though my work involves programming), but I know what I want to be doing in my 30s, 40s... Not just because I like it but because it gives you so much freedom in terms of lifestyle.
> Programming is money for nothing.
This is not called programming. It's called monkey job. Programming requires education (i.e. being a knowledgeable professional in computing, software engineering and so on) and it's not money for nothing by any means.
For what it's worth, I'm a programmer in the middle of law school.
Stats from the Bureau of Labor Statistics (USA):
http://www.bls.gov/ooh/computer-and-information-technology/c...
2010 Median Pay $71,380 per year $34.32 per hour
Number of Jobs, 2010 363,100
Job Outlook, 2010-20 12% (About as fast as average)
Especially worth a look:
http://americawhatwentwrong.org/story/programming-jobs-fall/
"Over and over, Americans are told that education is the key to their job future. The more education you have, the better your shot at getting a job that pays middle-income wages to take care of your family. If we as a nation are better educated, the theory goes, we’ll be able to compete more effectively in the global economy, which in turn will generate more good jobs for everyone.
But some major flaws in this theory are playing out today in a field that was once thought to have the brightest future — information technology...
...In its 1990 Occupational Outlook Handbook, the U.S. Department of Labor was especially bullish: “The need for programmers will increase as businesses, government, schools and scientific organizations seek new applications for computers and improvements to the software already in use [and] further automation . . . will drive the growth of programmer employment.” The report predicted that the greatest demand would be for programmers with four years of college who would earn above-average salaries.
In 2000, the Labor Department predicted America would have 839,000 computer programming jobs by 2008. The department warned of competition from "programming businesses overseas where much routine work can be outsourced at a lower cost," but was nonetheless confident that "jobs for both systems and applications programmers should be plentiful." Things didn't quite work out that way. The number of programming jobs has fallen steadily, in part because of outsourcing.
When Labor made these projections in 1990, there were 565,000 computer programmers. With computer usage expanding, the department predicted that “employment of programmers is expected to grow much faster than the average for all occupations through the year 2005 . . .”
It didn’t. Employment fluctuated in the years following the report, then settled into a slow downward pattern after 2000. By 2002, the number of programmers had slipped to 499,000. That was down 12 percent–not up–from 1990. Nonetheless, the Labor Department was still optimistic that the field would create jobs–not at the robust rate the agency had predicted, but at least at the same rate as the economy as a whole.
Wrong again. By 2006, with the actual number of programming jobs continuing to decline, even that illusion couldn’t be maintained. With the number of jobs falling to 435,000, or 130,000 fewer than in 1990, Labor finally acknowledged that jobs in computer programming were “expected to decline slowly.” "
http://www.bls.gov/ooh/computer-and-information-technology/s...
2010 Median Pay $90,530 per year $43.52 per hour
Number of Jobs, 2010 913,100
Job Outlook, 2010-20 30% (Much faster than average)
Employment Change, 2010-20 270,900