It has been a while since a good bitchmeme came about, so it is with great pleasure that I participate in this one. Actually, is it not with great pleasure as the issue hits close to home. The issue at hand is regarding age in the software development profession. This is important to me because I am 38 years old and have been in software development for about 16 years. Some people are saying that Silicon Valley has a bias towards younger people. TechCrunch has an interesting article that makes some very good points:
The harsh reality is that in the tech world, companies prefer to hire young, inexperienced, engineers. And engineering is an “up or out” profession: you either move up the ladder or face unemployment. This is not something that tech executives publicly admit, because they fear being sued for age discrimination, but everyone knows that this is the way things are. Why would any company hire a computer programmer with the wrong skills for a salary of $150,000, when it can hire a fresh graduate—with no skills—for around $60,000? Even if it spends a month training the younger worker, the company is still far ahead. The young understand new technologies better than the old do, and are like a clean slate: they will rapidly learn the latest coding methods and techniques, and they don’t carry any “technology baggage”. As well, the older worker likely has a family and needs to leave by 6 pm, whereas the young can pull all-nighters.
Initially, I was going to leave this topic alone, but Dave Winer decided to complain as well:
If I can’t get into the game, I can’t imagine there’s much chance for most other people in their 50’s to play a role. Which is really fucked up. It’s probably the reason why we keep going around in the same loops over and over, because we chuck our experience, wholesale, every ten years or so.
The combination of the two struck a nerve. I only partially agree with either quote as they do not look at the real issues here. In particular, both posts talk about ages and startups. Startups are not a huge portion of the software development industry. They may be the beginnings of it, but there are tons of engineers slaving away in a cube for some corporation that has 50,000 employees. However, even in a large corporation, age can be an issue for a few reasons.
Age and Hours Worked
For startups, hours worked are extremely important. Sometimes developers will work 80 hour weeks for months in order to get the product shipped. Many people assume that this is a young person’s game. This is technically true, but not because the people are young. The main reason that older people cannot work long hours is because they typically have a family and kids at home. They may not want to work long hours because they want to see their children at night. Some of these family people will work long hours after their children go back to sleep, but this is not the majority of software developers. If your company requires long hours, and you do not want to work those hours, age is not the issue, the hours are the issue. Maybe you are just not cut out for the startup life.
Age and Cost
For a startup, cost can be a significant issue. Many veteran (10+ years) software developers will have a salary in the top 25% of the industry. This problem is also not specific to the startup world, though startups do feel the cost pinch sooner than a large corporation. Startups have a tendency to pay for significant benefits to offset a lower salary. Sometimes you can get stock options or maybe it is just free food. In either case, your startup salary is likely lower than your salary at an equivalent corporate job. The corporation will eventually cap the experienced developer’s salary as well. Experience is important, but sometimes people just become too expensive. If you are that person, you must realize that you will not always get a raise when you change jobs or get more experience. If you decide to stay in software development, you have decided to make some maximum dollar amount in your city. If you want more money, you need to get into management.
Age and Skills
The TechCrunch post states that “The young understand new technologies better than the old do, and are like a clean slate”. Dave Winer feels that we make the same mistakes over again because we are throwing away or ignoring experience by only hiring younger developers. The truth is somewhere in between. Experience is somewhat helpful when a product is first being developed, but that is not critical at the early stage. Experience is critical when the early startup gains more adoption and needs to become stable. Younger developers do not have the experience to stabilize a product, whether it is by scaling a product for millions of users or just dealing with all of the issues that software has after being used for some time. These skills come with experience. Younger developers can learn these skills, but typically the knowledge is passed on from someone with experience.
Older developers have always had the stigma of staleness attached to them as well. I think this stems from the long tenure at large corporations. The internet changed a lot of that as well. Now, older developers are starting companies of their own. Technology is significantly easier to learn today because of the wealth of information available. 15 years ago, your ability to learn a new technology depended upon how many books you could read and whether your company would send you to training. This would become very expensive, potentially over $5000 per year. Now, I can find better information, quick than before and it is free.
Age Is Just A Number
In reality, age is just a number. There are plenty of younger developers that have no interest in working at a startup, just like those family-oriented older developers. Older developers can learn new technologies without being hampered by whatever “technology baggage” they carry. They just need to decide to do so. There are some younger developers that learned Java in school and have no interest in learning anything else because it is stable and used at many large corporations. There are people of all ages that refuse to work for less than they feel they are worth. Some of these people are misguided, and others may be worth the money. In all of these cases, developers young and old may not be a fit for a startup. To be a fit for a startup, you must have the desire to be in a startup. If that means working long hours at a lower salary while learning all sorts of new technology, then you must be prepared.
Preparation and desire are not age related.