A career ending mistake
bitfieldconsulting.com
bitfieldconsulting.com
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:
Independent
Senior individual contributor (IC)
Management
"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.
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.
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.
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.
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.
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.
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.
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.
I can easily see it being different elsewhere, of course.
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.
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.
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.
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).
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.
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.
Needing to constantly keep up is quite unique to Tech, and is a good or bad thing depending on your outlook
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.
Thank you for this. It really landed close to home for me.
https://www.bostonglobe.com/2022/02/22/opinion/ibm-e-mails-a...
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.
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.
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.
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!
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.
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.
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.
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.
I like to think that benefits them / even me.
It’s always a matter of finding internal motivation. We get better at talking ourselves out of it as we get older.
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.
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."
Can you think of and describe anyone you know who belongs in xor(a, b)?
Among the happy people I see, most have the "randomness" I talk about. Among unhappy people, I see a mix of both.
Also on the front page today: https://news.ycombinator.com/item?id=30424181
> 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 was thinking it, just not brave enough to say it outright when I typed my response ;)
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.
You can spend the last X years of your career doing performance art or spear-fishing if you don't care about returns.
Mechanical Engineer->Baker
https://www.kqed.org/bayareabites/134975/at-the-midwife-and-...
No shortage of wineries:
Aerospace:
https://www.princeofpinot.com/article/680/
https://spectrumnews1.com/ca/san-fernando-valley-ventura/new...
Software: https://www.businessinsider.com/how-silicon-valley-prepared-...
Seems like starting a non-tech business for career techies should be a valid career destination.
As I described it I think things vary from company and even job to job a great deal.
But I'm sure there are more than 3 ;)
Do you know if your new career is a career to your retirement, post retirement or only for a few years?
And that person doesn't realise it...
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.
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...
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.
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 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.
Not evil, but that they lie and screw over employees. Are there any companies on Glassdoor with 100% positive ratings (with n>100)?
Like any rating system it is biased towards people with grievances, as they are motivated to look for an outlet to express that grievance.
Companies are made up of people, this happens everywhere. You're just describing life. This is not a problem specific to "companies".
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.
I do not know how to make a career out of that :/
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..
Ownership structures other than VC funded startups might prove better fits.
You would think that they would want to hire people who already knew the domain, but apparently that is often not the case.
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.
> 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.
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’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?
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 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?
A tech LLC won't help. The area is terrible for tech work and my expertise was in stuff that's irrelevant.
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.
"we are lucky enough to have plenty of opportunities to get new jobs"
That's highly individual. I don't have many options or opportunities.
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.
pre-COVID we did a lot of events together (skiing, surfing, hiking,
co-living, workations, etc.)
A bit off-topic, but how well does this work for employees that have a family? Do they take their kids/spouse to the events?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.
It’s not like you’re going to be coding while waiting for the next set.
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.
How we manage a fully reemote companyIf 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).
I hope my answer helped to clarify things.
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.
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".
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.
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).
whew
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.
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).
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.
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'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.
> 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.
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.
It's not an exciting way where you get to be in the newspapers as the latest billionaire, but it does work and has very low variance.
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.
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.
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.
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.
Alright, I'm done venting.
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.
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.
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.
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.
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.
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.
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 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.
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.
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.
[2] Computers are the only thing I'm good at.
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'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.
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.
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.
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.
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.
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?
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.
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.
- 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.
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.
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!
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.
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.
Apply, discuss and see how it goes.
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).
> I'm in the majority that aren't exceptional.
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 :)
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.
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.
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).
I crave this. Move fast & break things mentality is a plague. Shipping the proof of concept is a plague.
> 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?
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.
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 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.
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?
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.
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.
That must feel like ultimate satisfaction - software that is making the world a better place. Congratulations!
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...
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
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.
It's a great example of how you can be made to look bad because of other peoples' decisions.
Firing seems like a big leap here.
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.
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.
> Independent
> Senior individual contributor (IC)
> Management
Sales is an obvious omission.
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."
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.
“Everything ends badly, otherwise, it wouldn’t end.” ---Bryan Flanagan from “Cocktail”. [1]
I had to look that up as part of my due diligence for this post. The more you know.
Occasionally a sports career ends with hitting a homer in Game Seven of the World Series (David Ross of the 2016 Cubs). Most of the time, not.
You want to have the sweet we'll-still-be-friends breakup with your spouse, but it really ends in divorce court with you hating each other.
So don't feel remorse that it ends badly. That's life.
[1] https://www.capegazette.com/blog-entry/everything-ends-badly...
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.
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.
They have overly simplistic ideas of what they want.
There are ways to take greater control, or to more quickly concede that there is no control if the sacrifices are not tolerable, to you.
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 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.
“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.
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.
[1] Obviously if you already are at the limit, or living in a society without safety nets, this is not an option.
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.
- 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.
https://pmarchive.com/guide_to_career_planning_part0.html
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.
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.
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.
It seems a reasonable breakdown to me, finer grained distinctions do not have the same magnitude of skill and prerequisite knowledge differences.
In my experience, if you follow this, the appreciation with follow, either inside or outside your company (or both).
Huh? The two terms are very often used to mean the same thing.
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.
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.
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?
https://www.poetryfoundation.org/poems/51296/ithaka-56d22eef...
---
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.
Perhaps the most underrated resource, his Youtube channel is full of educational gems like this one: https://www.youtube.com/watch?v=OSgIEDMekSg
Please keep up the good work John!
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.
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..
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.
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.
> 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.
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.
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.
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.
https://en.wiktionary.org/wiki/career
This may indeed explain how the author came about their incorrect definition, though.
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 :-)