I respond really negatively to the notion of 'dead end.' Programming isn't a dead end job any more than welding is a dead end job or painting. But it is a trade.
What is more, managing is a different job than programming. Not a lot of programmers really internalize that until they try out being a manager. Architecture, and technical leadership in general, is still another job. It takes the ability to internalize massive amounts of detail, organize it into some coherent frame work and then communicate that framework as needed to various levels in the language they understand. So for programmers they need to know how the parts fit together, for managers they need to know how the parts integrate with the business process, for sales they need to know how the parts make them better than the competition (or equivalent to).
From an economic standpoint, being able to generate 1000 lines of syntax error free code per day, is perhaps the best possible programmer you could be, but its never worth more than 10 programmers generating 100 lines of syntax error free code a day.[1] So yes, there is an economic limit on your pay.
The good news is that generally that economic limit is much higher than the cost of living, and you can run at that limit for a decade or more, so you can be reasonably expected to save enough to retire and not have to work any more.
Dead end jobs are jobs that will never pay you enough money to save for retirement. Programming isn't one of those jobs.
[1] Yes the 9 women, one month joke applies for short sprints but in general not for longer coding projects.
If there is an economic cap on the value of a developer, it doesn't derive from how much code they produce.
Value differentials for programmers derive from knowing the right code, not typing up any code that suffices, and I think pay reflects that. 1 KLOC of the right code can easily be better than 10 KLOC of the wrong code, even if the 1 KLOC is buggy and the 10 KLOC has no bugs.
I think programmers are valuable in a power law way, and this can be based on intelligence, domain knowledge, experience, math skills, and other things.
You can command a much larger salary if you either have technical/math abilities that almost no one else has (like a Google search engineer), or you can have an economically valuable product sense (like a proven, high-paid early start-up engineer), or you can know a domain in an economically useful way (many technical founders).
Programming is an army-of-one kind of job, even if you work in a larger team. Insightful programmers are better than dogged ones by orders of magnitude. I look for programmers who are creative, self-driven, and knowledgeable.
EDIT: I ended up editing this for the first 18 minutes it was live. Premise is the same, but I wanted to work on how I said everything.
From an economic standpoint, being able to generate 1000 lines of syntax error
free code per day, is perhaps the best possible programmer you could be, but
its never worth more than 10 programmers generating 100 lines of syntax error
free code a day.[1] So yes, there is an economic limit on your pay.
If all you ever do is code functionality that other people dream up, in a system design that someone else specifies, then I agree completely. For a lot of engineers, that's how they operate. Maybe that's how they want to operate, maybe that's the best way for them to operate.
For other coders, and this depends as much on the company and corporate structure as it does on the individual, they are the ones dreaming up new products, new approaches to old problems, layout solid foundation that 100s or 1000s of engineers can build upon, or specifying an approach and methodology which ships the product 6 months sooner with twice the functionality or half the bugs. They are the engineers that make your entire organization not only more efficient, but literally capable of things that they weren't capable of before. That's when you start getting into the same type of ROI from that programmer as that SVP is supposed to be providing.
The problem is most organizations simply aren't organized to promote and reward these engineers, and that's the "dead end". The last time I worked for a company I didn't own, literally the only way I could find to make any real money was to do my programming inside the sales organization, so I could be paid on commission for writing code for "major accounts" which would only later be taken up by the core engineering team and become a full-fledged product line.
Being a quota carrying engineer, with variable compensation and benefits like 'Presidents Club' was living in a different world from the engineering org. What I found was that, when working for someone else, in order to justify significantly higher pay, I had to be more directly driving increasing sales. Doing the exact same work inside of the engineering org, even with the same sales impact, would have paid significantly less.
Being able to combine programming with communication, sales, and analysis skills can be incredibly valuable, though. That 1000 line/day programmer, if he looks around and observes the functioning of the org, could probably easily find several areas where those 10 programmers are writing 100 lines/day that could easily be automated away. If he can then write a solution that does this and sell it to upper management, he's clearly been more productive than all of them combined. This is where you find the programmers who get paid several million a year.
I think you view (or at least present here) the programming job as pure production measured in KLOCs or something similar, and this is wrong. It is a part of the job, but not the main part. 1 KLOC written by a good programmer may be worth literally orders of magnitude more than 10 KLOC written by 10 poor programmers. The reason is not syntax errors - those are mostly irrelevant as the tools get rid of them pretty quickly. The relevant part is what tools can't do - conceptual build of the code, design, robustness and ability to accommodate change. These terms are very hard to define, especially with rigor that would be convincing to anybody outside of the industry, so there's a lot of hand-waving and "you know what I'm talking about" when we talk about it, but in the essence poor code is poor and great code is great not because the former has tons of obvious errors and the latter does not. It is because you'd spend orders of magnitude more money, time and other efforts supporting and improving poor code than great code. That's where better programmers are providing the edge, not in the KLOC output. If you need KLOC, you don't need great, you don't even need good, you just need "can tie his own shoes" one. But if you need a system that you wouldn't have to throw out and rewrite in 3 years because it became unmaintainable and every fix immediately creates an explosion of new problems - then you need great. That's where 9 women/1 months comes into play.
The problem here is of course as I noted this is very hard to manage and evaluate except way post-factum (and even then there are little of robust tools and methods to do it with any rigor) so it's hard to know for sure. But in many cases, "you know it when you see it".
From an economic standpoint, being able to generate
1000 lines of syntax error free code per day, is
perhaps the best possible programmer you could be,
but its never worth more than 10 programmers
generating 100 lines of syntax error free code a day.
First, very few people become millionaire CEOs. If thats your standard for success, then every path likely leads to failure because no path reliably leads to that kind of success. Some paths are more likely than others, but none are very likely for the average person.
Part of the reason for flat-ish career trajectory is that programmers earn more at the start than most. Some professions have more of a premium on seniority and experience than others. Senior doctors and lawyers for a combination of the above 2 reasons probably have steeper salary growth than programmers. That said, good 10+ yrs programmers do earn pretty damn well. 10 years as a doctor or lawyer and you're still considered a youngin.
Anyway, if you're the CEO, you aren't a programmer. If he's claiming that being a programmer is not a good starting point for becoming a CEO, I think he's wrong. Look at all the over 40s who were coders at some point, many transitioned into management or something else. Programming actually offers a lot more of that kind of opportunity than anything else.
Totally agreed. In the Bay Area, there are many companies where the most junior engineering tier earns more than $100k a year, only including cash compensation. To expect to grow by 20% per year on average for a decade given this starting condition is just not realistic.
Honestly, to be in the top 95% of incomes at the entry level and then to complain that you're in a dead-end job . . . it just smacks of a lack of awareness about what a real dead end is like.
High finance (banking, PE, hedge funds) are basically the only career I know of where you begin at a relatively high salary, and have potentially unlimited career growth (in terms of salary and earning power), where at the highest end, you aren't doing substantially different work than you did at the beginning (this is simplistic, obviously. You work at a higher level, and begin to employ people to do the work you did previously. My point is that the career progression doesn't require a change to realize the highest earnings).
Am I wrong? To become a "millionaire" (using it as a synonym for wildly financially successful) doctor or lawyer, you generally make the majority of your money through either an invention or marketing skills. What career isn't a "dead end" applying this logic? Real estate, maybe?
You can become a millionaire CEO if you are intelligent with at least a 10-20% success rate. Get 5 years work experience, ace the GMAT, go to a top 5 MBA, do consulting at 250-500k/year for 10 years for a company like Bain or McKinsey, then get hired as CFO of one of the companies you work for, 5 years later get promoted to CEO.
Even if you don't make CEO, you can get to several multiples of an engineer's salary with a 100% success rate with this plan. Let's face it, a software engineer is far from a top tier occupation, and for good reason. You can hire very high quality people with 10 years of experience in eastern Europe for $30/hour.
It's a well-written essay (I say this as someone who has been a journalist/editor/manager and is now doing quite a bit of programming again for Recent.io). But really you could say the same thing about many other jobs:
* Do you love to report the news? In most jobs as long as you continue to be a reporter you will likely have a limited set of promotions you can get...
* Do you love woodworking? In most jobs as long as you continue to be a carpenter you will likely have a limited set of promotions you can get...
* Do you love photography? In most jobs as long as you continue to only take photos you will likely have a limited set of promotions you can get...
Even in you look at areas like law, the top 10% of earners in the profession are not the ones who do all of their own legal research and brief writing. They're the GCs at publicly traded companies or equity partners at large law firms, where they're responsible for the work output of tens or hundreds of lawyers. Which means, yikes, they're managers too.
Disagree that its well-written. The rambling feel of it was kind of distracting from the point he was trying to make. The anectodes are kind of generic (sister, hawaii), I felt like they were just thrown in there as some kind of "proof"
No offense to the author, but what a terribly written article full of logic holes. For example:
'Our parent company's former CEO started off as a programmer 25 years ago, switched to manager; in 15 years he went all the way to being CEO of a $4B company. After 10 years he retired recently with mansions and cars and no worries. Meanwhile I work with people who started around the same time and who are still senior software engineers.'
So the author just picks one person that happens to be the CEO evetually? What about the rest majority of managerial forks? They probably are stuck in corporate ladder and even may be fired already. The chance of a person working on a corporate managerial job evetually becomes a CEO is likely no higher than a tech person eventually becomes a CTO. So why just pick one CEO person to illustrate managerial role is more promosing than tech role? Comparing the max value of a group to the average of another group is unfair.
Also, I program because I love programming. Even if you gave me one billion dollar making me manage people for the rest of my life instead of writing code, I would still turn it down. If doing the thing I love is dead end, then I beg a different definition of dead end. Okay, just use author's definition of dead end as slight chance of moving up, but I just don't care as long as I love the job I am doing.
__
An interesting side note is programming as a hobby. But I would still rather programming both at work and a spare time, as long as the day job I do making me happy.
Programming is hardly unique in this regard. In fact, I'd wager that the vast majority of professions are like this. There's a simple reality at work: when you are programming code there's only so much effect it will have. That effect is greater when the organisation is small (i.e. a startup) but there's a limit.
Once you become a manager in charge of five developers you're suddenly able to affect 5x (well, not quite, but..) the change within a company. And yes, yes, I know - you're not actually doing the change, but you are responsible for planning, organising and maintaining it, which in many ways can be more valuable to the company.
On the other hand, without all of the actual programmers you would have no product and no profits at all. Neither group can function without the other, and pay should reflect that rather than the ridiculously unequal spread we just automatically accept as normal.
I read the blog post and my reaction is: they are saying that being a programmer is not a good way to become a manager, or to be successful in terms of what makes a manager successful.
As a developer who has also been a director and a team lead:
- Good programmers get pretty good wages in the current market. I wouldn't call earning 6 figures a "dead end job".
- The number of people you manage is important to a manager, not a programmer
- Becoming a CEO is important to someone that wants to manage a company, not to someone that wants to write code
There are many rewards in writing code, if that's the job you like. You can write code that makes a difference in a company which does something you agree on. You can create a new company or product from scratch. You can spend your career learning new stuff. All of this is exciting to me!
If your definition of success is a truckload of money, retiring at 30 and being the boss of 100 people... you shouldn't be a coder, but that's a very narrow (and let me add, totally shallow) definition.
The magic in being a carpenter or a painter or a builder of any kind(including programming) is that you can create something from nothing. The jobs may suck but I still have the power to, whenever I want, execute and actualize my ideas.
I pity those with vision but no means to at least prototype that vision themselves. That's dead end to me.
Builders are magicians and they're certainly not inoxorably linked to their boring day jobs.
This article reminds me a of a quote from Learn Python the Hard Way:
"Programming as a profession is only moderately interesting. It can be a good job, but you could make about the same money and be happier running a fast food joint. You're much better off using code as your secret weapon in another profession."
"People who can code in the world of technology companies are a dime a dozen and get no respect. People who can code in biology, medicine, government, sociology, physics, history, and mathematics are respected and can do amazing things to advance those disciplines."
"Of course, all of this advice is pointless. If you liked learning to write software with this book, you should try to use it to improve your life any way you can. Go out and explore this weird, wonderful, new intellectual pursuit that barely anyone in the last 50 years has been able to explore. Might as well enjoy it while you can."
You don't get to be 4bln $ companys CEO doing management job 9 to 5 any more that you are going to be Marcus Persson or John Carmack doing programming job 9-5.
Sky is the limit only for people who have right combination of skill and luck.
Seems more like a realization of the human life cycle. Personally I was so happy to get a programming job out of college and a good pay. After a number of years of good performance and promotions I'm eventually a senior engineer about to jump to principal engineer.
But that's when it hits you. You're still in your 20's... is that all you're ever going to be? Hey, the six figs is great, and you're on track to retire earlier than most, but was that it? Is that why you kicked butt in school for ~20 years, to write [insert field] code to make someone else rich?
It's a tough realization to make, but for most anyone, in most any industry, they'll get to the same place. Then you get to decide if you want to (1) make achieving as high a level as success as possible you're life's mission or (2) live a good life and let work simply be the source of your sustainable from M-F. In the end, we're all going to be worm food, so do something that matters to you in the time you've got left.
If you enjoy programming then going into management or becoming an architect is really a demotion to something less interesting and which likely requires much less skill. Becoming an n-th level uber-engineer really only makes sense if you believe that top down hierarchical systems of organisation are effective or worthwhile.
I don't find this a good point of view. The article goes, "if you love to program and make a decent wage and enjoy your work..." -- How many people really get that sort of satisfaction! Enjoy it if you've got it all. You can't expect the world to gift you millions if you aren't doing anything different.
Moreover, if someone really is an amazing coder, then there's a good chance that he/she started the career at a good salary level, while people in other profession were still grinding at work. Why complain now if you didn't stop to brood over the situation then. That's Karma :)
If you want to stay in your comfort zone that's perfectly acceptable. But don't whine! Comparing a programmer and a CEO, asking why one should earn higher for seemingly equal amount of work is not right. Being the CEO means taking risk, putting together business plans, qualifying ideas, cutting deals, leading teams, handling legal and financial work, hiring people for all functions. The blogpost itself is peppered with examples of people who took the risk and made it big. How many software engineers really want to handle all these complexities?
There simply aren't enough top spots for everyone. Some love to lead, some love to code... some love to do both. You make your choices. Of course some people do get lucky and some people even win by clandestine ways. But the focused, hard-working one has his place. Everyone doesn't want a mansion and Ferrari. I don't. Why make that a parameter for success!
I was a junior manager, manager, senior manager, chief operating officer, and hated it.
I even have a Master's of Management, which I enjoyed.
But I love being a senior analyst. I want to be a senior analyst forever. It's enthralling to me. I decline management job offers. It's not worth a few extra bucks for me.
I'm putting my savings toward a tech angel fund for when I'm too old to program. I'm working on side projects that might blow up big time one day. There are other options besides management.
No mention of finance? Working for the devil sure, but if you know your stuff they will pay and pay and pay for top class programmers. Also depends on your idea of a dead end salary.
If you enjoy what you do and can make £50k out of it then you should be pretty happy with your life.
I'm about to stop programming at my company because I have too much to manage as a founder. It makes me really sad and also pretty scared. Anyone else experience this?
1. Surround yourself with amazing people.
2. Carve out specific times for development work.
3. Focus on high-value projects.
4. Make it clear why a coding CEO is good for the company.
The author has a point, and one of the keys here is that the hierarchy for developer is pretty flat. All the jobs I've had except one very small startup the structure was like this:
Entry Level Developer (coding 100% of the time)
Senior Developer (coding 50%, managing 50%)
Manager, Lead Developer, etc. (managing 100%)
from the time you take a senior position, you're essentially being groomed to manage the team you're on. Whether you're another level between developers and your director/manager or simply the manager, you essentially stop coding.
I think this is the point. It's not so much that programming is a dead end, the inherit structure of most companies is flat relative to the position. It's an interesting idea, how do you give a guy seniority and a nice pay raise, without taking away what he probably loves to do? Obviously for most companies, it means increased responsibility and pay = managerial tasks.
For the last several years, I've been in this purgatory. I love programming, but every senior position means a reduction in my development role and an increase in managerial responsibility. The problem now is my skillset is at a place where I'm pretty much at the ceiling. It's hard to say, "I have a senior level skill set, but don't want to be a manager." I know my two options are to either bite the bullet and get into management (which to me is like adult daycare) or start my own company.
As of now, I'm already laying the groundwork for a startup, so I can transition out and do my own thing in the next two years.
"Whatever you do, you have to find a balance between doing what you love and making enough money to live the life you want, or what your family needs. It's not always an easy choice."
If you love to program the choice is easy. It's not like programmer wages are so low you have to live under a bridge.
Personally I'm psyched that people will actually pay me to program, because if they wouldn't, I would still be programming.
[+] [-] ChuckMcM|12 years ago|reply
What is more, managing is a different job than programming. Not a lot of programmers really internalize that until they try out being a manager. Architecture, and technical leadership in general, is still another job. It takes the ability to internalize massive amounts of detail, organize it into some coherent frame work and then communicate that framework as needed to various levels in the language they understand. So for programmers they need to know how the parts fit together, for managers they need to know how the parts integrate with the business process, for sales they need to know how the parts make them better than the competition (or equivalent to).
From an economic standpoint, being able to generate 1000 lines of syntax error free code per day, is perhaps the best possible programmer you could be, but its never worth more than 10 programmers generating 100 lines of syntax error free code a day.[1] So yes, there is an economic limit on your pay.
The good news is that generally that economic limit is much higher than the cost of living, and you can run at that limit for a decade or more, so you can be reasonably expected to save enough to retire and not have to work any more.
Dead end jobs are jobs that will never pay you enough money to save for retirement. Programming isn't one of those jobs.
[1] Yes the 9 women, one month joke applies for short sprints but in general not for longer coding projects.
[+] [-] andrewljohnson|12 years ago|reply
Value differentials for programmers derive from knowing the right code, not typing up any code that suffices, and I think pay reflects that. 1 KLOC of the right code can easily be better than 10 KLOC of the wrong code, even if the 1 KLOC is buggy and the 10 KLOC has no bugs.
I think programmers are valuable in a power law way, and this can be based on intelligence, domain knowledge, experience, math skills, and other things.
You can command a much larger salary if you either have technical/math abilities that almost no one else has (like a Google search engineer), or you can have an economically valuable product sense (like a proven, high-paid early start-up engineer), or you can know a domain in an economically useful way (many technical founders).
Programming is an army-of-one kind of job, even if you work in a larger team. Insightful programmers are better than dogged ones by orders of magnitude. I look for programmers who are creative, self-driven, and knowledgeable.
EDIT: I ended up editing this for the first 18 minutes it was live. Premise is the same, but I wanted to work on how I said everything.
[+] [-] zaroth|12 years ago|reply
For other coders, and this depends as much on the company and corporate structure as it does on the individual, they are the ones dreaming up new products, new approaches to old problems, layout solid foundation that 100s or 1000s of engineers can build upon, or specifying an approach and methodology which ships the product 6 months sooner with twice the functionality or half the bugs. They are the engineers that make your entire organization not only more efficient, but literally capable of things that they weren't capable of before. That's when you start getting into the same type of ROI from that programmer as that SVP is supposed to be providing.
The problem is most organizations simply aren't organized to promote and reward these engineers, and that's the "dead end". The last time I worked for a company I didn't own, literally the only way I could find to make any real money was to do my programming inside the sales organization, so I could be paid on commission for writing code for "major accounts" which would only later be taken up by the core engineering team and become a full-fledged product line.
Being a quota carrying engineer, with variable compensation and benefits like 'Presidents Club' was living in a different world from the engineering org. What I found was that, when working for someone else, in order to justify significantly higher pay, I had to be more directly driving increasing sales. Doing the exact same work inside of the engineering org, even with the same sales impact, would have paid significantly less.
[+] [-] nostrademons|12 years ago|reply
[+] [-] fragmede|12 years ago|reply
As a mere programmer, sure, but senior developers get well into the six-figure range, and with some luck, those stock options are worth quite a bit.
Sure, not everyone gets to work at Google at an early stage, but their IPO minted a good number of 'mere' programmer millionaires.
[+] [-] smsm42|12 years ago|reply
The problem here is of course as I noted this is very hard to manage and evaluate except way post-factum (and even then there are little of robust tools and methods to do it with any rigor) so it's hard to know for sure. But in many cases, "you know it when you see it".
[+] [-] eternalban|12 years ago|reply
[+] [-] dkarapetyan|12 years ago|reply
[+] [-] littledot5566|12 years ago|reply
[+] [-] netcan|12 years ago|reply
First, very few people become millionaire CEOs. If thats your standard for success, then every path likely leads to failure because no path reliably leads to that kind of success. Some paths are more likely than others, but none are very likely for the average person.
Part of the reason for flat-ish career trajectory is that programmers earn more at the start than most. Some professions have more of a premium on seniority and experience than others. Senior doctors and lawyers for a combination of the above 2 reasons probably have steeper salary growth than programmers. That said, good 10+ yrs programmers do earn pretty damn well. 10 years as a doctor or lawyer and you're still considered a youngin.
Anyway, if you're the CEO, you aren't a programmer. If he's claiming that being a programmer is not a good starting point for becoming a CEO, I think he's wrong. Look at all the over 40s who were coders at some point, many transitioned into management or something else. Programming actually offers a lot more of that kind of opportunity than anything else.
[+] [-] jamesaguilar|12 years ago|reply
Honestly, to be in the top 95% of incomes at the entry level and then to complain that you're in a dead-end job . . . it just smacks of a lack of awareness about what a real dead end is like.
[+] [-] the_watcher|12 years ago|reply
Am I wrong? To become a "millionaire" (using it as a synonym for wildly financially successful) doctor or lawyer, you generally make the majority of your money through either an invention or marketing skills. What career isn't a "dead end" applying this logic? Real estate, maybe?
[+] [-] pyrrhotech|12 years ago|reply
Even if you don't make CEO, you can get to several multiples of an engineer's salary with a 100% success rate with this plan. Let's face it, a software engineer is far from a top tier occupation, and for good reason. You can hire very high quality people with 10 years of experience in eastern Europe for $30/hour.
[+] [-] declan|12 years ago|reply
* Do you love to report the news? In most jobs as long as you continue to be a reporter you will likely have a limited set of promotions you can get...
* Do you love woodworking? In most jobs as long as you continue to be a carpenter you will likely have a limited set of promotions you can get...
* Do you love photography? In most jobs as long as you continue to only take photos you will likely have a limited set of promotions you can get...
Even in you look at areas like law, the top 10% of earners in the profession are not the ones who do all of their own legal research and brief writing. They're the GCs at publicly traded companies or equity partners at large law firms, where they're responsible for the work output of tens or hundreds of lawyers. Which means, yikes, they're managers too.
[+] [-] mturmon|12 years ago|reply
The managers set the wages. Therefore, they will be well-paid, and their contributions will readily recognized.
This is simplistic and does not explain everything, but I think it is a major ingredient.
[+] [-] chmullig|12 years ago|reply
However I entirely agree. By the definition of "who gets to be CEO," every job except senior executive is dead end!
[+] [-] frankpinto|12 years ago|reply
[+] [-] jw2013|12 years ago|reply
'Our parent company's former CEO started off as a programmer 25 years ago, switched to manager; in 15 years he went all the way to being CEO of a $4B company. After 10 years he retired recently with mansions and cars and no worries. Meanwhile I work with people who started around the same time and who are still senior software engineers.'
So the author just picks one person that happens to be the CEO evetually? What about the rest majority of managerial forks? They probably are stuck in corporate ladder and even may be fired already. The chance of a person working on a corporate managerial job evetually becomes a CEO is likely no higher than a tech person eventually becomes a CTO. So why just pick one CEO person to illustrate managerial role is more promosing than tech role? Comparing the max value of a group to the average of another group is unfair.
Also, I program because I love programming. Even if you gave me one billion dollar making me manage people for the rest of my life instead of writing code, I would still turn it down. If doing the thing I love is dead end, then I beg a different definition of dead end. Okay, just use author's definition of dead end as slight chance of moving up, but I just don't care as long as I love the job I am doing.
__
An interesting side note is programming as a hobby. But I would still rather programming both at work and a spare time, as long as the day job I do making me happy.
[+] [-] untog|12 years ago|reply
Once you become a manager in charge of five developers you're suddenly able to affect 5x (well, not quite, but..) the change within a company. And yes, yes, I know - you're not actually doing the change, but you are responsible for planning, organising and maintaining it, which in many ways can be more valuable to the company.
[+] [-] kumbasha|12 years ago|reply
[+] [-] sklivvz1971|12 years ago|reply
As a developer who has also been a director and a team lead:
- Good programmers get pretty good wages in the current market. I wouldn't call earning 6 figures a "dead end job".
- The number of people you manage is important to a manager, not a programmer
- Becoming a CEO is important to someone that wants to manage a company, not to someone that wants to write code
There are many rewards in writing code, if that's the job you like. You can write code that makes a difference in a company which does something you agree on. You can create a new company or product from scratch. You can spend your career learning new stuff. All of this is exciting to me!
If your definition of success is a truckload of money, retiring at 30 and being the boss of 100 people... you shouldn't be a coder, but that's a very narrow (and let me add, totally shallow) definition.
[+] [-] debt|12 years ago|reply
The magic in being a carpenter or a painter or a builder of any kind(including programming) is that you can create something from nothing. The jobs may suck but I still have the power to, whenever I want, execute and actualize my ideas.
I pity those with vision but no means to at least prototype that vision themselves. That's dead end to me.
Builders are magicians and they're certainly not inoxorably linked to their boring day jobs.
[+] [-] quickpost|12 years ago|reply
"Programming as a profession is only moderately interesting. It can be a good job, but you could make about the same money and be happier running a fast food joint. You're much better off using code as your secret weapon in another profession."
"People who can code in the world of technology companies are a dime a dozen and get no respect. People who can code in biology, medicine, government, sociology, physics, history, and mathematics are respected and can do amazing things to advance those disciplines."
"Of course, all of this advice is pointless. If you liked learning to write software with this book, you should try to use it to improve your life any way you can. Go out and explore this weird, wonderful, new intellectual pursuit that barely anyone in the last 50 years has been able to explore. Might as well enjoy it while you can."
http://learnpythonthehardway.org/book/advice.html
[+] [-] siscia|12 years ago|reply
Waitress is a Dead End Job, WallMart employs are a in a Dead end job, hairdresser is a dead end job.
Whoever makes > 60k $/yr is not a dead end job.
Please let's try to realize how lucky we (as programmers) are to live(/and work) today.
[+] [-] otikik|12 years ago|reply
Why the hell would I want THAT? Are you crazy?
[+] [-] scotty79|12 years ago|reply
Sky is the limit only for people who have right combination of skill and luck.
[+] [-] quickpost|12 years ago|reply
Don't forget hard work and persistence! :)
[+] [-] twistedpair|12 years ago|reply
But that's when it hits you. You're still in your 20's... is that all you're ever going to be? Hey, the six figs is great, and you're on track to retire earlier than most, but was that it? Is that why you kicked butt in school for ~20 years, to write [insert field] code to make someone else rich?
It's a tough realization to make, but for most anyone, in most any industry, they'll get to the same place. Then you get to decide if you want to (1) make achieving as high a level as success as possible you're life's mission or (2) live a good life and let work simply be the source of your sustainable from M-F. In the end, we're all going to be worm food, so do something that matters to you in the time you've got left.
[+] [-] motters|12 years ago|reply
[+] [-] nnain|12 years ago|reply
Moreover, if someone really is an amazing coder, then there's a good chance that he/she started the career at a good salary level, while people in other profession were still grinding at work. Why complain now if you didn't stop to brood over the situation then. That's Karma :)
If you want to stay in your comfort zone that's perfectly acceptable. But don't whine! Comparing a programmer and a CEO, asking why one should earn higher for seemingly equal amount of work is not right. Being the CEO means taking risk, putting together business plans, qualifying ideas, cutting deals, leading teams, handling legal and financial work, hiring people for all functions. The blogpost itself is peppered with examples of people who took the risk and made it big. How many software engineers really want to handle all these complexities?
There simply aren't enough top spots for everyone. Some love to lead, some love to code... some love to do both. You make your choices. Of course some people do get lucky and some people even win by clandestine ways. But the focused, hard-working one has his place. Everyone doesn't want a mansion and Ferrari. I don't. Why make that a parameter for success!
[+] [-] elchief|12 years ago|reply
I even have a Master's of Management, which I enjoyed.
But I love being a senior analyst. I want to be a senior analyst forever. It's enthralling to me. I decline management job offers. It's not worth a few extra bucks for me.
I'm putting my savings toward a tech angel fund for when I'm too old to program. I'm working on side projects that might blow up big time one day. There are other options besides management.
[+] [-] joshvm|12 years ago|reply
If you enjoy what you do and can make £50k out of it then you should be pretty happy with your life.
[+] [-] tomasien|12 years ago|reply
[+] [-] atarian|12 years ago|reply
[+] [-] WalterBright|12 years ago|reply
[+] [-] at-fates-hands|12 years ago|reply
Entry Level Developer (coding 100% of the time)
Senior Developer (coding 50%, managing 50%)
Manager, Lead Developer, etc. (managing 100%)
from the time you take a senior position, you're essentially being groomed to manage the team you're on. Whether you're another level between developers and your director/manager or simply the manager, you essentially stop coding.
I think this is the point. It's not so much that programming is a dead end, the inherit structure of most companies is flat relative to the position. It's an interesting idea, how do you give a guy seniority and a nice pay raise, without taking away what he probably loves to do? Obviously for most companies, it means increased responsibility and pay = managerial tasks.
For the last several years, I've been in this purgatory. I love programming, but every senior position means a reduction in my development role and an increase in managerial responsibility. The problem now is my skillset is at a place where I'm pretty much at the ceiling. It's hard to say, "I have a senior level skill set, but don't want to be a manager." I know my two options are to either bite the bullet and get into management (which to me is like adult daycare) or start my own company.
As of now, I'm already laying the groundwork for a startup, so I can transition out and do my own thing in the next two years.
[+] [-] kayloos|12 years ago|reply
If you love to program the choice is easy. It's not like programmer wages are so low you have to live under a bridge.
Personally I'm psyched that people will actually pay me to program, because if they wouldn't, I would still be programming.
[+] [-] BatFastard|12 years ago|reply
I have flirted with 10 of millions of dollars in wealth, but I don't seem to have the timing to make it stick.
But at the end of my life, if my kids can say he loved what he did, he loved us, and he loved life. I will be a lucky man indeed.