The Most Dangerous Email (to my career) I've Sent(notyourlanguage.com) |
The Most Dangerous Email (to my career) I've Sent(notyourlanguage.com) |
All those things are actual work, they just produce different artifacts, eg an aligned team and correct decisions and proper risk assessment diffused through an org. Again, nothing wrong with choosing the career you want, but I think this perspective is simply wrong.
I’ve been fortunate to be able to reboot a few times within an organization, most recently running a division with hundreds of people then pivoting to a small, strategic group with a specific high priority mission. It’s good to reboot sometimes and good to be able to tamp down the ego aspects of advancement that often keep us doing things we don’t like.
Our first kid was born two weeks before California shut down (the first state to do so) for the pandemic. I was stuck in a shitty job with shitty bosses who expected the world (eg, made me lay off 75% of my team in 2019 and proceeded to insist I produce more than before, while telling me to expect "More of the same!", with a perverse enthusiasm, in the coming years when I asked what our long-term plan was, but I digress - shoutout to Apto Solutions!). We had no family living near us, so it was just the two of us raising our first kid in the middle of a lockdown while I worked in-office and my wife tried to somehow simultaneously work FT from home while caring for a newborn. That wasn't tenable, so we uprooted to a more affordable region that had us surrounded by family in early 2021. I did the stay-at-home-dad thing for the better part of 2021 until it was time to get back into the swing of things.
My first interview was at Intel, through a staffing agency, and it sounded goddamned miserable as a new-ish father - rotating shifts (so I'd be required to do graveyards and swing shifts every few weeks), no office (the team I'd be working with said that they had to come in every morning and find whatever conference room might be available that day to post up in), the expectation that on my off days (yes, even vacations) I would need to respond to all emails and messages within one hour (so, how do I fly on a plane or hike in the woods on my day off?), and at the end of every week you had to present your numbers for the week to Intel staff in a way that sounded a hell of a lot like, "Please justify your existence to us and convince us that we should keep you here". It sounded goddamned miserable.
My next interview was the opposite - for a company in the education sector that promoted a healthy work-life balance and a focus on family. So, I leaned into it hard - I told my now-boss during the interview that I was coming out of a very rough, stressful and unreasonable working environment and that I have no desire to put up with anything like that ever again. I said that my primary focus has to be my family, and that I refused to "take home" any stress or work, that I would put 110% into my job while I'm in the office but 0% outside, that my phone would be set up to not notify me of anything afterhours, and that at that point in my life, I had zero desire to climb the corporate ladder and would be more than content sitting in the same position for a good chunk of time.
I thought for sure that their rhetoric around work-life balance and such would be bullshit, but I got the job, and it's exactly like they described. The flexibility and support for all of us to prioritize ourselves, whatever that looks like, is amazing, and I feel incredibly lucky to be here. I can shut off at the end of the day and, in three years, I've yet to take work home with me in any sense of the phrase.
And now that three years have passed and my kids are a bit older, I've been candid about taking more on and maybe moving up the ladder a bit (within reason/my sanity), and they've been very supportive of it.
All that rambling is to say, lean in to whatever it is that you know you need. Reach for it, ask for it, insist on it. It might not always work out, but you may get lucky and end up getting it, and boy is it damn sweet if you do.
"Up or out" doesn't have to mean up the org chart. It can mean up your value through mastery, which you clearly feel you have within a set of disciplines.
It took some number of years to become "the best" at those things you described being good at. Whatever activities you were doing those years that made you the best, keep doing them … applied to adjacencies.
Later in life, after people have been good at some things for a while, it's an ego boost. They forget what it felt like to be not good at things, and that that was OK. They become inhibited from learning by both ego pain of doing something badly, and mental pain of reformatting brain and behaviors to fit in new learning.
If at 40 you have 20 years of getting good at things, at 60 you can have another 20 years of getting good at additional things. Innovation and mastery of systems comes from multi-disciplinary, multi-system understanding. The additional years can make you more useful, not less.
Arguably, it boils down to: do you like learning, and do you like what you do. If yes to both, there's no reason you can't keep accumulating ability to deliver value.
Kudos ×100.
Far too few people ever recognize their breaking point, and just continue trying to push forward because that’s the capitalist manifesto - growth at any cost.
You learned from your own breaking point, and intentionally chose an alternative path that fit you better. That by default makes you more self-aware than many.
If that was your fear, then I'm sorry you had that fear, and I hope it was unfounded.
Unfortunately, there's externalities to voicing a negative stereotype in some venues, reinforcing it there.
There are always people who have a lot of "soft power" just on account of years on the job. This probably happens everywhere, in all types of jobs. I've also seen this in sales departments and warehouses. This is compounded by the fact that incompetency tends to chase away the competent (not even "talented", just "competent") once the incompetency reaches a critical mass.
I do feel that lack of older programmers saying "steady on there kiddo" is a problem. "Stuck in your ways"? Maybe. But there's a lot of value in both "proven to work" and "knowing the devil you're dealing with".
The most "dangerous" thing for my career was when I started posting about what's happening in Gaza and Palestine on my public social media accounts. I've heard similar horror stories from others, ranging from being let go from their jobs to missing out on new opportunities and positions, specifically or "incidentally" as a result of their decision to speak out.
Again, not wanting to turn this into a Palestine/Gaza/Israel thing just pointing out that people on the other side feel the same way.
Good on you for speaking out, and thanks for doing so.
“I felt like by 40 I needed to move on from engineering because if I didn’t, I’d be like the few older workers I’d dealt with in my career. I felt like they moved too slow, were stuck in their ways, and unable to change - even when faced with evidence to the contrary.”
I’m in my forties and none of those things are true about me. Nor are they true about any of the other older developers I know. There isn’t this magic switch that goes off when we turn forty.
When I extrapolate from there, it makes me genuinely wonder how many of the writer’s problems stem from the position versus how many stem from a serious lack of empathy and the communication difficulties that creates.
The best management advice that I ever received was to always consider if a management problem is actually the sign of a personal problem. If it is, it’s my job to manage to fix that before I make my workplace more toxic.
The alternative is the Peter principle where you end up promoted upwards until you fail.
OP, I wonder if you had frank talks with your line management about your long term career trajectory or if this was a sudden realization?
I mean... to play devil’s advocate, if each promotion accelerates the compounding of your investments to the point where by the time you fail you’ve already reached financial independence, then oh well? Can always go back down the ladder or jump to different types of ladders at your convenience then.
That aside, I'm happy it worked out and I understand it's hard to send an email like that.
I once worked for a large information company that had a split between technical career paths (individual contributors to architects) and managerial career paths (individual contributor to manager to directors). So I stated in my HR profile that I aspire a technical career track to make sure, and told my management.
A few months on, I was sitting on a beach in Croatia during a vacation with my now-wife when my phone rang, and my boss told me I was promoted to Director. The reasoning was that the group I was leading would be taken more seriously if it was headed by someone who was himself at Director level, the same level as the peers that I would be doing projects for/with. Thankfully my team was small enough so I could stay reasonably technical, but I still envied the folks that "were allowed to write code every day" a bit.
I'm going to succeed in having my entire 40+ year career in software without ever having had to manage another person. I'm fortunate enough to have had a number of managers who can recognize my strong (and weak) points and then use me in the most effective manner.
I've always firmly believed that I am not good in a people leading position, and that I excel as an IC.
I never ended up finding a new group in the company, as a company-wide layoff of software engineers ended my relationship with them.
I just found a new role as an IC, and I couldn't be happier.
This goes beyond just engineering- people generally get more like this in all aspects of life as they get older, and I believe you can prevent it by deciding not to be that way, and taking actions to not be that way.
Personally, I feel that I was very rigid and closed minded when I was younger, and I've been learning and working on how to be less like that as I get older. I used to get angry when people believed or did things I thought were "wrong" - and I found if I take the time to understand why they think it is the right way, I am not bothered by it anymore, and am more able to work with them and be kind and understanding to them, even if I disagree still.
Rigidity is a kind of irrational stubbornness, and unwillingness to consider alternatives when reason compels otherwise. Someone who is principled and has a reasoned basis for his principles isn't stubborn or rigid. He's principled. His certainty isn't irrational, because it is rooted in the best justifications he has, perhaps even very good justifications that have successfully resisted all counterarguments he has heard, perhaps justifications that necessarily follow and could not be otherwise. Certainty is not a sin if rationally justified. Indeed, there is a performative contradiction in claiming that it is with certainty.
Of course, when it comes to web apps, like Google Docs or similar, SPAs all the way, but that's a tiny minority of the web.
For example, certain web dev crowds that love (in my very biased opinion) really slow, bloated and/or over complicated tooling to do simple things. But only because they've never ventured outside of their ecosystem to the great beyond and "that's how everyone does it".
It’s as if you had Ruby where Rails was only 10% of the market.
Some people say it’s the problem, but I like the egalitarian aspect of it.
This is a terrible idea. It's not age, it's attitude and approach.
I replied to OP on this here: https://news.ycombinator.com/item?id=41405231
Not mentioned in that, adding here: You can't invent viable things unless you know the stuff of which they are made. Bigger/harder/newer things are built on more/harder/newer stuff.
Deep learning is largely incompressible. Practical (applied) mastery takes 10,000 hours times the things you need to know.
Ergo, always keep learning, use "more years" to outcompete by sheer accumulation of understanding what new things are made of and how they work together.
Become that staff eng, principal eng, or engineering fellow who can, and does, do more impactful things.
But only if it's a fit: https://growthco-op.com/wp-content/uploads/ikigai-1-1024x968...
"I’d be like the few older workers I’d dealt with in my career. I felt like they moved too slow, were stuck in their ways, and unable to change - even when faced with evidence to the contrary."
First, keep in mind that many of your co-workers will still feel this way, even if you provide evidence to the contrary.
Second, after you have been around the dharma wheel too many times, it becomes difficult to hop onto the hype-train as quickly as you used to, which is one reason many of your co-workers will feel that way.
The tech industry has never had a career path for technical people other than directly into management or into a pseudo-management "architecture" roles that are neither technical nor management---you don't get many of the advantages of either and what you can do is mostly based on your personal relationships with managers or technical people. As a result, if you remain technical, you may find that your salary and influence stagnate.
Oh, and 40 is still pretty young. I'm 56 and it wasn't until the last 8-10 years that serious burnout set in. (Salary isn't really an important factor in job satisfaction; influence very much is.)
Personally, I've never had to write a letter like yours because I shot the suggestion of a more management-oriented position down in flames, twice. Lucky me! :-)
At best it's supposed to mean no reprisals from public institutions, such as the TSA, IRS, DMV, and the like.
I really, really think that most ageism in tech is driven by similar memories of the old crowd when we were coming up. I mean, I fought for years (years!) to get Linux accepted by the older devs and had to sneak Postgres past the Oracle greybeards. Yet I am not that person blocking progress now, nor do I see the same with my peers. If a new tech has merit, we learn it. We grew up with tech and are plenty used to making those switches.
If anything, I'm way better at handling change than when I was younger and headstrong. And 25 years in industry has given me lots of practice.
My thesis is that companies should not be (or just be much less) functionally org'd—that is, not divided into Engineering, Marketing, Design, Sales, etc. And that this is the root-ish of many typical problems. I don't really need to argue that's true for my question, but given that most companies are that then leads to functional managers—ie. Engineering Manager or Director of Engineering. The role of that manager sometimes involves being in the weeds of specific work, but mostly doesn't. It's usually not architecting or coding, but mentoring and maybe allocating work. The latter of which might formally be a a responsibility, but is embedded in a network of other people's needs that does some pre-determining.
What does that manager do—and I suppose how do they sleep at night if they care about their work—given they're the mentor and blocker of their IC's rise? What I mean is that if the career path for the IC is sorta mythical, how does that manager guide them? If they're honest, then they're also kinda describing their own role as a bit pointless. That would be a reason the IC shouldn't aspire to the role coming from someone who did and now remains (happily?) in it. Engineering is probably the least problematic in this regard because it tends have a bit of power and sometimes isolation within a company. But take something like design, which fights all the time with product because half of the career path/duties for product design (less so brand or visual designers) is blocked by product. So when a designer tells their manager they're having problems with their PM, there is (1) nothing power-wise for the manager to do because neither they nor their bosses are in the chain of command of product and (2) they themselves never resolved this incompatibility. The best they've done is maybe launched something in spite of it. Or maybe (to the company's benefit?) not launched things because of it.
Does the functional manager just give (knowingly or unknowingly) pseudo-career-advice out of circumstance because that's the job of maintaining civility? Is this mostly a matter of everyone all around (managers and otherwise) looking the other way because employment?
https://theonion.com/the-onion-stands-with-israel-because-it...
The lobbyists for the military/industrial complex are numerous and exceedingly well-paid.
> That's why both major parties come out in support of Israel.
Which is how and why campaign contributions have become a systemic evil - it chains the platforms of politicians to the desires of the wealthy and powerful, thereby eliminating any ability for politicians to “do the morally/ethically correct thing”.
Most of the western world was philosophically “on Israel’s side” because of the unrelenting evil of Hamas -- Hamas does’t care if every single Palestinian dies, so long as they “win”. Plus, genocide of the entire Israeli population has been baked into Hamas’ DNA from the beginning. But with this war, Israel has gone all “hold my beer and watch this”, and is making a legitimately successful bid at becoming the materially greater evil.
It’s an ESH situation, with the Palestinian people caught in the crossfire.
If I’m engaged in a business transaction I don’t care about the personal views of the person I’m buying or selling from. Call me old fashioned but the world used to be that way before the rise of social media addictions and the current online echo chambers in our society.
While it worked out very well indeed for GM in a commercial sense in that they retained control of the business, it continued to be profitable and the U.S. Government paid for damage to their factories due to Allied bombing, history has a less favourable view of the individual people involved.
> If I’m engaged in a business transaction I don’t care about the personal views of the person I’m buying or selling from.
I mean that's perhaps the ideal in a civilized society, but that's not remotely the norm. I'm guessing you do it subconsciously even if you don't realize it. It's very natural for humans to "other" different humans and shun them. Even if it's not what we strive for.
If I find the person’s views abhorrent, not a surprise I would choose not to do business with them if I had alternatives.
A world where your every word is analyzed, scrutinized and ground through the sausage factory that is current popular trends and then used for or against you at arbitrary times in arbitrary and distantly connected ways is a world that is pure hell. Most of us experienced something similar in middle school. Many might have experienced such a world in small insular communities where everyone knows your business. What good is freedom of speech when social norms make it such that exercising that freedom is punished just as destructively from society itself as it is from the government? If you can lose your income, your livelihood, access to food or even your home from private institutions reacting to your speech – and that is a normalized thing to happen – how is that functionally different from being jailed for your speech? At least if the government jails you for your speech, they have to house and feed you. If your industry blacklists you, and your bank freezes your accounts, and your grocer closes the doors in your face, then what do you do?
Should apartments disqualify you from renting a place because you support Palestine or Israel? Should banks deny you a mortgage for what religion you subscribe to? Should your boss deny you a promotion because you are a registered democrat? Should your company fire you because you are a registered republican? Should the local pharmacy refuse to serve you because you support the black panthers? Should you local grocery store refuse you entry because you donate to the salvation army? If you support unions should AT&T cut off your phone service? If you support right to repair should Amazon stop shipping to you? If you support Net Neutrality should your ISP deny you service? These are all private individuals or corporations, and of course "freedom of speech is no freedom from consequences". They probably do (modulo some court cases restricting that in certain circumstances) and should have that right if they really chose to exercise it but having the right to do something is not the same as whether you should do something, or whether doing that thing should be a normal thing to do.
Mind you I think no one should post about any major issue on social media because I consider posting on social media to be the equivalent of trying to hold a debate by way of bumper stickers. But people do post about major issues on social media. And some non-insignificant fraction of those people are going to be "wrong" on one or more of the things they post about, and sometimes egregiously so. But I don't want to live in a world where it is routine for someone who is on the opposite side of an issue as me to be denied a mortgage, even if that means they might become my neighbor. I don't want to live in a world where someone who is "wrong" about some massively complex multi-decade geo-political minefield is denied promotions or hiring, even if that means I might work with or for them. The personal might be political, but not all of us have the luxury of being able to live in politics all day long, and only associate with the right kinds of people. Not all of us have the luxury to be allowed to have the right politics, whether because of lack of education, or possibly because of those same private individuals and corporations already exercising their right to inflict "consequences".
Private companies and individual might and should have the ability to make their own association decisions, but that doesn't mean I don't want them to hold themselves to high standards and aim for impossible to achieve ideals. Because the alternative is that we live in a world where either you or I are at serious risk of losing everything we have because of this exchange.
That is the ONLY purpose of “free speech” - that governments and their institutions cannot prevent you from speaking freely.
And even there, some small exceptions should be carved out in terms of clearly unambiguous hate speech and bigotry. But with the Republican Party (in America, specifically) becoming Christofascist fundamentalists (Canada has the CPC and it’s openly racist little sibling, the PPC), good luck with blunting the hate speech and rampant bigotry that is the conservative platform’s bread-and-butter.
I'm not sure I look forward to an America where the social norms, when the "Republican Party becoming Christofascist fundamentalists" is voted into power again, that make it routine for people to be denied employment, banking services or promotions because they aren't sufficiently Christian.
Freedom from governmental intervention is ONE purpose of free speech. But without social norms that encourage private restraint as well, we would be living in the very same Christofascist hell you already fear. Ask anyone who grew up in a small insular town what sort of damage "private" individuals can do when the social norm is punishing you for speech they didn't like.
I hate having to use what is basically a simple static page but is effectively a large app that is being downloaded and executed client side- it makes it unresponsive.
I'm wary though, because lots of things start nicely but fail to manage complexity of even a moderately sized app, and everything grows over time. I feel like a lot of people are going to rediscover why we started making everything a SPA.
There have been a lot of approaches on the frontend over the years and it's been my job too many times to clean up where that approach eventually collapsed as the app grew larger or ran into limitations. I am looking for the upgrade path -- I want to start simple but not risk an entire rewrite when the complexity exceeds that pattern. To date, very few of these things work well enough together to consider it seriously. (htmx+react would work fine but you'd pay a large cost for upgrading a single component, like rewriting it and a chunk of new runtime code. And if everything eventually gets more complex, somebody starts asking "why we have two ways of doing things?? We should consolidate!" And the rewrite cycle continues...)
It's a balance between hard-won experience and becoming too wary of new things. It's hard to see new frameworks completely based on events, for example, and not cry does nobody remember that we tried it already? Having a glob of untyped context in Angular v1 was always bad, and I refused it even when it made me look like a dinosaur back then. But React was a great pattern for complex code, and I immediately switched to that. I would switch to something tomorrow if it kept those good parts, like handling complex apps, but didn't have to render everything a minimum of two times server and client. Maybe a new winner will emerge.
Experience is still good to have. It doesn't === dinosaur. Instead, it has saved me a lot of misadventures.
Is it size, do you think? To me it's more about how much interactivity you want the app to have. If I'm making an online shop, I don't think I'll need tons of interactivity, so I don't see the codebase ever outgrowing simple SSR views. If I'm making something much more dynamic, then I probably would go with an SPA from the beginning.
What kinds of things have you seen that made sense to start with Django but then had to be split up, and why did they need to?
But if a project starts out with minimal JS and it grows complex, then it has a hard problem. If it was previously templates, there are going to be a lot of APIs that need to be made to convert from form posts and ajax. Some sort of framework is important to help provide guide rails for the team to avoid the mess, and they expect to update the page and don't play well with whatever was progressively enhancing the site before.
The other problem is that if it was just templates and a minimum of JS, then there probably isn't a frontend team in place. Most of them want to work in $fancyFramework and not on HTML templates. They don't get paid well for HTML and won't come to work for a company slinging template code. The backend devs don't want to do HTML, either. So it becomes a people problem. At some point in the complexity growth, a hard gulp is made to higher some frontend folks who are immediately unhappy. I've seen this play out several times and it results in big rewrites and stalled company growth.
So yeah, a lot of times we just start with React. Because there's not a great path from minimal JS into additional complexity. And you can hire people for it who'll be productive immediately. And at least there's no gotcha down the line when complexity grows. To do otherwise seems to always end up with rewrites that are so long that the team who finishes it isn't the same team that started it.
In Django, I love a good monolith. I try not to split them up and even ran a top 100 site for years using a Django project, as have others. It's generally a good time to break up a Django project into smaller Django projects when the team size is big enough to support dedicated people for features. Around then it starts to get frustrating to manage deploys and CI and testing and all of the peripheral stuff. But disciplined coding in a monolith can take a team a long way.
There’s a lot of “slack” in the industry that we get away with. Ridiculous incidental complexity, far-out frameworks, architectural astronautics etc.
But if you care about “adding value” or your business succeeding, tools like Rails/Django are way to go. (And btw, use a RDBMS ffs)
I agree; at some point someone said that I'm "like the anti-vaxxer of frontend development", because "I'm not listening to the experts". Hmkay.
Maybe I'm old and stuck in my ways. But telling people they're like anti-vaxxers because they disagree with them (with caveats: "SPA is nice for some things, but for many template-driven apps are better") means you're just as much "stuck in your ways".
Not all of my beliefs are likely to be perfectly rational such that I could objectively defend them. That still means I can pick and choose my friends without casting the rest to oblivion.
If the question is, “What happens if all of society rejects X group for their beliefs”, well that’s civilization. Part of the implicit agreement is that we can all reasonably agree on some things. If someone rejects that notion, well, there can be consequences (even for the “correct” position (say civil rights)).
People only change by exposure to new ideas, and if all the "bad people" and all the "good people" never mix, then what hope do the "good people" have that any "bad people" will learn to think differently?
Basically, I really don't want to live in a world where it's normal for my boss to go trolling through my HN comment history before deciding whether I get a promotion or not, no matter how much of a right they have to do that. I'm not ashamed of the things I've said here (to the best of my knowledge), I just don't think that having a discussion with other people, about topics that don't directly bear on my work should be used when determining how to treat me at work. I am not so conceited as to think I am right all the time or that my bosses would agree with every thought I have. Which is why I have these discussions here, with other people engaged in the topic and not at work, with my bosses who weren't talking about the topic in the first place.