This statement should be included in every CS curriculum.
This statement should be included in every CS curriculum.
It makes me remember how slightly awkward I felt every fall semester— I kept my mouth shut when talking about summer jobs, just because everyone else would talk about their minimum-wage gig at the ice cream shop or the kayak place. It just seemed so utterly unapproachable to even mention what I was pulling down as an "intern", let alone that I was probably getting about a quarter of my market value, let alone that I was doing something I had no formal training in and could pretty much drop out of college at any point for a net financial gain.
I think the statement that should go on every CS curriculum is "Normal people cannot understand what you do no matter how hard they try. Value yourself a little higher."
A couple of years later I dated a student nurse that told me her first job would pay her $16/hr. I was blown away and thought she was lying or exaggerating about the pay. People I knew just didn't make that kind of money.
Anyways, I eventually discovered programming and got a job with a relatively small developer's salary. It certainly was real money to me. It was life changing.
Of course, once in that environment it doesn't take long to take a good look at those around you and feel undervalued/underpaid. Funny how that works.
It all depends on your industry, of course, but once you hit 40-50, you're competing with younger developers who have more energy and require far less compensation.
Hence the need to make "real money" before you hit the age ceiling.
10 years is a lot of experience.
Young developer non-professional experience also commonly dwarfs what you'd expect in other industries. Try doing molecular biology at home.
My main point was that the developing software on your own is very different from working with teammates and having deadlines and processes, where you're often required to choose the best of a set of bad options rather than having the time to do things right or where you're thrown into a legacy codebase that can't be broken but must be fixed.
Sure, the experience is bound to be more similar to current hardware, but you can easily be 40 now (I'm now, early thirties) and claim a little more experience.
The next argument could be 'is experience > $someThreshold enough'?
Granted life is pretty good now if you're a recent graduate of a good school. You almost have your pick of jobs. But when was that not the case?
It's true that you tend to have less commitments in your 20s. You should take advantage of that. Most people in their 20s still spend their money on crap however (cars, ski trips, eating/drinking out, etc). While that's all fine they'll wake up after 10 years and find they have nothing.
What tends to happen as you reach your 30s is you have increasingly financial commitments. You might have bought or want to buy a house. You may well be married. You might have children. All of these take your time as well as make you more risk-averse both from a stability point of view as well as having a higher minimum salary that you can pay your bills on.
But if there's one thing I've learned over the years is that most of these expenses are, well, crap. Raising children is expensive but it's also way more expensie than it needs to be, in similar ways to being single in your 20s is way more expensive than it needs to be.
That doesn't mean you have to stay at home, never buy anything and never do anything. It just means being smart about how you spend and allocate what money you do make.
I could lose my job tomorrow and not need to work for another 12 months, possibly two years if I push it. That's a deliberate choice I've made.
It also means that if I want to bootstrap a startup I can.
In my experience, most people in their 40s either:
- don't have an interest in something so risky;
- have let themselves and their knowledge get out of date;
- have priorities that preclude anything but a 9-5 job; and/or
- don't have the financial freedom to take risks.
While you may not have the energy you did 20 years ago, experience counts for a lot. We're lucky in that we work in an industry where you only need:
- working hands;
- working vision (and a very low level of vision too as I can personally attest to); and
- a working mind.
I see no reason why you can't work as a programmer until you go senile, go (literally) blind, are quadriplegic or die.
People who can code and can get shit done are (and will probably be for the foreseeable future) extremely valuable... regardless of age (IMHO). I see so many people who work in this business who actually can't code, it's astonishing.
Some might write you off if you're not a twenty-something MIT or Stanford graduate. But if you keep up to date and are willing to take risks, I see no barriers to a continued productive existence other than those you create.
Maybe it's different in other parts of the country/world.
Except it isn't true (depending on your definition of "real money").
It's not especially hard to make high 6 figures (and even low 7 figures) as a consultant, if you specialize and sell yourself well.
This may be low by the standards of the $20M year Quant, but the risks are much lower too.
Most engineers who join an early stage startup won't make "real money" by those standards, either. Sure, some will make $20M when the company is sold, a few will make a lot more, and a larger number will make a substantial (5 figure) bonus when the company is sold, but many will get nothing.
Advice like this needs to be tailored to the individual. Deep algorithm expert with limited social skills? Then either quant or work for a startup. A mediocre programmer with some good ideas and good sales ability? Do a startup. Good technical ability and know how to talk to business users in their language? Consulting... etc etc...
Explain where I went wrong please?
Maybe you can back up your statement with some numbers?
The trick is additional sources that aren't as closely linked to your hours.
Some possibilities include flat-fee security audits/seo consultations, fee-per-person training, retainers for support etc etc.
I've seen lousy programmers make a lot (200k+) of money just attending stupid meetings .. and top coders struggle to keep customers happy for crappy money.