43 ms·
My Biggest Regret as a Programmer
- jareds 11y agoIf you can't retire comfortably as a programmer where was all your salary going? I enjoy programming, but also realize I'm limited in how much I will make. I'm ok with knowing I won't own a 5000 square foot house or buy the newest laptop every two years because I'm putting money away for retirement.
- collyw 11y agoNot everyone works in SV. In southern Europe I can live comfortably on a programmer salary, but can't save huge amounts.
- Swizec 11y agoHonest [tough] question: Why don't you work for clients that pay more? Just because you're in Southern Europe doesn't mean the person paying the invoices has to be. I have friends who save ungodly amounts (in the 40k/year range) and their employers/clients still think they're damn cheap. Income arbitrage. Look it up :)
- Swinx43 11y agoMind me asking where most of their clients are located as well as themselves?
- ddorian43 11y agoExample you work for NewYork/SanFrancisco/etc company and live in Italy. You make $80K and save half of that. Depending on how good you are as a developer + finding better clients you can live in a cheaper country, say Bulgaria/Albania/etc and make more than 80K+(ex Salvatore Sanfilipo though he's special). Usually the more you get paid by the clients, the better they treat you as a human/professional. The clients who will pay you the most, are the ones that pay the most local-salaries, which is Sf,Ny,Washington etc, major us-cities. Maybe London a little too, but probably not (I don't know london having 150K salaries locally?).
- Swinx43 11y agoThank you very much for the reply. Yes if you move to (or live) in an area in europe that is cheaper than say London, Paris or the other big cities (and most places in Scandinavian :) ) then this is an option. At the moment really good developers in London can hit £80k+ per year in full-time salary but living costs locally are insane. If you are contracting in London you can make good money but you are still hindered by the high living costs. One big drawback is that I have seen very little remote work opportunities for London companies to anyone not living locally. This gets more pronounced the closer you move to the Data Science / Business Intelligence space, but even for Web Dev etc it looks to be not that common. So as you say it might have to be the big cities in the US as it seems the US are much further in accepting remote work than where I currently am.
- Swizec 11y agoExactly what ddorian43 said. My particular friends (and me of old) are located in Slovenia, clients are in San Francisco. You can have a decent life in Slovenia for $20k/year. You can easily get a gig in San Francisco for $60k/year. Probably even easier for $100k/year because of the whole signaling thing. I wasn't able to save as much as my friends are because of lifestyle inflation, but I sure had a lot of fun. My margin isn't as high now that I live in San Francisco, but my glass ceiling is higher. Tradeoffs :) PS: as you can infer from above, you can also always move. Nobody says you have to stay in a bad economy.
- Swinx43 11y agoThanks for the reply and the info provided. My personal opinion regarding the ability to move from a bad economy is that this is not always as easy as it looks. Even if you are european with an EU passport you are very likely to come up against some high language barriers etc. Although that could be a challenge some people might jump at. For example I know that the UK (and mostly London) is extremely tolerant of non native English speakers. However from experience I know this will count against you when people are looking to hire (I was on the hiring side at one point so know how my managers perceived this.) Germany is again another example where unless you speak really good German you will have some pretty tough challenges. I had a friend who grew up speaking German as a second language, who completed his masters in Germany, be told by his boss to go for German writing classes if he wants to get anywhere in their company. Europe might be one big open job market but Language honestly makes it far more difficult than it seems at first. This also goes for settling into your new country even if you are working for US or UK companies as your day job.
- Swizec 11y ago> you are very likely to come up against some high language barriers etc. This is not a problem I personally experienced for English speaking countries. Started learning when I was in kindergarten, always immersed in the culture via TV and internet, did English and English writing as a hobby pretty much since starting high school. Until they hear my accent, most people assume I'm a native speaker. So I lucked out on that front. The hard part for me was the visa. But that is also a solvable problem.
- not-much-io 11y agoI work for a international company, mainly based in the US. I get paid what a local developer gets paid, our chinese employees get paid what the local norm is there etc. Do other companies just outright decide salary based on where the company HQ is? Call me cynical, but I'm a bit skeptical that a company would pay more than they had to. Note: Assuming of course your role is not super vital for the whole company or some such.
- morgante 11y ago> Call me cynical, but I'm a bit skeptical that a company would pay more than they had to. Companies will not pay more than they have to, but if you demonstrate your worth they will be happy to pay it. I make high six figures and am completely location independent.
- Swizec 11y agoIf you are as valuable as a local developer, then they will pay you as such. It's a business. They pay for value. And no, your salary/rate isn't defined by where the company HQ is. That part defines their price tolerance. The price is defined primarily by how much you ask for and what you can offer in return.
- UK-AL 11y agoIts set by supply and demand. You need competitive markets to reach your value. If you have no other opportunities and no one is offering anything better than you have to accept that. Than they capture the rest of the value.
- iopq 11y agoBuying the newest laptop every two years is what like $2000 every two years? That's only $1000 per year, hardly a dent in a programmer's salary.
- icebraining 11y agoThat's almost a month's salary for a junior/mid-level programmer in this corner of Western Europe.
- dolel22 11y agoAssuming the programmer doesn't sell the current laptop that he's currently using.
- spacecowboy_lon 11y agoWestern europe realy thats less than than a minimum wage job in the UK
- bryanrasmussen 11y agowhat corner of Western Europe is that?
- ionised 11y agoUK probably. Developers get paid dick all here.
- icebraining 11y agoSame timezone, but better weather :)
- jventura 11y agoPortugal! :)
- fsloth 11y ago
- hkmurakami 11y agoEven in SV, we should remember that programmer salaries have roughly almost doubled in recent years. I remember my school stats being that CS new grads made an average of about $70k or so out of school. Pretty sure that number is way up at a top program.
- mason240 11y agoPlus, with 3-9 month contracting gigs, part time freelancing, and remote work, we have more semi-retirement options than any other career field I can think of.
- ryandrake 11y agoCould be any number of things. An expensive health condition, personal obligations (alimony, child support, etc.) putting kids through school, an expensive mortgage, student loans, on and on. I've been working for close to 20 years and I'm pretty terrified when I look at how little I've actually been able to save.
- okyup 11y agoI agree that programming is a dead end job. It's popular and relatively easy. It doesn't require any special skills. Anyone with an average IQ can learn it. There's low cost and barrier of entry to getting started. It's fun and addicting when you're a kid. Then you get trapped and it becomes monotonous. There's only so good you can get at programming. Beyond that, most of your time is spent on debugging trivial issues or trying to keep your knowledge of the overwhelming amount of tools and platforms up-to-date. If you're a really great programmer you might be able to get 3x as much done as an average programmer, but you won't be able to get 10x as much done to warrant 10x higher pay. Programming is just one step above working on an assembly belt. There's plenty of competition for your position including from cheap foreign workers from the 3rd world and, since your job can be done remotely, you're even more expendable. That technology is a luxury, makes your position nonessential. You will be worthless if Western civilization ever fails and drops out of the Technological Age. When you stare into computers all day you aren't developing social skills or really any skills that would be applicable to most other jobs. If you don't want to be a programmer forever, the sooner you stop wasting your time staring into computers, likely, the better. If you want to be highly valuable, you need to have skills that are rare and desirable, that make oodles of money or change the world. Such skills are usually of a social, political, or otherwise creative nature - things that can't be learned from a textbook by anyone capable of logical thinking. Programming is simply grunt work. It's the grunt work of dealing with the disarray of present day technology. As we advance and become more organized and cohesive, the need for programmers will be reduced.
- StavrosK 11y agoFound the manager!
- Gonzih 11y agoSo programming is not creative in your opinion?
- okyup 11y agoIt's barely creative. You have a small amount of room to work within someone's requirements. You can be the guy creating the requirements, but then you're better off specializing in that and letting someone else do the grunt work.
- gtirloni 11y agoWhile I agree that it might be harder for full-time developers to have a lot of material assets (but still make a decent living), that simply is not the case when it comes to impact: just check all the open source projects that are integral to everyone's life these days.
- pavlov 11y agoNot everyone wants to contribute to open source projects. I can see two reasons: 1) Major open source projects are usually sponsored by a corporate parent that employs full-time programmers on the projects. The company steers the project. Independent contributors tend to be young people trying to fill up their GitHub profile because a blog told them that's how you do a résumé these days. 2) Small open source projects are often dominated by young people trying to fill up their GitHub profile because a blog told them that's how you do a résumé these days. Experienced programmers may not want to get involved in that.
- gtirloni 11y agoStart your own project.
- ansgri 11y agoEither nobody will use it, or you have to be good in marketing. Speaking of which, you'd earn a ton of money being a good programmer with good marketing skills. These can be good consultants.
- fsloth 11y agoIf the goal is to gain leverage on the day job and financial security, statistically speaking that is a poor advice. If the goal is to learn about public projects and write something one needs and feels important, then, sure, that's awesome.
- Starsgen 11y agoAs a programmer, this kind of reads like a sore lottery loser. I as well didnt score big working at one of these companies, nor did I engage in leadership roles, but thats the way the ball bounces. Also, I know programmers making 50k, more than those making over 100k, but I live in the midwest. Cant save much, but I can take care of my family and that is what is important to me.
- clockwerx 11y agoIts more about autonomy: after the basics are taken care of, how do I avoid depressing things caused by other people affecting me?
- siscia 11y agoIn my opinion all the article is about how he is NOT a "sore lottery loser". IMHO he is trying to explain how being just a programmer, didn't let him change (in better) the faith of the companies he used to work for.
- ryandrake 11y agoThe frustrating fact in technology is that your career is pretty much a lottery. I know people I went to undergrad with who lucked into the right company and are now independently wealthy. Most of the rest of us are still slogging away, having worked for a string of non-rocketships. Nobody at that time (late 90s) knew which company would mean early retirement, and which ones would go bust. It was a total crap shoot. Try browsing the "Who's hiring" threads here. If you're looking to join a start-up, 99% of them are companies you've never heard of. One of them will be the next Facebook, and if you go work for it, you'll end up set for life--but there's no way to know and chances are you're going to pick one of the many who will go bust or just sputter around without making money for a few years.
- meric 11y agoI'm into my third year working full time programming. Thanks for the heads up. Will retire sooner.
- yitchelle 11y agoHis other post about his view of the downside of being a programmer is also relevant here.. http://thecodist.com/article/programming_is_a_dead_end_job http://thecodist.com/article/programming_is_a_dead_end_job
- jkot 11y agoI think the right path is to be both a manager and a programmer. Starting business is getting easier and one person can manage both.
- mtberatwork 11y agoStarting a business is fairly easy, especially one that is service-based with low initial capital requirements. Maintaining a business for the long term is an entirely different beast.
- owenwil 11y agoI'm curious what the path is to move from developer into a CTO/VP/Product Lead type role, for anyone here who has made the jump from nuts and bolts. How did you go about it? Did it just happen, or did you actively need to push for it? Would love to hear more from someone experienced, because from where I sit, it's hard to figure out how to jump that divide.
- rheeseyb 11y agoOne possible path is to push for a senior developer role and then afterwards a tech lead (or similar) role (perhaps not at the same firm). That will then open up CTO or dev manager roles in startups. It won't "just happen" - it will require a whole load of work on your behalf (you'll need to learn your way around a broad selection of technologies rather than focussing on mastering one language and one platform, as well as learn a number of managerial skills including effective communication, negotiation etc.). Good luck! Disclaimer: I'm not a CTO but have been offered a number of CTO and dev manager roles at startups and small companies.
- friendzis 11y agoShort TED-like version: do not follow, be followed. Easier said than done :) I know what it is like to transition from an intern to sort of Product Lead in a small shop. Such role will not be simply handed down, though the opportunities will. Collect worthiness points. Dress for the job you want, not the one you have. Some possible general opportunities I see (not everything applies in every company): 1. Assess whatever is important to your direct management and be reliable. The idea is to have more or less consistent performance. 1.1. e.g. Say they think feature A takes 100 hours, feature B takes 50. You know they both take 75. Do A first -> spend 25h on B -> release A -> finish B. 2. Make others happy. This is important to reduce resistance for growth. 2.1. If you have options to make solution elegant and easy for others to use/integrate with, take the latter. Code has to be maintainable, but if you are the sole maintainer, others will judge public API, not the internals. 2.2. Be helpful. Do not help with every struggle everyone faces, you have your own tasks (and to maintain worthiness points), but if you personally can do this task in an hour while it would take the one assigned much more take the responsibility. Maybe their solution is suboptimal or they lack knowledge/expertise. 2.3. Make yourself authoritative source. Do not give advice/answer where someone else could give better one, but rather direct the question to someone who could actually answer that. Unless it is an opinionated matter, e.g. git vs hg. 3. Increase you scope. 3.1. If you see a better solution or problems down the road - communicate those. Might be an oversight or might be judged unimportant by management. Show that you can assess the situation and that you care. 3.2. If you see an opportunity to work on broader issues - take it. This might mean jumping to a smaller project, but taking [small] managerial and architect-like responsibilities. 4. As a new hire you have a unique possibility to grow really quick: instead of doing what you were hired to, you can attempt to prove being able to take "higher" role. Most probably this would mean taking more responsibilities for the same pay. 5. Collect trophies. 5.1. Finish projects. Then you can say "I've done that" instead of "Worked in a company doing that". 5.2. Jump ships if the company/product is going to fail, but assess. Even if Tesla would have failed, engineers working there would still be valuable for creating awesome product. There is a difference between product failing because of being flawed/suboptimal/unsuitable for the purpose and failing because of poor marketing, sales or other market reasons. Git quite possibly would have failed as a commercial product.
- Slix 11y agoWhat does the "non-programmer"'s job look like on a day-to-day basis? I like coding because there's relatively little time management. It's not super chaotic except the few instances where there's a deadline. You just have to think and code, preferably in the zone for as long as possible. Being a CTO or CEO sounds a lot more painful to manage. Lots of deadlines, people to manage, people demanding things on time from you.
- calibraxis 11y agoDefinitely good advice. Corporations are often not structured for you to have an impact outside your tunnel: they're too top-down. (Of course, many workers internalized that during school, which was much the same, so they seem happy with the arrangement.)
- pmontra 11y agoThere are many more jobs as programmer than as CTO/CIO/VP. Furthermore, what makes you think that you would be as good at politics as you are at coding? People in management positions are often in competition with each other on a kill or be killed basis. OK, not that extreme but you get the idea. Politics is important in that game. There was also an interesting post on HN a few days ago about the hurdles of management: https://medium.com/the-year-of-the-looking-glass/unintuitive-things-i-ve-learned-about-management-f2c42d68604b https://medium.com/the-year-of-the-looking-glass/unintuitive... Number one point from that post: "Imagine you spend a full day in back-to-back 1:1s talking to people. Does that sound awful or awesome?" If the answer is not and "long for the days when you were able to manipulate something directly — pixels, words, lines of code, bars of music — quietly and with headphones on", management is not for you and your management career will suffer.
- ryandrake 11y agoAnother way to look at it: Do you hate those one or two hour-long meetings that management puts on your calendar and insists you go to? Now imagine your entire day from 8AM to 6PM chopped into these hour long meetings, 5 days a week. If you think that would drive you crazy, don't get into management!
- nunez 11y agoIf you have 1000 jobs that pay $100/hr each and 100 jobs that pay $1000/hr each, and you qualify for both (the former more easily than the latter), which would you rather try for?
- tamana 11y agoAnd there are 999 people competing for a $100/hr job, and 1000 people competing for a $1000/hr job
- Zelmor 11y agoHe would have been unhappy with the other choice as well, because then it is the programming side he would be missing out on. I would advise everyone to read The Road Not Taken by Robert Frost. http://www.poetryfoundation.org/poem/173536 http://www.poetryfoundation.org/poem/173536 You chose one option out of many, and the others may no longer be a possibility. However, the writer's unhappiness does not spawn from his inability to be successful at what he does, but what the never-manifest possibility of what could have been. Maybe he would have been terrible at that kind of work. That doesn't matter, because in his head, he had the skills but made a bad decision. Instead of looking at what he has achieved in his life and career as a programmer, he is pondering what could have been in a reality that is not, never was and never will be. This kind of thinking leads one astray. >My sister started as a programmer 30 years ago but jumped into management [...] My sister has 10X the assets I have. I just have to say this: So typically american.
- forgetsusername 11y ago>My sister has 10X the assets I have. That gave me pause as well. Work 10x as hard for 10 assets? Not worth it for everyone.
- brianwawok 11y agoDo you think his sister worked 10x the hours? So say a 400 hour week?
- WesleyJohnson 11y agoWorking harder doesn't always mean working more hours. After 8 hours sitting at a desk programming, sometimes I realize how lucky I am to not have to hand-load semis all day in a blistering hot distribution center. And then sometimes, after a particularly grueling programming session working on the same bug for 8 hours, I yearn for a day of work where I can shut my brain off and chuck some boxes. 'Harder' is subjective.
- fibonachos 11y ago
- byw 11y agoI keep hearing stories of non-technical managers making elementary mistakes when it comes to technical decisions. Many of the things are so widely established, they can be learned by spending a little time reading a few books, talking to a few people. So I have to wonder what the obstacles are here. An aversion to reading? Inflexible management dogma? Distractible lifestyles? Poor critical thinking in general?
- Ma8ee 11y agoThose things that we don't know that we don't know. If the managers don't have have appreciation for that what their underlings do require some skills then they won't bother to try to learn.
- jzwinck 11y agoIn many cases a non-technical manager will report to a chain of other managers who are also non-technical. It should not be surprising that the criteria on which they are judged do not include technical decision making. Instead, important metrics may include size of team, number of hires per year, revenue of business unit, number of customer-reported defects, etc. I worked at a place where bugs reported internally were not eligible for the highest levels of severity, because after all no customer had noticed (yet). So mistakes reported by customers counted against managers, but ones caught by developers did not, regardless of how much effort was required to fix them.
- humanrebar 11y ago> It should not be surprising that the criteria on which they are judged do not include technical decision making. Absolutely. Even individual technical contributors are judged on vague criteria. I'd argue that 'being liked by your manager' is more important than being technically excellent. > So mistakes reported by customers counted against managers, but ones caught by developers did not, regardless of how much effort was required to fix them. Exactly. Also, I've never seen technical debt (myopic technical decision-making) affect evaluation of management.
- sokoloff 11y ago
- kluck 11y agoManagement has always politics involved. And politics get ugly fast, strange personalities fighting over small stuff with minimal importance. Now exchange "Management" in the first sentence with "Programming in a team" ;)
- djipko 11y agoRight, but as the article points out - you get compensated (10x) better for it in the management track. There are outliers of course, but they are just that - outliers.
- Chyzwar 11y agoIt is biased. Middle management makes usually less that senior programmers. His perspective is biased, he compare senior developer to VP/CTO roles. It way more difficult to become someone high in management structure. Since manager ratio is 5-10 to one manager, and high level manager is for every 50-100 employees you need to very lucky, in right place and time.
- studentrob 11y ago> all I will be until I croak is what I am now Aw, this is a sad story. I'm sure there are more positive things in life this guy could look back upon. Starting his own company sounds cool to me and he is obviously a caring brother. > So yes I regret not taking that choice and seeing where it would have led me, yet I would have missed all the fun of writing code and the soul-draining jobs that often come with it where you can’t really fix anything. I believe there will more often be good jobs than soul-draining ones for programmers in the future. Tech people will become better leaders and create better positions for young programmers. Even janitors are sometimes very happy in their positions. It depends on management and your state of mind. I have a little bio myself on the subject of being "just a programmer" [1]. Everyone makes mistakes and wonders how life would've been different. The trick is to not dwell on them. Stay curious, take breaks, read some self help books, seek out new friends and activities, etc. It's not easy but a little hard work to get out of some bad habits can feel great. [1] http://robhawkins.info/ http://robhawkins.info/
- askyourmother 11y agoRegrets as a programmer: 1. Every piece of unpolished, unfinished code that management decided should ship to the customers regardless 2. Ever using node and npm. 3. Seeing and living through the train wreck of J2EE and the XML horrors that ensued. 4. Not seeing the beauty in simple functions early on. Not everything needs to be a class or module. 5. Most business problems are political/social - regret every time we were called in to try and provide a "technical" band aid to those same problems. 6. Again, any project with node and npm.
- daxfohl 11y ago>1. Every piece of unpolished, unfinished code that management decided should ship to the customers regardless Looking back, I view this as a pro. You get to work on more projects that way. I spent five years working with an "ideal" manager that trusted coders to make the deadlines. When I look back on that, while it was the only time I've ever gotten to code things to "perfection", it was also a big black hole of working on a single project for way longer than it really needed. Of course there's a limit beyond which the lack of polish and finish makes everyone less happy.
- seivan 11y agoI'm currently in this situation. My manager(s) and colleagues have been angels and incredibly patient with me rewriting the same library several times. I just need to get this out of my system and they seem to have understood. But you're right, it's not always best to set your own limits.
- trvz 11y agoThat is a very reckless attitude - people will use that software, and lose much more time on the problems than it would've taken for the programmers to fix them. And then we go and criticise Apple and other upstream vendors for doing the same thing…
- rajeemcariazo 11y agocould you elaborate more about using node and npm
- scandox 11y ago"I can still feel the regret of not seeking the challenge of just leadership." He's right. Programmers need to get into leadership, because they have a chance of knowing what "just leadership" might look like. When non-technical people lead technical people, the chance of getting into a good flow is less (though by no means impossible). The problem is that many technical people are not "people" persons. Part of that may be personality, some of it is background, but a lot of it is study and thinking too. My brother builds huge buildings. He's very proud of them. He often (gently) gives out about the marketing people and their mad notions and lack of technical understanding. But, as I point out to him, if they don't sell the apartments, he doesn't get to build the buildings in the first place. Ultimately, therefore, if you're going to put your skills into a corporate enterprise (of any size), you need to accept that it all originates with selling. "Business is simple", says Alexandre Dumas, "it's other people's money." Progammers should either accept that they love playing in the intellectual sandbox of coding and that the material rewards will be variable. OR they should seek leadership.
- RodericDay 11y agoThis is pretty ridiculous. Lawyers, Bankers, and Doctors get to play in intellectual sandboxes, and they get paid really handsomely for it, even if they are completely anti-social people. The reason we get paid less is that we don't have any of their safeguards: - Lawyers aim to become partner. It's very socialist-y this way. The goal working in a firm is to become an owner of the firm and share in its successes. - Doctors have a guild. They keep their bottom end tight by regulating who becomes a doctor, keeps them always in demand. - Bankers know how much things are worth. That's their business. They know how much they generate, even if they are far from the point of sale. They also aren't squeamish about asking how much their co-workers make, and negotiate aggressively. Programmers should start realizing that the main reason we make little is that we undercut each other a lot, and are outright hostile to many tools that other professions use to safeguard their position.
- rb808 11y agoI think Lawyers and Doctors I think are much similar to programmers than you think. Regular front line grunt work employees work long hours and get paid decent professional wage. As you said they can get promoted to Partner, a partner is a part owner of the business, they don't do much technical work, they do a lot of management. There are similar opportunities for Software people to start small companies and make money too. its not quite the same as there aren't the big company partnerships, but big startups with employee stock are close. The biggest difference is the half life of knowledge in Software is much shorter.
- d--b 11y ago> I could have been almost anything Also, he could have tried it and lost it all. You can regret not trying, but you can't regret not winning!!
- educar 11y agoI really enjoyed this honest article. The zen is programming is a tool and not a goal itself.
- forgottenacc56 11y agoThe best time to start a project was 20 years ago. The second best time is now.
- jsnider3 11y agoThat's the same thing they say about investing in the stock market.
- amelius 11y agoMy biggest regret as a programmer: not sitting in correct posture for 30 years :/ On the bright side: I'm correcting this now, and I really feel like a different person.
- henrik_w 11y agoIt didn't take me 30 years, only 15, but I did develop problems - RSI in my arms. Luckily, it recovered, but it took a lot of effort: http://henrikwarne.com/2012/02/18/how-i-beat-rsi/ http://henrikwarne.com/2012/02/18/how-i-beat-rsi/
- Chris2048 11y agoAs a 30yo dev, I started getting pains in my wrist, and numbness on one side of my hands (the pinky and finger-next-to-it). I switched to a ball-mouse at work, and no longer get this. I believe the large amount of time using a mouse had compressed and damaged my nerves somehow. I'd recommend the switch for anyone spending hours with a mouse.
- dcw303 11y agoDo you mind me asking, at what times did you feel the pain? I've been having something similar but always during the night, so I had not made an association with RSI.
- Chris2048 11y agoUsually after using the mouse or my hands for a couple of hours or so while. If it started happening, anything that compressed my wrist (or something) could begin to set it off. Do you have anything on or around you arms when you sleep (or lie on them?).
- dcw303 11y agoAh, I see. Thanks. Yeah, I'm probably sleeping in a weird position. I have a history of doing that.
- arvinsim 11y agoI have been working as a programmer for 8 years. I agree with him. It is exciting to learn new things and implement elegant code but if the bottomline is money, my experience is that you have to get into leadership roles.
- dunkelheit 11y agoOuch, that was a sad post. "Yes, and actually we have two ladders of advancement here - you can deepen your technical expertise and go up the technical ladder if that is your thing", an enthusiastic recruiter tells you. But when you reach the bifurcation point, the management path seems fairly clear - just try and get more people under you and you will be ok, but the technical path is murky as hell. I'd argue that this third path (becoming a genuine world-class expert as opposed to staying "just" a programmer or going into management) is the hardest. Not in the least part because at most places real technical challenges are scarce (and management challenges are in abundance). I would love to hear some thoughts on how to pull it off.
- tfinniga 11y agoI imagine that a core skill is the ability to communicate clearly and prolifically about technical topics to a mix of technical and nontechnical audiences.
- buro9 11y agoMy biggest regret is not shipping more. Sometimes the cause of that is management, and I long to be on that side defining the missing specs, building out the absent project plans, speaking to customers, allocating resource, championing it all and pushing it forward. At those times I despise being a programmer because being a programmer isn't enough to get product shipped. Other times (but it feels less frequently) the cause is the programmer. And we all know well enough how frustrating it can be to watch someone not do what you think is easy, and how quickly we want to stop managing, stop designing, stop everything and just code our way out of whatever mess a project is in. A sole programmer is not usually enough though, and I stray back into wanting to manage so that we can ship. Either way, just having that desire to ship, to make a difference, I feel has kept me in a limbo where I straddle both and am frustrated and hampered by both, and never quite shining at either. Still I regret not shipping more, and rush into the areas that I hope will help product be shipped. My greatest career joy was running my own company. I know I failed at the sales and marketing, but we did ship. We shipped a lot, and made a lot of people happy. A massive achievement in a short amount of time, and a good mix of both management and programming. A joyful time even though it was hard work for little pay. It's a shame positions that really blend these skills seem quite thin on the ground or that they don't really value those who can move from one to the other.
- daxfohl 11y agoSo true. I think a lot of programmers (myself included) fall into the pit of wanting to perfect their code too much. As you look back on your career, you realize ten shipped projects with decent code would've been better than three shipped projects with perfect code. (This is probably true of more than just programmers and code too).
- wainstead 11y agoSeventeen years ago a programmer much senior to me told me: "Don't let the best be the enemy of the good." It's probably the best programming advice I ever got, and I should look him up and thank him. More formally: https://en.wikipedia.org/wiki/Perfect_is_the_enemy_of_good https://en.wikipedia.org/wiki/Perfect_is_the_enemy_of_good
- shade23 11y agoI would have this dilemma too.The choice of whether to take up a Technical Management role to remain in coding is something every hacker will face.I say hacker because I consider a hacker different coder on the basis that a hacker loves what he is doing.What you need to realise is that context matters a lot: For example,from the OP's link "When I pointed this out the manager said [...] Eventually I gave up and left. This change could be brought about without being a VP/CTO too.It would involve taking up more responsibility than what your current job description dictates.If you as an employer care enough to bring about change and be considered responsible for such changes ,then you will be able to bring about the change you wanted. The OP also says "(I knew several people) but they were afraid to make any changes".This shows that those people were not ready to take up the responsibility for the matters discussed.I feel that the difference between a programmer and the rest of the professions that the OP mentions is the difference between "People Management" and "Code Management".Something which commonly intersects in the role of a "Technical Lead". Also keep in mind that it commonly happens that one of the first few programmers become a CTO? .That is not only because of the requirement of such a position but also a genuine care for the product which leads to him shouldering responsibility for the same. So now if you were doing this responsibility shouldering and people management for 10 years,you cannot expect yourself to up-to-date and be tech savvy forever. Some people move to that position to also ensure relevancy. -It is much harder to remain relevant as a programmer in comparison to being in a managerial position. TLDR;It all depends on how much you like to code in comparison to see through a finished product which sells.Both are symbiotic fields which need specialists in each area.
- xiaopingguo 11y agoOnce you deal with FOMO (the fear of missing out) you are then free to deal with all the rest of your fears, leading to much higher life satisfaction. Stoicism, eastern philosophy (esp. ZhuangZi), travel and experience of other cultures, all help a lot.
- imtringued 11y agoYour biggest regret should be including pointless google translate and twitter integration to a perfectly good website that would otherwise load within less than 500ms instead of two seconds.
- yason 11y agoThey say that making money is easy but only so if it is the only thing in your life. If you are willing and able to make tradeoffs that help you to focus on what is financially lucrative, then it's probably easy to find the highest paying path available. Factor in the rest of what's in your life and what you want to do; not so easy and usually it is "the money, and..." that people want.
- thegayngler 11y agoIm of the belief that technical people and managers should really be at the same level financially and otherwise quite honestly. That's really the only way I can see the whole manager/programmer thing can work out for the benefit of everyone. When you have non-technical managers or technical-managers who's skills are out of date making decisions on behalf of the programmers you end up with a mess. That is often the case. The people who you hired as experts are the ones the management should be listening to... not necessarily managers who really only function as a way to grease the communication channels. I know at a lot of places I've worked managers only function is to keep programmers out of meetings so they can do the real work. Management is really a bad title. I think the mgmt structure needs flattening and the current system pits management against programmers... I think this has to change....as well as the whole management track vs technical track. The technical people are what you need to build the products. No amount of managers is going to get you a product without a programmer to build the products. Companies are so obsessed with hierarchy that they lose themselves in the politics of it all. I think companies and people need to embrace the idea that programmers and communication people are at the same level in terms of financial benefits and in terms of treatment at a company and that technical experts should be making decisions not necessarily managers.
- jt2190 11y agoIronically, the only way to fix this is for conscientious programmers to go into management, where they will have the power to actually change things.
- nunez 11y agoThe issue though is that many (most?) developers/engineers avoid management like the plague since it involves having to actually deal with people
- lerpa 11y agoNot just dealing with people but it's a waste, why become sometimes at best a mediocre manager when you are already a decent developer.
- g8oz 11y agoMastery, Autonomy and Purpose is what we all want. Bad leaders are getting in the way of his Autonomy so he feels like he lost his Purpose. Hence the longing for an objective metric like money. It's a poor substitute.
- alexc05 11y agoOhhh... man. This is a bit tough to read. After 20 years in programming I've recently started looking into going back for a CS degree (masters or undergrad). But this guy makes me wonder if I should reconsider the MBA option.
- debacle 11y agoIf you've been programming for 20 years, unless you're hoping to work in IC or processors, CS isn't really going to help you all that much.
- DrNuke 11y agoNot only programming: all salaried jobs end in tears if the employee realises there is more than a paycheck in life but, that said, he/she can't afford to try and startup as an entrepreneur.
- drzaiusapelord 11y agoI think about this often. Chasing a big salaried job is like being the tallest midget. I think if you want to really play the big money/status game then entrepreneurship is going to be the bigger prize. Getting an MBA is the risk-averse option and probably won't get you that big salary you're dreaming of. There are just too many externalities here. His cites his sister, but was she promoted often to get up gender quotas, that he as a man, would not qualify for? Is she better connected than him? More attractive? Better natural social and empathic skills? How much did just luck play in her success? I think you probably have a better chance of starting a successful business than fight your way to a C-level job.
- arturadib 11y agoObviously this is a very personal matter - i.e. if you don't enjoy managing people and prefer to tinker with, learn, and build things, pursuing a management career is the worst choice you can make from a happiness standpoint. It's also not generally true that managers (even those with fancy titles) are more financially successful than engineers. By definition, there are far fewer VP/Director level positions than there are engineer positions, so everything else equal, as an engineer you have a lot more opportunities to pick and choose where you want to work, and that can be very financially rewarding. I personally joined Twitter over a year before its IPO, and the financial reward there transformed my family's life. I am also incredibly proud of the products I've built over the years, whereas most work done by Directors/VPs at smaller companies wouldn't even come close to the reach and visibility of the work me and my fellow colleagues have done. (Take a look at my resume for added color: http://linkedin.com/in/arturadib http://linkedin.com/in/arturadib). One could easily imagine an opposite article written by someone who was a VP at several not-so-successful companies and never had anything to show. Above all, choose what makes you happy. And if you're so fortunate as to have several equally fulfilling choices, and if financial reward matters to you, pick a company that is high-growth, hopefully pre-IPO, and negotiate at least a market-average stock compensation (glassdoor.com is your friend here). <3, -A.
- riazrizvi 11y agoAbove all, observe the #1 Rule of Business, similar to the #1 Rule of Dating: Always Be Successful. Then his choice would have worked out well no matter which path he would have taken.
- allsystemsgo 11y agoEven being in California? Salaries I've seen have been not that great considering the cost of living. If I can get 6 figures in the southern states, why would I go out to Twitter/FB/Google etc?
- chillacy 11y agoI don't know if the parent will reply, but I've heard of twitter giving out million dollar stock grants to senior engineers _after_ the IPO. I can only imagine that pre-IPO stocks would have been even more.
- kdamken 11y agoI think this guy may actually just be dumb. Yes, C-Suite positions make more money, and get to make more decisions. If he wanted to do that, it sounds like he could have at any time. Of course just being a programmer would earn you less. > Being a programmer for nearly 35 years... > I doubt I will ever be able to really retire. How do you have a good paying job like being a programmer/the other high level gigs he mentioned for 35 YEARS and still not have the assets to retire? How do you manage your money that poorly? Did you buy a house that was way too big? Some brand new cars you have a nice, several hundred dollar monthly payment on? Did you not save 30-50% of what was probably a very fat paycheck? It's one thing for someone working minimum wage their whole life to not be able to, but barring some crazy expense like medical bills, people with white collar jobs don't really have much of an excuse.
- ulkesh 11y agoI agree that materialistic thinking and living certainly contributes to lack of savings/retirement assets. But so does simply having a family, especially as a single parent or when the spouse doesn't work. You might say "well, the spouse can go work," but it's rarely that simple considering the costs of child care and how it may weigh on the spouse's potential salary. Then factor in if the spouse can even get a higher paying job to offset said costs. Then add in the trouble with the spouse even obtaining a job due to not having a bachelor degree. Everything feeds into everything else. No one situation can easily have the same resolution as another situation. I agree that there is no excuse to not trying. But there may be reasons for not succeeding.
- quaunaut 11y agoIn America at least, the median salary for a Programmer is more than enough that with properly managed funds, you can have a spouse who doesn't work and still live quite well. Remember- the median income here is $52k. I'm in Boise, ID, one of the cheapest cost of living areas in America, and our junior developers start above that.
- cushychicken 11y ago
- nine_k 11y agotl;dr: guy craves status and money, chooses engineering instead of management, feels unhappy. Well, yes. If you want status, go into a profession built around status (a manager, a politician). If you want big money, go become an entrepreneur or again a manager. If you're ok with mere six figures of salary, but crave certain other things, you can consider engineering. (If you can withstand five figures but have even stronger craving for these certain other things, maybe you're hardened enough to go to science.)
- ThomaszKrueger 11y agoWhile I appreciate the OP's point of view, I have to say that in my experience once you start making more than you really need your job becomes taking care of that extra money, and the drive to do what took you there in the first place diminishes. One (like myself) must have a sense of need or urgency to feel compelled to do things such as development. Once the need is gone, so is the will, and I could argue, the thrill.
- osweiller 11y agoDoes he regret not buying a lottery ticket when he sees that someone else won? He may very well (especially if the winner was someone who intersected in their lives, making it seem more proximal), but that's essentially the argument given that there is absolutely no guarantee that they would have seen any success in the technical management space. It's presumptive and egotistic to assume it would have been a successful pursuit. And while the leadership path has very high highs, it is also the route to career death for many people who went that route. When companies do cutbacks, "middle management" is virtually always the first target. These are the people who often have the hardest time justifying their value.
- nunez 11y agoThis post resonated with me. I've realized that, more often than not, technical individual contributors have very very little influence over the general direction of a product, let alone a business, and have a very well-understood (and, in my opinion, low) salary cap. Job hopping helps with ensuring that your compensation doesn't stray too far off from market rate, but this only brings you closer to the proverbial glass ceiling. I've also worked in organizations with technical management that were barely technical and happened to get into those positions for other reasons, yet they somehow made more in bonuses and raw salary than ICs. These two things have made me want to focus on getting into management as soon as possible. (I'm 28.) I might hate the additional responsibility, or I might not, but I feel like going this direction will give me some more upside than I currently have now.
- ryandrake 11y agoThat's one of the reasons I got out of programming, was the salary ceiling. Sure, your first job hop as a programmer will probably get you a 20% or so increase! That gets your hopes up. Then your next one will be only 10% or so, and by the time you're 20 years into your career, you're barely getting any pay raises by changing company. And if you think that changes by just being a different kind of individual contributor, you're probably wrong. You will still hit a salary cap even if you go into project management or product management--often at a lower $$$ figure than as a programmer. Maybe that changes when you get into people management--I don't know. If you want to break through that ceiling, you need to have a position that includes a path to significant ownership. That's why bankers and lawyers have a path to becoming partners in the firm, and doctors have a path to private practice. A handful of worthless stock options at a startup doesn't count.
- carc 11y agoAnecdotal, but I am not exagerrating when I say about a quarter of the developers I'm friends with (i.e. hang out with outside of work) make substantially more than a new partner at a big firm. Source: They discussed their negotiations with me so I know their compensation, and I used to work as a CPA at one of the big 4
- GeoffreySteven 11y agoI've been both the programmer and the entrepreneur. With multiple exits, I've been choosing my projects for years. Software is more deterministic that humans. When businesses fail, it usually comes down to the other business partners/clients making and enforcing the wrong call - often in unpredictable ways. If you have to choose, manage the software, control the company. IMHO, it always works out better for yourself when you own & control everything. If you have partners, have the veto. Make and keep the gold I say :)
- GBond 11y agoThis is a depressing OP and comments section but it is not all doom and gloom. The tech industry is slowly getting better at reward/valuing/promoting the individual contributor. Keep in mind corporations are, by nature, hierarchal so higher up the chain = higher pay & more respect is the natural thing to do. A trend of the larger tech companies have been emphasizing individual contributor roles within org particular in innovation and strategic roles. They often have different name (Distinguished Engineer, Engineer Fellow, CTO office, Innovation Office, Program Manager). I would seek out out companies that have such a program if your desire is to stay technical and an IC while still being promoted. Next to zero chance getting this at a super small startup or non-tech. If your goal is to be a technical manager/CTO, the Product Manager role is a good path. For me, I transitioned to a Sales role (Sales Engineer), which is another route to the CTO path.
- jarsin 11y agoMeh most people in management suffer from imposter syndrome either consciously or unconsciously. Management is meeting + politics aka waste of time + drama. Dev for life!
- collyw 11y agoIt gets frustrating when you have to work for basically junior level developers who have managed to get a management position, and they think they can code. "Just do it this way" The word 'just' always signaled that it hadn't been thought through.
- mrzool 11y agoSo, TLDR: "my biggest regret as a programmer: having been a programmer"
- dubmax123 11y agoAwesome post. Being in the ditches often allows you to see easy ways to fix problems. Being a leader makes it hard to see what's going on in the ditches. There aren't many leaders that listen to the people in the ditches. Unfortunately, most corporations and people in general don't value leaders who listen. They value leaders with charisma. They value leaders that project confidence even if they don't know what the hell they are talking about. It's up to us as programmers to start taking those leadership opportunities and take the road less travelled.
- graycat 11y agoIMHO, the OP is missing a big, huge point: He is really in the best position. So, here is what he should do: Step 1: Create a small business. For this, he should pick a product or service that can be that of a significant business, e.g., the one he would like to manage as as technical CEO and where initially he can develop the product or service mostly just by programming on his own. Then from that product or service, get revenue. Step 2: Be the CEO of the business, still just a one person startup except with as much outsourced as possible -- e.g., rented offices, bookkeeping, accounting, taxes, benefits, business insurance, legal, colocation or cloud for the server farm, consultants for specialized technical topics he is not already good at, etc. Then as the first hire, hire an office manager later to grow to one of an administrative assistant, chief of staff, head of HR, or COO. Hire the product development staff and then the CIO to manage that staff. Hire a CFO, CMO, etc. Then for this business, be the leader he wished he'd been in the past. His abilities as a programmer let him do well in Step 1 and also be good at the technical parts of management in Step 2.
- anonymoose123 11y agoStep 3: Profit? (Seriously, it is easier said than done. Do you know how many small businesses failed?)
- iolothebard 11y agoDepends on how you define success and failure. I've had 7 failed startups (#8 is in the process of failing at the moment). I consider them all failures because I didn't end up with FU money. Funny thing is startup 6 & 7 really got me close. Although, even if I won a billion dollar lottery, I'd still move on to startup #9. Half the fun is in the building anyway :-)
- anonymoose123 11y agoAgree that fun is in building the companies. But how long can you afford keep doing it (assuming you have family/commitment)? Success is what i call, you can keep doing what you like, not dependent on money, etc - iow, financial independence. BTW, would be interesting to know the geographies of people who comment in this thread - say SF Bay Area, TX, MA, etc. That really adds new perspective to this discussion. My 2c.
- FrankyHollywood 11y agoThis is very personal. I couldn't sit with the suits talking high level about the future company directions, new improvement and efficiency processes bla bla. My first job was at a crapy webshop with all juniors. Worst code I've ever seen (except offshore code). Last years I have had projects with developers all >10yrs experience. It is very rewarding! I like programming, I like technical discussions, and I like to tell management they are wrong (which they very often are). You can have a lot of impact being someone who actually knows what he talks about.
- PaulRobinson 11y agoI've made a similar decision in the last 12 months and I disagree with almost every bit of logic deployed in this article. This time last year I was a CTO of a 10-20 headcount firm which was turning over about $10m/year in revenue. A few years before that I helped build a company from me and the CEO and got it to about 20 headcount and a $15m pre-money valuation. I am now a senior developer/tech lead in a 150+ headcount firm. There are two layers of management above me to CTO. Why? It's quite simple. I wasn't happy in my role, because like the author I felt stressed and I wasn't doing anything particularly effectively. So I sat down one Sunday morning and feeling the dread of Monday morning coming closer I wrote down a list of things that happened on bad days hoping to identify things I could eradicate, and a list of things that happened on good days with the view to do more of that. It doesn't matter what was on the list of bad things, the list of good things was quite short: get to work on code/infrastructure; solve problems in a hands-on way; work in a great team as a peer, not as a manager. It's a joke of mine that in very small startups CTOs have to write code, and in much larger startups CTOs don't have time to write code, but in 10-20 headcount size startups the CTO has to write code but doesn't have time to. That meant in my previous roles I was still quite hands-on. Other CTOs I met told me I was not a "proper" CTO. One was amazed I knew how to code. Fuck 'em. I started as a dev, enjoyed being a dev, I would dive into dev when I could. In the end, I realised I enjoyed coding. It wasn't the easiest thing in my job, it was the most satisfying. So I quit, and put out a developer resume. Everybody told me I couldn't go back. I disagreed. I took a substantial pay cut to work somewhere else, and immediately within a week felt happier. I realised that I could have empathy with tech management and use my own experience to talk in their language to influence decisions, but ultimately I wanted to write code as much as possible. I'm fortunate that I work in a firm where engineers are given a fair amount of autonomy over tech decisions, taking input from product owners on priorities from the business. We have a voice, we have influence, we can change things. That means the traps are not as deep, the despair is not as entrenched. Sure, things fuck up. Sure, we disagree sometimes. But that happened when I was CTO as well. There were huge arguments with CEOs at times. There were disagreements with VCs about tech strategy. There was crap bubbling up all the time that got on my scope. The fact I was the guy making the final call on this stuff didn't mean suddenly everything was fine because I was good, it meant my stress levels increased because the cost of getting it wrong was a couple of dozen families not being able to pay the mortgage next month. That doesn't mean if you want to CTO, you can't. You can and you should, if that's what you want. What I would argue is that you have to optimise for energy and happiness. Get energy and happiness right, you can do anything else you want. It all starts with those two. You shouldn't choose the "easy" option, you should choose the option where you get to look forward to Monday morning, the option where you go home and feel satisfied with the contribution you made that day. For some, that's writing code. For some, that's automating CD pipelines. For some, that's figuring out how to save the company $x/year by moving services around from one vendor to another. I expect I'll go back to smaller startups one day. I like the idea of trying to be an indie dev or getting paid to work on open source on my own terms to some extent, but right now I'm happy having the stability of where I am, and I get to write code, and I work with great people.
- listingboat 11y agoHaving gone this route - 8 years software engineer enterprise software - 8 years management enterprise software - downturn - back to software engineer mobile - now back to running an engineering team, there are trade offs. First, what I realized going back to writing code in my early 40s, after 8 years in management, is how rewarding each day was when I was coding. You could get to the end of the day, point at what you did, and realize that you actually accomplished something. In management, I have rarely felt like that. There is nothing to point to. It's all soft and mushy. Has anyone yelled at you today? Did any of your team get pissed at you? No? Ok, maybe you had a good day. It's not all about the money or the 'career path'. Sometimes it's about contentment every day.
- ChrisDutrow 11y ago> Trying to be both leader and programmer was simply too much. I learned you cannot lead and do work at the same time while running my Christmas light installation company. With a team of 4 people, the less I worked the more got done - by a large margin. This is because the labor of the other 4 people was leveraged much more efficiently when I was observing, supervising, and coordinating. Caveat: You have to do a little of the work, otherwise you won't have the understanding to make good decisions.
- grif-fin 11y agoDon't we just love these such discussions and don't such fork roads in life go back to the core philosophy of an individual's values of her or his life. I know friends who have always loved programming and will continue till last breath living happily in their world of programming (which is huge these days). I also know dear friends who have got the most advanced degree's irrelevant to computer science and yet are dreaming to be a programmer. All said, what can one conclude from Mr Andrew Wulf's judgement of his life? I'm thinking about the answer as I'm writing this... hmm what does this tell me... perhaps not much else that there exist another person who regret his past decision, true or false, the chances are that it is applicable to anyone including me is as much as how much Mr Andrew Wulf's complexity of life and his state of mind are similar to others reading it.
- existencebox 11y agoI can only speak for myself, but I found it instructive. There is significant complexity to ones life experience, but I found myself echoing many of his statements and situations, and find myself at a similar crossroads (IC vs Manager). The fact that our long term desire (to impact positive change) is aligned, and he found himself unable to accomplish that to a sufficient degree as an IC, certainly weights my so-to-say bayesian prior in this decision.
- grif-fin 11y agoI am indeed in the same situation as you and him. But I struggle to conclude anything valuable from his story. Should I get encourage to go for management because another person who maybe different side of the coin compare to me has regretted it in his senior age? Just curious, how did his story change your view on making decision for your fork road?
- existencebox 11y agoFor me, the combination of the experiences of the people I've met/heard from firsthand which I feel enough subjective similarity to does provide a contributing weight to my decision making process, alongside a really shifting number of personal judgments and extrapolations. In this instance, this has made me more willing to seek out/accept a management position to see if I can address similar feelings of powerlessness that he expressed. (To respond to the child since the respond window isn't up yet and I'm about to go heads down on some stuff, it certainly is a matter of "this is a push", that's what I mean when I say I weight it alongside other things, it tipped the balance meaningfully. As to why I give it this weight, it's another entirely subjective judgement that as I said earlier enough statements he makes echoing with me)
- noam87 11y agoMy biggest regret as a programmer: starting when I was 25 instead of 15.
- jsogbein 11y agoIf only life was so linear and predictable You could have remained at Apple and Steve Jobs would have never returned and several other possibilities and cumulative possibilities based on the combinations of all those other possibilities.
- dayre 11y agoI made a similar choice, now at 45 years, have not been unhappy at all. My last few jobs i've actually removed experience from my resume, and applied for jobs that pay less than what my experience could demand (i don't NEED six figures) and it's worked out very well. I still enjoy programming and working with new technology, less responsibility, more time for the things i enjoy working on. https://www.youtube.com/watch?v=NjvazX03EOU https://www.youtube.com/watch?v=NjvazX03EOU
- kazinator 11y agoI will always be a programmer, no matter what. My regret is only about not being richer, that's all. I don't want another kind of job; I want a shitload of money, so I can code whatever I want all day long, until I drop dead at the TTY prompt. Plus do a ton of cycling, running, guitar playing and such. Regret over not having tried this job or that seems misplaced to me. If the job you're missing out on could be done as a hobby, do it as a hobby. If you think management looks like fun, then you can volunteer in some non-profit or volunteer organization; you will then have something to manage. If that doesn't cure the regret over not having tried management, then you have to be honest with yourself: it's really about the money.
- drblast 11y agoI love that last paragraph, and the idea of management-as-a-hobby. That's a great way to think about it. You can make plenty of money as a programmer. Plenty, as in, I have enough to enjoy my job and my family, be relatively independent, and succeed at life.
- kazinator 11y agoThat's right; many people do something they don't really like (or even completely hate) for a living. Even if you don't like the kind of programming you're doing (or perhaps just the lack of having total control over the requirements), it still has a lot in common with programming that you do like.
- UK-AL 11y ago"it's really about the money." - There's nothing wrong with that. Plenty of jobs exist that have to be done, that no one would like to do. People treat money as if it dirty.
- Nemant 11y agoWhat is more depressing than OP is the HN crowd agreeing or saying how "programming is a dead job" and "it's easy" (see @okyup's comment). These are what you call script kiddies who create CRUD apps and pretty UIs. I'll probably get downvoted by the hoards of script kiddies. I mean c'mon, these are the same kids ranting about how their world coming to an end with the whole left-pad fiasco.
- frostymarvelous 11y agoMy biggest regret as a programmer is having to work for businesses who neither value nor understand the software development process. Who simply aim to milk, milk, milk and milk some more till you ate burnt out and sapped. Programming itself, I will never give up on.
- bawana 11y agoHe wrote the same stuff two yrs ago (look at his blog entries). That he now gets to the first page of HN shows how many more people resonate with his feelings. More evidence that capitalism neglects humanity. Though it is so far the best model for quantifying human interaction, the code of capitalism needs to be revised to adjust the quantities transacted. Long term value needs to be added into the calculation of price. Perhaps deep learning and big data (big learning?) can provide these adjustments.
- bawana 11y agoHe wrote the same stuff two yrs ago (look at his blog entries). That he now gets to the first page of HN shows how many more people resonate with his feelings. More evidence that capitalism neglects humanity. Though it is so far the best model for quantifying human interaction, the code of capitalism needs to be revised to adjust the quantities transacted. Long term value needs to be added into the calculation of price. Perhaps deep learning and big data (big learning?) can provide these adjustments.
- mikx007 11y agoThe grass is always greener on the other side. I have another story... I started off as Unix admin, a programmer, about 15 years ago became a technical manager, director, vp and so on. Frankly, looking back at it, I wish I never made that choice and stayed software developer or admin. Trust me, its much more fun.Unfortunately it is a one way street. Paperwork, schmoozing to get funding for your team and sitting in various meetings all day, not so much...
- sokoloff 11y agoWhat makes you think it's a one-way street? I fully expect that the early part of my "retirement" may well look like taking an individual contributor role in software again.
- JimboOmega 11y agoIs there any good advice on how to set yourself on the path to being a manager? Not merely how to manage well (I've read plenty of those), but on how to get yourself in a position where you do manage.
- davidw 11y ago> The CIO at the same place never believed anything his employees told him but believed everything vendors told him. Of course we knew he was taking kickbacks as we kept buying things we had no use for and he kept writing articles for them relating how wonderful their products were for us. Yet we used almost none of it. Some time after I left he was fired and perp-walked out of the company yet immediately got another similar CIO position. That is galling, but it seems to happen with some frequency. I can't quite figure it out to be honest.
- sputknick 11y agoFollow the money. The companies he buys products from have a vested interest in him getting a new job, so they start telling all their customers "Bill is a great CIO, he just left his current spot and is looking for a new job, you should definitely hire him as your CIO". And the cycle repeats. Also the people above the CIO will have a vested interest in covering up his transgressions, because it would reflect poorly on them. It's good work if you don't have a conscience.
- humbleMouse 11y ago35 years of programming and not enough money to retire? Should have saved more money...
- jcoffland 11y agoI've always had the fear that I would be forced into management and wouldn't get to program anymore. This is a much scarier prospect to me. It seems a lot of programmers are eventually pushed into management roles.
- ryandrake 11y agoWow, this was a tough read because it hits very close to home. I'm in the same boat as the author financially and career-satisfaction-wise. I truly empathize with the author, and I think people here are being too critical of him. It is difficult to go through life full of regret of your career choices, full of bitterness of the bad luck you encountered, and having the good fortune of others rubbed in your face every day. Commuting two hours past nice neighborhoods knowing that the only thing that separates you from them is that they rolled the dice and picked Netscape for a career back in the 90s and you rolled the dice and picked LayoffTech, and then IncompetentManagmentSoft. Look on the positive side though. It could be worse. You could have decided to be a factory worker or a cab driver or someone else whose livelihoods are being deliberately and systematically hollowed out. People should be grateful to be in tech no matter how frustrating the lottery-like nature of your career is.
- eggman 11y agoI regret sitting down.
- yes_or_gnome 11y agoJust a quick comment for content creators. On your personal websites, please make yourself prevalent. Most of the time, I like to get to know the author before reading their blog post. Having that background helps to frame the article(post), so I don't have to jump to conclusions about your experience. In this case, I only have the author's name because of the copyright line at the end of the page. There are quite a few entries in the archive posts, but quickly skimming through them, I don't see an obvious introduction post. The first few posts look well written, but jump right into the subject; again, without giving any background on the author. And, it appears that the articles are out of order (possibly because the earliest articles have been updated). Google search brings up a few people with the author's name. Researching an author, without a wikipedia article or some other published article, feels more like stalking. In conclusion, please have an 'about' section. It doesn't have to be your entire CV, but, please, give some basic info about yourself.
- tanker 11y agoAuthor is not Scott Adams. I double checked.
- markbnj 11y agoAs a working software developer at age 55 I appreciate some of what the author is saying. Your salary peaks. Your upward mobility peaks. People who move into leadership positions quickly pass you in terms of material assets. All true. When has it ever not been true? There's something else that is true: not everyone is suited to be a leader, and there are relatively fewer positions for leaders compared to followers. Ultimately you have try to be happy doing something to put food on the table. Perhaps if the author was a leader he would not have passed up those opportunities. Something inside would have nudged him in that direction, rather than in the safe direction of practicing what he already knew how to do. Ultimately, the piece just reads like the regret of a mature person looking backward at the choices he's made. I've made some I regret as well, and if I can learn from them that's great. But pining after a re-do is not the path to a happy existence, at least for me.
- cyphar 11y agoI don't like the assertion that manager == leader, while developer == follower. Some people got into software development for the engineering aspect, not to deal with bureaucracy. I write software, that's what I enjoy doing. It's not fair to pretend that developers who don't want to be managers aren't leaders in their field.
- akman 11y agoInteresting to see similarities between this and Camille Fournier's post on the same topic 11/2015: http://www.camilletalk.com/whilefalse/2015/11/truth-and-consequences-of-technical.html http://www.camilletalk.com/whilefalse/2015/11/truth-and-cons... The common message is you often have less influence if you don't go the management track.
- liberatus 11y agoSo you're an IC suffering under "incompetent management". Yeah sometimes you just can't work around this, but often times you can learn to sell your ideas better to those specific people. Maybe they don't jive with your delivery. Change it. If you speak the language of revenue, you can rationalize almost anything that will grow it responsibly. If the language of revenue and various delivery tactics still don't convince your management, then it's time to leave. I too struggle with focusing on the negative sometimes, so I constantly encourage myself (and the author and others who are feeling similarly) to redouble efforts to optimistically communicate in the language of revenue.
- ArkyBeagle 11y agoIOW: The best time to plant a tree is 20 years ago.
- lifeisstillgood 11y agoI started coding $LONGYEARS ago, and then took the management path cause I wanted to y'know, get paid. After five years as a CTO I finally realised I was coding maybe once or twice a week and gave it up, went contracting and while I know "leadership" basically is needed if you are going to have more effect than just your efforts, I only want to do that now for my own product company - not someone else's. So contracting till I finally make the full time leap. In short: you can go back.
- npsimons 11y agoTwo things: Not everyone can be a manager, or move up the management chain; even if you're good, there's not that much room, and you might not be able to cut it. Not saying don't try, but there are more programmer jobs than management jobs. > being a programmer means you have to be happy with the opportunity to build cool things. I can live with that.
- Xeoncross 11y agoYou can avoid waking up at the end of your path if you keep an eye on road while traveling.
- edwcar13 11y agoAfter reading this I get the understanding that in my life if I am to start a company and being a programmer that I will inevitably have to let go of being a programmer and focus on being solely a leader. This never is a thought that I never even fathomed.
- kafkaesq 11y agoOver the years I’ve seen how little ability you have as a programmer, no matter how good you are, at making a difference or changing things that are broken. I simply didn’t realize how little room you have to advance as just a programmer (or even architect or the like); the power to change exists at a level not available to you as a mere delivery device. Not only will you not have the ability to change much (either about your environment, or in what direction your company takes as a whole) -- you'll frequently find your fate decided by people who have even less general business knowledge than you do, and little or no experience actually managing people.
- seivan 11y agoYishan Wong talks about this here http://algeri-wong.com/yishan/engineering-management.html http://algeri-wong.com/yishan/engineering-management.html It is also my Bible. Yet to find a place that runs like that.
- donniefitz2 11y agoWow. This good stuff. Thanks for sharing.
- known 11y agoProgrammers should compete with other programmers, not managers;
- Jonathanks 11y agoWow! It's great knowing some person have been in the art for so long and have accomplished so much. I've had a laptop computer for about a year now and I've not done anything really good with it. It came with Windows and some programs (Office, Mavis Beacon, a CAD software, etc) installed and I've found my passion for breaking things increase since then. After learning how to type on the keyboard (with the Mavis Beacon software), I got annoyed at the OS pestering me to enter an activation key (it wasn't activated) and I got it activated. I dealt with little inconveniences, tried to fix things that weren't broken (just out of curiosity), broke more things in the process (viruses helped me do this too), crashed my hard disk, got a bad LCD screen, lost precious files and had some other misfortunes (all in less than one year). Now I've found myself in a strange relationship with Linux (so addicted I test distros for fun). I'm thinking of installing Slackware for no valid reason than 'I just like it'. I tried my hands on web development, read some books, did a few pages for fun and soon found myself visiting and leaving languages like a tourist, without knowing anyone well. All in about one year. I tried taking Harvard's CS50 on edX and I couldn't complete because of freshman college work and here I am now, back at web design. I seem to have no skill; just curiosity and impatience. But I'll learn. And for the nostalgia I feel about the things I've broken, I'll build more.
- ErikAugust 11y agoA great read for this author would be "Don't Call Yourself a Programmer" by patio11: http://www.kalzumeus.com/2011/10/28/dont-call-yourself-a-programmer/ http://www.kalzumeus.com/2011/10/28/dont-call-yourself-a-pro...
- wdr1 11y ago> I simply didn’t realize how little room you have to advance as just a programmer I think this is one thing that has changed dramatically (and for the better) in the last ~10 years. I started as a developer in the 90s. The only way to advance was to go into management. I was pretty conflicted, as I was promoted from developer to manager. Quit, went to be a developer at a new job, and got prompted to manager again. Quit again & later was promoted to manager again. Did it a forth time & then have been in management ever since. I really loved coding, but coming from lower income family, was terrified of poverty and thus very motivated to climb whatever ladder someone put in front of me. I'm an engineering manager today at Google and really happy to see there's now a world where engineers can excel without having to be a manager. Over the years, I've had a lot of good career talks with people about if they wanted to do people management (or at least try it). A little bit of a tangent, but it's interesting the myriad of ways those conversations go. Sometimes people who would be clearly great at it, don't want to try it for less-than-good reasons. (E.g., not feeling worthy, would the team respect them having been a peer). Sometimes people who would be terrible at it, really want it for bad reasons as well. (E.g, manager = power (ha!), manager is the only way to advance or be respected (not true!).) Of course, they sometimes want/don't want for very good reasons too. (E.g., "I like helping people grow" or "I would have to talk to people and I hate that", respectively.)
- Periodic 11y agoPerhaps you work in a different part of Google than I do, but I've been here for four years and I see many good engineers getting pushed into management roles to advance their careers. Their job title is still that of an engineer, but they end up with reports, schedules full of meetings and use Google Docs as their primary editor. It seems that the ability to have an impact while writing code is quite limited in the industry, and the way to expand it is to take on leadership and management roles, even if you aren't technically moving onto the management ladder.
- danielvinson 11y ago> I see many good engineers getting pushed into management roles to advance their careers. A lot of people whom I see in this category are people who fall more under the "engineer" banner than the "developer" banner - they tend to look for hard problems to solve, and are still happy solving logistical and financial problems.
- nvusuvu 11y agoSo is there a way to do both? I've gone down the manager trail for the last 7 years, but I'm not sure I want to do it anymore. But after 7 years, I feel like I am behind all the engineers that have that many years of technical experience under their belt.
- TheAndruu 11y agoMy office mate (both programmers) put it this way: Your title walks into the room before you. In an initial meeting with external customers / partners, the invitees may not know anything about you or your actual role . They see the titles on other people on say a meeting invite- "Senior Architect" or "Director of Engineering" and have much more interest in those guys and ask them the questions. Despite those guys often being so far removed from the actual technology they (in our experience) knew nothing and just said "yes" to everything... or just asked us later. It's stupid, and it's petty... but it happens, just like this guy tells it.
- 20andup 11y agoThis reminds me of a story when I was a headhunter in 2009 before I became a programmer. It was that time of the year again and bonuses were being given out. I talked to a candidate about his bonus for that year and he said he got promoted instead be the leaders. Then I ask how many got promoted, and he said the entire team. Finally, I asked, so what difference has his job been since getting the promotion - None.
- ChicagoDave 11y agoI've been a programmer since 1985, so 31 years. In the last 10 years I've been more in the lead/architect role, but in relation to this article, still just a programmer. I too am good at delivering, so I make pretty good cake as a consultant in Chicago. Even so, it's true you rarely have a voice in changing things. On the plus-side, you generally don't get involved in office politics as a consultant. On the minus-side, this leaves you with nearly zero power. I've gone through cycles of looking for ways out and I found one outlet that may or may not pan out, but it keeps my skills fresh. I'm a serial entrepreneur (currently without a success) that works on my own ideas with my own money working with people I like and respect. My first start-up was in ed-tech and although every (and I mean everyone) loved my idea, I couldn't get it off the ground. My second is a work in progress, I have a partner, and our app should release this summer. It will be interesting to go through that process. Even so, I still love coding and being around coders. I was at a design agency a couple of years ago and a young guy, early twenties, out of the blue said, "Dude, you're awesome." I had no idea what he meant and then he added (I'm paraphrasing), "You've been writing code for 30 years and you still love it. I just started two years ago and I love it and I've always wondered if I could do it as a career...if I would still be passionate when I get old. You're living proof that I can. You're awesome dude." The OP was kind of talking about money and stability and effecting change, but there are also responsibilities on that side of things some of us programmers just aren't cut out for...so I say be passionate programmer and be happy you have a marketable skill. Without one or both, the world gets a lot darker.
- dataker 11y agoNot sure if still holds true nowadays. It's becoming harder and harder to move from programmer -> VP/CTO/CIO/CPO. X years of experience? Nice, but did you go to HBS?
- WalterBright 11y agoThe article would be the same if the author was an engineer, or an accountant, a scientist, lawyer, etc.
- djtriptych 11y agoMan this is great. And very true. There are almost no programmers good enough to write their own rules at a large company.
- asn0 11y agoI faced this same decision (for very similar reasons) about 15 years ago, and decided to go the management track (I'd been a back-seat manager before that too). I enjoyed helping "underlings" succeed, was well-respected (not always popular) by those people I managed, had some good mentors, and had some good success moving up the ladder. I was reluctantly getting used to the fact that I spent most of my time in meetings, and made no direct contribution to the bottom line of the company. After 3 years a programming job came up from a company that was an early adopter of telecommuting and had (organically) adopted many business concepts since popularized by 37Signals (i.e. better job by eliminating the crap). The company I was at was asphyxiating due to 2008 crash, so I took the leap. Coincidentally I had read 4 Hour Week around that time. I knew it was a potential "step back", but it seemed like a better way to work (I could be a programmer, and strongly influence the direction of the company, and have a much better work-life balance). Best choice I ever made. I have since changed jobs twice (first company got bought out by a bigger public company, who ruined the fun with bureaucracy), but what I look for now is a company that is structured in a way that front-line technical people (and Support people, and Sales people) can meaningfully influence the success and direction of the company, and the executive management spends most of their time with sleeves rolled up, coding or closing deals, and very little time as overlords. Those companies are out there, more now than before. Many people who I have worked with in the past are now in executive positions. They often try to persuade me to move into management (so far, unsuccessfully). Some of them make more money than I do (that, fortunately has also changed in the last 10 years). All of them spend their days doing things that I would enjoy less than what I get to do, the things I would have been doing if I'd stayed on the executive track. The pay/asset difference would not make up for the work and life I enjoy now. YMMV
- haliax 11y agoHow do you recognize these types of good companies?
- asn0 11y agoThe companies are probably small, it'd be rare for a large company to be able to pull it off. They probably have most people telecommuting (telecommuting tends to level out executive vs front-line). They necessarily have a higher mix of "senior" people (people who can manage themselves without much management). The executives do things that directly make money (e.g CTO still codes, CEO still closes deals), even as the company grows (and tend to outsource/offload things that would normally give them more power, but don't contribute to the bottom line). Coders probably work directly with Support and Sales staff and sometimes customers to understand customer problems. On the higher end of revenue/employee and productivity/employee ratio. Company is probably frugal, spending money on things that actually make the company successful, not just look/feel successful. The company will behave like its small even as it gets bigger. More focused on getting to profitability without raising more money, than on "higher" rounds of funding. Will probably live by "something decent that works now is better than perfect in the future". They will probably be using a boring technology stack because they can't afforce to waste time proving out newfangled stuff (that customers usually don't care about anyways, and certainly won't pay for). If you think you've found such a company, compare them to the characteristics in "Getting Real" by 37Signals[1], it captures a lot of things that I've seen in these companies. If they even get close to hitting 1/2 of those, good chance it's such a company. [1] https://gettingreal.37signals.com/ https://gettingreal.37signals.com/
- pcglue 11y agoA good friend and I both started out as software engineers. Dunning Kruger or not, I am a very good software engineer and so is/was he. He also has an insatiable craving for status and cares immensely about how successful he's perceived as being by others. I don't, at all. So for the past 20 years, I stayed a mere developer and strongly resist any attempts to promote me into management. I will actually start looking for another job if I am promoted over my ardent objections. I cannot stand being a manager or tech lead of any kind. I just want to be a programmer despite the popular advice here not to do so. My friend has gone from engineer to product manager, marketing manager and in "business development" now. He has tried to explain to me what the latter two jobs entail (I understand product manager), but I just do not get what it is he does all day. He hates his job, but really really gets off on how successful society says he is (between management title and salary) such that it seems to compensate for the daily misery. I am, however, waiting for the day he becomes a CEO and I can be his admin assistant or some other low-key, lower-stress helper (we are still good friends). Beyond a good salary, I really don't care about status or title. I think I would be happier as a janitor if it paid 120K+. TLDR: Different strokes for different folks.
- kingofhawks 11y agoCan not agree more.
- ImTalking 11y agoFor me, software has been nothing more than a tool to get myself the lifestyle I want. I enjoy the creativity associated with writing solid software of course but it's not a hobby, it's certainly not a religion for me, it's a tool, nothing more. I enjoy the creativity associated with developing a solution that people use and pay me for, but at the end of the day, I am a business-guy who uses software to get what I want, unlike a lot of programmers who are techies who happen to be in business. The difference in these two attitudes are night/day. I feel the writer is looking at his past as though he was somehow entitled to succeed since he could develop software when the industry was young, and many fortunes were made by the industry pioneers. This is a dangerous attitude as the world really doesn't care about anyone. Anyone is replaceable. Around 1990, I started a business selling a Clipper-based (anyone remember that?) real estate program where I sold it to about 300 firms at $299 a pop. I couldn't believe the leverage and excitement of selling a product of my own mind to others. Sold yearly upgrades for $199 which worked out to around $60K annually sitting in my bedroom. Had to pinch myself. Got into telephony when the deregulation happened, created switching software for dumb switches (Dialogic, Redcom) for long distance resellers and at one time had 120 exchanges using my software to switch calls. Sold the IP for around $0.5M. 10 years later, created software for the mortgage industry and sold that company for 7 digits in 2010. Must say that I failed more times than I succeeded but that doesn't matter (for example, developing Call-Me functionality for web-sites when the industry was just too young - should have stuck with it). Last/this year, I'm working on software for the another industry which I feel is unserviced wrt software. My reason for writing all this is that I never thought of software as a career. I saw the businesses that I could create using software as the career. I think the article writer labelled himself as a programmer early-on and never really understood what that role meant to him.
- uptownfunk 11y agoInteresting.. What are some industries unserviced by software today?
- ImTalking 11y agoSorry, should have said under-serviced. I looked at an industry which has undergone significant changes over the past few years (although probably all industries match that these days!) and looked at the ISVs and their platforms. The industry changes allowed many more entrants than before and the current ISV platforms are very complicated and pricey platforms which, in my view, would be too costly for these new SME entrants. So, the theory at least, is to create a lower-cost platform.
- unabst 11y agoThis piece has nothing to do with programming. The problem is simply with jobs, and a common career mentality, which goes something like this: "If you do good work, your career will take care of you. If you weren't taken care of, then it's the career's fault." Nothing could be further from the truth. There are two things that boost careers. The first is the employer. Your employer determines your success through their success, and so your fate truly is in their hands as long as you are just doing work that is provided. Hence successful companies produce successful employees with successful careers. But to be good at this, you need to be a visionary employee. You must be able to tell apart the good entrepreneurs from the idiots. You need to become a good follower, not worker. The second is overreaching your job's boundaries and overachieving. This is what catches a lot of people, because it's being non-complacent when that's all that is being asked of you. It's the ability to demarginalize yourself because jobs are maginalizing, not people. If you fit a better job, your career will take you there. Either a good employer will recognize your worth, or you will recognize the worthlessness of your employer and move on. I have this extremely strong hunch that we all rise to our potential. And when I see someone complaining of how little they've accomplished, in more cases than not, they will make excuses, talk of regrets, and list all the bad luck and negative circumstances that surrounded their demise. Rarely do I hear them admit how bad they sucked, or how bad they compromised, or how they let it happen because they didn't act otherwise. "I am still just a programmer." That's you marginalizing yourself. Mark Zuckerberg was just a programmer. But you become more not by fitting tighter into that cast. You become more by breaking it. Eventually people will stop calling you just a programmer. And if that's your employer, you either just got promoted, or fired.
- didibus 11y agoSounds like the typical success anxiety everyone suffers from today. You could have been everything, successful, rich, famous, but you chose what you wanted and that's ok, it's for the best, that's true success, don't run after the carrot. Every programmer I meet dream of being CEO, having their own company, making more money. Yet over 90% of them don't enjoy any of their current profit. Literally, with my programmer's salary, I can do everything I want in the world. There's nothing Bill Gates can do I can't, sure, maybe some of the things when he does them they're bigger, or fancier, but they're the same things. There's no better film for him to see, there's no better waterfront for him to sit, there's no better food, etc. I can afford the best of all. I think we need to stop with the regrets, the illusions, etc. If you ain't driven to be tech leader, don't force it, just accept you're not and enjoy life.
- luxsy 11y agoI totally agree with this philosophy, I am also a developer, many times my relatives asked my why I don't start my own company. Your words totally relate why I don't (yet?), I am good being a programmer, I can travel, eat at restaurant, hangout with my friends, I do something I like on a daily basis. I like it that way.
- bbayer 11y agoSuccess is not related with money. For me success is being a person who can inspire people with thoughts. Money is just a metric for our society which deemed as ultimate result of success. If you are rich, people start to listen you and have inspiration from you. I would be a person who can change people's life in a good way, a person my ancestors would be proud of my actions. Difference with Bill Gates and regular people like me or you is not the way living our lifes, it is the number of people listen when we talk.
- danvideo 11y agoYou start by saying "success is not related with money" and finish by implying that more people listen to Bill Gates because of his money than his other accomplishments. There are plenty of super wealthy people out there we don't listen to much at all (for example, I don't think I've ever heard someone quote one of the Waltons...) but Bill Gates has done a tremendous amount with his wealth - and even more importantly - his time, which is what I listen to him about.
- granula 11y agotldr; midlife crisis
- granula 11y agotldr; midlife crisis
- jaza 11y agoI'm a programmer in my 30s. I've always said (only half-jokingly) that my career goal is to avoid management for as long as possible. I decided to be an IT professional because I like spending most of my working day programming. If I wanted to spend most of my day talking, meeting, leading, and selling, I could have gone into politics. Or, if I really wanted to make truckloads of money, I could have become an investment banker. I really don't picture myself ever feeling the regret that the author talks about. The more time spent coding stuff, and the less time spent doing management, the better.
- goodgoblin 11y agoThe limiting factor in whether someone becomes a manager or stays a coder is that there aren't very many manager roles available relative to programmer positions. Almost perversely because these roles are scarce, they pay more, but are managers really harder to find than programmers?
- win_ini 11y agoAs a Product Manager - my biggest regret was not learning to code.
- davidhyde 11y agoThis post makes me sad. Where we should be encouraging others to join this field, this does the opposite. These are the golden years of computing where we mere humans can still make worthy software (before AI writes our software for us). I find it to be a privilege to work in this industry and actually be paid for what I do. Yes I consider writing software to be a form of art and I pity others who don't have the same job as us. I think that the author's career path has more to do with is adversity to risk than the decision not to go into senior management. Leaving apple when it was shaky, leaving startups when there were problems. If I was lucky enough to work for a startup or any business that had a sound business model but was suffering from managerial incompetence I would leave and compete.
- thegayngler 11y agoManagement types are simply pimping someone else's talent. In reality they should only get a small financial cut from doing that rather than the oversized influence and share of the decision making they do get from doing such things....that's how the entertainment industry handles "management".
- fatagun 11y agoMy biggest regret is, I could have been a lawyer or doctor easily but i choosed to be a "programmer". I worked at New York(appnexus) and SF (yahoo, ebay). Now I work as Director of Software development for a very large org. Programming is hard. really hard. I hope we can all agree on this. It is not easy to develop proper software. There are always changes along the way, hence we choose to be "agile". But still there is always something missing. I guess this is the nature of it.
- advertising 11y agoHindsight. Could have become VP or stayed with apple and gotten hit by a bus the next year. So many paths that could have played out as a lowly "programmer" and this person is just looking at his/her sister as if it's as simple as option A or option B and if only he/she picked the other. That's not life. I'm not down with this post.
- pmarreck 11y agoI remember DeltaGraph! I'm also at the same crossroads- 44, have some money, want to push FP and TDD and the languages Elixir/Erlang more, maybe just do it by starting a new company? Encountering too much current trying to push for it in existing orgs as a "mere" programmer. Figure if I think I'm on to something, I should just start a development consultancy or programming shop specializing in the things I think will matter down the road, now.
- msimpson 11y agoMoney != Success
- andyidsinga 11y agoI made a the choice to go into leadership. (note I still avoiding the word "manager" as that makes me feel like a PHB ..but I'm getting over it). The epiphany: A VP I respect a lot was is still a crazy tinkerer with a strong technical background. He once made an automated dog watering bowl - it was stupid and brilliant and gained him a special kind of respect among engineers (myself included). I felt especially good because he asked me for advice on how to code bits of it[0]. This was the example I needed to realize I can still be a developer and a leader who writes code - achem - tinkers - for fun, bragging rights etc. I love telling my engineers that I hacked together some stupid thing (twillio api irc bot haha) while being careful not to pretend its the kind of pro-work they do day in and day out. [0] I'm not sure if he realized it - but that was an act of motivational leadership. The vp asking his 2-level-down report for some pretty detailed advice - then coming back to show the results. It may seem obvious to some, but this was a major epiphany for me, and I've since seen this quality in all of my favorite bosses & mentors.
- patkai 11y agoZuckerberg just did something similar, with his home AI project.
- bantic 11y agoI worked at a company that hired a developer who was slightly consumed by his regret at being an early employee and then getting out of Groupon pre-IPO. We'd be at a bar and the conversation would die down and he'd look sort of glum and say, "I should be on a yacht right now...". I felt bad for him.
- iofj 11y agoHere's the software he seems to have been the owner for : https://books.google.com.au/books?id=ljsEAAAAMBAJ&lpg=PT31&ots=_I_9RRtE_F&dq=trapeze%20excel&pg=PT30#v=onepage&q&f=false https://books.google.com.au/books?id=ljsEAAAAMBAJ&lpg=PT31&o... Certainly looks like it had potential. Of course he was going up against microsoft at that time. Certainly wouldn't have been easy.