23 ms·
What happens to developers who never go into management?
- marcinzm 5y agoThis article misses the most common path: technical leadership. That covers staff, principle, architect, tech lead and so on. You may be a specialist but hands on coding isn't your main contribution. You provide technical direction and guidance to a team, project or whole company. Pays very nicely at a large tech company.
- izacus 5y agoIn huge majority of the companies those roles come with managing people as well, especially if the person wants to be compensated more over time.
- marcinzm 5y agoThat's not the case in large tech companies from what I've seen. And if you actually want money you should be aiming for those.
- BrandonM 5y agoMy 10-year path at a 4->400-person startup has been Lead Software Engineer -> Director of Infrastructure -> Principal Software Engineer. I’m making more total compensation today than ever, with no reports. I lead complicated initiatives and advise a lot of feature work. This means a lot of meetings, document-based collaboration, and process-oriented thinking. But I still program, and I don’t feel accountable for others’ work output or behavior or morale the way I did when I was a manager.
- BrandonM 5y agoI thought the same. For anyone seeking more info on those career tracks, https://staffeng.com/ https://staffeng.com/ is a great resource.
- rmk 5y agoTechnical leadership is almost nonexistent, and frankly, not required, in most of the CRUD shops that are out to "disrupt" the industry du jour. If all you are doing is slapping together a website with a backend that serves up the dreck while operating a two-sided market that's grinding actual humans down and fleecing naive consumers on the other, or perhaps the next DeFi con where rich marks are being convinced to hand over their money, "technical leadership" simply amounts to being on top of the latest faddish javascript framework / crypto snake oil vaporware / insanely expensive and asinine cloud-native gobbledygook. As you have said, actual technical leadership can pay at a large tech company but those are relatively few and far between.
- brimstedt 5y agoUnfortunately, far too much talent is wasted into making good developers into bad managers. It's great with managers that have domain knowledge, but having domain knowledge does not make you a good manager.
- zo1 5y agoThe "talent" we need is definitely not technical. Software projects are a magnitude more about "people" and "negotiation" than it is "how do do this technical widget efficiently" and "how can we make this arch scale" (these are all relatively solved problems, despite us trying to reinvent the wheel). Even projects that fail due to, on the surface, technical problems are actually a result of people and leadership, and the effect they have on the project. This is the part that I think a lot of technical people really misunderstand, hence all the negative sentiment about turning developers into managers. A stellar incredible "10x" team of super talented developers can not negate the bad people dynamics within a project caused by bad leadership or lack thereof.
- nine_zeros 5y ago> Software projects are a magnitude more about "people" and "negotiation" than it is "how do do this technical widget efficiently" and "how can we make this arch scale" (these are all relatively solved problems, despite us trying to reinvent the wheel). Even projects that fail due to, on the surface, technical problems are actually a result of people and leadership, and the effect they have on the project. If you think the current crop of managers are doing all this, I am afraid you are mistaken.
- iso1210 5y agoAnd how long does that domain knowlege survive as technology moves on, and the manager isn't getting hands on. You could have great domain knowlege when you move into management age 35, back in say 2010, and just 10 years later you'd have very little hands on knowlege of say AWS. Go back 10 years further and while you might be a whiz at building win32 programs in 2000 when you were 35, how do those skills apply in 2010 let alone 2020 when you're 55.
- max002 5y agoIm 35, programming since 15. great dev, never gonna be manager, simply dont want the responsibility and headache. Im good with code, not with managing people who code. The assumption that devs should go into managment seems alien to me :D but nice art
- deleted 5y ago[deleted]
- MathMonkeyMan 5y agoMy fear is the joke from the movie Primer: - "How did you get over here?" - "Do you know what they do with engineers when they turn forty? They take them out and shoot them." I've read in other threads that the ageism fear is overblown, and also that it's not overblown at all. My plan is to develop enough of a professional network (whatever that means) that I won't be doing leetcode problems for a twenty-five-year-old interviewer when I'm fifty.
- max002 5y agoWell it depends. I do program in couple of languages, i do re and i still know a bit of assembler. If youve got right skills (sorry guys with just php and js) then i believe its not an issue. That might change, i will let you know when i hit 45 though im planning to be on retirement at that point :) but i do learn constantly, im not sure if thats true for every developer
- g051051 5y ago> What if you never take that promotion? Flawed premise. Why does everyone assume it's a promotion? > For example, people often assume that any talented developer will end up becoming a manager. I assume the opposite (and it's been true the vast majority of times over a 30+ year career).
- b0rsuk 5y ago> Flawed premise. Why does everyone assume it's a promotion? Most people understand raise in human hierarchy as a promotion. Few deal with increasingly difficult technical tasks on the daily basis.
- yosito 5y ago> they may take peripheral jobs as consultants, verifying products rather than creating them What does "verifying products" mean?
- s_Hogg 5y agoThey live happily ever after because that's perfectly possible without being a big wheel at the box factory, case closed.
- est31 5y agoIf you want to go into management, then why do you waste 10+ years going from junior to senior to principal and so on until you finally get to manage your first small team? The people who went for management from the start would be way ahead of you then, no?
- Aeolun 5y agoBecause you end up being much more effective if you know what you are doing? Managing a team of developers without any idea how to do the work is a disaster. Of course, having some experience doesn’t guarantee you’ll be an effective manager, but without it you’re almost guaranteed to fail.
- oakfr 5y agoIndeed. Also, you have plenty of time do to both. Start as an engineer at 22, write code for 15 years. Switch to management at 37. That still leaves you with 15+ years to climb the career ladder.
- danbruc 5y agoSo am I guaranteed to fail at developing a platform for selling used cars if I have never worked as a used car salesman and have no idea how they work? Of course not, I am supposed to acquire the necessary understanding by talking to users and subject matter experts. I think the same holds for managers, you can understand and manage a software development process without having been a developer. Does experience help, could former used car salesman develop the platform better, could former developers manage the team better? Sure, but only if they are also good in their current role, if they are good developers or a good manager. And being good in your current role comes first, having experience in the field you are writing software for or that you are managing is an added bonus.
- marcinzm 5y agoThat's only the case if the manager meddles in technology and doesn't know how to delegate properly (or hire properly). I would say a manager who does those things is inherently a manager who can't scale and is unlikely to ever work well with senior technical people. As a manager my goal is to use as little of my technical knowledge as possible but rather to let my senior technical leaders do that part instead. I've got so many other things to handle and deal with that being technical except at a high level seems silly.
- dasloop 5y agoWhat happens to [pilots,doctors,actors...] who never go into management?
- Joeboy 5y agoDon't know about pilots, but I'd think doctors and actors are near the extreme ends of the age discrimination spectrum. Ie. being an old doctor makes you credible, being an old actor (or especially actress) severely impinges on your options and expectations. Being an old developer is probably somewhere in between.
- djmips 5y agoPilots are closer to doctors and as long as they pass physical, they wear their hours like a badge of honor.
- threatofrain 5y agoAFAIK, medicine is a special profession in that the practitioners are often interest owners.
- CuriousCosmic 5y agoUnfortunately in many places of the US this is starting to change. Companies like Advent Health (used to be Florida Hospital) have been seizing control of medical practices from the doctors. The common scheme is to offer logistical support (dealing with paperwork, IT, etc) in exchange for joining under their umbrella (with the implicit or sometimes not so implicit promise that otherwise they exert no influence over the operation of the practice). Then after a few months to a year they start making sweeping changes restricting what patients the doctor is allowed to see, what treatments they are allowed to provide or suggest, how much they can charge, and where they are allowed to see or treat their patients. Essentially resting any autonomy the doctors had over their practice. This is what happened to our PCP and many other doctors in Florida. They were given an ultimatum and any patients who didn't fit the profile Advent had selected for them were forced to leave them for some other doctor. Nowadays the only doctors with any "real" autonomy are surgeons and even then the actual autonomy they have is being increasingly encroached upon. I'm not sure how common this is in other regions but at least in Florida it is becoming increasingly difficult to find Doctors who haven't been effectively tricked into forfeiting control of their practices and reduced to employees for large corporations.
- throwaway55421 5y agoBarely any mention of contracting outside of "the crusty old legacy developer"? That's pretty much the #1 route for people I know, get out of the full time lackey game and chill.
- burntoutfire 5y agoIn my experience (from Europe), contractors are more of a lackeys, because they are worried about their contracts extensions. So, in practice, they try much harder. The only good part about being a contractor (except the usually much larger pay) is the fact that you're invisible to HR and their games. No yearly reviews, no development plans, no promotions - you just negotiate your rate with your hiring manager without all the charades.
- cardosof 5y agoMaybe that's an EU thing? In the US it's almost as easy firing an employee as firing a contractor.
- max002 5y agoYes, in EUrope its much harder to fire employ than contractor. In some countries you need stuff like 3 written warnings and so on
- tluyben2 5y agoI do not recognize your parents experience in the EU, but yes, here employees are very protected while contractors are not. Still, outside the certainly of employment, even in the EU, I know only positives when contracting. Things like tax and insurance optimizing you cannot really do as employee and now with WFH, it is possible to optimize even more. And if you have a trackrecord, it is easy to get other projects. Note: I am getting close to 50y/old. Edit; another thing which you can do as contractor and typically not as employee, is take retainers. When a project is done and the company does not need me anymore, they can retain me for n hours per months that I will spend on that project no matter what else I am doing; and they pay no matter if they use the hours or not. Similar is, and I have done that too, an SLA on the project you helped deliver. But that is far more dangerous as others might have continued working on it, so I don't do that anymore.
- boring_twenties 5y agoMy dad is in his late 60's and still working as a programmer. He works from home, more or less at his own convenience. Zero interest in retiring.
- helloguillecl 5y agoHow does he feel cognitively?
- jamil7 5y agoNot OP and anecdata but our CTO is in his 60s and contributes a lot of code to a fairly modern stack, he doesn’t appear to have any trouble keeping up.
- boring_twenties 5y agoNot really sure how to answer that. He's obviously slower than he used to be, but can still do the job.
- helloguillecl 5y agoMy father (not a programmer, but an administrative clerk) would say that he's slower but he can instead rely on experience more.
- dasloop 5y agoAnd irrelevant to the conversation unless managers are better protected for cognitive loss (I doubt it) or managers requires less cognitive load (I doubt that too, but you can make a joke about that :)
- pawelmurias 5y agoIt's none obvious that various cognitive skills (and the amount of energy/motivations) decline at the same rates and that managing and programming requires the same skills.
- 5y ago
- ChrisMarshallNY 5y agoIn today’s software industry, I’ve found that older technical specialists aren’t particularly welcomed; regardless of their ability or skills. Just being older is enough. If they have a significant reputation, or long-term employment at a single place, prospects are better. I was a manager, in addition to being a technical specialist, for a long time. It was a fairly small, highly-skilled team. As time went on, my management duties replaced my technical ones, and I was forced to do technical work on the side (open source work), in order to maintain my technical edge. This resulted in my having a fairly significant technical portfolio, by the time I left my job. I have encountered very few good managers, in my career. I have seen some great technicians destroyed by becoming managers. I think the industry’s refusal to cultivate lifetime technical careers has resulted in a lot of problems, but it is not anything that has been studied, in any meaningful way (of which I’m aware). I only have personal anecdata, which, by itself, isn’t particularly relevant, in the big picture.
- turbinerneiter 5y agoSimple problem: Developers want more money for more experience. At a certain point, more experience does not make them more effective developers. If they want to justify higher salaries, but can not be more effective on their own, they need to multiply their experience by making other developers more effective. The organizational problem is that most companies see management as the only way to do that, but not everyone can and likes to be a manager. We as developers have to make sure we promote mentoring, tool and framework building, system architecture and such topics as viable paths upward. Otherwise, managers will only have managing as an idea of how someone can create more value.
- mcgooiggy 5y agoI took an alternative approach, I was living in london, so I moved to Portugal. a remote London Dev contracting, and the wage is more than enough over here
- ChrisMarshallNY 5y agoExcellent point. Training and mentoring are extremely important. Last night, I had dinner with a friend of mine, who is a former Marine. He told me that the "best of the best" become DIs (Drill Instructors). He had tremendous respect for his DIs, and described them as "almost superhuman." DIs are always noncoms, but tend to be highly experienced. They are also good trainers. Being a good trainer is a fairly specialized skillset, and many techs aren't able to adapt to that, either. In my case, money has never been the point. I'm a high school dropout, with a GED, and never really got paid as much as even many entry-level kids are, these days. Nonetheless, I lived frugally and sensibly, and have been able to survive being tossed out into the trash. Many of my peers do not have that capability.
- mastersip 5y agoI DISAGREE. PLEASE LET US NOT GENERALIZE ALL DEVELOPERS INTO JUST 4 TYPES.
- deleted 5y ago[deleted]
- ArjenM 5y agoThen people keep developing more, I went from manager back to developer and I'm far more happy not having to chase after people. Also I get to decline my boss asking if I want to take on manager responsibilities on top of normal duties without extra pay. Bit of a no-brainer.
- crate_barre 5y agoThis article is missing one important pivot: The Job Do’er: This person is qualified for the job, and does it. Stays prepped for interviews and moves companies/roles as needed to maximize income/happiness. This person does a job, somewhat acceptably, acceptable to the company that demands acceptable work and acceptable to a life that demands acceptable upkeep (bills and shit). So if you find yourself unable to become a manager, luckily for you, you can still do your job (boo hoo).
- yyyk 5y ago>What happens to developers who never go into management? They could be merely 'normal developers', not very different from any other developer.
- dathinab 5y ago> For example, people often assume that any talented developer will end up becoming a manager. I believe this thinking is harmful for this Industry. While there is some overlap between a manager and software dev they are in the end two fundamental different jobs. Sure having some understanding of software is helpful as a manager but IMHO this only includes skills up to the "mid"/"just after junior" software dev level. Sure as software dev you also need to have some resource management skills (some time management, and some potential team lead skills) but as a manger you need much much more of this skills and apply them in many more ways. So if a senior software developer becomes a manager it's wasting their potential as software developer. Similar a excellent manager doesn't need _any_ programming skills, only some understanding of the programming job and it's hurdles (which might be simplest to learn by doing programming for a few years, but there could be much more efficient ways to learn this). So IMHO if you want to go into the management path its best to start early on, and end up there around the time you reach a mid-level skill set or earlier. Similar don't push senior engineers into management positions, being very good in one doesn't entail doesn't entail being good in the other. Also please don't go around spreading bs like "if a older software dev isn't a manager yet they are incompetent and shouldn't be hired". Our industry needs more old software dev, through only such ones which continue to learn and improve their skills. Not such ones which stagnated in the past.
- SnaKeZ 5y agohttps://en.wikipedia.org/wiki/Peter_principle https://en.wikipedia.org/wiki/Peter_principle
- Spooky23 5y agoIt may be harmful for the industry but good for the individual. Becoming a specialist is very dangerous, as your future is tied to a product, and the products don’t love you back. Make the wrong choice and you’re managing a Starbucks.
- JakeAl 5y agoNope. Starbucks won't hire you without restaurant management experience. You'd be lucky if they hired you as a barista.
- hvgk 5y agoI took a management position and delegate my management tasks out to people who want to do them on my team. I am still hands on and it allows people who want to get management experience to get it and allows me to land a management salary. Problem solved.
- black_13 5y agoI am going to become a manager: I need need the money and I am tired of dealing with bullshit and would rather serve it.
- dhbradshaw 5y agoI work with a developer who's in his 50s. He chose not only to stay in development but also to stay on the front end where he turns out beautiful and beautifully effective UIs using Angular. He enjoys his job, earns great pay and plenty of stock and has the respect of his managers and junior colleagues. He has helped the engineers around him perform to a higher level and teaches, but he loves creating through code and is very good at it. He also has earned enough trust and is productive enough that when he says "The snow is great today, so I'll be skiing," that's just understood as his privilege. So that's what happened to one person.
- goldenchrome 5y agoThose people are in precarious positions. All it takes is one bad manager to join the team and misunderstand his value before he loses all his power. I've found those people usually don't create as much value as they think anyway. It takes an extraordinary IC to match the business value of a decent manager.
- dhbradshaw 5y agoIf his status came from the trust of one person that might be true. But it comes from ability and from character and from the consequent respect of many people. One bad manager could certainly tank his group (as in https://steveblank.com/2009/12/21/the-elves-leave-middle-earth-%E2%80%93-soda%E2%80%99s-are-no-longer-free/ https://steveblank.com/2009/12/21/the-elves-leave-middle-ear...) but that theoretical manager wouldn't tank him -- he can just move on to a better place. I hired him once and if he were in a bad spot I'd hire him again in a heartbeat. In the meantime, of course, he has lived within his means for years and could weather any financial storms likely to blow his way.
- deleted 5y ago[deleted]
- u_y 5y agoThe article implicitly conditions the strategy space on remaining an employee (or an employee-equivalent contractor) of a tech company. Somewhat surprisigly it omits the relatively common option of becoming a long term planner (a.k.a. "paper pusher"), whether in product or engineering. The options space outside of the Borg includes the following areas: - Becoming an engineering associate at a non technical organization, for example by automating or adapting standard tech tools to legacy industries. - Becoming a researcher (whether in an engineering field or one that requires engineering ability, e.g. computational biology - warmly recommended, BTW) - Starting your own business that creates platforms/business cases that would otherwise not exist.
- SnaKeZ 5y agohttps://en.wikipedia.org/wiki/Peter_principle https://en.wikipedia.org/wiki/Peter_principle
- throway453sde 5y agoBad. Very bad. You may 50% more at the very best case at the cost of being tied to your current organization. The problem with manager job is there is no way to prove your individual value. This is very problematic during job switch.
- lifeisstillgood 5y agoPlease stop the madness ! there is only one distinction that matters - do you own a budget? In other words has the company give you at least 10x your own salary to spend on your signature alone? If not you are not a manager, no matter your job title (including Project Managers!) Everyone else is a work for hire. Is it the best way of arranging things? Hell no. My bet is voting on projects to be funded by the the employees will be transformative And if we clarify things like that, other things become easier - why should a manager be the arbiter of technical decisions? They should not - it's like hiring a dog and barking yourself. Hire people, be clear in the outcomes do not confuse operations and development and release often.
- cyb_ 5y agoI've never seen this to be true in any of the mature, publicly traded companies that I have worked at. It also seems like poor corporate governance to let someone spend millions without proper review. Consider the opportunities for fraud, waste, embezzlement, scams, etc.
- rightbyte 5y agoHow would making decisions by committees lead to more scams or fraud then one man decisions?
- lifeisstillgood 5y agoI am not sure I understand. At mature public companies there are people with sign off on millions and often billions of spend. Choice between this supplier or that? Between a factory in Vietnam or Ohio? 100 Million on the nose and his / her signature is the final decision. There is obviously auditors to catch the worst corruption and a process as to how a decision gets made (usually with an eye on the auditors) but yes. It's that person who makes the call. Do they do it on a whim ? Unlikely but do they also give a monkeys what the devlead on the third floor thinks?
- lifeisstillgood 5y agoOn the corruption front ... hell yes! Ok there is rarely the envelope of tenners dropped on the desk, but tell me, if the SVP with millions to spend on a supplier happens to serve on the board of the Gotham Orphanage alongside the CEO of a major supplier, is that corruption ? What about the understanding they have of "working together in the future"? And the nice directorship waiting on the suppliers board ? We live in a world where Air Force Generals join boards of air plane manufacturers, so a quiet understanding between suppliers and buyers will easily pass muster. Is it corruption ?
- momirlan 5y agoQuite common: developer->designer->architect Variations: solution architect, data architect, strategist And of course: permanent->contract->entrepreneur
- Fissionary 5y ago> Christopher McCandless of Into the Wild fame once said that “careers are an invention of the 20th century” As an aside, careers (for public officials, at least) have existed since Ancient Rome: https://en.wikipedia.org/wiki/Cursus_honorum https://en.wikipedia.org/wiki/Cursus_honorum
- joelbluminator 5y agoYeah I'm not sure about quoting Christopher McCandless so much... I was fascinated by him as well but end of the day he was a super young dude who decided to go into the wild with insufficient preparation, on purpose, and died of hunger. It is what it is. He never amounted to become Yoda or Ghandi or anything that we should be so comfortable in quoting him.
- claviska 5y agoDepends on what you consider management. A people manager is a different set of skills than a product manager or tech lead, for example. It also depends on the company. Some orgs let you level up past senior to principal/staff/partner without becoming a manager. Others reserve those titles for leadership roles. In my org, there are seniors who are old and gray happily cranking out code and having fun with their job. They’re clearly happy not stepping into the realm of management, because they’re still well-compensated and their stress levels are low without the added responsibility. Your career is what you make it. I’d suggest focusing on what you want to do, as long as you’re content with your position.
- zerr 5y agoWhat happens to carpenters who never go into barbery?
- bryanrasmussen 5y agowell the carpenters get better and better at carpentry and raise their prices each year because there isn't any significant changes in the technology of carpentry at least once a decade making carpentry skills obsolete in the eyes of the marketplace.
- djmips 5y agoShoulda been a carpenter...
- joelbluminator 5y ago> because there isn't any significant changes in the technology of carpentry at least once a decade making carpentry skills obsolete in the eyes of the marketplace That's a bit extreme I think. Tech changes yes. But let's say you were a a C#/C++/Java/Python/Ruby dev 10 years ago - how bad has it all changed in the last 10 years that your entire experience is somehow nullified? I'm not denying that some higher-ups like to adopt this line of thinking to justify hiring cheap juniors. Self respecting engineering companies don't really buy this bull.
- lovecg 5y agoIt’s funny that your list spans languages from about 20 to all of 30 years old (and less than that if we start counting from the mainstream adoption). In a typical 40 year career, many people would think of these as hot new technology - kind of like working for 10 years today and suddenly Rust comes along or something.
- teambob 5y agoI ended up finding "architect" is the role I enjoy. Still very technical but involves talking to people (I have always been a slight expert). It also suits my "management" style which I learned with volunteers, instead of workers
- stapled_socks 5y agoHow about just continuing as an average developer? Is this not possible?
- pigbearpig 5y agoThese code schools are so ridiculous. Anyone can code in 12 weeks! Also, there are only 4 types of developers and good ones post blogs and do TED talks. Such bullshit.
- captainmuon 5y agoIf you have some people who do the work at hand, and some people who manage other people, you automatically put the managers in charge (because it doesn't make sense the other way around). And then you get the hierarchies we are used to, with managers and individual contributors. That's really a pity. In German there is a phrase that translates to "content" or "substantive" work (inhaltlich). You use it in contrast to non-content or administrative tasks that enables the main work. It is like a neutral way of saying "actual work" without deriding the other kinds of tasks. I'm not really sure how to translate it properly. As an experienced developer, I would really like to have a job with not much managerial responsibility, but a lot of "content" responsibility. Not a manager, so I wouldn't tell somebody how to organize their work, but I get to make larger technical and strategic decisions. Unfortunately such architectural positions (or maybe CTO) are very rare, even though I know a lot of companies could use benefit from somebody in this role, who would keep the greater picture in mind, make technological decisions, teach employees, and so on.
- deleted 5y ago[deleted]
- dennis_jeeves 5y ago>If you have some people who do the work at hand, and some people who manage other people, you automatically put the managers in charge (because it doesn't make sense the other way around). And then you get the hierarchies we are used to, with managers and individual contributors. That's really a pity. The novel "Animal Farm" by George Orwell highlights that aspect of human behavior. But I don't think it necessarily has to be that way. Enlightened engineers (a rarity) are aware of this and might be able to put in checks and balances.
- Mezzie 5y agoInhaltlich sounds similar to Cal Newport's idea of Deep Work[0]. I know I've found that framework pretty helpful. It's about work that requires in-depth thinking + time with a lack of distractions vs work that you can do without those things (like making phone calls, etc.). [0]: https://www.calnewport.com/books/deep-work/ https://www.calnewport.com/books/deep-work/
- nickjj 5y agoI definitely wouldn't classify myself as the author's "super developer" but I fall inline with what he described it as. Isn't this just a case of someone being into what they're doing while continuously learning, applying and building things? I've been at this for ~20 years and every day I wake up, all I really think about is what to learn, apply and improve upon. This comes in the form of everything (coding, project planning / architecture, assisting other devs whenever I can, making videos, writing blog posts, running a podcast, etc.). Life would feel like torture if I couldn't do this and I know with absolute certainty I'll never go into management and I'll never stop what I'm doing until I'm dead. Money is really important but it doesn't drive me, otherwise I would have stopped doing most of the things on my list because none of them make any amount of money that's comparable to billable hours or a salary rate. At the same time I imagine there's lots of folks out there who go from developer to manager because that's what drives them and it's not because of money. I think those are the best types of managers. They know tech and how developers operate. They would be a welcome addition to any team.
- beardyw 5y agoNow retired, but that is the only one which fitted me. Who knew? I never felt very super. I am still learning new stuff and coding for fun.
- nine_zeros 5y agoThe reality is that the org structure for engineering companies is broken. Reasons: 1. The org chart shows a tree with managers on top of engineers - Big mistake because the manager will not be able to accomplish anything without reports 2. People "promoted" into management are usually the ones who WANT to be a manager. Wanting to be one is good but the reasons for wanting it should align with the company. Far too many people want to become managers for the TITLE. These people are parasites and will destroy the whole team by virtue of insecurity and sycophantism. 3. Many senior engineers are quite capable of managing teams. They should be encouraged by directors to try becoming a team lead - focus on tech aspects of a larger team, keep people happy. A better org structure for fast moving engineering companies could be something akin to European soccer clubs of high caliber 1. Director aka Technical director - Reports to VP - Has the power of the purse but is also deeply technical to understand what bets their group is taking. Responsible for hiring, projects, org structure, pay and culture 2. Engineering manager aka club manager - Reports to Director - Only responsible for coaching, mentoring and allocating resources to produce outcomes. Their key responsibility is outcomes and it requires keeping people happy, engaged and growing. They need to be deeply technical, much more so than directors to be effective in their job. 3. Senior/Team lead engineers aka coaches/leaders - Works with EM but reports to director - Responsible for driving their own area of expertise/projects. Much like a goalkeeping coach drives goalkeepers only. Only difference is that Senior/Team lead should also be expected to contribute directly to projects. These people are not responsible for happiness or cultivation of other skills or producing other opportunities 4. ICs aka the players themselves - Real MVPs of the team - Should be paid higher than EM because the EM is replaceable but the players often aren't. Should be shielded from politics but should be incentivized by money and status to remain ICs. This is how you get players like Cristiano Ronaldo not retiring too early to get into coaching. I would be very inclined to join a company where ICs are treated better because I have seen management-heavy companies lose sight of what is really important for the company.
- danrocks 5y agoI have two problems with this suggestion: - Director should be technical / Team Leads should be technical, but the person between them shouldn't? That sounds like a recipe for going behind the EM's back at every possible junction. - TLs reporting to the director? The analogy of goalkeepers coach does not make a lot of sense, because in a club, they report to the manager, not to the General Manager (Director in your example).
- Syzygies 5y agoMy father joined Kodak out of college, in 1951. A classmate who interviewed the same day ended up running the place. My father helped a senior programmer automate dozens of jobs, chemically testing their film processing plant. For this he was moved to their research labs. In the 1970's he invented the filter used in nearly all digital cameras: https://en.wikipedia.org/wiki/Bayer_filter https://en.wikipedia.org/wiki/Bayer_filter He retired as Kodak's highest paid employee with no responsibilities for others. He was profoundly uncomfortable telling other people what to do. Some people just aren't cut out for management.
- vanderZwan 5y agoBryce Bayer is your dad? That's quite the exceptional employee you're talking about then. I recently used his other famous invention (Bayer order indices) to come up with a fast approximation algorithm for blue noise (still working out the kinks of an improved version). https://observablehq.com/@jobleonard/pseudo-blue-noise https://observablehq.com/@jobleonard/pseudo-blue-noise
- q1w2 5y agoThis is like the exception that proves the rule. He was an exceptional specialist. The reality is that there is a big demand for people willing to help direct/manage developers who are not great with their time, and to have some degree of vision and project management skills - with a dispationate outlook on corporate politics. The best people to do that are former/current developers since they know how the sausage is made. Because of this excess demand, and the higher efficiency of having a manager with more managerial experience, pay rates are higher for management than most development. I don't think developers become much more efficient as they get older, since they're often required to learn the newest frameworks (unless they're in a highly specialized field that has tools that last decades), whereas managers become significantly better over decades, and thus can justify higher pay rates.
- andrew_ 5y agoWe start our own companies after seeing 20+ years of dubious decision making and pointless middle management.
- bertr4nd 5y agoRecently I’ve found myself wondering about the average stress levels of managers versus senior engineers. I’m at a big tech company that has roughly parallel tracks up to a quite high level, so I’m not hurting for income, but I see a lot of VPs/directors taking vacations, generally seeming well balanced in work/life. Meanwhile, I haven’t taken a legit vacation in 2.5 years (ok, the pandemic and small kids are partially to blame) and am constantly a ball of anxiety over whether my technical ideas are up to snuff, whether we’re on the right track implementing them, etc. I wonder what stresses I’d find on the management track.
- greymalik 5y agoHave you considered that this may be a problem with your workplace culture or your own mindset and not inherent to the job track?
- bertr4nd 5y agoOh sure, I mean, there are tons of contributing factors to human happiness and one’s specific job function in a specific company isn’t a complete determinant. A lot of my anxiety is directly attributable to a tendency towards intense self-criticism, which is going to follow me anywhere.
- FlyingAvatar 5y agoI am curious what prevents you from taking a vacation? People on my team are actively encouraged to use their PTO on an on-going basis.
- astura 5y agoRight? At my company you're actually required to use at least specific amount of PTO every year, like around 15 days I think.
- drunkpotato 5y agoTake a vacation! The company will be okay without you for a while. Disclaimer: I’m about to say stuff that are just my impressions, without a lot of “I think” or “I believe.” Take those as implied. Generally the stress of management is in coordinating various personalities and balancing competing priorities, while being on the hook for delivering results without having any direct impact on whether a project gets done to a high degree of quality. They rely on others’ expertise, some of whine may not be that reliable, and it’s stressful! Directors and VPs have that stress plus they are more directly accountable to financial results. However, they have to be cheerful and optimistic and never show weakness or worry to an almost psychopathic degree. This may look like a good work/life balance externally but internally “work brain” and the weight of stress are relentless. The bad ones sublimate stress and occasionally explode and yell at their subordinates. To engineers none of this looks like “work” because none of it produces concrete results. (I haven’t mentioned the endless word docs to read and write, and the spreadsheets, oh god the endless spreadsheets.) But it does accumulate a lot of stress and anxiety. On the vacation side of things, seriously, take a vacation! It will be okay!
- technotarek 5y agoI’ll offer a 5th — a twist on the legacy developer that is the opposite of the described. On an enterprise app for a smaller business, you’ll find that a legacy developer is one of few, if not the only, who fully understands the app, it’s architecture from A to Z and the data model from top to bottom. Thus, they are incredibly valuable. In the right role, they continue to tinker without being a manager and more junior devs handle the rote.
- technotarek 5y agoI’ll add, in most cases I’m probably describing an app with incredible technical debt, but that’s not at all unusual in the real world, especially in non tech industries.
- plutonorm 5y agoAnd then there are the vast majority of developers who are never offered a management position. I don't know what planet you guys are from but I've not seen a developer promoted in 15 years. I would kill for a promotion to get the hell out of programming
- daly 5y agoI was a developer for 50 years. Almost every other software developer I can think of "retired into management". I was offered a management position 8 times in my career and turned all of them down. Management is a skill that I don't naturally have and can't be bothered to learn.
- ipnon 5y agoThe day I become a manager is the day you pry a laptop out of my cold hands.
- Overtonwindow 5y agoThis is something that really irks me about the tech industry. If you don’t move up, you risk getting cut. Management will eventually phase out older developers in layoffs, and replace them with younger, cheaper talent. Big corporations especially. I know way too many developers who Never wanted to be in management, and eventually management became people younger than them, who preferred younger colleagues.
- deleted 5y ago[deleted]
- jleyank 5y agoAre you in it for the hacking, or for the results, or the money, or the power? Do you want to talk about and facilitate work, or do the work? Somebody has to design, write and most importantly debug the work. You can do it with a number of good people, a herd of cats or some mixture of the two. If you assume the head shed exists to keep the company alive, every other manager exists to enable the “doing the work” people to operate without interruption.
- dmclamb 5y agoTransition to information security. A challenging career that may pay well.
- almost_usual 5y agoReally depends on your employer. I work for an engineering driven public tech company in SV and it’s normal for there to be senior engineers who are 40+. Also at a public company it’s very unlikely a junior or new manager will be making more than a senior engineer who has been there for years. They might have 10x the equity a new employee has.
- RickJWagner 5y agoMiddle 50s programmer here. I'd say the author forgot 'Survivor'. It's possible to remain a higher-level programmer, just switching projects from time to time as your work ages out. Advice to the younger generation: About 25 years ago, a fellow programmer told me he was once in management, but switched back to programming. At the time, I though management was the logical career progression (an idea I no longer hold). I asked him why he left management. He replied "Because in management, they nip at you from the top and they nip at you from the bottom." Meaning that you still have a boss, but you also have underlings that want things from you. It was great advice.
- jcadam 5y agoI've known several who did the same. I was an Army officer before I went into software development, and have little interest in being in charge of other people again. The only painful aspect of this is being subjected to the poor "leadership" of others - when you know you could do a better job of it. Which is also why the #1 thing that can keep me at a company these days is when I see it has good leadership. I know it's rare.
- ozzythecat 5y ago> What if you never take that promotion? It’s not a promotion. It’s an entirely different job. You now manage people, influence and have control over their careers, performance management, as well as obviously working budgets, roadmap, etc. In my opinion, it’s a downgrade. I’ve found few managers in my career to be effective leaders. Most of my managers relied on the senior engineers to essentially drive the roadmap, do the estimates, lead design, break down the work, delegate, and lead the implementation. This is generally the trend I see at Amazon at least. The managers who are good are extremely driven and dive super deep into the tech, while showing humility and empathy. They grow their people, get them the right opportunities, and are people you want to be around. But there are waaaayyy too many managers who simply can’t cut it as engineers and switch from the engineering path to manager path. These folks actually add very little value. Actually the best managers I’ve worked with are all former engineers who didn’t want to become managers but took on the role because they knew they could fulfill the need.
- nojito 5y ago>Most of my managers relied on the senior engineers to essentially drive the roadmap, do the estimates, lead design, break down the work, delegate, and lead the implementation. You mean they were good managers who know how to bring out the best out of their engineers? Some of the best managers out there today can't code out of a wet paper bag and yet generate billions of value for their companies.
- ozzythecat 5y ago>You mean they were good managers who know how to bring out the best out of their engineers? No, I don’t mean that all. I meant that they provided no value on their own. They passed every bit of the responsibility to someone else, while still collecting a hefty salary and stock compensation. Did they actually earn anything? I don’t think so. If the senior or staff engineers do everything, even down to recruiting, why do we need managers? The manager is a dead weight - letting go of them is actually the right thing for the stakeholders and shareholders of the company. The general trend I see is that when their lack of management results in things actually derailing, their way of accepting responsibility is simply throwing one or more of their reports under the bus. Sure, they’re shrewd and figured out a way to play the system. I’ll give ‘‘em credit for that.
- bufordtwain 5y agoFrom my experience so far, you can keep plodding along as a regular developer as you get older. Your salary will plateau eventually. The plateau is high relative to most other jobs.
- BatFastard 5y agoI am a 63 year old developer, three of my close friends are also developers in their 60's. One works for Lockheed on 3D engines, one works for Cisco, they are both treated very well by their companies. Myself and another friend work for a startup. We both enjoy the startup culture, and now that kids are away for their own lives, we have the time needed by startups. I have run into crazy hiring practices, but I have learned that when they ask me to balance a binary tree that the job is not for me. I hope to never stop coding, I really enjoy it!
- chalcolithic 5y ago>when they ask me to balance a binary tree that the job is not for me. Could you please elaborate? I reject offers from the companies that never made me write any code during the hiring process for the fear of having incompetent coworkers.
- VLM 5y agoLOL its an incompetent manager detector, not an incompetent coworker filter. First of all it shows your future boss doesn't spec and doesn't care. From memory there are two solutions one has essentially zero memory cost but has a speed of O(nLogn) and the other has brutal O(n) memory cost and is about O(n) speed. Is memory so cheap for your application that you can double it for a mere log N speed improvement? Is N big enough of a number to matter? Its absolutely savage that in 2021 there's still companies hiring that can't pass Spolsky's hiring list from decades ago. A place that doesn't spec is a place that doesn't use source control, doesn't test before deployment, doesn't rationally schedule, its just a gang cowboys crashing it with no survivors. They don't spec, Run Away. Secondly it shows a dangerous level of NIH syndrome. Its almost but not quite as dumb as trying to roll your own crypto. If the job is writing a database or maybe a filesystem or a sorting standard library type code, it gets a free pass. Any other workplace, if you see an application for a database, use a database, or import a known good licensed library for DB or filesystem work. If you're interviewing for, maybe, a 3-d engine game dev position, its legit to talk about something like how the 80s were an era of rapid theoretical development in hidden line removal algorithms, because they were and its cool. But if the interviewer is like LOL no we're going to talk about how you'd write a tree balancer for a filesystem, that's so deep in the NIH I'd run away. That project is doomed. Third reason is its not terribly difficult to blast thru that algo the simple way where you traverse nodes and insert into a self balancing tree, or the memory expensive solution where you store into a temporary sorted array and then read out in a tricky fashion into a new tree (which is faster than one at a time because mumble something honestly who cares for 99% of jobs). Its probably about two to six screen fulls of Python. The real problem is its a cultural indicator of here's some flaming hoops to jump thru. The stereotype is we're a kinder gentler more civilized culture because we no longer abuse dolphins into jumping thru flaming hoops for our amusement, now that we're better people look at our halos as we abuse our fellow humans into jumping thru flaming hoops for our amusement. Just a workplace culture I'd run away from if I saw it. Forth reason is I've been around the block and when the interviewer knows what they're doing and what you'd be doing they tend to talk about that specifically. When they have no idea WTF either they or you would be doing, that's when they whip out "I'm bored lets fill time by having you implement Bresenham's line algo in STM32 assembly language for lulz". The problem isn't the algo, and the problem isn't learning the algo, its that the hiring process consists of people who have no idea what they're doing and no idea what you'd be doing, so working there would be hell on earth. You're interviewing them as much as they're interviewing you, and they just told you they have no idea whats going on. Good luck there...
- mr_tristan 5y agoFWIW I found this book to be a better survey of ways an experienced dev can take their career: https://staffeng.com/book https://staffeng.com/book This article seems a little flippant. I’ve found very few “specialists”, personally, or legacy coders. Most of the time experienced devs tend to become leads or architects. Sometimes leads do management, sometimes not. I’ve been an engineer for over 20 years now, and I’m definitely seeing more places defining very senior IC positions now than when I started. But I don’t know it will ever be super consistent. Everything, such as where I work or my career trajectory, is quite fluid. I’ve realized and accepted as a more experienced dev, I am the one that has to lead the transition to, say, driving new product or technical directions instead of management. And I need to be at a place where I can make that happen. So far, that’s never been a static, predictable situation; but largely because of how the business itself is. In the last 10 years, a major company event, such as an acquisition, or a major leadership change like the CEO quitting, completely shifted the dynamics of the org. Usually negatively. So, I read the tea leaves, see if I have any ability to drive good directions. When the answer has been no, I move on to the next one. Basically I’m seeing a lot of people expecting structure where there won’t be. Nobody will pave a clear career trajectory for you after about a decade. So I find it’s more important to ask “how can I negotiate what I want here” instead of “what title will I have”.
- bravetraveler 5y agoHaven't read this yet, but I'm having a hard time understanding the connection. Pretty much everywhere I've been, these are independent paths. Sure, one can flip to the other side... But they're distinct ladders to climb For the technical side you end up with some managerial tasks, like making sure your project is staying on time or deciding what to do when a feature tests stability. You probably do less work in the weeds, but still guide the technical direction The other side is much more about people and the business in my experience. While the technical/development side maintains a lot of their focus
- kohlerm 5y agoWhat about 4. Become a Chief Architect, Product Architect, how ever you won't to call it, Usually guiding other architects, making strategic technical decisions.
- anyonecancode 5y agoManagers control the money. They hire, they fire, the approve or disapprove promotions. That's _fundamentally_ more power than writing code. It would be nice to be able to ignore this, but things like paying for housing, paying for kids' education, etc means you can't really just put that aside. If you want to stay in a technical track, you need to offset your natural disadvantage here. You can't _just_ be writing code, you need to make sure you're actively -- and visibly! -- adding a lot of value as a tech lead. Even if you're not formally managing people, you're going to be coaching and mentoring engineers, because being able to tie your org's goals into a technical vision is the easy part -- the hard part is turning that vision into code that will be mostly written by not-you. And that's all people skills, involving people who do not report to you. IOW, there's still a lot of "management" work if you want to stay in the technical track. I recently did a stint in the management track but have gone back to the technical one because I get a lot out of technical work and found I need that to sustain me and give me energy. I found I can do the management part, and didn't even mind most of it, but it wasn't sustaining me -- an important consideration since, while I've been working for a while, I have a long while to work yet. But it did help clarify where I need to grow if I'm committed to staying "technical".
- lkrubner 5y agoAnother pattern I've seen is the software developer who is promoted to high level manager, but they remain focused on the work being done by the software developers. On this front they are very good: mentoring, teaching, removing obstacles. But part of their job is also to now form a better understanding of the other parts of the business: how does the work of the software developers overlap with that of the marketing team, the sales team, the operations team, the financial team, the inventory team, etc. These newly promoted managers don't seem to realize that their new authority means they must now focus on more than tech. I've known developers who get promoted to CTO, and they are loved by the software developers at the company, but they are hated by the CMO, CFO, CCO and eventually, after enough complaints, they are hated by the CEO, at which point they are fired. I write about this in some detail here: https://demodexio.substack.com/p/should-top-managers-focus-on-their https://demodexio.substack.com/p/should-top-managers-focus-o... 'This CTO is loved by the software developers but disliked by their peers. The CMO feels unheard, the CFO thinks the CTO doesn't show enough concern for the budget, the Chief Content Officer (CCO) feels that their team is crippled because the CTO doesn't understand their publishing needs. Such moments can undermine the career of a CTO. I'm aware of at least one case where, 10 years after the situation arose, the CMO and CFO and COO, who had all moved on to new jobs at new companies, were still whispering rumors about the CTO. When the CTO applied for a new job, and the company asked his former peers what they thought of him, they were told "He is uncooperative, he is not a team player." So clearly, in that case, it would have been better for the CTO if he'd spent less time with his tech team, and more time with his C-level peers. Or rather, there must have been some particular moment in the growing history of the company when it would have been best for the CTO to switch his focus away from tech and towards his peers, but the CTO missed that moment, much to the irritation of his peers."
- juancn 5y agoTechnical leaders do exist and mentoring is a huge part of it, you need to figure out a way to be a multiplier, without being a manager. If you want more money, you need to have more impact, but there are so many hours in a day, so you need to delegate, help others grow and look for large scale patterns that are easier to see with experience. If you do code, you must choose wisely what's the best use of your time, sometimes you do what nobody else dares to (take calculated risks), small interventions to teach and speed up a project, or just plain do what needs to be done (even if it's boring as fuck) to let others grow and add value. You also need to develop a good working relationship with other leaders (technical and otherwise). It's imperative that they trust you, so your integrity must be beyond reproach. Understand their goals and objectives and help get the company to a better place. In many cases, leading is a lot about emotions, people get scared/nervous when facing uncertain situations (think production incidents, external threats, etc.), it's in these situations that you need to be a reassuring presence, using your technical skills to break down a problem and give clear steps and criteria to attack whatever issue is at hand. Be calm and focus on the objective reality as much as possible. Give clear instructions and lean on more managerial roles to help track down tasks and deal with minutia. In all, I think a technical career starts with focus on the technical stuff, the science and technology, but as the problems become larger and more challenging, you need to start to pay attention to the people side of it, software is a team sport after all.
- nunez 5y agoAnother option only tangentially discussed: they go into consulting and specialize, making excellent, low-risk money in the process.
- karaterobot 5y agoThe option they don't really list is "continue working in more or less the same way until you retire", which I think is, by volume, what most people outside our industry expect. I was recently talking to some engineers about being in software in our 40s, and I eventually realized that a basic assumption they all shared was that they should continue getting raises and promotions indefinitely, and if that didn't happen it was a sign that something was wrong (with the company, or with them). They assumed that, as long as they continued advancing along a linear skill progression, getting better and better at their jobs, they would to continue getting at least commensurate career and salary progression. The thing is, that's not how most jobs work. In most trades, you reach a certain level, then top out, and after that you (hopefully) get small, periodic raises to match inflation, then one day you retire. But, you don't expect to make 10-25% more money every couple years for the rest of your life, the way you often do in your first decade or so of software development. I don't think it's a "check your privilege" thing, I think it's just that matching growth to compensation is a reasonable assumption engineers often make, because maybe that's how it should work in an optimal world, and it's sort of what a good developer experiences at first. But, the world isn't optimal, and the world of work is so sub-optimal it's not even funny, so don't count on it!
- wombatpm 5y agoThey get sent to a farm out in the country where they can play with the other developers.
- baskethead 5y agoI’m an old guy. I have 20+ years on me as an IC and am going through interviews. I have or have had a total of 20 interviews. I can honestly say I don’t feel any ageism. I do feel like the interview process is getting harder and harder though from an expectations perspective. I’m not sure if that’s unconscious ageism but I think it’s more that people’s expectations for perfection have increased.
- pictur 5y agoThe company I work for has too many managers with insufficient technical knowledge. that means witnessing the absurd battles of egos. I don't want to be one of them. Management and technical architecture are very different concepts, but people don't understand that. I find that making someone with insufficient technical knowledge a manager often makes that person a bad manager.
- stevenalowe 5y agoThey live happily ever after
- givemeethekeys 5y agoI now work as a manager. I used to be an IC. Without becoming a manager, an IC won't see the bigger picture and is more likely to feel like they're constantly being pushed around. Being a manager even just for a little while will give an IC a perspective that will allow them to negotiate better for themselves and their teams.
- lcuff 5y agoI'm a developer who worked for 35 years and never became a manager. I wouldn't say I fit into any of these classifications. I worked in the defense industry for 5 years, then switched to commercial software. I worked with several different languages in companies with very different products. I was constantly learning, but never thought of myself as a 'super developer'. I learned new languages and new product areas: C/Bash for a company building ethernet hardware in the '80s. (A full TCP/IP stack ran on the board). Switched to a company building software for the Mac. (C and Pascal). Did contract work for modem companies. Learned Perl (Bleah) when working for an Internet Advertising company. Learned Ruby on Rails working for a company that was doing analysis on Air-conditioning systems in skyscrapers in order to save the building operators money and energy. I stayed very interested and involved. Did my best work when my manager could carve out a project that I could work on by myself and be done in 3 months or so, without needing any supervision. "Management skills" is a huge misnomer in my mind. I wasn't management material, and not especially good on a team, because I'd get angry when people disagreed with me. Peter Drucker said the most important part of being a manager was having character. Not something one can acquire in any easy way. I got a lot of therapy to deal with my own anger, so that helped.
- okareaman 5y agoLet me put it this way: There is no love for old developers unless you are at the top like Anders Hejlsberg. Ageism is rampant in Silicon Valley. Older developers have some good qualities, like experience from fighting all the battles, and some bad qualities, like a resistance to moving out of technologies they are entrenched in. Younger developers offer companies more of a blank slate that can be molded, a willingness to spend long hours on technology that may not have much of a chance of succeeding (but there's a chance!) the stamina to put in long hours and less family obligations to worry about. I understand the preference for younger developers in the valley. My recommendation to developers turning 40 if they don't want to be a manager is to start your own business and be your own boss. It doesn't matter what it is, but that way you wont have to face an increasingly hostile hiring environment. Heck I've even thought about finding a young developer as a front and then writing all their code for them behind the scenes!
- aix1 5y agoI don't know if my experience is representative, but I'm well over 40 and haven't felt this one bit.
- rmk 5y agoThis hits the nail on the head. Most younger devs do not even have a clue of how senior devs are to be evaluated. This is why there is such a huge reliance on Leetcode-style interviews: it's much easier to evaluate someone on that basis, and it's also why most places will outright tell you that your leveling at the company will be contingent on your interview performance. This means that your skills that can't be displayed in an interview are of zero use insofar as getting paid what you are worth is concerned. As Leetcoding is the only thing that's going to get you that, you have the current cottage industry of interview prep companies. The same developers who are blithely rejecting tons of experience in seniors will find themselves in the same spot a decade from now. Poetic justice at its finest, but alas there are no victors here.
- emrah 5y agoIt makes sense to multiply the effectiveness of talented engineers by training them to be technical leads, but management is a completely different beast
- forty 5y agoEventually, they die. Just like everyone else :)
- everdrive 5y agoI've always wondered in these cases -- are we talking about a situation where "failure" means making less money than when you were 35, but by any objective measure still bringing in a very good paycheck? ie, Perhaps you used to make $170k, and now you "only" make $130k? Or are we talking about a situation where you get to a certain age and you literally can't find any work?
- ab_testing 5y agoI think the article is missing one key category. Many if these people are laid off in their 50s and are then never able to find work again or find on and off work as contractors.
- makach 5y agoWe go into security
- _nalply 5y agoOption #5 — The retired developer Developers can get jaded. If they are lucky and diligent, they might be able to retire early. After retirement they could continue programming in FOSS or private projects, if they love programming. This way they won't have to mollify annoying managers or customers and work around them. They won't need to participate in office politics, but of course if they work in FOSS projects they will continue to have to cope with politics, just different one. If they don't love programming, they could take up different hobbies or even start something completely different.
- xmcqdpt2 5y ago> Clean Room Technician: You know what they do with engineers when they turn forty? > [to Aaron, who shakes his head] > Clean Room Technician: They take them out and shoot them. Dialogue from the 2004 movie Primer.
- karmakaze 5y agoI'm not liking this limited number of options. > Option #1 – The Specialist I would say that I've been doing this my entire career in different specializations: T-shaped, Pi-shaped, TTT-shaped... > Option #2 – The Super Developer After accumulating knowledge in a number of specializations and contexts, environments, I'd say I'm about here now but want to change into something that's still not management. > Option #3 – The Legacy Developer I've been this at a number of companies where I've stayed 5+ years. > Option #4 – The Career Switcher Not at all interesting, unless it's perhaps a startup with a co-founder and I'm the tech-side. The Option #5 that I'd like to get into is a tech mentor/advisor. You know how much better a movie is that has a 'is this accurate or dumb?' research person/team? Well, we need these roles filled in tech companies too. Working in one project has key moments where I can fill this role but then I'm then later a productive/super developer after the concepts and designs are sorted out. The later stage work can be filled by other sr devs. Reading a tech design proposal and asking good questions, exploring 2nd-order effects, or identifying scaling problems that could arise are the sorts of things I feel I provide the most value.
- jareklupinski 5y agothose types of roles are not usually salaried, or at most, very early-stage CTO type positions that quickly ask you to name your less-expensive replacements you can more easily find that kind of work by offering consulting services and building/maintaining a network of entrepreneurs who stumble into those problems often enough to fill your schedule being #2 Super Developer long enough to get your name out there is a good first step into that world ;)
- karmakaze 5y agoThanks, this explains why I don't encounter these opportunities--I'm not much for networking or consulting or much of any other social/non-technical activity. Perhaps the role I imagine requires that level of social/networking if I'm committed to finding them.
- playing_colours 5y agoWhen we talk about niches for specialists compiler development and Linux kernel are usually mentioned as examples. What are the other good options where specialisation, long term investments are valued, and someone after 30 can focus on going deep into?
- giardini 5y agoArticle is far too optimistic. They get laid off before reaching retirement or vesting their pension and are replaced by younger and less expensive workers. They live in a van by the river and take such odd jobs as"motivational speaker": https://www.youtube.com/watch?v=Xv2VIEY9-A8 https://www.youtube.com/watch?v=Xv2VIEY9-A8
- jl2718 5y agoMany big companies have a “technical career path”. This is a lie. Reality is that this is a path of slow regular promotion up to your “level of education”. BS ends at technical staff. MS ends at principal. PhD ends at fellow, and those are all management roles anyway. Doesn’t matter how good you are. Nobody is really that good anyway; success or failure will largely be assigned to you. My advice is to either go into sales for the best management ladder-climbing potential, or stop working and buy a cheap house somewhere nice after about 5 years.