A career-ending mistake
bitfieldconsulting.com
bitfieldconsulting.com
In periods of ones life other things matters - maybe it is taking an education, starting a family, etc.
Other periods work matter.
It should be entirely fine to switch it on and off and change tracks throughout life - and in my view it seems like it is!
To reach a peak it takes roughly 10 years, but these 10 years can be started at 40 when your kids does not wear diapers anymore.
But we will integrate with tech more, as a society.
I wonder where brick and mortar stores will be in 20 years.
I.e., it's probably affected by who bothers to voice their opinion, and how memorably, at different times.
While one can change tracks at any time, success is far from guaranteed. Being a distinguished engineer at 40, one cannot suddenly decide to enter the track for CFO or CEO. The track for that accepted entries 10 years back and is already over-subscribed. Only the CTO track is open at that point and only in certain companies.
When one is 55 it is probably not too interest to attempt to go into the race to become and investment banker. Not because it is inherently impossible, but because there are more interesting opportunities.
Or at least: I think this narrative is the most productive, and the one I will stick to.
But your narrative implicitly signals acceptance of one's station and a realistic assessment of the tracks still open which is probably the right way to go.
You may argue you need employees to be a CEO rather than a consultant but you certainly don’t need a board of directors.
OP very much talks about this in the last few paragraphs, both in that you can't plan exactly and that you need to course correct as things change.
Also, just because it's okay or may happen that you change tracks within your career, it's still a good idea to optimize the track you are currently on and have an idea of where you want to be. Just coasting because you can't possibly plan your life seems like a strictly inferior option.
I thnk there is most satisfaction in putting yourself 100% into whatever you do. But what you do is not strictly limited to your work.
Sometimes you put yourself 100% into your family, sometimes it is education, and sometimes it is work.
I know it sounds preposterous, but ask anyone over the age of 55 or 60: except for folks who built their own companies or made truly exceptional contributions to their field, most will say that hobbies, friends, and family mattered a lot more.
So, there is this fundamental contradiction in this article: you can engineer a very neat career, but for most techies, the most useful goal is to make money fast in a way that doesn't drain your life energy. And most of the time, this means responding to opportunities, not sticking to your guns. For example, a lifetime IC job may be ultimately worth less than a management job that gets you to VP level in a decade. You don't need to dream about being a manager; you just need to be reasonably good at it.
You could say the same thing about ICs though -- "I refuse to believe there are people whose purpose in life is to spend 5 days a week for 3 years building an enterprise line-of-business app to automate an obscure legacy business process that will be used by 10 people in total, and all 10 of those people will complain about the new app and wish they could go back to doing things the old way"
That is a real meaning and sense of purpose for your earned money!
Though, that's just semantics on the naming. IC just means not having direct reports.
The world we live in still sucks away the best years of your life but at least you don't have to wait until your 60s to live the life you want. You can also work on side projects in your spare time that will hopefully accelerate this process.
This should be doable on a tech salary.
But, at least at some point in your life, doing work within a company may provide that life. At some point, you're done. And that point may vary. But many people wouldn't really love (or at least benefit from) a bunch of money dropped in their lap when they graduated from college.
Have a big trust fund? Sure. If it were from Day 1, depending on the circumstances, 9-5 would have been ehh. But not sure how directed I would have been absent strong parental direction.
I retired at 50 and "the dream" of FIRE is almost like someone else's idea of an ideal goal and I'm not that satisfied with it - perhaps because I'm out of sync with my peers (I have gained some retired 65+ friends). I had planned to enjoy investing however I find investing soulless and unsatisfying even though I'm doing well at it, so my life plan needs to change. My hobbies remain hobbies - they are not fulltime.
> The world we live in still sucks away the best years of your life
Some of the most satisfied people I know work in plain jobs.
I could found a startup but that's just creating a job for myself and the benefits of many many millions don't seem like they'd improve my life enough.
Agreed, but how do you know you are doing well at it? Who hasn’t? Stock market only goes up and has been fueled by low interest rates for almost 2 decades.
And that is true for all memory, I suppose. There is none. It's constant communication, down to the quantum level, a constant vortex of information, and if the vortex stops, all memory is gone.
You can have your cake and eat it, too: if your work is satisfying and seeing people use the things you built gives you joy, you can make good money doing something you life without optimizing your entire life solely around ladder climbing or bigger paychecks.
as an extreme example I'm aware of, the core AWS infrastructure is still heavily dependent on Perl scripts mashed together 15+ years ago.
What part of the infrastructure? The control-plane logic that triggers when the dashboard/CLI/CloudFormation request modifications to resources?
If you can switch to management without draining your life energy, go for it? I hope you're a good manager.
Personally, all of my experiences managing people have been very draining.
I've attempted to follow the traditional/expected progression path of senior->management and had a horrible experience each time. Even though I was getting praised for the work,it was taking way more energy from me to the point of burning out much faster than anything at the IC level.
I suppose that depends on what kind of work you are talking about and your perspective on what different kinds of work really are.
I wouldn't consider "The thing i do so me and my family don't starve" to have an inherent need to be hard or tiring.
Whereas "The thing i do to fill up my time with something i feel is meaningful" might have a hard and/or tiring component, but only if you personally feel like the hard/tiring part is required.
Things can be rewarding without being draining and value is subjective.
Now, did our presence impact the company? Did our code survive? Or documentation? Do people who work there today have any idea we ever existed? No, perhaps not. But really... who cares? The relationships we have with people in our lives matter, as do the impacts we have on each other, regardless of what our impact was on some rando corporation I earned a check from some number of years ago.
I have to wonder how things will change when the last couple of us from those days move on, as we are the last links to that time.
The exception is if you build a fundamental component of the system, and that component is so unique in what it does that nobody who comes after you will even consider the idea of ground-up reimplementing it, but instead just has to immerse themselves into your mindset, trust your docs, etc, whenever they're maintaining that component, forever.
---
The bad/painful version of this, is when the component relies on unique hardware (e.g. a mainframe's native IO-acceleration capabilities), and was designed by someone who was immersed in that ecosystem and understood how to write code to take advantage of it. So the code is incredibly non-portable, written in terms of the low-level abstractions of the hardware, that nobody else in the company will ever understand to the same level the original programmer did. This is e.g. flight booking.
You should hope to never encounter these, since they make the rest of your service that has to interact with this thing into a tar pit of low momentum, from your lack of ability to effect change on this component.
--
There is a good version of this, too, though: when the component relies on unique concepts and math (say, doing static analysis by generating constraint statements and solving/simplifying them using a prover) that are portable, and could in theory be reimplemented in a new codebase if desired... but which were literally invented by the programmer in the process of implementing the code, at the climax of months of lateral thinking about how to solve the problem. This is an engineering True Dweomer.
There's usually nothing wrong with codebases containing True Dweomer code; they're not any less maintainable than usual. And they solve a problem that isn't solvable with simpler solutions — that's why such a weird solution was arrived at in the first place. So they usually tend to stick around.
But everyone who arrives at the company will nevertheless be slightly afraid of touching the True Dweomer code. They don't understand it, even though they know they could understand it given enough time (and prerequisite textbook reading.) Unlike mainframe code, people might look fondly on the code, looking for opportunities to be assigned to a project that requires that they come to grips with it... but the project usually ticks along by itself, not requiring much maintenance.
(What you'll actually hope for, is that whoever writes the True Dweomer code requests to lift it out, out of whatever project it's a part of, out of the company itself, into an open-source project. Because that way, that person who does understand it, can keep maintaining it, even after they leave.)
E.g., tech suffers from the former, politics from the latter, and for both fields, the effect is a warping of the good that they could be doing for society. Society should be set up to encourage "correct" entries and exits and to discourage "incorrect" ones (with allowances, during the transition, to avoid having a "lost generation" that never gets to contribute).
Letting people hang on, with their outmoded ideas, into their 70s and 80s? Forcing breadwinners to take on maximum workplace responsibility at the same time that they are most able to contribute to raising their family or building and maintaining their community? There's something perverse about this set-up. To say nothing of the people forced to spin their wheels while the 10xers load their own plates with all the opportunities.
Every couple years since, I've gotten a bug in my butt and investigated how many sites still had pieces I'd clearly worked on. On this most recent occasion, I could no longer find anything. They've changed over to some open source CMS and I was unable to find anything I had built.
It's been 12 years in there since I left, but as far as I can see on the front side everything I'd written is gone. It's a strange feeling, like 5 years of my life just evaporated.
Very odd to look at it and know that I'm probably one of 2 or 3 people who know why that specific code is there, and also to know that the base of this is still running.
But that's the exception, not the rule.
A gas station sells gas that is gone within weeks. But someone fills their car, and drives to Mountain View and gets a job that changes your life.
Helping a business grow by 10% more each year because they were an early adopter to websites is something you impacted, even if your code isn’t there to remind people why.
“All we are is dust in the wind.” (Kansas and Ecclesiastes)
The world isn’t a static place. The impact is often closer to saving X thousands of people a few seconds than anything more meaningful. Perhaps the indirect result is someone finds the love of their life but it could just as easily be a life changing STD or getting run over and impacting many people means many such indirect changes both positive and negative.
To quote Roy Batty, "All those moments will be lost in time, like tears in rain."
If there's anything I've noticed in this industry, it's that abstractions tend to outlive their origins. For instance, back in the 80s the Unix systems my workplace used (and subsequently, many of the applications they ran) had an 8 character max username length, and although those old Unix boxes (and their vendors) are long gone, we're still given 8 character usernames since nobody wants to find out the hard way that there still are some applications that depend on an 8 character max or which truncate longer usernames to 8 characters.
If you want to make a lasting impact on an industry but you weren't able to get in on the ground floor, your best bet is to get into advanced R&D, whether at a major hardware company or in academia. Anywhere else and your knowledge will either be wasted because nobody cares or it will be siloed off because the company will never open-source the tech you pioneered (and someone else will likely take the credit for it later on when they create an open-source equivalent).
The goal of many software engineers is to build software / systems they can be proud of. They love software and the machines it runs on.
Many people here have Arduino projects, 3D printers, home servers, and similar hobbies.
A few weeks ago, I was looking for compression algorithms for a particular use case and came across Brotli[0]. I was surprised to learn it was developed by Google. That realization hit me hard. Google used to be a hub for this kind of innovation. Projects like Brotli aren't built to maximize personal profit; they're driven by passion and a genuine love for software engineering.
It's clear that the industry is shifting from being geeky and nerdy to being more business and management focused.
I've heard this same complaint for the last 30 years, probably starting with this - Bret Hart helps you debug a null pointer dereference: https://www.youtube.com/watch?v=HSmKiws-4NU
Maybe for people <30. Priorities change very fast, as you age. I’ve met a good chunk of very talented engineers through work and other venues who acknowledged that they stopped caring after some point.
This.
I read here on HN some time ago an article stating that teenager-ish people crave to find "meaning" in work due to being what in essence can be described as emotionally retarded (although intellectually normal). This all changes fast as they age and/or have kids or other inevitable live event that manages to pull their head out of their ass.
Basically Mark Twain's "When I was 17, my father was so stoopid" remark.
Then once they reach about 30 they realize family is what mattered the most, work is just a means to an end most of the time and it's really hard to make your "mark" on the world. Why not make your mark in a smaller way that's more guaranteed? By being there for family and friends
I fundamentally believe a lot of my issues with our field is partly a skill issue on my part -- if I were talented enough, then I might be able to achieve what I truly desire: to work on projects where people care about quality and care about the problem that is trying to be solved.
However, I feel like my IC career is akin to an assembly-line worker. The people I have worked with do not care about quality nor programming/computer science at all. They just want to get things done as fast as possible while extracting as much money as they can.
So yes, I am about to stop caring. If companies want fast churning, low-quality software, then so be it. I'll just need to get over tying some part of my identity to my work.
However, the risk of burnout still exists, but this time, from overwork, because there is essentially an unbounded amount of work that could be done. Additionally, my career growth at my current place is probably stalled out unless I want to do substantially less tech work. This occurs because they have a lot of people who've amassed a lot of specialized expertise, so technical skill is commonplace.
Ultimately, I arrived in a spot in my career that isn't terribly different from most people, despite the amount of work and time put into trying to break away from that. I don't regret it, but there is a sense of wondering whether it was really worth it if my progression, pay, and everything else follows the same age-gated gradient that is prevalent in industry.
> I don't regret it, but there is a sense of wondering whether it was really worth it if my progression, pay, and everything else follows the same age-gated gradient that is prevalent in industry
I am going to assume that you are much further along in your career than I am. Not perhaps in years of experience, but rather more in terms of literal career progression. I'm just a small shop code-monkey, so there isn't really any verticality to my position (unless I jump ship).
However, I do sympathize with your questioning the worth of it all. In some ways, I think I have prematurely questioned many of the same ideas. Such questioning has perhaps aided in my procrastination in bettering my situation.
Maybe what I am looking for is purely fantasy and does not exist in a truly feasible manner? I mean, we have only one life on this planet. I often find myself questioning if this is how I one to spend such time. . .
> Maybe what I am looking for is purely fantasy and does not exist in a truly feasible manner?
I felt those same things. Places where quality work is respected do exist, but they may not be in FAANG. You may need to choose between interesting work and money eventually.
Happy to chat more over email if it is helpful.
In the case of Google, they very much are driven by profit. For a small company, reducing your payload size or decompression time by 0.01% may be senseless, but at their scale the benefit will greatly outweigh the costs.
Disclosure: have collaborated with Jyrki and the compression team, including WOFF2 font compression, an early application of Brotli.
And this type of work was only possible because someone provided resources because they were expecting some type of payoff.
Let's stop romanticizing the past. Brotli's first release is from 2015. More than 10 years after Google's IPO. To claim that this type of project used to indicate that companies were more geeky and nerdy is completely asinine.
I worked at my first consumer-oriented tech company, right after the dotcom crash. It was a really unexciting interlude in my career. I was given the job of writing the database and Java representation of credit/debit cards, and the related business logic. As often happens, the code grew over time, as requirements and card types were added. And it was finally time for a rewrite, and this code became a poster child for technical debt.
Startup activity resumed, and I left for a far more interesting startup.
Then, maybe 15 years later, I was retired, and doing consulting, and ran into a friend from the company, who told me that a new company doing something very similar, and was looking for help. I go in and talk to them, and discover that they actually licensed the software from my former company. Including my long-in-the-tooth credit/debit/xyz-card software. The code was still completely recognizable, disturbingly so. It lived on far past the point that it should have.
I decided to not take the consulting job. I really did not relish the idea of going back to this very forgettable and uninteresting code. But most importantly, I had just retired, and wanted to spend my summer on a lake, not keeping this code alive a bit longer.
We pressure people into management roles who have no reason being there other than "that's where more money is" or "that's how you create change". If someone's "end state" is a highly competent and flexible IC, then why isn't there more money for them to continue succeeding at that role as compared to an ineffective manager? For all the talk that tech is a meritocracy, it obviously isn't, otherwise we'd be rewarding the best talent without forcing them into bad roles or hollow titles.
Motivations aren't restricted to money alone, either, as we've seen post-pandemic with the WFH-RTO conflicts. A plurality of workers have realized their time is more valuable than their work, and are refusing to take chump change for multi-hour commutes from affordable suburbs just because their employer is arbitrarily demanding butts-in-seats in a pricey city. Others want their employers to be more involved in politics, or at least acknowledge that choosing to be a for-profit business is in fact a political statement in and of itself; hiding behind faux-neutrality in times of crisis isn't sufficient response anymore. The times are a changing, and the workforce is increasingly making its frustrations known.
Which brings me to your last paragraph:
> ...for most techies, the most useful goal is to make money fast in a way that doesn't drain your life energy.
I would like to proudly stand up as one of those not in that "most techies" crowd. I do this work because it comes easy to me, is incredibly interesting, and allows me to work in infrastructure in a way that isn't building roads or laying pipe. I identified my career ending way back in High School: acting as the jack-of-all-trades IT guy for the school or district, grey hair and hoarse voice, gradually nerd-sniping the kids who, like I was, are bored out of their skulls and looking for a challenge. The money certainly helps (even if it's not nearly enough to buy a home close to the office), but my career begins and ends in ultimately the same place.
And that's the point of the post: identifying where your career ends, and the arc it takes to get there. It's why I'm doing the leadership courses and trying to beat a new path upward in the corporate world, one where highly-competent ICs who are also good leaders are recognized as such and put into long-term positions within an organization, to weather the storm of cyclic leaders and fickle shareholders, and ultimately build a stronger, successful, and sustainable entity as a result. I need those years/decades of leadership and money to reach that position where I have a paid-off home, decent retirement savings, and can finally dedicate my remaining time and talent toward building a better future for the next-generation of people.
This is a tightrope I think many people wind up struggling with—it’s easy to slip into doing something that pays well but does drain your energy, then struggle to wind things back once you’re used to the increased income.
With lifestyle creep, mortgages or kids' educations to pay for, the sum that would have been "enough" in your twenties isn't in your forties.
Many people work hard for decades and drop dead of a heart attack the first day after their retire.
Others retire too early and find out the hard way that they did not, in fact, have enough money.
Some people get both right and still find themselves bored or spiraling unhealthily (drinking to much etc).
also I know one family who retired early, realized they will run out of money and instead of going back to work moved to costa rica :)
How are you positive that you can get to VP level in a decade as a manager? That doesn't sound easy. Just by looking at the number of managers and number of VP in my company it would seemed that around ~2% would eventually become VP if the ratio hold, that's an incredible standard for "reasonably good". Doubly so if you are not even starting from the same track.
Is it so insane to think that it is possible to enjoy your job? I feel that this treatment of your job as a toxic thing that must be handled with safety gloves from a distance may contribute more to the "drain[ing] of life energy" than the actual job itself.
There's a couple issues with your assertion. Even if you go the VP route, people rarely make VP in under, say, seven years, and usually more like twenty years, without exceptional luck like getting in on the ground floor of a rocket ship. If you don't like the managerial path then you'll burn out long before you get to VP. The second issue is that learning to control your expenses is far more powerful than earning more money. I promise you, no matter how big the salary is, there are people drowning in debt despite of it.
Hobbies, friends, family - none of these should require outsize financial outlay. Doing what you love, building your community, and living below your means is a much more powerful strategy for lifelong happiness and fulfillment, and also much more likely to succeed than some years-long "sprint" to a job you can barely tolerate.
Beyond that many of us have been running on fumes for years, I can't lose ten extra hours every week away from seeing my family, so I can up-skill for a new variation on the same career with ultimately the same bull.
Or meant to plant a seed of thought in someone’s mind ?
> I can’t lose ten extra hours every week away from seeing my family
I hope you find the time to make it work for you.
And , I don’t want to assume but so have found “I can’t” attitudes don’t work for effecting change in life.
Maybe work on that aspect of your personality.
I personally subscribe to framing “I can’t” as “I will not”. Then you can view such things as the conscious choices they are. You can also avoid feeling forced to do things just because they are expected of you.
E.g. “I can’t give up time with my kids” vs “I will not give up time with my kids”.
It is important to live well within your means. Having an extra margin makes job and life changes much easier and lower risk. Many people’s expenses grow to their income and they paint themself into a financial corner. Unfortunately once you are in that spot it becomes much more difficult to get out, and larger sacrifices need to be made.
There are always options, and we have more opportunities and “stuff” than any other generation which has lived. Our stuff and jobs should serve us and not the other way around.
I don't want to manage people. I would be the exact kind of manager that destroys my own will to live. A senior role would be nice, but because I don't have any social skills (all that time I spent learning all of the technical knowledge I have now had unforeseen consequences, specifically, my social skills and emotional restraint are significantly stunted.)
Stop using the argument that people need to make sacrifices. It's not true.
Also related: The Peter Principle: people get promoted to their level of incompetence. We think we want something but then realize the job is actually harder than we thought, so we do a bad job (or burn out).
So to the excellent points in the article I would add an introspection about the level we want to achieve and how to continue working at that level, assuming we don't hate the job.
> I think the article is written for high-agency people, which are rare in my experience, even in tech.
While your assessment about the article may be true, high-agency people are common in niche careers. Anything that is extremely high performing (emergency medicine, Wall Street trading floor, elite law firms, entrepreneurs of any kind (especially non-tech!), etc.) will have plenty of high-agency people. Plus, this board is full of high-agency people. At this point in 2024, "tech" is a pretty much meaningless term, similar to "Europe". What does it even mean? The landscape is much too wide and diverse at this point.I have worked at some great companies, and some not so great ones. A couple FAANGs as well as a 20-person startup and everything in between. I have been part of some fantastic product teams and a fair number of disasters. I have been a code monkey, an architect, a tech lead, a staff engineer, a manager, a director...and now know that none of these fancy titles really mean anything. And throughout all this I have managed to put a decent chunk of money in the bank.
Most would consider my career to be pretty successful. I like to say that I don't really have a career but simply jump from one project to the next and one opportunity to the next depending on how the wind is blowing. Never once have I had any semblance of a "plan" or a "goal". And despite what all the authority figures in your life will tell you, that is a perfectly fine way to live and be happy.
Our culture possesses this weird belief, that people always need to be transformed. This cuts across all ideologies, ranging from religion to Marxism and corporate culture. I think simply declaring "bullshit" to that belief can lead to a much happier life.
That's the ideal career for sure, but how common is it?
It would be great if I knew I could bumble along and become a staff eng/manager/director without any sort of plan or goal. I don't believe that's a common experience though, and it seems even more unlikely for people who are at the start of their careers today (Like me).
I'm beginning to feel ageism big time nowadays. And, while i'm thankful that i don't have any impact from disability (yet?!) from employers, the wealth accumulation is not enough to where i'd be comfy just yet. I wonder if "unicorns" outside of FAANGs nowadays are simply trying to accumulate enough wealth from conventional corporate IT jobs to have a comfy retirement like folks from the 60s/70s/80s/90s eras have had? ;-)
You can work a series of jobs in tech, until accumulated wealth, ageism or disability ends it.
At Stream a lead is 80% technical, a director roughly 50% sometimes more. And even VPs and up are still somewhat technical.
I think the idea of management without technical excellence track is just misguided. Small teams, technical excellence, and leaders who can do the work is the right way.
I‘ve seen bad companies where it is true, but in good companies typically not true. Look for example Peter Norvig, 100% hands on technical type, but in a high management position.
It's a nice gesture that they exist, but we're not all Rob Pike or Peter Norvig.
> Look for example Peter Norvig, 100% hands on technical type, but in a high management position.
Just one time in my career, for about one year, I was tech lead on a small, wildly talented team. When you are "managing" highly-skilled, highly-motivated people who are paid very well... you don't have to do very much. Talk to them for a few mins a day. Be available they have questions. Else, it runs itself. Probably, the biggest enemy of success on those teams is intellectual boredom! I assume that Peter Norvig does very little day-to-day management. Instead, he is working in the same way that I was. It is much harder to be a good manager when you don't have all of the stars aligned: less skilled, or less motivated, or less well paid.c-levels, VPs, and directors can be very technical, but rarely write code. team leads definitely do, though it may be only 3 days a week, and rest is org/planning/pr reviews.
only at small companies does the CTO write code. our cto has written plenty of deep code back in the day that enabled the business to scale to its current size.
There are some different aspects to this; The director will have many other responsibilities and may not be able to provide to provide the research/expertise required to produce a good code solution to the issue at hand and integrated with the rest of the system.
The rest of the project team may be delayed with waiting for the directors code and may well find it difficult to co-ordinate with the directors level of knowledge (which is perhaps out of date). In general, criticising the director for delay or bad code is not likely to be a career-enhancing path.
In small company/start-ups, this a common condition that does need to be remedied. Directors/managers have significant responsibilities that needs to come first rather than feed their own ego/desires. Hire good people and direct them to scale the business, your job is different now and you need all your skill/time/resources to do it well.
In short, personally been there a number of times and it wasn't good for anyone. But we struggled on.
It's different technical excellence.
What's not given proper weight is that it's different technical excellence. Roles seen as "more management" demand system-level understanding and technical knowledge. And a technical knowledge that includes what many see as not technical such as awareness of people or finance dynamics. They can, should be seen as technical aspects. A more senior, "more management" role has different levers to use to make projects come through. And these are different higher level projects. A more senior role is also free to juggle reports who specialize in this or that. If you hate or you are bad at task scheduling, have someone do that for you. If you are not great at writing speeches, etc, etc.
Among the ways you can prepare for that: (1) find at least one mentor (someone at least two steps more senior who can guide you on what to think about and on how things work. If the people two steps up in your company are bros... your mentors don't have to be in your same company.) (2) Consider what's missing to your skillset - and that's not planning software but maybe it is.
While planning might work for some people, having a more short term view can work for others. The only thing I could ever control was what I was able to do, and when I was ready to move on. There are many optimizations available to succeed in life; not all are obvious.
I know it’s a big ask.
I am just insanely curious to know.
One thing I noticed is that what I valued in my 20s wasn't what I valued in my 30s and 40s. It's difficult to anticipate who you will be in a few years from now. It may change drastically. Keep that in mind when planning!
My favorite career end that I'm naturally working towards to is the ability to jop hob to different roles without having prior experience. One way to do that is to be able to show in an interview that you have transferable skills and learn crazy fast. Another facet of that is that you need to identify companies that are open to this sort of thing.
Another career end is to become rich and not work. It's not achievable for everyone of course. But it is a type of career end.
Other career ends that one becomes disabled and live on disability checks or welfare. To me, it seems that this is a career end that people want to avoid.
I feel digital nomads aren't really represented in this career end. You could put it under independence, but the characterization of independence in this blog post was quite narrow which is why I feel the need to state it explicitly. Some people are in their career end when they can just work remote 4 days and have a decent salary.
There are many more career ends, what could you come up with?
If you find a magic workaround to that, please let us know.
Maybe its been the job hunting climate of the most recent decade or so...but I no longer see opportunities for jobs where employers are willing to take on someone who might be awesomely enthusiastic, and well-rounded, but lack a very super-specific set of skills. This also goes back to those ridiculous job descriptions where an employer __"requires"__ a candidate to have, let's say, 10 years of a specific experience - even though said skill might have only existed for slightly over 10 years.
I wish i could do something like that: sort of jump to a different role without prior experience (or at least very little experience)....For me it would be more of an intellectual fulfillment, and wanting to learn more, etc...And, for any employer who would give me that chance, i'd legit give them 110%! But, i'm not holding my breath for that.
I had luck and opportunity to ride the cloud computing wave and it carried me into software development and distributed analytics systems, from a B.A degree in business. 20 years of lateral moves up to Sr. Level, but never outside of IC, yet.
I daydream about turning my DIY skills into some type of construction trades business while I am physically able. Or testing the waters with software consulting.
Manager role is not appealing working for someone else's company although just like construction trades, being an apprentice in that role is probably going to be the best way to learn it. I dread the meetings and politics and employee reviews. But if I really want to run my own business, at some my point I may need to be a manager on someone else's payroll. Even if just for a year.
Seems like a fake citation https://www.taoistic.com/fake-laotzu-quotes/fake-laotzu-quot...
A sweeping statement indeed, but it does reflect my experience too.
Perhaps it's my ingrained deference to authority - when I start a new position I tend to believe that my manager has my best interests at heart. This is a mistake and I now believe it's better to maintain a kind of defensive attitude and to always be assertive in establishing, and if necessary negotiating, the responsibilities and expectations of your role and your relationship with the manager.
This may not necessarily be a personal failing on their part, this may just be a consequence of the operational management system you both work within.
You are a good IC? Sure let's promote you to management, but in 95% of cases, we're not even going to pair you with anyone or have a senior manager help you understand, build and grow - we're going to throw you in the deep end and have you sink or swim.
This often ends up with stressed out people used to doing well now approaching an entirely new problem with slow feedback loops and entirely different protocols than before, and the amount of burned out shitty middle managers I see is off the charts.
IMO - managers are terrible at the same rate as ICs. But the damage a terrible IC can do is limited in most companies because there's guardrails like automated testing, pull requests, no access to the production database, etc. At worst they end up being a big timesuck for other team members until they get let go.
A terrible manager will sink a project or team single-handedly, though.
What if code was how decisions were recorded ?
What if companies were programmable ?
That is, you can ask hypothetical what ifs all you like, but unless you have a concrete plan for getting there, you're just writing fantasies.
And, management decisions get reviewed before implementation all the time. It's just not a code review, precisely because management decisions are not code.
Why aren't they code? Because people aren't computers. If you're going to treat them like they are computers, then I don't want to work in your company.
They're decisions, but often not something you can have sitting for review for days ahead, even if it's only seen by senior management. I've had plenty of times management announced something I agreed with, but the way they explained it was so rancid I came out of it upset.
At the end of the day, management, and in general all human interactions, are a glimpse into who you are. It can go amazingly well, or disastrously poorly. You can try to be very careful and say what's needed, but tone and timing and phrasing will almost always give things away.
Or is the fantasy “votes for all” actually a plan?
Yeah we can have plans - get Zuckerberg to give up power and place it in the hands of employees? Maybe convert Meta to a co-operative?
But on the literacy point - at some point we ran everything with illiterate “managers” - but slowly developed organisations that use literacy. My, yes ok fantasy, is not only democracy but that everyone inna company is software literate and has access to (maybe not write access) the code base of the company.
So there is a concrete plan - a whole org test rig, a company that every IRL action has a virtual shadow, a codebase that directs this IRL actions day-to-day and everyone having access to the codebase and able to suggest / comment or even vote on pull requests.
Run the company through code - change the company through democratic politics
If someone writes code that has an error in it, you maybe think a bit worse of them, but it's a learning opportunity and that's what the review is for. If your manager suggests a course of action that you deeply disagree with, that's hard for them to come back from.
Having political discussions out in the open is - I hold as an axiom - a positive on balance.
This who are “upset” about things - well they are adults in a political society - they can understand the issues. Do they feel exposed / vulnerable ? Maybe there is a political solution to thinking you have two weeks notice and that’s all the protection
I think it’s worth having decisions openly debated - otherwise we are blessing an elite and frankly hoping they will get it right.
The survival rate of companies suggests they might not be
I would suggest that the first step in a concrete plan (see below) is that every line manager becomes the place where the next line manager does a git pull from.
Eventually you want to release code, the actual CEO needs to git pull and sign off.
I'm not a manager, and I don't want to be. But I'm quite happy with the manager training that my employer puts people through before giving them direct reports.
One should always be negotiating expectations, though, even when one considers management to have our best interests in mind. And also remember that your manager is learning how to manage from you. You get to shape their experience of being a manager, and you get (to an extent) to guide them in how they grow as a manager.
There are whole degree programs dedicated to managing and organizing people, but we’re like, “nah, Joe’s a good programmer so we should talk him into stopping that so he can supervise people instead”.
Fact is, there’s little relation between the two. A person may happen to be good at both, but expertise in one does not imply adequacy in the other.
If you can't work well with any manager the common denominator is you. It's also the only thing you can change.
There's also a lot of selection bias. What many people point out in these threads is that the sort of people who desire to be in management, and the sort of skills selected for in managers often don't align to what more ICs would actually want out of their managers. Managers are often hired by other managers and not by the managed, so the skills that get you the job often aren't aligned to what would make them good to work for.
Transparency and keeping people informed, yes. Sharing a bunch of info and letting every IC make their own strategy and prioritization decisions, no.
They set clear goals and expectations, provided honest feedback, both positive and negative, and quickly jumped to help re-plan when things did not work out.
They were also asking what I am optimizing for (for me at different times it was more money; promotion; interesting problems to work on; time to explore other long-term products) and as far as I could tell worked with their managers to move me in that direction, sometimes successfully, sometimes not.
I did not assume any of my managers had my best interest in heart, but one of my first managers gave me some lessons on "how to manage your managers, myself included". It took a few iterations, but he convinced me that by far the #1 thing most managers want is for me to deliver things on time; not cut a few days off the project timeline. And if I learn to do that, they will advocate for my interests, shield me from corporate BS, etc.
Some specific advice from that manager was (in his words) "never promise something in 2 weeks unless you could demonstrate it today" and "do not sit quietly when you are given unrealistic timelines; counter with specific subtasks you see and how long you expect each will take". That general advice worked very well for me and helped build symbiosis with direct managers.
I did dislike a few managers, but those were generally good ICs stuck into a management role they did not like (or at least did not know how to do) and kept both sticking their fingers into what their team was doing and start timeline discussions with "it would take me one day to do this, I will give you two; go-build-this-now".
Again, just a personal data point; not claiming that most of the world works this way. I may have been just lucky.
Thanks these are good advice.
> most managers I had in my now 25-year career in tech were good.
I didn't have tons of managers, but my experience as well. Of course, they have their own interest in mind, rather than mine, but in my case at least, our interests were more or less aligned (completing projects, not burning out or leaving the team, working on things that matter to the company, avoid conflicts...).
As a manager/developer, I do sometimes see this attitude in some devs. I try very hard to help them find a different job where they are not working for me.
It's not entirely clear that much of this field will look the same in five years, but still, I think doing the thinking and the planning for the sake of mapping out the route is important.
If only to inform you that no, you don't want any of those routes.
(I did this planning and ended up in academia/microbiology, as a product designer, for better or worse but it's been fun)
It's a great question. It is also, I think, the right time frame, though one could argue for three years instead of five. Given the terrain I see now, I can plan for the next five years, and have those plans be mostly reasonable most of the time. Past that is harder.
If you're in embedded systems, probably learn Rust.
If you're in Android apps, probably learn Kotlin.
If you're in web programming, I have no idea how to advise you, but there are others who can.
I have found utility in "overengineering" my life. Not just the tech I do, but in most things, and creating small, robust, high-Quality, and adaptable structures. Things that can be rearranged, and repurposed, when (not "if") the context/paradigm changes.
I started maxing out my retirement in 1990, and that's a good thing, because, in 2017, when I finally started looking for work, I was surprised (and disgusted) to find that no one wants to hire us olds. I wasn't planning to retire, but I wasn't consulted by Reality.
In my work, I have found utility in writing in modular fashion, and making every module as high-Quality as possible. I've had to toss quite a few, and had to do substantial refactoring on some, but, for the most part, they have served me very well, and continue to do so, to this day.
An extra log line here or there, or an e-mail sent to the admin in weird situations, goes a long way - provided that you don't generate many false positives, because no one pays attention to a program that cries "binary wolf" too often.
Perhaps there is something wrong with me but I always want to dot all the i's and cross all the t's.
Guess I'm there. I don't know how common my mindset is around here, but I have a relatively low stress, unexciting remote job in web dev. It's not glamorous or particularly interesting, but it pays well and offers the flexibility for me to travel a lot/spend time with loved ones and have extra mental energy for my hobbies. Well worth the tradeoff for me personally - I have no particular impetus to climb the corporate ladder when I already make six figures in a low cost of living area.
I recently took a break from work with the intention of working on some side projects and also thinking about what it is I like to do (somewhat along the lines mentioned in the article - do I want to stay on my current trajectory and try to hit senior IC, management etc). I am only about 6 years into my career, perhaps a bit early for a sabbatical but I felt this was the right time for it. I had a pretty good reputation in my job and I could have done the thinking while on the job, yet I felt I couldn't. I am helped by not having any financial concerns or other responsibilities.
I am not sure what I expect to gain from this though most people assume that either I must be starting my own business or chilling at home although neither is true. I took care to put some structure into it so I don't while away the time scrolling HN. I don't think I will get a sudden epiphany but feel if I put in some hours without any external constraints, something might happen. The worst that could happen is that I have to write off this time and go back to running the race in my IC track.
Wait a minute if the people most suited to make a decision are overridden by people less competent than them (they have to be most of the time, given the different focus of their career), that's kind of a problem, isn't it? Is there any way to avoid such structural failures?
In practice, the people who make the calls more often does not do so because they inherited a crap load of money, not because their own genius or hard work raised them to the top.
I am a generalist, and I have been struggling with how to find opportunities myself by connecting to people 1:1 and discussing first hand the nature of the problem and whether I can help them with it. I imagine a coach help me typically with forming a coherent career statement and pointers on how to have these conversation.
Hit me up, if you're interested: https://www.linkedin.com/in/neurohack/
Career progression should be dominated by FIRE...
Advancement seems to be lot of outmaneuvering these folks.
I don't get this. What is stopping anyone from doing that themselves? Why does someone else have to do it?
I am not a religious person but it is good to remember you will die. You should have some better stuff to put on your tombstone than your job title.
People aren't going to care who you were in 100 years and people aren't going to remember you in 1000 years. Your tombstone will crumble in the dirt.
Spend time with people you love, spend time with your family and friends. Find meaning without economic strings attached.
What do people gain from all their labors
at which they toil under the sun?
Generations come and generations go,
but the earth remains forever.
No one remembers the former generations,
and even those yet to come
will not be remembered
by those who follow them.I want to get to a point where I can start an independent EE consultancy, then slowly get more and more selective about my clientele, until I choose to stop working.
> the time I inadvertently shut down one of Britain’s nuclear power stations
There is a scram joke in there somewhere ;)
That’s quite a sweeping statement, I know. (Prove me wrong, managers, prove me wrong.) But, really, would a car mechanic last long in the job if they couldn’t fit a tyre, or change a spark plug? Would a doctor succeed if they regularly amputated the wrong leg? We would hope not. But many managers are just as incompetent, in their own field, and yet they seem to get away with it.”
The fact that most managers are terrible doesn’t really prove managing is hard. in fact you could make a case it proves the opposite, the fact that most managers are terrible shows that management is easy, at least if we are talking about what it takes to keep your job.
FWIW I would agree with the point that being a good manager is hard but I don’t think this argument holds water.
> and unlike your colleagues in management, you won’t spend all day in meetings.
The author will be surprised. In a bureaucratic company like Google, even an E6 can spend all their time having meetings and writing docs, to the point that they even get rusty at drawing boxes.
> If you want to reach this level, you’ll need to become a master of your chosen craft
One thing that worries me is that mastery also means specialization, and specialization is the most risky when there's a paradigm shift. My cope is to be specialized in a category. For instance, be a specialist in distributed systems instead of being a master of building Spring-boot services. That said, even that type of specialization is not immune to paradigm shift. Case in point, scaling out a service is really not that hard these days compared to 10 years ago.