News for hackers. Stuff that matters.
Re:A career ending mistake by ebiester on Tuesday February 22, 2022 @11:25AM (#30429796)
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.

Re:A career ending mistake by GCA10 on Tuesday February 22, 2022 @03:22PM (#30433175)
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.

Re:A career ending mistake by SaltyBackendGuy on Tuesday February 22, 2022 @05:53PM (#30435035)
> 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.

Re:A career ending mistake by asdfman123 on Tuesday February 22, 2022 @12:26PM (#30430697)
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.

Re:A career ending mistake by musicale on Tuesday February 22, 2022 @02:55PM (#30432811)
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.

Re:A career ending mistake by trulyme on Tuesday February 22, 2022 @03:12PM (#30433047)
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.

Re:A career ending mistake by ghaff on Tuesday February 22, 2022 @03:26PM (#30433238)
>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).

Re:A career ending mistake by anonymousDan on Tuesday February 22, 2022 @06:07PM (#30435153)
NNs sure, React and Rust ... uhm no.
Re:A career ending mistake by bobthepanda on Tuesday February 22, 2022 @10:17PM (#30437169)
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.
Re:A career ending mistake by jpetso on Wednesday February 23, 2022 @09:52AM (#30441606)
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.

Re:A career ending mistake by bobthepanda on Wednesday February 23, 2022 @06:52PM (#30448389)
> 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.

Re:A career ending mistake by anonymousDan on Wednesday February 23, 2022 @03:35AM (#30439010)
I'm talking about the difficulty of acquiring these skills given experience. It took me about a week to learn Rust
Re:A career ending mistake by Sebb767 on Wednesday February 23, 2022 @11:53AM (#30443132)
And it takes me about 2 hours to spin up an overfitted NN in TensorFlow. Learning and mastering are quite different things.
Re:A career ending mistake by Kerrick on Wednesday February 23, 2022 @02:20PM (#30445103)
Not only did React not start that, it wasn’t even in the first generation of frameworks that does it.
Re:A career ending mistake by bobthepanda on Wednesday February 23, 2022 @06:48PM (#30448345)
And the iPhone wasn‘t the first touchscreen phone, either. Doesn‘t mean it didn‘t have a big impact.
Re:A career ending mistake by asdfman123 on Tuesday February 22, 2022 @04:32PM (#30434143)
No, I'm saying that too many experienced devs who don't survive fall into the complacency trap. Not that all of them do.
Re:A career ending mistake by nefitty on Tuesday February 22, 2022 @01:23PM (#30431441)
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.
Re:A career ending mistake by groby_b on Tuesday February 22, 2022 @01:46PM (#30431805)
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.

Re:A career ending mistake by nefitty on Tuesday February 22, 2022 @02:25PM (#30432386)
Perfect framing, thank you.
Re:A career ending mistake by dinvlad on Tuesday February 22, 2022 @02:49PM (#30432733)
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.
Re:A career ending mistake by barrkel on Tuesday February 22, 2022 @07:08PM (#30435712)
You learn different things at startups vs FAANG.

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.

Re:A career ending mistake by dinvlad on Wednesday February 23, 2022 @03:08AM (#30438810)
> 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.

Re:A career ending mistake by lstodd on Wednesday February 23, 2022 @02:03AM (#30438484)
> 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.

Re:A career ending mistake by barrkel on Wednesday February 23, 2022 @04:03AM (#30439181)
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.

Re:A career ending mistake by asdfman123 on Tuesday February 22, 2022 @01:36PM (#30431658)
Depends on why you do it and what you do there.

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.

Re:A career ending mistake by nefitty on Tuesday February 22, 2022 @02:26PM (#30432410)
That's good to know! The challenges you find must be myriad. It does sound fun.
Re:A career ending mistake by granshaw on Tuesday February 22, 2022 @03:18PM (#30433123)
We’ll, you know, it’s kinda true in other careers, and that’s where the belief comes from.

Needing to constantly keep up is quite unique to Tech, and is a good or bad thing depending on your outlook

Re:A career ending mistake by chrisweekly on Tuesday February 22, 2022 @12:31PM (#30430763)
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".
Re:A career ending mistake by lytefm on Wednesday February 23, 2022 @03:24AM (#30438924)
I'd rather call it pi-shaped or N-shaped then ;)
Re:A career ending mistake by wlonkly on Wednesday February 23, 2022 @10:08AM (#30441816)
I've heard people call it "comb-shaped" before.
Re:A career ending mistake by chrisweekly on Tuesday March 01, 2022 @08:05AM (#30513608)
Thanks, yeah, that works and I think I'll adopt it. :)
Re:A career ending mistake by chrisweekly on Tuesday March 01, 2022 @08:05AM (#30513595)
Yeah, pi-shaped is a definite improvement -- at least when written. When spoken, it might be heard as "pie-shaped", which would be confusing ;)
Re:A career ending mistake by chefandy on Tuesday February 22, 2022 @04:22PM (#30434019)
Staying a core contributor isn't always an option.

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.