I changed careers at 40+ years old. I'm very happy that I did it.
People have all sorts of constructs / ideas about how careers work (based on experience) or how they think it works, or how they want it to work. I talk to some college graduates who tell me what they're planning for and have ZERO clue what industry they're talking about, their description is unrecognizable to me ... even tho I know it is the one I work in.
I find your experience and paths can vary greatly company to company, even job to job.
We all find truths we want to hold on to about work. I recall trips to the valley where my coworkers where astonished to hear tales of people doing the same work they did, but doing it slightly differently elsewhere in the country. Their view of how that job was done was entirely shaped by the couple places they worked (and everyone seemed to cycle through those couple companies). You'd think these folks though that if you didn't fill out the TPS report right to left that the world would end... I'm pretty sure the vast majority of people fill them out left to right but I didn't feel like telling them that, it might have been too much for them to handle.
"
I think there are three main kinds of career destination, at least in the tech industry:
And it seems to lump tech lead, staff-level individual contributor not leading a team, and architect-level positions that have no direct reports.
When I speak about career options to people I lead, I say there is a senior level plateau. At that point, you have to be more intentional about growth. If you want to stay in the field, and you want to progress past senior developer (staying a core contributor is an option!), you need to think about where you are going. You can be a generalist, specialist, or outside of development. Going into management is changing careers, much like going into product development or farming.
If you want to be a generalist, you are looking to expand your influence as you tackle harder and harder problems. Tech leads are generalists. Architects are generalists. All of them have some form of technical leadership to help steer larger and larger efforts. You can also become a generalist that specializes in early startups: you are there to tackle any problem that is in front of the organization until it outgrows the need - at that point you can look for new pastures or help guide the organization while solving smaller and smaller problems.
You can also become a specialist. You learn, in depth, a smaller set of responsibilities, but you can build what others cannot. You can debug and solve problems others cannot. You can be a consultant, or a specialized shared service within an organization. You have options, but mastery is what motivates you, and that mastery can be very valuable in certain situations.
But that is career growth, not planning for the end of your career. Sometimes, that is a parallel track, like management or product. Sometimes, that's retirement. Sometimes, that's moving into another industry. I think that's what the article is talking about instead.
For those of us who are semi-good at all three paths, our long-haul choices depend quite heavily on how the wider world either opens unexpected opportunities for us, or gradually chokes them off.
In my own (non-technical) case, I had a great 15-year run as a top-of-the-heap IC -- and then my outfit got bought by people whose business model had no use for what I did. Time to do something different, and with it being 2008, going independent felt a whole lot smarter than trying to find a new star-IC role in a scared industry.
Going independent was good for 7-8 years, but then my favorite partners at my favorite clients all got to the end of their roads. New faces; new visions, and the unappealing prospect of spending 3-4 years trying to revive a shrunken pool of business into something better.
A star-IC role opened up somewhere else, and it's been a great ride ever since.
It's the career equivalent of summers in Alaska; winters in the Caribbean. Sometimes the key to staying warm and happy is to be willing to move when the temperature changes.
Staying a productive IC your whole career is fairly straightforward: I really think it comes down to never "coasting" and always being open to learning new things.
The problem is a lot of older people seem to believe that once they get to a certain point, they're entitled a position and respect. Is it a wonder why younger people, who might be more up-to-date than them, don't want to work with them?
The trick is to never get that kind of "old" and remain a lifelong learner.
This doesn't pass the smell test for me, for several reasons:
Most of the "new" ideas in computing (neural networks, quantum computing, etc.) aren't new at all. Not to mention that Linux and macOS are basically 1960s-style operating systems.
Knowledge of short-term technical details and skills at dealing with brand new systems are much easier to acquire than deep understanding of core principles as well as engineering experience.
Dismissing senior colleagues as "entitled" and their knowledge and experience as worthless and refusing to work with them as a consequence would be a grave mistake.
Well it goes both ways. Young people are cocky and dismiss older peoples' experience as irrelevant, and more senior people think they've seen it all already and that there is nothing new that hasn't been around since 60s.
Neural networks are a good example. If you skipped the last decade (/two) and you think you know about ANN because you mastered them in 60s... boy do I have news for you. :) Another paradigm shift for me was React (declarative web frontend development), and let's not even go into the whole Rust thingthing
One of the biggest pitfalls of an experienced person can be lack of curiosity, and it is really easy to fall for it, because let's face it, most of the new things are crap and will be forgotten in a few years. However, there are nuggets to be found in the mud, one just needs to keep looking.
>One of the biggest pitfalls of an experienced person can be lack of curiosity, and it is really easy to fall for it, because let's face it, most of the new things are crap and will be forgotten in a few years. However, there are nuggets to be found in the mud, one just needs to keep looking.
It's easy to reflexively dismiss reimaginings of things that have been tried and failed half a dozen times over the years. But sometimes the concept has been tweaked enough, the environment is different enough, the technology underpinnings are better enough that it actually works this time. Virtualization (z/VM--or whatever it was called at the time) was mostly a curiosity on IBM mainframes for years. Then VMware came along (and Linux on Z was pretty successful on IBM mainframes as well).
React was a pretty big step for frontend-development; people have done good and bad things in React just as they've done in any other framework, but the important thing it (or other frameworks like it) did was establish a better way of tying state to a series of rendered elements that was better than doing CSS-selector-fu and trying to update things that way.
React was doing the right thing for sure, and perhaps in a more principled way than Qt in terms of state propagating downwards and events bubbling up. (CSS still makes layouts unreasonably complex imho.)
But also, React is doing things that desktop GUIs had figured out years ago. It did a really good job at distilling the essence into something useful. Angular started the trend of finally moving towards state-driven views. Kudos to all of these developers for making web development less sucky.
To label it as a new thing that nobody else had done before though, that's going a bit far. New on the web, sure. By the time these got introduced, I had been waiting for years for a web framework that incorporates some of the non-web lessons learned. Let's give it lots of credit, but not more than it deserves.
> To label it as a new thing that nobody else had done before though, that's going a bit far... Let's give it lots of credit, but not more than it deserves.
I never claimed it was "first" and I even called out "other frameworks like it." The iPhone was also not the first smartphone.
> CSS still makes layouts unreasonably complex imho.
This we can agree on. Though it could be a lot worse, and some of the newer CSS definitely gets rid of some of the warts. A lot of the bad CSS is mostly the backwards-compatible stuff.
It seems like some people fall into this trap if they manage to get into FAANG. I would be scared of that happening to me. It's like, your entire view of the industry was built around hitting the winner's podium, and once you've achieved that, where do you go? There's only so many gold medals to go around on the podium itself, anyways.
I'd overall suggest stepping away from the idea that growth is so one-dimensional that you can "win" at it. But even if it were, there's plenty of room within them to grow, and just getting in is far from "you've achieved it all"
If we stay with that idea for a second: FAANG companies have tens of thousands of engineers. Getting there isn't a "gold medal". You're barely in the stadium. If you made it to Principal Engineer, congrats, you've gotten through the qualifying rounds. Still plenty of room to strive.
There are plenty of valid reasons for why you choose or don't choose FAANG. But "Where would I go once I've achieved that" really shouldn't hold you back.
Or you get "old" and experienced enough to realize it's all the same things every day, everywhere :-) And I can almost guarantee startups are much more learning-conducive than FAANG in that regard.
A startup probably won't be able to afford the standard of engineering that you can find at places like Google. There are good practices you can learn there that you probably won't see at a startup.
As a company scales up, coordinating effort across teams becomes more important for getting stuff done, even as a senior IC. You no longer know the whole stack (assuming you're an early employee) and have to ask other teams to adapt interfaces and add functionality to get your stuff to work.
However, that's the default at FAANG. Coordination is the name of the game and it's so meeting heavy because it's a lot of work to keep everyone aligned, on the same page.
You can learn interesting technical things either way, but it's easier to find a niche as a specialist at a large company. Startups usually need generalists in the early days.
I spent eight years at a startup (4th engineer, rose to chief architect after CTO left, was most senior engineer of 40 or so in co) and joined Google last March.
I learned a lot when I joined the startup (Rails was new to me) and I added some hard yards of scaling up database utilisation with very little extra hardware over the years, but the pace of learning declined over time and my degree of specialization increased as I focused on the biggest bottleneck the business had, technically - even while the business was of course more interested in fattening up its product line for valuation.
I learned a huge amount when I joined Google too, though a lot of that is due to the parallel universe quality of working at a company that had to solve many scaling problems for the first time and did so with inhouse tech which didn't become industry standard (I blame monorepo - it makes it too easy to have incestuous dependencies). A bigger part of the learning was the mode of getting things done between teams. I haven't learned much in terms of transferrable tech, but I have seen better engineering practices put into action, that we could not afford - and didn't have strong enough singular opinions on - at the startup.
I can say it's not the same things every day, everywhere. There is no end to the code at Google, there is more than you can ever hope to understand and it changes too fast anyway. At a startup, you can understand almost everything. More work is political at largeco, necessarily because the org tree sometimes needs shaking to get things moving, but also simply sociologically - a startup is a small team, largeco is a whole nation with internal rivalries and whole divisions that never need to communicate much.
> As a company scales up, coordinating effort across teams becomes more important for getting stuff done, even as a senior IC.
And that is the root of all evil. Everything comes down to a screeching crawl. What could be done in a week by a couple startup folks now takes months or quarters (!). So yes, I don't think "standard of engineering" applies here :-)
In addition to all that was already said, this has the disadvantage of misaligning incentives. At FAANG (or any other big co for that matter), it pays to stretch projects and blow their complexity outside of any reasonable measure, just because the folks in charge of such projects benefit materially from more people and "bigger architecture". It is engineering bureaucracy at its worst, unfortunately.
In contrast, at startups it pays to move fast and one simply cannot afford growing unnecessary "fat", gotta stay lean or die. Obviously, some folks are more comfortable with the former (FAANG/big co) approach, because at the end of the day they just want to get their paycheck and go home, it's not about this job or that job at all. It's a tradeoff, for sure.
> A startup probably won't be able to afford the standard of engineering that you can find at places like Google.
A "standard of engineering at Google"? You must be joking.
Best examples of engineering I have ever seen were done at 5-15 people startups.
I'm proud of participating in some of those. FAANG on the other hand is a mire of bullshit.
Yes, I do mean it. The approach to data migrations, feature flags and testing with fakes that themselves have conformance tests, has been of a high engineering standard in my team. Automated release to production Monday to Thursday.
I can easily see it being different elsewhere, of course.
I'm at FAANG and still learning plenty. I'm not here to hit an arbitrary goal but because I have to have a job and it pays well, so might as well turbocharge my savings.
But yes, you should always respect the journey. It never stops: keep participating in it, and keep your eyes open.
My advice is keep pursuing whatever energizes you, and aim towards being "T-shaped", not "jack of all trades, master of none", rather "jack of many trades, master of 2 maybe 3".
While it's not true everywhere, age bias— even unintentional— means you've got to be pretty freaking indispensable no matter what our constantly changing tech landscape throws our way. We're not talking about the proverbial behoodied-27-year-old-led startup, here... this is IBM.
Right? I teach college students going into IT, and this feels like something they would write.
Offhand, I can't think of too many people (myself included) who are a) very happy in their jobs and b) planned very diligently to get to that exact space.
Mostly the opposite, "A lot of random stuff happened, I followed through on some stuff that felt right at the time, and just kind of did that over and over."
I mentor college students through a local group. I agree that this reads exactly like something they pick up from spending too much time on cynical subreddits where people gather to complain. I frequently have to remind them that they shouldn't get career advice from online forums dedicated to venting and complaining.
> Offhand, I can't think of too many people (myself included) who are a) very happy in their jobs and b) planned very diligently to get to that exact space.
> Mostly the opposite, "A lot of random stuff happened, I followed through on some stuff that felt right at the time, and just kind of did that over and over."
IMO, that's because most of the people who plan career paths diligently only look at one metric: "TC" (total compensation). They may say they value autonomy, growth, good teammates or any other number of things, but when it comes down to offer time most young people will reliably pick the highest offer, no matter what.
The more serendipitous career paths involve a lot of networking, identifying who you like working with and what you like working on, reputation building, and eventually flowing into a great position within your network. The pay may come slightly later, but it's a much happier path.
I can relate to the author, even if I didn't frame my current position as end-of-career. I'm far from being in college.
I don't want or expect to progress. I want to be part of a team, without leading it. As far as I know - the progression part of my career is over, thus my career is over. What next steps I could have taken afterwards are plentiful, but irrelevant.
That makes it sound almost like happiness is the causal parameter and being willing to say yes to random opportunities outside of your plan, is a consequence.
The conclusion I think is missing from the 10k hours theory of mastery is that there is more than enough time in a full lifespan to master 4-6 things, depending on how good you are at managing your time. People who are only good at one thing may find that they aren't good at anything because of it. Don't neglect your passions, even if you don't see how you could ever make money from it, experience in other verticals may give you cross-domain knowledge that makes the leap easier.
And even if you don't change, the skills from the other domain may translate to your day job. The history of big innovations is littered with people who put the proverbial domain A peanut butter together with the chocolate from domain B. Lots of people have solved problems that you are dealing with, but you don't work with them and you may never have any reason to even be in the same building with them.
We're making a huge mistake when we see mastery as an end goal.
I played band in grade school, pushed myself hard, burnt out, etc. Learning classical piano as an adult has been a MASSIVELY instructive experience.
Here's why: I'm never going to be a professional classical pianist. Ever. It's far too competitive, I'm probably not talented enough, and it's not worth the effort.
Therefore, the ONLY reason I'm doing it is to find enjoyment and engage in the process of discovery. So it's clear to me that if I find my ego seeping in, it means I'm missing the point and sabotaging my real goals.
Enjoying the process is such a better way to engage with a skill. I'm having a great time and still getting much better (because getting better is simply a matter of consistency and good practice).
But saying "I'm going to practice 10k hours and then I will be happy" is like saying "I am only going to enjoy this hike after I've completed it." Friends: there's nothing enjoyable about the end of a journey, beyond reminiscing on the fun you had along the way.
> We're making a huge mistake when we see mastery as an end goal.
Agreed. If you look even more pessimistically at this, it's also how workers get exploited by owners. You've attached your identity to something, making it a giant lever. I can push on that pain point to motivate you or to neg you into accepting less money for the work.
I go to a lot of college football games. (i'm going to put cte concerns aside here for a bit)
Most of those players have zero chance at a professional career, many by their final season know it. And yet they push themselves to achieve / try achieve great things or at least things they never thought they could.
I rushed the field for a game last year, talked to players who were ecstatic mingling among the fans / celebrating.
Well, sure. Mastery is definitely my end goal, and it's worthwhile one. But my goal isn't to make money or receive acclaim.
I guess the most important part is not caring about how it will "reflect" on you or what others will think: that is, trying to reduce the amount of ego goes into it. It's a subtle distinction.
But in my experience once ego takes over, the more subtle enjoyment can fade away and it can become tied to your self-worth, which can be miserable.
I mean, yeah, goals are still important, but you still have to respect the journey.
I think you just get less hungry for learning/skill acquisition when you're older. When you're in school it feels vitally important to learn/get good at X. But as an adult it's much easier to take it or leave it.
Totally. Look at the quotes he’s pulling and then he somehow vectors into three predefined end points.
Dude is waiting to crack open, telling himself he can fit the ideas from all the reading he’s recently been doing into the concrete pipeline of a career he’s built.
> I changed careers at 40+ years old. I'm very happy that I did it.
Would you mind sharing a bit more about that? I.e. what did you do before, what are you doing now?
I ask because I'm looking for inspiration; my current job is comfortable and okayish but not leading anywhere. And I really dislike the company that I work for.
Not OP but I would like to give my own version of it, if you don't mind.
I changed careers at 30. Before that, I was a "Mechatronics Technologist" which means basically that I worked on automated machinery. I loved that job and did it for 8 years, and I was pretty good too... and I was actually happy with the money... but in that area of work, when you're pretty good, you tend to stay right where you are for the rest of your life. My peers had been doing the same thing I was doing for 25 years. I just couldn't see myself doing that.
Mechatronics includes a little electricity/electronics, mechanics and a lot of software... and software was always my stronger point, so I decided to become a software engineer. I changed to the night shift and went to university during the day. It was extremely tough, but I was so glad anyway!! I just loved being in the university again, this time as the older guy rather than the clueless teenager. Took classes very seriously, learned a hell of a lot.
Left my job in the last year to start an aprenticeship (yep, they do have those for programmers, just look for it)... getting 1/4th of my old salary , but at this point I needed very little money anyway.
After graduation, I quickly got a high paying job and loved every moment of it... after a few years there was some challenges, like working in shit places with shit people, unfortunately, but after moving around a bit I settled at a small company that has really nice people and who absolutely respect me for what I know and the effort I put into learning and teaching others... they recently gave me the pay rise of my life, over 25% , after I had alreay settled at the usual 4% with my manager :D. Just because they wanted to make sure I won't leave (after 6 years at this company, almost any developer would be thinking about leaving, and they're not wrong, even if I am happy, we tend to want to expand our horizons every few years).
Anyway, I am really happy working with software, I work on my own software even on my spare time because I just can't stop :D and it's really fun for me. Now that I am getting quite a lot more than on my old career, I am really happy just where I am (and I am not in management or anything , but what makes me happy is that I basically don't report to anyone: they trust me a lot and let me do whatever I want, which is great). I am well aware that finding a job like this is not easy and it took me many years to get it... but I thought that if you needed inspiration, this story might help you. Good luck to anyone reading and just thinking of starting a career change now! It's worth it!
I dropped out of college early as I just wasn't mature enough / ready for that kind of thing / + I suspect ADD made it kinda hard to manage.
I got lucky and fell into a job where I worked in tech support, for some high end networking equipment for mainframes, later for data center related equipment.
Good career, very good pay, but still tech support. I found I worked with engineering teams really well despite being not the most technically proficient person among the teams I worked in (good documentation and being honest with the engineering teams gets you pretty far with them...). So much so that that I eventually rethought my college experience where I wanted to learn to code but at that time classes were "here's a book on C ... now I'll read from the book at you".
After 20 or so years company I worked for was bought out (that's a whole series of stories) and by then I wasn't so sad to be in the group that was being laid off. I got lucky and got paid out better than most people in the US receive so I felt like I had a chance to make a change.
Honestly I suspect money / comfort in changing is really the biggest factor in serious career changes, for me the payout took care of that to some extent. IMO rando promotion to management is not a "SERIOUS" career change. The changes that involve "starting over" to some extent is where the big changes are.
I wanted to stay in technology but also "make things" not just fix things for customers / sales who couldn't be bothered to config something correctly / and so on. So again I thought of working with the engineering teams and decided to take a shot at coding.
I found web development was surprisingly accessible / tons of resources on the internet compared to my "read the book at you" college experience. I started learning on my own and eventually took a coding bootcamp (oh man that's another series of stories). In the bootcamp class I found that older me responded to classes completely differently than younger me. I was now ECSTATIC to have someone drop some knowledge on me every day, it was a completely different experience than college. I was honestly very sad when it ended I was enjoying it so much. I would have loved going back to college on a more formal track after the camp, but family, income, just don't allow for it.
After the bootcamp I got a job at a fairly small company and have been happily coding away for a number of years now / expanding my skills / doing new things. I get to make things all on my own, apps, services, try new things etc. It's great.
Where you end up is, largely, a by-product of the little choices you make with how you spend your time, and you should treat your time accordingly, but the article treats those decisions as descending a tree with limited depth, when, in reality, the tree keeps going well past where your career (and your life) end. I don't think any of us (in tech) end up in a place where we have no choices (as the author implies), I think we end up in a place where the ROI distribution of our choices becomes so unequal that making a different one stops being practical depending on your goals.
You can spend the last X years of your career doing performance art or spear-fishing if you don't care about returns.
"It's not surprising, then, that many of us find ourselves in less than fully satisfying jobs, with doubtful or non-existent prospects for advancement."
Very true. I can't wait for my career to be over. I don't think I'll ever find the position where I feel I belong, so I'll just be miserable anywhere now that I know how broken the system really is.
> don't think I'll ever find the position where I feel I belong [...] now that I know how broken the system really is
Some people are chalking this up to depression, which is possibly part of it, but honestly I think this is simply the reality of a former idealist coming to grips with the big picture. You can't help but recognize that passion will come & go and it's all castles made of sand in the end. Whatever is most interesting for us to work on, someone else is almost certainly doing it better than you or I could without our help, and everything short of this feels like garbage when you only look at the work for its own sake.
All I can say is that what really makes anything worthwhile comes down to your relationships with people. Working a job which involves putting up with a lot of broken shit isn't so bad when you truly appreciate your team-- and on the flipside, working with the coolest bleeding edge stuff in the world will still suck when you don't. Localizing your focus and reinforcing bonds with the folks you enjoy being around can help a lot in getting through it. My two cents.
Well, the difference between someone who is mentally healthy and someone who is depressed is this (and friends, I've been both):
Someone who is mentally healthy realizes the world is imperfect and what they're doing is isn't working, but then takes that knowledge and builds upon it. Maybe they change careers, or maybe they lower their expectations for their job and focus on other meaningful things.
Someone who is depressed never gets out of the "this is awful" rut.
Again, nothing but sympathy for the depressed, but if you're unhappy you should try to find a way to redirect that energy if you have the strength to do so.
I agree. For me the solution was to stop thinking about my career as much more than a means to an end ($$$). The system is broken, sure, but fixing it isn't my job.
I'll work on problems I find interesting, and for all I care, the system can crash and burn. All the while, I'll clock out when I want and go home with a smile on my face.
I'm sorry to hear that. I've had many positions where I felt like I belonged including my current. The ones where I didn't were very depressing and stressful.
I hope you will find more fulfillment in the future!
By the way I never planned anything. I don't think more than a week ahead. Somehow I have fallen into the right places anyhow.
I tend to get really bored once I've totally mastered a job so I change a lot. I need a challenge. Because I do this within the same company (lucky to get the opportunity!) it didn't really make me look like a jobhopper, that helped alleviate worries about having a CV that's all over the place.. Also, some things I've done (like desktop office telephony) are totally extinct now so it is pretty easy to explain. I'm definitely in the "Senior IC" category in the article.
But I can recommend to look around if you're not happy. You never know...
It felt great at first. Once you realize that the company - respected/known as a place that does the right thing - doesn't follow its own policies and screws people over, you realize that every company/job sucks. It won't be better anywhere else. And you wasted your youth on obscure and obsolete tech because the company needed it and you wrongly believed their promises that they would take care of you (retraining, career growth, not laying off, not outsourcing, etc).
My experience is totally different. The company I've worked for for the last 20 years has always done the right thing by me. They allowed me to work from my home country for half a year when I needed to be with my family, they paid to move me to yet another country when my team was made redundant so I could do the job I really wanted.
And I really love learning obscure tech :) always have.
Some companies really are better than others. But tbh it's more the people you work for directly that matter. They're the ones with the capability to shield you from the worst crap. That fight for you with HR when your job is on the line. When I look for other teams to move to I always take the management into account too. They may not stick around forever but if you have a good relationship they might bring you with them anyway.
When I do an interview I always ask to see the workplace. Just to get a feel for the place I'll be spending my days. It's usually viewed as a very peculiar request when applying externally but usually granted. I've rejected a job once because the team really looked burned out and literally stuffed in a corner.
Another place I was shown looked amazing and fun. I still work for that company today.
I would like obscure tech if it had a future - like when I thought the company would do the right thing.
I do think some companies are better than others, but I don't think any company is really good. They all lie. My company has a reputation for being great and caring. On paper it's true. For over 90% of people, that might be true. But they don't follow their own policies, screwing over a small percentage. So I think if you don't fall into that small percentage, then you just don't see it.
For example, my company says they don't compare people except for the highest rating. So you have to meet the "standards" (which are poorly defined btw). I know departments in the company where if you gave someone the highest rating, then you have to "pick" someone for a low rating.
I feel like your perspective is very narrow. You’ve had a bad experience at one company that you admit has done well for almost all their employees, therefore all companies are evil and your chance of happiness is zero? That doesn’t seem reasonable or even likely. May I recommend “Feeling Good” by David Burns? It has helped many people in situations like yours.
Would you ever expect that for anything? There are always going to be disgruntled employees/customers. if I see 100% positive, I'm usually looking for the scam.
And it's likely thar at least some of those grievances where born out of misconduct by the company. Bringing us back to my position that all companies lie and screw over workers, that the ones that look good just mean you aren't witnessing it.
Or, on the other hand, I've seen companies offering to enter you into gift card drawings to relate your positive experience with them on glassdoor, etc. :eyeroll: To me, glassdoor and the like are similar to Amazon reviews, you can't trust them, but it sometimes feels like the only way to _possibly_ get the information you're seeking.
Obscure tech is also an opportunity to be one of those rare specialists in a field. A Linux expert still gets rewarded more than a Windows one in a desktop management role, though it's certainly harder to find a job in the first place.
But this is also a personality thing. I prefer being a specialist on something unique over one of many on a big team.
I agree with you that when the obscure tech is simply the wrong one for the scenario, it's bad. If you don't believe in it yourself it's really hard to commit to it. In that case it's probably better to find another position or even another company..
I recall thinking that my friend who had decided to gamble on Objective-C as his specialization in '95 was being foolish, because NeXT wasn't doing that well, and the hazard pay for being one of the last N experts was probably fraught.
Less than 2 years later NeXT merges with Apple, and Steve Jobs has begun the biggest comeback in tech history, including switching Apple to Objective-C. Well then...
This sort of thing is a lottery ticket. You likely will not win, but if you do it could just make a couple extra car payments, or you could be set for life.
No, and any framework that your architectural astronaut coworkers created is most definitely not going to ever be used anywhere else you ever work. And in fact the decisions it made may well be counter to industry accepted practices outside of that company.
"Companies" are made up of individuals. If a company has a culture where they make an attempt to care and put on a public face of caring then that is an awesome start, but actually making that work comes down to you and your managers.
> you wrongly believed their promises that they would take care of you (retraining, career growth, not laying off, not outsourcing, etc).
None of these things _ever_ just happen, even when promised. People who want them have to actively make them happen. The promise is just a "the company won't get in the way" thing, which is the best you can hope for.
Your comments make it sound a bit like your career is something that has happened to you. Careers atrophy unless you take steps to force the direction.
For example, if retraining was mentioned, then find an online course at Udacity or something, get the annual review or whatever where retraining was mentioned, and send en email to your manager saying "hey my review said I need to do retraining. I need $450 for this course and then go from there".
Even in the best companies it's pretty rare someone will actually organise something like this for you.
I understand what you're saying, but that's not really what I'm talking about.
It is solely the company who decides to outsource or lay off after saying they don't do that kind of thing. You have no recourse when the company gives you a bad rating. They don't even allow you to be present for the secret trial they put you on (calibration). God help you if you're in one of the departments that requires a manager to pick someone for a bad rating to balance out a top rating. Without a union, there's no way to contest bad ratings and keep the people in power from screwing over workers.
I have gotten certs like for AWS and one specific to my area's business acumen. So I'm not sitting here doing nothing. But it doesn't help that much and there aren't many options in my area.
I think integrity is a rare resource, and an expensive one. I'm trying to only work for people with a lot of it. Even then, the ownership structure of the company matters a lot. A manager with high integrity and investors to please who misses targets will either compromise or be forced out eventually.
Ownership structures other than VC funded startups might prove better fits.
For what it's worth, there are companies who walk the walk, I've been lucky enough to work for a couple. However, I think they are almost always smaller companies.
Do they walk the walk for everyone though? I find that the stuff that's out of view and only affects a small percentage seem to exist almost everywhere.
In my experience, some of them do. However I think that in general the larger the company, the less that is true. In a smaller company everyone is on the same team. In larger companies you always find there is someone who gets shat on because someone three levels up doesn't think of them as actual people.
I see it as like the corporate version of judging people by how they treat waiters or shop staff. You don't judge a company culture by how it treats its rare as unicorns tech staff, you judge it on how it treats the easily replaceable staff with low market pay rates. If it treats the latter like shit then the only reason it's treating you well is because they have to.
> you realize that every company/job sucks. It won't be better anywhere else.
The world is a huge place, and the variation out there vast enough to be hard to get your head around. It will always be a mistake to assume you have a good handle on "everything" based only on personal path.
I don't know what sort of alternate reality bubble I exist in but I've found that I often get more opportunity to learn new technology when working as a contractor or consultant than as a FTE.
You would think that they would want to hire people who already knew the domain, but apparently that is often not the case.
I hope people don't see this as spam (especially since in the past I've talked a lot about this), but I've started Mobile Jazz (my first company) specifically because I wanted to created a place where I and others feel happy. A place where increasing revenue and profit to the extreme is not the focus, but employee happiness is. We call it "Optimizing for Happiness".
We've written a lot about it in our company handbook https://mobilejazz.com/company-handbook-pdf/ (free to download, no email required) and you can find more stories and details on our blog if interested.
COVID has made things more difficult, especially since pre-COVID we did a lot of events together (skiing, surfing, hiking, co-living, workations, etc.) and not meeting up has definitely harmed our sense of belonging and purpose. So we're very much looking forward to having events again this year.
Basically what I wanted to say: People are currently jumping around a lot in their jobs, looking for the highest salaries and finding a purpose and a place they belong. We somehow have managed, despite not being able to match Silicon Valley salaries, to have a really good team of loyal, friendly and kind humans that gives me joy to get up every single day and to work with them. And with most of them it's similar, since many of those people have been staying with us since they've joined us. Despite getting better offers (financially speaking) every day.
I'm fine with being civil and approachable but I really don't want to make the effort of being friendly with people I work with just because higher ups think this will compensate for below market salary. If I click somewhere that's great but I don't really see a correlation with a good work environment.
Sure. If you live in the US and want to work for us and want a Silicon Valley market salary at the same time, then we're not the right company for you. Not because we don't want to pay you a Silicon Valley salary, but simply because we cannot afford it.
If you are in another country/market, then we are very able to pay market salary and in most cases even above market salary, while providing a great work environment at the same time. We have and had people from Ireland, England, Germany, Spain, Italy, Brazil, Croatia, Serbia, Mauritius, Thailand, Azerbaijan, Austria, Thailand, Argentina and probably a couple more that I forgot now.
So basically what I wanted to say: just because we cannot afford a Silicon Valley market salary, doesn't mean we are underpaying people elsewhere or treating them unfair (financially speaking).
Yes, we're completely open to having partners and kids around at our events. We actually encourage it. I myself have a child now and am looking forward to taking her to our next event. We're also looking into options of having a nanny. Depending on where we go and what we do.
What about employees with physical disabilities? I've got ten screws in my spine and never thought when deciding to work in computing that I'd be expected to be able to ski and surf.
I’ve not personally thought about that specific case but it’s similar to a lot of other issues with well meaning benefits (e.g. company outing focusing on activities like Laser Tag).
The best solution I’ve come up with so far is simply paying well & giving a lot of time off (and making sure people actually feel comfortable using their vacation days, which is an issue with “unlimited vacation” sometimes). Then each person can just afford to take the activities they want to.
Yep. Outside of the occasional off-site and/or team dinner (which aren't really the same thing), I pretty much want to keep company recreational activities--especially outside of work hours--to a bare minimum. They're never really optional.
We’ve not done anything that physically demanding, but we’ve definitely had events with short hikes, a chair lift ride up the (summertime) mountain to the lunch spot, or other short diversions from large group discussions. I’ve never gotten any sense that if someone were either physically unable to perform it or just not interested that it would be held against them and in any group of 30+ people you’re likely to have someone who doesn’t want to/can’t do exactly the activity and so you make accommodations.
It’s not like you’re going to be coding while waiting for the next set.
This is a problem we have had at my company too, how can we be inclusive to everyone with "fun" type events? Some people don't want alcohol, some don't want physical events, etc.
I think the best we can do as companies is know the team, have a variety of activities (inside normal working hours!), and not require 100% attendance since there is never going to be one activity that works for everyone.
You have to be careful here because you're trying to make sure that people are happy, not fat and happy. Complacency eventually threatens the livelihood of your employees, and that is stressful at any company, but the magnitude of that change is greater when everyone has been bopping along without a care in the world.
Being happy is not a capitalistic goal and the capitalists will eat your lunch. Being happy and kicking ass is close enough to be harder to sabotage.
Thanks for your input! I think we have been at those points ("fat and happy") a couple of times and I noticed it, because I especially got bored myself. Luckily I have to say, we quickly got to a point again where another problem or challenge presented itself.
Also our business doesn't have huge profit margins like some of the big tech companies. So financially we're always somewhere between "it is not critical, yet", but also never reach the "100% comfortable".
So change careers. I spent the first 6 years of my working life as a medical microbiologist, and was miserable for almost all of it. Then I gradually got into programming, and things looked up. I was still miserable for some bits of it though - such is the nature of things.
There aren't any good career changes that I've found so far. I'm looking though. I think it's easier to get into tech than most other decent paying jobs. So if we reversed the direction of your change, I assume it would be much more difficult to go from programming to medical microbiologist.
> I assume it would be much more difficult to go from programming to medical microbiologist.
You are right - it takes you several years of training, whereas you can probably pick up the bits and bobs of programming in a few weeks, if you have any aptitude.
But the basic idea remains - if you are doing something you hate, stop doing it, no matter what the price. It isn't going to get any better.
There are also many adjacent jobs to development (or whatever) at a medium to large tech company. However, if it's that all the jobs or companies are bad (for you), you're probably going to need something really fundamentally different like some sort of trade. And that has its own set of downsides and is probably going to be a step down in compensation.
I've been looking at other jobs. I saw one for a business analyst. That seemed like a perfect fit until I was told it's really 75% project and stakeholder management. No thanks. Plus, it turns out most people in that group are Ivy League MBA holder (corporate strategy is apparently the path to the C suite).
This is what I've noticed in (as far as I can remember) all of the comments here that outline their career change. The career change... it's always _to_ programming, but never _away from_ programming. I sometimes feel burned out and like I'm solving the same problems over and over for different people, teams, etc. I mostly enjoy my work and usually the people I work with. I do end up reading comment threads like this one with some frequency and realizing not many people switch from software engineering to altogether different careers. I don't count switching to engineering adjacent roles among the things I'd be willing to switch to because my reasons for leaving are definitely not my lack of passion for technology and learning, but almost always trying to find/build a team I enjoy working with and not having to do the same non-programming things over and over again to improve my environment (people, workflow, pressures, etc).
I really wish there was a way to hop paths that didn't involve making ridiculously less money for many years, while likely having to deal with many of the same problems.
I frequently lament not choosing to go into marine biology, even though I know now that it would have been a far more challenging field and would still have (likely) resulted in far less income. Had I just started on that path, I believe I would not have cared much about the possibility of making more money in another field that I would have been skilled at. The last bit is clearly an assumption as you can't actually go back and do it all over to realize the possible outcome(s), but I can't imagine a life journey were I didn't enjoy programming, even if it wasn't my career focus.
And so here I am, in a place that I mostly still enjoy, dreaming of what could have been, assuring myself that I'm doing the right thing for myself and my family. It would be one thing to completely upend my own life (I still have the belief that I could do it if I were the only person affected), but to completely change the trajectory for my family and possibly the financial stability we enjoy... I guess that leaves me in the category of "overall happy enough" because my family more than makes up for my perceived benefits of getting out of the tech industry, which if not already clear, I love more than hate.
Wow... that's a lot of text and felt more therapeutic than anything to unload that. :) So frequently I'm reading these threads and keeping my thoughts to myself. If nothing else, I hope that maybe some others who believe they're in the same boat take note that they're not alone in this and I have at least 2 close friends who feel very similar to this (though I rarely admit, even to them, that I feel this way about my career).
> I don't think I'll ever find the position where I feel I belong
I had this same feeling (including the despairing tone), until I changed where I work. Perhaps you can find a job in a meaningful industry (public transport, charity, a utility, etc) so that you can be certain you have a material positive impact on other people's lives. This impression helps a lot with work enjoyment.
I interviewed for a place called Nava. Seemed like interesting work and a company that cared. When using dig deeper, there seem to be some issues. There are definitely some in the Glassdoor reviews. Others are evident in the policies or the answers in interview.
For example, medical has great coverage for the employee, but only 50% coverage for dependents. It seems they're selecting for single people, and indirectly young people as they're less likely to have a family (the people I remember in their videos and media are mostly very young). Then there the whole "billable hours" switcheroo - making you think extra hours are rare, but really you're expected to work extra on non-billable projects (internal company work).
Actually, there are some interesting at-home testing startups out there. I even came up with an idea for one when I couldn't find anything on the market for it, but it was already patented.
How about making your own company or career? Would that help? (It definitely helped me in a lot of ways.)
I’m curious what you mean by ‘how broke the system really is’. Which system are you referring to, how is it broken, how could it be fixed, and what kind of expectations did you have going in that?
Companies lie and don't even follow their own policies, screwing over the workers (you could also apply this to the "justice" system, and many others). A good start would be a union to enforce the policies consistently and right the imbalance of power.
I have an LLC for largely non-tech work. Tech work is terrible in my market, so I don't think I'd do well enough to support myself. Not to mention, the tech I spent time building expertise in for the company was obscure, so I do think even have any real expertise now.
I think it may be about expectations. It is a game and, no matter what people or company say, they are NOT your family. Face your job with that in mind, avoiding the cynical views/attitudes. You go there to make money and if you learn and improve yourself, don't do it for the company to congratulate you, but in order to have more options and/or because you want to learn that new thing.
Companies are there to make money, and policies are set not as laws in stone, but to have some control over the work environment. That means the company would use those policies as needed. You are replaceable in general, and that's a fact. The same way companies should be replaceable for you. In this case, in tech, we are lucky enough to have plenty of opportunities to get new jobs, so use it. Not to find the perfect fantasy company, but to get the money you need to live a life you want.
I didn’t get a picture of what the policies and imbalance of power is, or what it should be. I’ve seen some companies lie in varying amounts that don’t always add up to broken. What’s actually broken from your perspective? Does broken mean they’re not paying you? Or does it mean you aren’t getting promoted? Does it mean the software they produce doesn’t work, or the company doesn’t make any money?
For example, my company says they don't compare people except for the highest rating. So you have to meet the "standards" (which are poorly defined btw). I know departments in the company where if you gave someone the highest rating, then you have to "pick" someone for a low rating even if they don't deserve it. There are many other examples of them breaking their own official policies with backroom policies that screw people over.
A tech LLC won't help. The area is terrible for tech work and my expertise was in stuff that's irrelevant.
I don't think it is. I enjoy a lot of things in life. Work just sucks. I believe there was post here about a questionnaire used in medicine (longer than the typical one during a physical) for screening for depression. I scored low, so I shouldn't have it. Same as when the doctor asks during a physical.
> I think there are three main kinds of career destination, at least in the tech industry:
> Independent
> Senior individual contributor (IC)
> Management
I guess I'll stick my neck out and just admit that I don't want to give any more fucks about any of the above and just wake up, sip my tea, read the news and take a bloody nap whenever I want to. Also volunteering/open source but mostly, not doing things I don't want to do any more. Yep, I don't want to be "incredibly excited" about the "next growth chapter of my life" - I just want to live my life in a non-agile way without sprinting towards the end of it. That is about it.
I understand what they're saying but I don't trust their math when they claim "simply cutting cable TV and a few lattes would instantly boost their savings to 15%." That implies that cable TV and a few lattes accounts for $2.5k of spending in a year.
$100/mo cable, 5 lattes/week before work at $5/latte… it’s not so far off (unless you decide to litigate the definition of “few” or the average post-tax price of coffee in Nebraska or whatever). It’s illustrative.
Do people still have $100/month cable plans that don't come bundled with Internet? Also, 5 lattes/week is more than a few lattes and $5 per latte is extremely expensive.
Feel free to plug in different numbers of course, preferably numbers from your own life. The point of the article is not to get you pondering about the finances of this hypothetical family and how much they may or may not spend on cable and coffee, but to get you thinking about your own finances in the same way.
The thesis of that article is that early retirement is simple formula and isn't as complex as people make it out to be. When one of the examples they give to explain that claim is to just get rid of cable and a few lattes it makes me think that they don't actually know what they're talking about.
Firstly, very few people still have cable. Also, I don't know anyone who's spending $1200+ per year on coffee (and, $1200 per year is a lot more than just a "few lattes").
I actually somewhat agree with their formula but I don't like how they put it in a condescending way. It's like claiming that losing weight is as simple as having more calories out than calories in. Functionally that's true but it doesn't really help much.
Sadly unless there is some kind of universal ABI or born to rich parents, doing what we want especially in the way we want is not an option. Its wage slavery all across the world and no end in sight for any number of future generations.
Oh man, if you see it like that, is probably becoming true. In other industries or jobs it could b, but in tech? Companies are the ones looking for more developers, and if you made it to senior, you have a lot of power.
ABI or rich parents are the only options for you, it seems. Such a sad view. We don't need to be the next Bezos to avoid the wage slavery. We just need to be financially independent: some investments, maybe some flats for rent... in general, the principles of FIRE are possible for those who work in tech or engineering. It is a matter of making the effort to get there (and a bit of luck, of course). But if you start defeating yourself since the start, of course you will lose.
Also, working for a salary is not wage slavery in every case. In fact, working for money is the modern equivalent of spending the day wandering around for food or going to a 3 days' hunting trip with the fellow cavemen. What I mean is that no matter what, you have to get food and shelter to live, so either you work for it or someone else does. Which is essentially what ABI is. Until automation reaches full capabilities (if it does and Skynet doesn't kill us), you have to work to get food (and other services we want and need today) so try to find the best way for you to get that. Don't rely on others, they have no obligation with you and your desires.
Feels like the "senior IC" role described in this article corresponds mainly to today's "3-5 years of experience 'senior' engineer" roles. The reality that I've seen and experienced is that advancing beyond that on an IC track means a lot more people/political work, rather than constant "hands on keyboard" coding as described in the article. It's not the same as management, but it's inevitably more meetings and evangelizing your ideas.
This is something people seem hesitant to realize: that after a certain point you can only grow your career by "managing" other people. This is true in a lot of (most?) fields.
At some point you cannot become more productive as an individual and you need to start coordinating the work of many people if you want to increase your productivity.
This can of course take many forms, but the essence is inescapable.
At some point you cannot become more productive as an individual and you need to start coordinating the work of many people if you want to increase your productivity.
Neat. Another manifestation of the attitude regarding productivity of "more, more, and more still" as the default trajectory in the name of 'growth'. Calling it "inescapable" even. Sheesh. What's the point at which we realize "enough" productivity is exactly "enough" and give people the agency and autonomy to perform where they are most capable at a velocity of work that is stable, sustainable and...fuck it, I'll say it: sane?
Commenter, please understand: this isn't an attack on you for merely saying it, but is instead a full-frontal assault on the concept in general because honeslty...personally...I'm sick of it.
This is something I ask myself constantly. I believe what the commenter means is that if you want to "grow" or get a higher salary then you will be expected to do more, and at a certain point the definition of more can only mean stepping into a leadership role of some sort where you have to interface with more people.
If you're happy with your current responsibilities as an IC then you should be able to stay at that top level (Principal engineer) and continue doing what you're doing today, just don't expect a higher pay.
If you're happy with your current responsibilities as an IC then you should be able to stay at that top level (Principal engineer) and continue doing what you're doing today, just don't expect a higher pay.
Anecdote isn't data, but it's funny to read this given it's exactly what happened the moment I decided I wasn't happy in management and wanted to be an IC again: a 25% increase in TC pay. And I was very happy with, content with and able to provide for mine on the previous, lower TC (which was still well into six-figures) even though I wanted nothing to do with the work anymore.
Exactly, FANG-like have done a lot of work to move definitions around to make it seem like "principal engineer" was still an IC position, but all good principal engineer I've interacted with were basically managers with a different name.
Sure they review code and still get their hands dirty from time to time on critical pieces, but there is much more value in using your experience to lead your team in the right direction.
This is really not how most companies think about it. Unless you take an extremely broad view of what “management” is.
As a term of art, used by people writing the JDs for “manager” jobs (source: have wrote those JDs), it specifically means having people reporting to you, being responsible for their productivity, growth, and development.
The senior IC track does not (have to) involve management. It does involve a lot of communication, collaboration, and coordination, which may look like management if you squint. And there is overlap; in small companies, particularly startups, sometimes tech lead and manager hats are worn by the same person. But they are different roles.
And particularly, to the point of the article, they are different career tracks. You might wear both hats for a bit, but most careers will end up specializing on one or other track.
See https://lethain.com/ for lots of material on what it means to be a staff-plus IC, as well as engineering manager.
The great thing about software is that “more” can not just be people, it can be “more software”.
The way I hope to end my career is in IC, building tools that make other devs/the org more productive.
Building software that multiplies other developers output will also increase your output in a sense. You are vastly more productive because you “work through the people using your software”. Which I believe can be a position of very high status in and of itself. Imagine Guido, or the teams behind go, react, etc…
Most big organizations need people to work on their infra full time, and thats what I hope to end up doing someday, no need to mange people, you can still manage computers, only a lot more of them.
Its what Paul Graham said in one if his essays - as a factory worker you can’t increase your output much by working more, but as a software dev - you can, and with enough planning / luck that can be exponential.
It's interesting to me how many people miss the other big shift that can increase their earning potential: from labor to capitalist. The ceiling is effectively unlimited for this. A good manager might make double what a good IC under them does, but the shareholder makes orders of magnitude more.
The essence of capitalism is shifting resources from unproductive uses to productive ones, and they operate on global markets, which gives them unprecedented leverage. Capitalism is a skill just like management, and just like management, it consists of a number of subskills. How do you know what the market will value? How can you evaluate the competitive landscape? How do you make yourself aware of technological developments and new suppliers that might affect cost structures? How do you recognize emerging complements? How do you ensure the legal structures of your agreement make sure that you share in the profits of your investment?
The interesting thing is that developing these skills early, in high school and college, helps dramatically even if you don't have any capital to invest. Because you can apply the same questions toward the company you contribute your labor to, and then bargain for stock instead of cash. A junior developer who joined Coinbase in 2016 made a lot more than a manager who joined Facebook.
Great point. One issue with your last paragraph though, is when trying to select a company to work for from an equity/ownership standpoint, there isn't the option of diversifying a career. You can only work at once place, so you put all your eggs in one basket. In hindsight, sure, you would make better money at coinbase rather than facebook, but it's essentially going long on one stock with your time rather than capital.
The owners and capitalists have been the winners, at least in my lifetime. Investing has been de-risked enough through monetary and political policy that it's a good bet. A good example of monetary policy is low interest rates. The ability to borrow capital and take "risks" hasn't been cheaper. A political policy to encourage investment is for example the 401k - most wage earner's retirement funds go straight to the capital markets. Even public employees retirement funds ride the capital markets with optimistic outlooks. I suppose that makes most Americans capitalists whether they want to be or not, so my argument has come full circle, but that money bubbles up to the people up top, since they make the compounding gains and have access to inside markets. Personally, A few times I've made more money from ownership and investment than from my labor. It certainly is a valid approach to a career.
There is over time, just not at once. You gain much more information working at a company than you have from the outside. If it sucks, quit and go to a better one.
It's that willingness to cut your losers that many people don't have. Lots of folks are miserable in their jobs (you see a number in this thread) but then perform all sorts of rationalizations on why it has to be that way. It doesn't: if you're miserable, that's your brain telling you that it's the wrong place, and you should go put in some effort to find the right place.
Again - easier said than done. It’s easy to say, “just quit and go to the unicorn that will make you mega rich”. It’s much harder to actually do it.
I’ve worked at a variety of places. All the way from research, seed, various rounds of funding, to going public, public companies, and long term enterprise. No one was any good at predicting whether these companies were going to make me rich.
The people I know who got rich were just lucky - that’s about it. They weren’t good at selecting companies or figuring out ideas. They just got lucky.
Spend enough time talking to people in SV and you get one thing above all - survivor bias is real and alive.
Good points, but realistically speaking the tech job market is illiquid. "Cutting your losers" isn't possible for 95% of developers, especially if they want to work for ("invest in") unicorn startups and big tech. It's an incredibly competitive market with a month-long interview hazing processes with seemingly random results.
Of course there is some ceiling, however it seems to be kept much lower than it could be at many companies due to inexpressive "idiot proof" programming environments and highly bureaucratic processes.
Software is clearly an exception to this because you can leverage your work to an arbitrary degree. One person can write software that benefits hundreds/thousands/millions/billions of people.
The junior engineer solves an immediate problem. The senior engineer realizes it’s generalisable to similar problems of their team and solves them all at once. The principal engineer realizes it’s generalisable to their entire company (or broader industry) and solves it for everyone.
The relevant metric here is not how much code you can write or quickly you can write it, but how difficult and impactful the code being written is.
Many widely-used and industry-shaping pieces of software were (at least initially) the product of just a single programmer, or at most a small handful of core developers. When other people joined it, it is often after the software had some initial success.
My personal theory is that this is a side effect of startup/SV culture trying to make work seem like an extension of college. The office is a “campus”, where you get fed, socialize, and sometimes sleep/crash on a couch or the floor. College students go from freshmen to seniors in four years. So now the work titles also do the same.
And just as empty and ultimately demoralizing. It feels great to “advance” so quickly at the start, but then most people are stuck at some level of “senior” for the next N decades. Why not have meaningful titles commensurate with actual levels of mastery?
Which have also been watered down in order to give the seniors somewhere to move up to. So the rungs get relabeled, but the ladder doesn’t actually reach any higher.
You’d have to keep people around longer. Thing is - people don’t want to stay in the industry as software ICs. They want to be in product, management, or something else. Being a software engineer is often just a stepping stone to the next thing.
My two cents here is that senior doesn’t mean the same thing at every company. But title inflation is a good way to snag great hires away from other places and retain employees
The answer to this for me has been to transition to something more specialized: from full stack developer to working in robotics. The previous skills are still relevant and all the new domain knowledge keeps me interested. The combo of domain knowledge and software skills is more rare, so it feels a bit more satisfying than working as a senior IC the way I did 10+ years ago 5 years into my software career out of college. And I still spend my days not in meetings, thinking about how to solve hard problems and implementing solutions. I haven't (yet) felt compelled to rise up the senior staff / fellow or whatever levels where you end up in meetings anyways. And not to knock the super senior folks who do this well, I just still really like coding for the time being.
The reality that I've seen and experienced is that advancing beyond that on an IC track means a lot more people/political work, rather than constant "hands on keyboard" coding as described in the article.
This is my struggle. After about five years of head down all day programming I started to get more of a tech lead role, and the hours spent on explaining the work instead of doing the work crept up. I managed to avoid the management track by actively pushing back when pushed that way, but I eventually got the architect title instead, and now I can go months writing nothing but emails and spec documents before I manage to find a good enough excuse to write code. The upside is that I decide a lot of things, which as a pure coder I did a lot less. The downside is that I really wish I spent more time writing code.
Sometimes I think about going indie and building and selling my own product, but anything I can think of seems to involve a lot of time spent doing other business activities than coding, and that just does not appeal.
I sympathize. I had a similar career trajectory, but wound up going into management (I like it though) once I hit the principal level.
Don't underestimate the power of communication though. It would be well worth your time to have a frank conversation with your boss about what it is that you're interested in doing (ie, writing more code), and seeing if there's an opportunity to be more hands-on with the code. If there isn't at your company, then start interviewing with new companies and be explicit about what it is that you want to do.
Wishing you the best of luck with this. I know how frustrating it can be to not be able to write code as much as you want...
Like many I started out in small scale IT just as desktop computers were becoming a thing. I transitioned from mainframe support to desktop support, from there I worked through several desktop support roles, wishing I was server support but never managing to get there... over time I became a desktop architect, and then infrastructure architect, and now well.... I just don't know.
I have meetings, I write documents. I offer sage advice on best practice. That's it. It's not IT anymore, it's just make-work.
If I knew my middle-career years would be like this, I would have never started in IT in the first place[1].
However... I work 100% remotely, and I LIKE that. I've been a remote worker for a decade now, and I just couldn't go back to commuting or being in an office.
So, I have no idea what to do[2].
I'm not really soliciting for advice (but feel free!), I'm just venting I guess.
---
[1] I had a chance at the very beginning to become a Forensic Scientist at New Scotland Yard for the Police. I turned it down. Often I wonder if I made the wrong choice.
I went to university, went to grad school, got a PhD in a hard science, saw that science was a dead end career choice and tried to change career.
I have ended up in IT, although I have never written code for my role, or actually done anything technical for my job. It was immediately into the writing documents, architecting infrastructure and systems that I have no fucking clue about. At no point have I gained any experience about using or building anything, it's all bullshit designs and documents that I pull out of my ass so I can keep my job and not end up homeless ( I make under 40k being a non american). I spend my evenings desperately studying things that I HATE so I can at least have some grasp of what the hell they are before I have to design some complex system using different pieces of tech BUT AT NO POINT HAVE I USED THE TECH. I hate it so much and get rejected for any and all job applications to actually do something and solve problems that I apply for.
I sometimes wish I had never gone into IT, never gone to uni, and just carried on with the unskilled manual labouring job I had on weekends before uni. At least I would be doing something.
I hate IT and I hate tech. If I could do this for a few years and have the fuck you money of a few hundred k in the bank then I would put up with it, but that's not the case.
> It was immediately into the writing documents (...)
More or less the path I took after finishing my Masters. Thankfully, at the time, I thought "leetcode-style" problems were cool. After a few months I got a remote interview from an online contest and got a "building stuff" position in SV. Can't say I've achieved happiness but financially it was so much better.
Enterprise architecture and UML diagrams, along with lots of text and diagrams. No pseudocode or leetcode to be found, only class diagrams at best. Not enjoyable. I don't understand how to get out of this position in all honesty.
I have meetings, I write documents. I offer sage advice on best practice. That's it. It's not IT anymore, it's just make-work.
My careers have followed a similar route. When I graduated from college, I took a particular job because I didn't want to sit in an office all day. But as I got better at that job, my work increasingly became telling other people how to do the work, and ten years later I ended up in the office most of the time.
I quit that job to start my own company, again, so I could have the freedom to do things outside of an office. And again, as more people joined the company, I spent more time managing the company and writing reports and doing things other than being hands-on with the thing I started the company for. After another ten years, I closed the company.
Now I'm happy writing code. And another ten years in, my job is increasingly not about writing code anymore, but about ideas and processes and meetings and telling other people how to do things. The heads of departments completely unrelated to mine invite me to their meetings just so I can listen and write reports about what I heard later. Now, no matter how hard I try, I spend more time in Microsoft Word than writing code.
There seems to be something about the business world that removes people from the jobs they're good at. Sure, lots of people strive to be the Senior Lead Corporate Upstairs Middle Manager Grade IV. But some people are just happy doing work, and at some companies it's hard to stay in those roles.
At this point in my life, I'd rather be Lazlo Hollyfeld than Professor Hathaway.
> There seems to be something about the business world that removes people from the jobs they're good at.
There's not much business value in just having one person be really good at something. It doesn't scale. The state of coding and information technology means you can't maintain exponential or even logarithmic scaling of your own abilities to produce business value. At some point, the only real thing left to do is to do your best to produce more people who can do what you do. 10 people that are 15% as good as you will outproduce you.
10 people that are 15% as good as you will outproduce you.
That only seems to make sense if those 10 less-productive people make one-tenth the salary of the single productive person.
I've seen this in action. I know of a company that hired a whole room full of know-it-all high school drop-outs to write code, rather than one or two trained college graduates. That company went out of business in a matter of months.
The economics of software development completely abstract out the costs of developer salaries. Software is not a capital-intensive industry, it's labor-intensive. They don't need to wring costs out of the production pipeline, they need to wring more production out of it. Any added cost is worth it.
Companies all want to have software biz economics, but few of them actually know how to run a software business. A room full of high school dropouts is each going to have 1% of the productive capacity of one top-level resource. College grads will have roughly 5%. With decent leadership and mentoring that can go up to 10%. Within a few years they'll hit 10-15%, becoming 'senior engineers'. Title inflation happens because titles, and their requisite salaries, don't matter for the industry. It's the same in finance, so you see a zillion vice presidents.
It makes no sense for a company with hundreds of devs to take a top-level resource and waste their talents on writing code. Top level resources write code to stay sane and relevant, not because the company needs their code.
Aah meetings. The bane of happiness all around the world. They can even be graded on how bad they suck.
Best are the ones with > 10 people. You know beforehand nothing gets done in it and no one cares. So you just nod along and drop a word here and there and work on something you anyway have to do in parallel.
Worst are the ones where your boss is present and may be 3-4 of your peers. You are supposed to look enthusiastic, offering opinions, ideas and all kinds of projections, d*ck measuring and mud slinging all in a non combative politically sly manner. And probably even nod approvingly at the silly ideas of the one above you.
Maybe you just need more hobbies or interests outside of work. Working remotely and making good money gives you a lot of freedom outside of work hours, and even during work hours it sounds like nobody will notice if you spent half the day painting or woodworking. I don't think it's necessary in life to be in love with your job - most people out there aren't.
I struggle with this. Sometimes it just doesn't take "full time" to get all my work done. I hardly ever have work roll to a future sprint, but I feel obligated to sit next to the computer in case people have questions I can help with.
I think later this year I might want to move to a product focused company instead of the consulting agency I'm at now, but I'm not sure if that will help in the way that I hope it will.
Regarding Forensics - if you were going to work in computer forensics, I did that for a bit after grad school. I didn't last 6 months: aside from a couple corporate espionage cases, everything else was child porn/abuse. Important job, but soul crushing digging through personal machines seeking that for 40 hours a week.
I think you need to find some sort of "savior" in a hobby or something more than that. But maybe a hobby is going to be enough and you need something bigger in picture...maybe take some volunteering work. Anything that satisfies your search for meaning of life.
Sounds like you really want to be a mid-career IC. I think you should do your best to change jobs until you find what you're looking for, even if it means a pay cut.
Not all changes have to be dramatic: you don't have to upend your life. Maybe just see what things are like at a new company?
Don't they have even more meeting to go to and documents to write? Things in the physical world require a lot of approvals and consideration before are given a sign-off to proceed to implementation.
Yeah, there are a ton of meeting for those roles as well (possibly more since they have firm hardware prep needs, usually official standards to get approval for, etc.). Reading through the requirements docs and planning years out for a product release being done by the electrical engineers on a new device, made me thankful software was so agile.
- I know I'm not technically skilled enough to make it to the higher levels of IC
- I know I lack the people skills & charisma to make it to the higher levels of management
I'm aware I can improve in both and I accept that, to some extent, it's a laziness and confidence issue. But to some people it seems to come naturally and it's hard not to assume I'm in the majority that aren't exceptional.
I kind of want to work for a FAANG just to meet these wizards who make you feel humbled by their technical prowess (I assume that's where they all are?). Everywhere I've worked for so far, the senior people have usually:
a) Been there a long time;
b) Are very knowledgeable about that company and its tech, clients, etc. (see a);
Of course, they're skilled technically too, but not in a "I could never dream of being that smart" kind of way.
If you find a good niche, and develop a lot of domain expertise in that area, you can likely make it to the senior levels of an IC, even if you don't have the most super-awesome technical skills.
The trick (and of course there is a trick) is to find a narrow enough niche that you would enjoy working in, where you can get paid well, but isn't so narrow that you have very limited choices regarding who to work for.
I think it's kind of rare to find a company that will promote you to "the senior levels of an IC" on just your technical domain expertise. I mean REALLY rare. At most places I've seen, you can get promoted on purely technical knowledge up to a certain level, but beyond that level, you're expected to show "leadership" and "influence" and "cross-team impact" and all that jazz. Same expectation of social skills as if you wanted to take the management track. So no matter which way you go, you ultimately plateau early in your career if you just focus on technical mastery.
Businesses are inherently social organizations, and at the higher levels, all require the typical bullshit that you though you left behind in high school: Schmoozing, smooth talking, brown nosing, political savvy, charm, confidence, cutthroat opportunism, those telltale "Ivy League mannerisms" that you see in every VP at your company. I learned this too late in my career, and it's really hard to pivot from "grumpy old man" once you become one!
+1 to all that. :) Seems to me that being a senior IC comes with risk of (1) having to take part in political BS, (2) rat-race of being compared to aggressively-climbing-the-ladder peers (if in an org that does that kind of performance nonsense), (3) not having enough time to both keep on top of tech and lead/mentor others / get scope-creeped into doing the job of a manager for non-manager pay. Therefore to me it can be a poison chalice. Instead, one can stay as a mid-level, and do it really well especially if one has a lot of years experience, and be seen as a helpful nice coworker without having to do X hours of mentoring a week to meet some kind of bar. And be less stressed, have more time for family, etc. I think the mid-levels who could've been a senior might be the savvy ones. This will probably of course, come at the expense of lower immediate salary. Long term however this may increase career longevity , more time to learn, less burn-out etc, thus salary hit is less than expected. It might be like investing your pension in a safe utility stock or something, you'll never get rich, but you'll be fine and not have to worry. :) As regards grumpy old men, from what I see its the seniors and architects that are stressed and grumpy, while I get to crank out code happily. ;) Maybe if you're grumpy, going back to mid-level is the cure? ;).
Yeah, the expectation that _everyone_ excels in leadership and influence leads to some absurd situations, like everyone on a team being "tech lead" for some part of the project. Or the all-"senior" team. Presumably they're all leading each other? Same game goes for cross-functional impact.
The whole point of the separate individual ladder was to give an alternate career path to management. What a lie that's turned out to be.
I came to realize recently that, despite having been quite ambitious, I never really wanted to rise through the ranks. It took it nice, quite job without management responsibility to show me hoe good it can be to be good in your job and not worry about career advancement. There are other things to spend energy on on life. That's the reason why I am less then thrilled to be pulled into high profile projects lately... Especially those projects will have zero real world impact despite being high profile...
Agreed, and I hope that the three options presented by this author do not in fact constitute ineluctable destiny, because frankly, none of them appeal to me. I don't want to hustle for business and I'm not sufficiently obsessed with my work to become a "senior individual contributor". I've done some management in the past and I don't want to do it again, because humans are a pain in the ass.
I'd like to simply continue doing what I'm doing now, which is writing code for my employer, and mostly being left alone to do so. Can that not be arranged?
It can, and some companies are fine with that. The challenge is that even with companies that find that arrangement acceptable, many of them aren't willing to pay more for the relevant experience. They want you to be in some kind of higher leverage role. So either you take less pay, get pushed into more responsibility, or you get lucky with a really good company (and that company manages to stay in business without a major management/culture shift).
Become a contractor. You’ll pretty much be coding all the time. Don’t get scared by the business-management side, you can pick it up pretty quickly and then it doesn’t take up all that much time
> - I know I lack the people skills & charisma to make it to the higher levels of management
I'm not convinced this is big deal as you think. Just care about the people you work with and care about doing a good job, and you're better than lots of people succeeding in this role.
I have been in a position to hire people repeatedly, and I've done a fair bit of job hopping myself in the last few years.
Never let a job description hold you back from applying. You could bring other things to the company, you can acquire knowledge that you currently lack.
That's fine, right? Quite simply most people aren't exceptional, so it is important to learn to be okay with it. Most likely it can benefit you for the rest of your life :)
I'll remind you that the higher levels of IC and management also are a narrowing pyramid. The reality is that the expectation is people move up to a certain point through experience, and that at that point most will stay there.
All through my professional life, I lived frugally, saved as much as I possibly could, made conservative, yet not "bunker mentality," investments, and avoided personal debt like the plague. Being exactly where I am today, has always been a goal.
I also made sure that every job I did, shipped. I sometimes had to "hode by dose", as it passed by, on its way out the door, but I became habituated to shipping. As a manager, I never stopped coding, but it had to be shunted to "nights and weekends." Again, I always shipped; even my open-source work. In fact, I designed, curated, and eventually turned over, a project that has become a world-standard infrastructure, used by thousands, around the world. It's really still in its infancy, even though I started it in 2008-2009.
I was fortunate to work for a company that is absolutely crazy about Quality, and I learned to have an ethos of personal Integrity, which has worked out quite well. My fiscal conservatism also worked out nicely in my management career.
Then, when my company finally wound up the department I led, and no one would hire me, I happened to have plenty set aside to retire. I'm not happy about being forced into it, but I am happy that it happened, despite my best efforts.
I have been able to pivot -fairly easily-, to a lone-wolf programmer (even though I spent my entire career in fairly diverse and large teams), and I found folks that like the kind of software I write, so my habit of ship is already paying dividends (not really. I don't make a dime, and that's just fine with me).
> Most of us, in fact, don't really know what we want to do with our working lives until we're more or less doing it.
I can relate. Approaching 40 and I still change the definition of what I "want to do" from time to time. This in part results from my childhood experience in which my parents make important judgements, in part results from my own weakness (not perseverant enough and always back down when boredom and/or difficulty strike).
Basically I find myself distracted by all sorts of things (game dev? cool! reverse engineering? cool! embedded system? cool! writing an interpreter? cool!) but only scratching the surface for all of them. Yes it might be OK because they are just hobbies, and I can do whatever I want with hobbies, but deep in my heart I still admire those who can drill deep even for hobbies.
> What we're really talking about is the aim or goal of your career.
Actually I believe there is one thing that is potentially more important: How do we plan the end of our philosophical life? That is, when do we be content enough and say to ourselves: "OK if I die now, I can at least say that I have done something this life and did not waste all of my time". Reflecting on that, I have to say that if I were to die now, I probably believe that all of my life is wasted. Against this is just personal and everyone has one's own version of "wasted".
*******
Overall I think this is a well written piece, but the hard-core question is: Do you know yourself?
If you love what you're doing now and don't ever want to change jobs, great: you've reached the end of your career, even if it plays out over many decades.
Even if you love what you do and you don't want to change anything, the world around you is going to have other ideas. Especially in tech.
Eh. To some extend yes but largely, no. If you loved COBOL all your life you can still find COBOL work. It's harder now but its out there. You're just not going to be working at a cool start up doing it.
So if part of what you love is working at cool cutting edge companies then yeah you have to keep learning new cutting edge things. But if you just want to bang out code in your preferred language there will almost always be a company somewhere hiring for that.
The beauty of your argument is that it's unprovable. No matter what language someone might suggest they enjoy that they can't find a job writing any more, you'll always be able to counter saying "Ah, but you've not looked hard enough! They're out there!" It'll always be the candidates fault for not scouring the world searching for that AP/L role or Shockwave Flash advert.
The assertion that no matter what tech you want to work with there'll certainly be a job writing it somewhere doesn't seem right to me. Not because there won't be some uniquely rare role out there, but because very few people want literally any job, anywhere, on any salary, under any conditions just because they get to a specific language. Unless there's good jobs writing it that you would actually accept then the language might as well be dead.
Sure... I guess nothing is provable. I know COBOL devs. They say its harder and harder to find gigs but they just tend to stay in their jobs longer now. I have a relative that will probably retire in his current COBOL gig.
Not a bad thing. One becomes an expert in one niche domain (I wouldn't say COBOL is niche but you know) and comfortable sit on top of it. One can just work maybe 15, 20 years and retire early.
You also need to be aware that there will be massive pressure on businesses to remove your job though. Every single app written in a lanuage that has a diminishing number of people able to work on is a huge risk. The only reason COBOL devs are still able to fine work is because businesses like banks didn't have the foresight to remove that dependency early enough - they've been running their legacy code for far too long and now it's hard to replace. Its unlikely that they'll be keen make the same mistake again.
Yes I understand. But consider two points: 1) People who are familiar with mainframes and COBOL are probably well into their career maturity (at least 40+) and because of the luxury salary they probably do not mind an early retirement, and 2) Even when bank moves it moves slowly.
But I do think that the whole COBOL thing is coming to an end...maybe we need to find something still hot but hated by everyone, for example...Java?
> Its unlikely that they'll be keen make the same mistake again.
Companies learning from their mistakes? Large companies learning from their mistakes? Companies learning from the mistakes made 10-20 years ago by a different CEO/CTO/Leadership team? You believe it companies ability to change more than I do.
It depends how dynamically you can define "what you're doing now." I don't really care what I do so long as it's remote with a good work-life balance and pays well, and I'll do what it takes to keep up with tech stacks. I expect this to carry me just fine to retirement.
Same. I've done SRE/platform/infrastructure engineering my whole career, and I intend to keep doing that until I die or retire. Platforms can and will change, but there will always be a need for engineers to work on them separately from the application code.
I don't think I've ever worked on the same exact stack at any two different companies, but what I do has always been in the same ballpark.
I'm 67, and am in the final stages of my career. This article resonated, and made a lot of sense based on my own personal experiences. Early in my career, my head was full of fantasies and ambitions about entrepreneurship, being a founder, being a leader, etc. It took a long while for me to realize that I am not a leader, and am much more of an individual contributor. It was liberating to accept my true nature, and to go with it. If you are lucky enough to have a job that you find interesting on most days, that turns out to be a tactical advantage: you will spend more time learning, thinking about things, and improving your ability to contribute effectively. If you are lucky enough to have a job where you feel like you are making the world a better place in some meaningful way, that can be surprisingly fulfilling. At the age of 50 I did a career direction change and took a new job doing embedded software for medical devices. Been doing it ever since, and find my life to be rich and meaningful. Anecdote: our twin granddaughters (now 4) were born about 6 weeks premature, and spent over a month in the UCLA NICU. We all spent a lot time there. Next to every incubator was an Avea neonatal ventilator, a product that I had written a lot of software for. Nowadays I'm working at a medical device startup that's working on next-gen radiation treatment for cancer patients. Software people are blessed at this point in history, in that we have a lot of options. You can make good money, support your family and provide for retirement etc., while at the same time doing something that you enjoy and find meaningful. It was kinda terrifying for me to take a leap into the unknown mid-career and start doing something that I believed in, but it worked out well. (I have a small sample size, i.e., one, so I don't know what the odds are here. Your mileage may vary; no guarantees implied or otherwise, just one data point for your consideration.)
What such articles lack is that they assume anyone could do anything, but that's just not true.
To become a really well-paid, influential developer (IC called here, I think), you need to be smart, so that others that are also smart acknowledge you as a very skilled developer. Plus, it's probably not enough to be very smart (which in itself most people are not), but you need some level of politics that is always necessary.
For managers, it's also not a default that promotion will just come with years being somewhere, just untrue.
I would say, although depressing, some people in the industry just don't have it to be successful enough in anything to feel great at their job and there is not always a way to change this. I would never fingerpoint to anyone and say "he cannot make it", I would probably not even recognise that person (apart from myself) but I would say they take up a great portion, unfortunately.
Today's environment enforces performance. Those who cannot perform, will have a hard time...
I disagree. We are conflating being smart really with being self-motivated. Also being in the right environment is very important. I do believe that anyone can do almost anything (I'm not going to be an NBA player in my 40s). Certain things though become harder as time goes on given education or industry requirements but are still not impossible - you have people become medical doctors in their 50s. It fair to state that the privilege of time and money also make career transitions far more easier for some folks. But if you are willing to put in the time and effort and stick with it, you can learn anything and make the jump career wise.
If you want to break into a technical field from a non-technical background, the better indicator of success will be grit, perseverance, and self motivation. Learning becomes easier if you are motivated to learn and when its hard still stick with it. I used mentor at a nonprofit web-dev bootcamp that aimed to help students from under-estimated and non-traditional backgrounds (no college education) become software developers. Most of the students did not have traditional STEM backgrounds and were learning to program for the first time. The program was free and deliberately designed to be hard with multiple places where students would be kicked out if they didn't keep up with the work. There were no traditional tests and coding exams. All assignments were project based with a clear deliverables (website, backend database, full stack javascript applications, etc).
Most of the students (over 80% graduation rate and 99% employment rate) who finished the program got well paying dev jobs (avg salary of 90k). Of the students I mentored, the ones who were most successful were the one willing to put in the extra hours to learn and ask for help (often doing 80-100 hours weeks of learning) and genuinely curious to learn outside of the scope of the curriculum. At the end of the day the program was not filtering on general "intelligence" (whatever that means) but really the perseverance of students to put in the work and produce something each week. At the end of 8 weeks
A long time ago, after interviewing for months, I finally landed my first job as a developer. It was VERY hard to get your foot in the door back then. On my first day, I was given someone's old computer that had a bunch of junk on it. While cleaning it up, I accidentally deleted all files on the company's file share. Shortly after, I started hearing murmurs of missing files and then, panicking inside, realized what I had done.
The IT guy came by and asked me if I had done it, but I played dumb. He knew it was me but he couldn't prove it, so I survived that one. He gave me dirty looks from that point forward though. I surely would have been fired on the spot if the truth were uncovered.
Damn, dude. If I nuked stuff on the file server I would have immediately gotten up and talked to my team/manager/whatever. I'd be anxious as hell but I'd still do it. If I actually got fired I'd think they are just a trash employer because there's no possible way someone should get fired for an innocent mistake (that never should have been possible anyways -- systemic failure on the employer's part). I know someone who accidentally published private docs to the open web, because they followed the known process for sharing docs with their team, and the process did not correctly identify how to verify/ensure the docs are internal-access-only. They nearly got in trouble, but I told them to adamantly communicate how they followed the official process using the official tools and there was no information about the security/privacy that indicated it wasn't private. There was no way for this person to have known any better, with what the employer had provided. It was even just weeks after some security/privacy training had taken place at the job, proving just how badly the employer failed to educate their staff.
If you lied, and they found out, you would have been fired for that reason alone. On the other hand if you told the truth right away, it's hard to say if you would have been fired; where I've worked you wouldn't have been fired for telling the truth and doing that (having seen people fess up to much worse failures). Lying on the other hand is a serious problem since it betrays trust (if caught, of course).
That said, I've also been at a company where people in charge had admitted to not having a backup copy of something rather important. I was flabbergasted.
Do you really think you would have been fired? It sounds like it was easy for you to fix. Sounds like it would have been easy for them to fix. Rather than fire you they could say, "Oh yeah we should make sure that something like this doesnt happen again. It could happen to anyone."
The article is Schwarzenegger-style motivational nonsense.
That sounds a lot more harsh than I want to, as the advise in itself is solid. Yes, you should very much plan for happiness if you can.
The problem is the silent majority that actually doesn't want a career. At all. They work out of necessity, not to find meaning. They just want to live. American optimism has slowly and carefully made this attitude unacceptable to express, hence the silent majority.
But the underlying reality is still there. People don't want to work. That's why you pay them. If you believe the people at your work are there for meaning and joy, give them fuck-you-money and see how you find yourself alone the next day.
If I may turn a bit morbid for a minute, I've attended too many death beds already. I've never heard any of them spend a single breath on work or career. Isn't that telling, if work is supposedly purpose and meaning, and you spent most of your life on it, it's not even worth mentioning?
Anyways, it's still solid advise to switch to a field or role that fits you, in case it currently doesn't. The problem is, work sucks everywhere. It's not the field or the actual tasks, it's other things. You have no control over your time, your colleagues, the quality of management, and most of your time is spent on reporting and communicating rather than actually working or doing things that bring actual joy.
Everything is factory-like, financialized, metric porn. Even the academic world is like this now, and so are non-profits.
Not in the sense the article uses: "A senior IC role appeals to those who want to stay technical and keep their hands on the keyboard, or at least the mouse."
I would categorize a senior field applications engineer to be more IC than sales. But some people move directory into sales. I don't know if this counts as steering an existing technical career or switching careers entirely.
From my experience, I would say it's a horizontal move. I had been out of the industry for 5 years, an eternity in IT. Attempting to move into a sales-related role was my strategy to use my experience in both tech and communications and hopefully find a company willing to take a chance on me. It worked. Being able to have a friendly conversation seems to be a challenge for most IT folks. I currently enjoy not being "in the trenches" everyday putting out fires. Plus, I'm not frontline sales so I'm not on the phone all day or head-down in a contract negotiation. It's also provided a great opportunity to get up to speed with automation (looking at you, Ansible ;) and containerization on the company's dime.
A couple things that come to mind with this article. My own journey has been quite nonlinear both in terms of roles (business systems analyst -> data analyst -> technical project manager -> data scientist -> AI research scientist) and environments (F100 -> academia -> startups). My undergrad (creative writing and social sciences) would not have predicted my current role (Senior AI researcher focusing on deep learning and NLP) and I still have no idea where I want to end up.
It can be hard to imagine and project your potential. Often our journeys are not linear and we have hard time factoring who we will be in future as sum of our experiences. Often that growth in knowledge and life experiences will be exponential even though to us it may feel linear in the present.
I also find it useful to think about problems instead roles. I've had roles that didn't exist 10 years ago and likewise new problem spaces are always emerging. Problems don't necessarily have to be domain specific or role specific but generally describe the types of challenges you find interesting. Once I identify a problem space I start to think about how I would like to make an impact and how I can currently make an impact. Sometimes the two are the same and other times they are different and require a journey to get there.
But I find the metaphor of problems interesting because it helps align the type of work I do with the things I find interesting at any given point. It also helps narrow the search space for opportunities and ensure what type of career growth is meaningful for you.
It sounds like you have had an amazing adventure so far, and it's really inspiring to see that you've been able to have such a fluid career. Could I contact you to learn more about your adventures? My email is Anthony at yesrobo dot net
The fact that things end is why you should enjoy the good times when you have them. If you're going to live forever, you can always see that sunset tomorrow, or next year, or a century from now. No particular value in doing it today.
I'm going the senior IC route, I would add to the description in the article that the job usually comes with an expectation of technical leadership and mentoring and/or helping to steer management. I spend hardly any time in general meetings but do spend some time building consensus around technical decisions.
Sounds like your HR is doing a decent job then, unlike mine. I recently applied to a business analyst role. I was told in the informational that I would spend only about 25% of my time researching/reporting, and that the other 75% would be project/stakeholder management. Ridiculous. No wonder we have trouble finding people when position titles are basically lies.
It sounds like they were very upfront with you about what the job would entail. How is that lying? And the reality at a large company is that many people spend a lot of time coordinating, sharing information, gathering requirements, etc. even if their nominal job is market research or whatever.
I would expect that there would be presentations and meetings to share the products of the research. It's an entirely different thing be primarily performing project and stakeholder management.
The only way I found out about the true nature of the position is from an informal informational with a member of that team. The job posting itself mentioned nothing about project management and glossed over the stake holder management part. This is very misleading. Plus, if the majority of the position is project management, then they should probably title it as such.
More jobs involve a lot more of that sort of thing than you're crediting I think. A lot of our research projects involve collaborating with regional teams around the world and other marketing groups on budgets, research content, etc. There's the outside firm that's actually doing the survey to be managed. And probably a bunch of other things that I'm not directly involved with. Sometimes you have dedicated program managers for certain tasks at a large company but a lot of people spend a lot of their time essentially collaborating with other people.
I've run into this problem, there could be multiple reasons: standard job descriptions that are used over and over, jobs changing shape while the company is screening applicants, unclear objectives on part of the hiring managers, etc.
We try to have the peers review the job descriptions before the reqs go out but often engineers don't spend the time it takes and sometimes there's HR lingo the company wants in the description.
I once took a job that I regretted taking on the very first day. I contemplated quitting that same day but stuck it out for many years thereafter. Turns out staying in that job WAS the career ending mistake. It killed my career, family life and even health. It takes a lot of effort to recover from these career mistakes even if you have spectacular resume and background. Number one rule in avoiding this is to never take such a job in the first place.
"You can't stop the waves, as the saying goes, but you can learn to surf. Chance favours the prepared mind."
Never underestimate such innocent looking sentences. I've learned surfing with 40. Surfing is by far the hardest craft to learn. You only have a few seconds on a wave, and hardly get anyone, esp. in crowded surfs. You need at least 5 years to get decent at it. But it's really worth it. I'm missing it a lot.
I just want to work from home 9-5 without too much stress and have enough money and time to do what I want outside of it. Thankfully looks like I've already reached the end of my career as the article calls it pretty early.
I have yet to start a career and I'm already at that point. The things I'm passionate about are just not monetizable or you need to be the 0.00000001% (without counting luck and connections) to make some profit.
As someone who went from managing three people at a high profile ad agency account to going back to IC. I'd like to say: It's so much more complicated that what this article lays out.
I was asked to train three totally green hires after only 3 months on the job myself. It was terrible. And I quit. But I loved the agency I was at. And I might love managing people under more sane circumstances. Now I'm an IC making more money with no reports and I'm back to being someone else's junior.
These things move quickly and I feel like keeping your eyes open is more important than placing oneself into a broad category of "career end." It's not as if roles are static and these things are defined as you go. Roles morph and people and projects come and go. Flexibility is more important than having an end in minds. Having an 'end ' is a fools errand. And is what encourages people to sit in shitty jobs because their boss promised them they "get what theyre looking for" just in a year or so.
I never considered my “career” as part of my life goals. I always navigate based on happiness. When I wasn’t happy doing what I was doing I tried something else. We all have an inner compass that will guide us in the right direction, if we allow ourselves to listen to it instead of following the expectations of others. It works remarkably well if you let it.
“If you love what you're doing now and don't ever want to change jobs, great: you've reached the end of your career, even if it plays out over many decades.”
That is so wrong if your job is dynamic and creative, and if you have ambitious goals.
> If you love what you're doing now and don't ever want to change jobs, great: you've reached the end of your career, even if it plays out over many decades.
This is me. I have zero inclination to be anything other than an individual contributor developer. I abhor meetings and don’t want to manage people. It actually took me a long time to convince the higher ups at my company that I have no interest in moving into management. I figure I have 15-20 years left in my career. If I can just keep learning new skills/technologies and getting better at what I do for the remainder of that time, I would be very happy.
Does anyone really believe they're going to be able to plan the end of their careers, with the world moving as fast as it is these days? Even a five-year plan seems ambitious and full of unjustified assumptions, to me.
Tip to the privileged[1]: find out how low you can drop your monthly spend – what are all the things you could still relatively comfortably live without? I'm now very happy living on my savings, spending super little per month, and it has opened up so many wildly different career paths. A bonus is that my ecological footprint is also very small (relative to my country at least), which has had a very positive effect mentally.
[1] Obviously if you already are at the limit, or living in a society without safety nets, this is not an option.
I think a very straight forward cure is just stopping this hamster wheel career attitude altogether. I started to program because I enjoy programming. I enjoyed it at awful companies, I enjoyed it at good companies.
The article's suggestion of steering towards 'career goals' is I think mistaken. If you want to be happy in your job you can be happy right now provided you enjoy your craft. This goal oriented mindset drilled into people is terrible because there's just going to always be the next thing.
The author makes it sound as if career paths were under our control, while they often are not. Any of these events can change your choice of possible roles completely:
- Being at the wrong place at the wrong time
- Industry changes or gets disrupted
- Falling out with a boss
- Having burnout
- Having children
- Spouse gets sick
- Accidents
- Stock bubble bursts
- War
Trying to plan your (job) life up front can be a nice thought experiment, but, in my opinion, not much else. Like a car driving in the dark, we can’t really plan way ahead. There’s no knowing what’s further down the road.
Accepting this is, I believe, crucial for leading a good (job) life.
I think the old maxim “success if where preparation meats opportunity” is very true. You cannot usually control for the “opportunity” side but without preparation you’ll definitely miss a lot of opportunities.
Sure you can’t predict war, but its hardly ever something that happens overnight - like the brewing conflict in Ukraine has been brewing for decades and you can always try to move somewhere more stable.
We can’t predict us or our spouse having accidents but we can strive to be healthy.
Most of the “things outside our control” we can attempt to mitigate or plan to avoid. And sure sometimes shit happens and you have to deal with it, but thats not a healthy outlook I think, you should plan for the future, what if nothing earth shattering happens?
And you can do things to mitigate the risk and the amounts of bad outcomes - thats also planing, we’re not just animals after all - running away from pain and towards pleasure, we can think about the future, and I in my estimate this article just encourages us to do so.
The way I see it, managing people is not your main objective even as a team lead. Your primary responsibility is to drive the project forward and get the work done, and managing people is the how. So in essence, you'll be doing a lot of people management but you should be laser focused on the project your team is working on. It's like the difference between writing code for code's sake and writing code to solve a problem.
This is Marc Andreessen's guide to career planning, and I've found it exceptionally useful. In particular, he backs off from the narrow "decide what track you want to be on" approach to frame the problem as developing a set of skills that will make you more valuable to any enterprise you choose to be a part of. Then while you do that, watch for the most valuable opportunities to apply those skills.
The other great thing about Marc Andreessen's guide is that it acknowledges the role of risk and opportunity in how your career will shape out. So instead of tracking yourself into a path based on how the world looks today, you stay alert to how the world is changing, and then use the downtime to improve yourself. Despite being a guide for "high-potential people who are not interested in work/life balance", it feels like it puts less pressure on individuals than feeling like there's a set of steps you must hit to be on your chosen track.
Marc Andreessen who according to wikipedia has had a single employee job in his entire adult life, after which he went on to found a string of companies and then became a VC? Why would I want to take their advice on skills that make me more valuable to an enterprise?
I'd 100% take advice from him on founding companies and on investing btw, but advice on how to build your career as an employee seems wildly irrelevant coming from him.
Why would you ever want to be an employee? Pretty much everything about the American system is setup to shaft them.
The advantage of Andreessen's perspective in that blog series is that he thinks of a career as a portfolio of investments, each of which has their own risks and their own upsides, and each of which may unlock future investments. In my experience this has been a far more effective way to manage your career, simply because everything about present-day America is setup to screw people who take one job and work within its strictures.
A lot of people are dunking on this post but none are showing a terminal career path that stays in tech and is something other than:
- Manager of some kind
- Senior IC of some kind
- Independent of some kind
It seems a reasonable breakdown to me, finer grained distinctions do not have the same magnitude of skill and prerequisite knowledge differences.
It's a reasonable if very generalized taxonomy--and it captures someone who really wants to be their own boss, someone who wants to manage people, and someone who doesn't really want any of those things. But within those categories, the differences are vast. I've effectively had three rather different 10-ish year careers as an IC (plus one other shorter one that, as planned, I left to go to grad school).
My 5 cents: optimize for working with great colleagues on things you are passionate about, with leadership caring about those things and giving you freedom to do that. Keeping up with general tech trends helps too, and stay curious.
In my experience, if you follow this, the appreciation with follow, either inside or outside your company (or both).
> A consultant is independent, for example; a contractor is not. The difference is that the client tells a contractor what to do, while a consultant tells the client what they should do.
Huh? The two terms are very often used to mean the same thing.
> A consultant is independent, for example; a contractor is not. The difference is that the client tells a contractor what to do, while a consultant tells the client what they should do.
As someone who has worked as an ‘Independent’ for the past 8 years, this really resonated with me. I aspire to be a consultant, but realise now that most of the time, I’ve been a contractor. I think the lines are a little more blurred (e.g. a consultant can still advise based on a set of requirements, which usually come from the client) but it’s one of the most concise explanations of the differences between these two roles that I’ve heard.
> > A consultant is independent, for example; a contractor is not. The difference is that the client tells a contractor what to do, while a consultant tells the client what they should do.
It's not that rosy. At the end of the day, you still work for the client even as a consultant. You still have to produce things you would rather not. You still have to properly identify and solve the problem your client wants solved.
Also most people who work as consultants still occasionaly do some work which would be classified as a contractor job by this definition.
If you aren’t close to your career end don’t even plan for a target. Do what you are currently doing, but always end something out of your comfort zone. Maybe something much more technical, or teaching other people, or planning a bigger project, … Even if you really suck at it or hate it - at least that’s something you’ve learned then. And maybe you’ll pick it up 10 years later.
When you are 30 you don’t have 20+ years of training for your specific job. You were trying a lot of things. You’ll need the same curiosity to have an enjoyable job when you are 55.
Noteable to me is that the only people with any power are consultants (sometimes) or managers. There are very few paths where the very good, wise, experienced techies get much self-determininacy, much power. You have to become a manager & fight your stake via politics to gain control.
Probably one of the key reasons SRE & devops roles are semi-popular. Your target is techies, and you have much more leeway about where you want to go. There used to be architect roles, but they feel- to me- fairly outmoded?
Ithaka gave you the marvelous journey.
Without her you wouldn't have set out.
She has nothing left to give you now.
And if you find her poor, Ithaka won’t have fooled you.
Wise as you will have become, so full of experience,
you’ll have understood by then what these Ithakas mean.
I am new to Go and programming in general and have found John's work to be instrumental to my educational journey. I highly recommend everything he has produced.
> The first phase of your career is probably too early to make serious plans, and any decisions you make at this stage are rarely critical: there's plenty of room to experiment and make mistakes.
I think the decisions you make in the early stages are indeed very critical, but there's basically no way to truly predict their effects, so you shouldn't worry about it.
I'm still in very beginning of my career but I hope to eventually work on something open source. Something that is being used by many. Be it software library, business software or games industry.
Would be very cool to help the Linux gaming push that is happening and help to push it even more. But I don't think I have skills for that yet..
I think he's missing one big endgame – becoming a [Co-]Founder.
The most risky of the bunch, and with the most variables outside of your control, but it IS there as an option, esp if you have relevant or prestigious experience as a senior IC or PM.
Come to think of it, it's something of a mix of all 3, Independent, Senior IC, Management.
> The best time to start a pension is always twenty years ago
Does the US not have a mandatory pension program? We have "super annuation" here which is a mandatory payment employers have to make into our pension accounts, minimum being 7% on top of our salary. Very rarely a company will add more to your super.
The US has the social security program, to which both employer and employee make mandatory payroll contributions, but it pays very modestly in retirement. Many employees now contribute to their own self-managed retirement savings/investments. Employer sponsored pensions are disappearing.
As unobjectionable as this advice is, it also doesn't feel terribly useful. Consider this quote:
> As software engineers, we already know that a too-rigid plan rarely survives contact with reality.
For me this is understating things quite a bit. As someone pretty much exactly mid-career who has done well, I can't really point to long-term planning as providing any value whatsoever. It certainly doesn't hurt to think about the long-term value of what you are doing now as an impetus for change, but thinking too much about specific destinations starts to veer into day dreaming territory.
Instead, what I've found useful is first and foremost to take risks and keep my options open. For instance, IC vs EM is not something about which I hold a strong opinion. When it comes time to change my role the best opportunity may not fit into a rigid taxonomy of "career goals" and there are more important factors.
All too often I see ambitious young people asking for a roadmap to success. This is especially true at higher tier companies and people that have come up through Stanford/MIT where they have been spent their whole life jumping through rigidly defined hoops. They come into the workforce with the idea if they just do what they're told hard enough they can get promoted on a regular cadence. However doing as you're told has a natural glass ceiling, and personal success has more to do with playing to your strengths and seizing opportunity than playing by the book.
I would say, no need to plan out a career. But don't be surprised if you end up where you are currently heading. There might be unconscious things affecting your day-to-day choices affecting your career.
The truth is that as a man’s real power grows and his knowledge widens, ever the way he can follow grows narrower: until at last he chooses nothing, but does only and wholly what he must do.
—Ursula K. Le Guin
Seems applicable to one or more of the world's dictators today.
Curious if there's anyone who's made a plan for this sort of a thing. I'm never able to plan even the rest of my week and follow through with it. What does a plan for your career look like and how do you get the discipline to stick to it?
It's not about discipline, it's about cultivating the ability to find your own north star of sorts, follow that, and ignore the noise.
In my example: I consulted in 2010-2012 doing Rails and hated it (despite having a great client). Decided I was not compatible with the webdev culture of shipping fast and breaking things, so I started self-studying compilers. Landed a job at an R&D firm in 2012 working on LLVM stuff, then have hung out in the research-y space ever since.
I'd always set that as my career endpoint, but lately I'm not as sure. I think my next step is working towards being able to work for myself creating products on the side, and working for others part time eventually. I realized I like working on other people's problems, but I have a lot of skill and vision in programming that I can use in other ways, such as product design. The idea of learning how to be more independent is very exciting to me, including learning about marketing, UI design, talking to users, etc.
After that? Who knows! Maybe I will teach part time, or write ebooks, or give trainings, or write games with friends. Computing is a big world and I feel very grateful to be able to move around in it as I get older.
Try not to consider career planning as being in the same category as task management. Instead, have a broad vision and keep a look out for opportunities that might bring you closer to that vision. Opportunities present themselves all the time; it's up to us to have the attention to notice them and the judgement to know when (not) to take them.
For me it was more about identifying the archetype I was after so I knew who to
emulate. It only lasted a year or two in most cases until I moved on to someone else.
You can’t, and I don’t think it is smart to try to, line up a progression like this because in the process both you and the environment will change.
I think it is important to mention that managers also don't pick what they want to work on. Often times they are "managing" teams of just a few people. A better term for some of these people would be performance reviewers.
It's completely unsurprising to me that HN likes to get information from a search engine that doesn't know the difference between 'careen' and 'career'.
This may indeed explain how the author came about their incorrect definition, though.
I would like to try some of the destinations - perhaps they are not for me but I'd like to feel I hadn't been frightened off even trying something that I might have eventually liked.
In the past I've often felt that success depends on people and how they work together and that it's most important to get that right. You could see it as part of the architecture of the product. In early jobs I saw how having QA as a completely separate entity lead to all sorts of blame games when something went wrong - so they should be in the team but with a different manager.
My favorite anecdote about why it matters how you arrange things socially was about Friday pizzas at one company where you got your choice if you showed up in the kitchen early and if you were late you took whatever was left.
When the kitchen was getting remodelled we had to split the deliveries per floor and get people to collect their floor's pizzas. Inevitably one person would pick up something they shouldn't have - either the wrong kind or one more than their floor was allocated and that messed up the orders for every other floor - great anger was generated with people accusing each other of skulduggery. The anger was not minor and created an atmosphere of suspicion and distrust. People suggested we needed more pizzas so everyone could get enough.
A few weeks later the kitchen was finished and we were back to the old scheme. We didn't order more - the old rule that if you were hungry then be early was back in place and the nastiness evaporated.
That's just a long winded way of trying to explain that some ways of arranging people work and others create a disaster. I'm interested in how to make things succeed and I realised that being good at <some programming language/technology> wasn't going to ever be enough to create successes.
Often it doesn't matter what heroic programming effort you make - your management has set you up to fail.
So I wanted to, for once, be in a position where one can influence those things so I could create some "success" with the appropriate tools even if that is not just a compiler/IDE. I wanted to fix the things that were killing our success (e.g. at Nokia) that I couldn't as a pure developer.
Has that happened? Well, a little bit. I doubt it will ever be more than a little bit - but it's less frustrating to feel that I'm not stuck in the same groundhog day. :-)
Being an independent contractor/business owner is what frightens me next - will I ever have the courage to do that? Possibly when the mortgage is paid :-)
People have all sorts of constructs / ideas about how careers work (based on experience) or how they think it works, or how they want it to work. I talk to some college graduates who tell me what they're planning for and have ZERO clue what industry they're talking about, their description is unrecognizable to me ... even tho I know it is the one I work in.
I find your experience and paths can vary greatly company to company, even job to job.
We all find truths we want to hold on to about work. I recall trips to the valley where my coworkers where astonished to hear tales of people doing the same work they did, but doing it slightly differently elsewhere in the country. Their view of how that job was done was entirely shaped by the couple places they worked (and everyone seemed to cycle through those couple companies). You'd think these folks though that if you didn't fill out the TPS report right to left that the world would end... I'm pretty sure the vast majority of people fill them out left to right but I didn't feel like telling them that, it might have been too much for them to handle.
" I think there are three main kinds of career destination, at least in the tech industry:
"I have no idea why those are the only destinations ... for an article worried about being happy that seems kind of limited.
The whole article feels very pie in the sky to me.