Want an unfair advantage in your tech career? Consume content for other roles
matthewgrohman.substack.com
matthewgrohman.substack.com
Why do I bring this up? Because this is how most worker's experience their organization. Stay in your lane, get that promotion, best case you get your boss's job. But how did that job come to be? Who setup the training that you took? Most people can't even describe where the money in their business comes from.
It is a tremendous advantage to explore your organization fully. Visit its other offices and learn what your colleagues do and why they do it. Especially as an engineer. You can literally write your own ticket. Last year I was bored and I started to break down our cloud spend. This took me on a little detour. That detour involved a team that was following a process I could not understand. Turns out they didn't understand it either. I little reorganization yielded a $385,000/yr cost optimization. It took me just a couple days. Chances are you swim in a sea of complacency too.
I've gotten in trouble before while exploring and then being accused of putting my nose where it shouldn't be. It can look like you're wasting your time looking for distractions, or trying to dig up dirt. Not everyone in all parts of your company is going to like you poking around. You also risk picking up new responsibilities if people catch wind that you might be offering help. This can be the start to a promotion and also a good way to just make your days longer for no additional compensation. Not all managers will respond to the leverage of cross department work you took on yourself, though they probably should.
That said, if you do it well, which is an art of it's own. I agree, the potential benefits outweigh the risks.
Also, don’t be that engineer that tells all the other departments what they’re doing wrong, having done a couple of Udemy courses.
But you do have those empire-building types who see everyone as trying to encroach on their turf. If you run into too many of those, I'd honestly suggesting looking for a new job - companies where a lot of people have that kind of attitude tend to be both not great to work at and also less than successful in the long run.
This also goes both ways. I also offer to help people to learn more about my side of the organization, going as far as being a mentor. A former coworker, with whom I am still friends with today, I met at a previous role where she was in marketing but wanted to know more about the development side, having had no prior experience. I was able to get her started in software engineering. Fast forward 6 years, she’s now the lead automations engineer for a marketing company.
On the other hand if you come off as genuinely interested in what other people are doing with no ulterior motives, 95% of the time you'll get warm feedback. I think you'd be hard pressed to find someone that'd react confrontationally to a middle schooler asking about their job. Why? Because their intentions are innocent.
This is way too little information to be meaningful.
Was he walking around talking to people in different departments about what they need, was he stealing paper from people's desks at night time when wandering around the building. Who knows.
One group was even bewildered I was able to integrate a department client app with their ticket database. Reduced necessary clicks by 95% or so. They didn't think it was possible. Yes, this is the caliber of folks working at a big corporation.
Unless you are one of the few people experienced with back-country trekking in active geothermal areas, stick to the roads and trails.
If you are unfortunate enough to be stranded in yellowstone, follow fresh game trails. They will be less likely to lead through boiling mud. On the other hand, the wildlife is unpredictable due to the massive population of stupid tourists.
Yellowstone is dangerous. Stay on the trails and roads unless you know what you are doing. And you probably don't know what you are doing.
Perhaps that is the problem (at least with some sectors: a close friend's partner's daughter has worked as a civil engineer with a couple of employers for a couple or three decades now - she can show you the roads she planned and managed the building of)?
Hold on a sec, are you saying you found dead weight and then got leadership to terminate their employment?
I read it thinking they meant to their cloud platform bills.
But you bring up a good hypothetical regardless. This is why people are not necessarily overjoyed to have folks from other teams sniffing around... if they think you are looking for "inefficiencies" all the more so. Getting laid off isn't the only threat, making their job a lot harder/more unpleasant is also one. Or just being blamed for being bad at their jobs.
To the organizations bottom line, and perhaps to your bosses, it's all the same either way. Hey, you saved money. To your co-workers, obviously not.
You've got to build up trust, that you're looking to make their job more pleasant, not more unpleasant, or non-existent.
It seems like a bit of a stretch that he got anyone fired, but much more likely that they just scaled back on cloud services for that particular project.
But yes, I would say behaving like an interloper in your org and getting people fired because you deviate from your actual job is highly problematic. After the news gets out about that behavior you can better believe they are going to get stonewalled in their actual role.
Most people can't even describe where the money in their business comes from.
I find this quite remarkable, and does not match my experience.
Every company I've worked for, from startups to Fortune 500, it was very clear what products the engineers contributed to, and what that product portfolio revenue stream looked like, and what it meant to the business (right down to the product margins). For startups, pre-revenue, at least the "TAM" (total available market) that the product was targeting, and/or expected revenue projections were openly/regularly discussed.This sounds quite remarkable to me, and definitely does not match my experience. I've found that most engineers have an incredibly vague notion - at best - of how their companies make money. And it is, IME, a vanishingly small set of engineers who would ever use terms like "product portfolio revenue stream", or "total addressable market", etc. And discussing revenue projections?!?? All I can say is, you've worked with some folks who do things very differently than the folks I've worked with!
Absolutely.
What is almost certainly true is that a lot of engineers as well as people in a lot of other groups can't conceive of why the company needs all those people in digital marketing or finance or partner management or ...
A friend of mine used to be a management consultant for one of the big firms. On one memorable project she worked with senior executives of a large ($1b + revenue) non-tech company that had retained the consulting firm, to do an operational diagnostic. It became incredibly clear that many of these senior execs had never really read the company's financial statements in any detail, that they did not understand that the company was cash flow negative, and that they did not know that the company's debt load was increasing over time as it financed losses with bond issuances.
At the same time they were spending incredible amounts of money on luxurious office furniture and trappings.
Stories like this were common. Most managers knew their area, but did not learn about the business more broadly. (Could be selection bias with firms that hire management consultants!)
So, kudos to the engineers who read these and have a rough idea of their company's financial position and how the business works. It's not clear that this is the median experience.
I don't think Microsoft could just make Windows and Office and survive this long. So if you're not on those teams your chances of actually making money directly instead of being expensive advertising dollars are negligible.
Similarly if you're not working on adtech at Google. Your job doesn't actually make money. If you think about it too much you might not be that happy with how your life is going.
I'd agree they don't know those terms, but people do generally grasp the concepts.
People do present financials at all hands meetings. I've certainly discussed the revenue projections with people, because we all found them hopelessly optimistic. Flat line suddenly increases exponentially for no reason.
I think the majority of employees in most business do not have much visibility into the financial machine that justifies their existence.
I joined a company that was a privatised spin-off from a large civil service organization. A new CEO interviewed each department head, asking them how their accruals were doing this FY. A couple, allegedly, said 'Our what?' and were immediately shown the door.
The next CEO, by the way, asked 'how many engineers do we have?'. The inability to answer that also led to some corporate soul-searching and eventually some major re-orgs.
accruals: Larger companies especially do accounting on an accrual basis. So what most matters is when the service was delivered or the product sold--not when the cash was received. (Large companies care about cash flow too but cash is king at small companies.)
Basically what's being asked is "In what ways does our cash balance not reflect our income and expenses?" Perhaps more common would be ask about bookings but accruals is broader.
This is one of those annoying things where I can talk about either concept, but don't know the language that serves as a proof of competency.
Purely from the outside, I'd guess that yes they're asking for the discrepancy. Maybe they're asking for accrual revenue but I'm not sure I've ever heard the term used that way. I would expect someone would ask for bookings if that's what they wanted. (Which can get even more complicated for multi-year subscription deals.)
ADDED: It's been a long time since I got my MBA but, with all the data in front of me, if someone asked me that question, I'd have to ask what they actually wanted and, if they fired me a result, so be it.
And then there's mistaking users for customers. If you're a McDonald's customer you might think their money comes from trading hamburgers for cash, and you'd be wrong on any number of fronts. If you're a McDonald's competitor, you would know that they make more money from fries, and way more money from selling soda (hence the discount for a meal). But if you're the McDonald's corporation, you know that you make most of your money from franchisees, who happen to sell burgers and fries and oceans of soda. You're providing logistics and real estate acumen for most of your money. The general public is their customer's customer.
I don't know if they still do but Burger King used to 'steal' McDonald's real estate acumen by building Burger Kings as close to the nearest McDonald's as they could manage. Let them get 10% or whatever higher profits by getting the correct corner lot in the right neighborhood instead of the incorrect lot in the right neighborhood, meanwhile we save tons of money on market research.
And your reward for that was? Were you rewarded? Did they give you 30K as a bonus? Or was it just the weasel words of "this will be considered favourably at performance review time."
I am aware of about a 50K a year in cloud waste. But in my org, I know I won't get anything for reporting it as I am not going for a promo (promos pay a lot less than job hopping where I am), so it is not worth it to even write a ticket for it.
I understand your mentality from low wage workers but I dont understand it from people in software who clear anywhere from 100k to 700k a year.
Apart from that, doing a good job is a character thing. You should do a good job for yourself, not try to fit in with the slugs.
I figure people are motivated by different factors at work, in different proportions.
I could guess what you meant by that sentence, but I might get it wrong, and then where would we be.
But ok, are you meaning that sentance to suggest that what gets you going in the morning, what makes your job tolerable or pleasurable to you, is exclusively maximizing your income, and that you think this is the way everyone should be, because... uh... I'm still not sure how to relate that to your sentence/question/rhetorical question, honestly. Like, if your organization is interested in helping you achieve your goals, then are you motivated by something other than maximizing your income? Or still just by maximizing your income, either way? Are you telling us that your goals at a job consist of maximizing your income, and that's it? And this is true either way, regardless of whether the organization is interested in helping you achieve that?
If I work for a for-profit company you can't expect me to do extra work for free. If I wanted that type of life I would have gotte a job in another kind kf venture
Or is this a stupid question, because all jobs are equally intolerable to you, they all suck the same, there is nothing that makes one more tolerable or even pleasurable than another, at least not enough to matter, in your experience?
I'm just taking guesses.
I'm also curious how long you've been working in this field.
It's not that difficult. As I already said, if I didn't want money I would have worked as a volunteer or something
That probably describes many, most, or all people, but isn't an answer to the question I was curious about.
I am not sure why you are refusing to answer to my question while still engaging in the discussion, but I guess I should take it as an answer that, in fact, no, nothing at your job contributes to whether you find it more or less tolerable or even enjoyable than another, except how much you get paid?
I am also curious, although I assume you won't answer, whether you'd say you generally "like" your jobs or "hate" them, or just don't even think of them in those terms, or what. And still curious how many jobs you've had, and how long you've been working in the field.
From my experience if you have a track record of doing a good job working autonomously and you can demonstrate that you contribute directly to the business's financial interests people just leave you alone and if they don't there is a good chance the boss's of those people will tell them "just leave him alone". Be someone's golden goose and in most organizations you can do whatever you want.
So let me try to clarify what the other posters are saying to you.
It's not that pay is the only thing that makes a job tolerable or enjoyable. It's the fact that compensation/rewards do not necessarily follow nor reflect the work done.
So in the above cases, you do more work outside your intended role and find some kind of optimization that saves the company 250k/yr. And you make say $80k/yr. You have now provided almost 3x your salary in terms of economic value to your company but if they do not provide an economic reward for this effort, it acts as a demotivator. Though there could be other things that make the job tolerable or enjoyable, you potentially now are dealing with a poisoned pill. Nothing can counter that poison of being rewarded for such improvement than a good job, what else have you done for us today?
I seek non-monetary rewards. I like doing interesting and/or meaningful work. But I define what that means to me, and short of starting my own business, it is rare that an existing job will give me more interesting work than what I can do in my spare time.
Hence, the incentive is to maximize my spare time. Sure, I could look for an interesting project at work, but once you factor in all the organizational constraints (will not have much autonomy, must make money, etc), it's not even half as interesting as my own projects in my spare time.
So I optimize for spare time.
I care about two things:
1. My own pile of cash. I will work until I die, as I like the technical puzzles. But I also want the ability to casually walk away at any time.
2. The technical puzzles. I care about the code and doing fun things with it. Whether it goes to prod? I do not care. Whether it brings in new revenue? I do not care. I will push interesting new tech I want to learn and find some reason to make a case for it, even if it is not a sincere case.
Even if these optimizations and improvements are enjoyable, why would I spend my precious energy and focus on them if I'm not going to be rewarded appropriately? I would rather save my energy and focus for things I care more about.
Reward is also part of the enjoyment. If you are not being acknowledged and rewarded for impactful work it lessens the enjoyment of doing such tasks.
The employment is a means to funnel money to the valuable aspects of life.
Then there's the psychology of it: If enough other people work extra long hours to get those savings, they're not getting a larger bonus than me who isn't. When you scale this kind of reward incentive, what you'll get is most employees not bothering - they'll get the bonus anyway.
Later I ran the numbers and realized this alone covered about half my total cost to the company. You don't often get feedback that direct about your impact on the bottom line.
Reputation also includes playing a lot of games. You can casually claim credit in interviews for things you didn't do.
But in most of the work world, I get the same pay whether the crops I grow are bountiful and valuable or scarce and full of worms. I certainly don't get more converting a wormy field into a bountiful one.
So I just won't.
In a broader context, if you mean preparation of an area for development by landscaping it and running utilities and roads to it, that's done by other workers, not owners.
The owners aren't providing tools and plants either, those are being assembled, grown, and transported by other workers, who again should be receiving most/all of the profit. Obviously you need other workers to organize all of this which requires both finesse and significant self-responsibility, much like a heart surgeon or a civil engineer, but much like heart surgeons and civil engineers I don't see a reason for them to make more than 5-20x as much as the person with the easiest job.
one of the best things I did (which was dependant on how much spare time I had), was to ask the people I visited, what do you do? I tried to make sure I asked a mixture of low to high ranking people
The responses was amazing, with some people giving up loads of their time up to explain their jobs. I even made some good friends ouside the computer dept
I'd say that's a win. We should be preserving as much as we can which really means most of us shouldn't be exploring more of the park which is mostly off trail.
I do get your point that people are coming to Yosemite and are not even taking advantage of the trails.
One point that should be made from this is that many people who are coming to the park don't really have the fitness, skills, and motivation to explore more of the trails in the park. Similarly, many people really aren't going to go explore at their companies because of skills, motivation, and time. Time is a major blocker for me because I can do more in areas outside of my focus but there are other life obligations and the need to rest to avoid burnout.
I get it. But sometimes there are people focused on their 1% and see you as part of that.
Yes I love interesting detours - and frankly they almost always result in something useful - however converting that something useful into something that is used by the organisation is a different kettle of fish - that requires an organisation that is willing to see its failures and change on a significant level - which if were true probably would mean I could not spot the low hanging fruit.
Not sure where I am going except to say the Schumpter is probably right and that it's incredibly hard to move jobs thus any signalling via job market is muted.
I don't see the point of your recommendation.
I have been rewarded in the past and am confident I will rewarded in the future. The individuals that set it up kooky will be retrained to avoid that situation in the future. I feel bad for all the jaded folks they must live very depressing existences.
They don't try then claim "even I did try what would it get me? making some richy richer, no thanks". Ok so what the alternative? I'm just not willing to sit around complaining. Right now I don't feel like I'm being grifted and if I did I would quit.
This hasn't been my experience. I've moved around a lot and have exposure to many aspects of the business and how things operate. I'm 10 years in and still a midlevel. Being more linear would have resulted in faster promotions.
"You can literally write your own ticket."
Not in many large orgs. Poking your nose in other areas is a good way to get your hand slapped.
No, generally speaking it's really not.
That takes time and effort away from the job you're actually getting evaluated on, and if your workplace is at all competitive (as most are), it's an incredibly easy way to waste your time and not get promoted.
Is it interesting? Sure. Is it to your advantage in that workplace? Almost never.
The main situation where it's a smart thing to do is when you intend to start your own company (or franchise in certain industries) and you're trying to learn as many best practices as possible. But then you're treating your employment as school, rather than looking for reward or promotion within.
It’s a unique organisation that’s both complacent and willing to change that fact. More likely you’ll find resistance at every step along the way.
Leaving the road sounds like something a communist who doesn't love their car would do.
If you work in a corporation, this is a surefire way to create enemies inside the organization. No one likes a random employee from another team to poke into what they're doing and tell them what they're doing wrong.
> You'll make enemies poking your nose around.
And? You make another worker in another department angry, so what? Managers in other departments are very inviting (unless they're up to no good, in which you'll be doing the company's owners even bigger favors by exposing them) because they want to be seen as having work that's necessary to the business. The people who will see you as an enemy are at a dead end anyway and not likely to ever have any influence over you.
> Did you get any of that $385,000? Of course not.
It would be nice to get a piece of that cost savings. My previous role was largely in finops, so this is near to my heart. Companies should give incentives for any proactive cost reductions and revenue generators. But that's not the point - you did the right thing by fixing something that was broken because you were genuinely curious.
> I don't have time for all that.
You have to make time to learn your company just like you have to make time to work out, learn new skills, network with people, and grow your wealth and family. Learning the inner workings of your company does pay off just like the others, maybe even more so than some of them.
FWIW @SassyGrapefruit I commend your efforts. You're the type of person I want on my team.
That's more idealistic than my experience. I've seen team leads with a very strong sense of ownership. Also, if their mistake is responsible for a 6-figure overspend, it's better for them for it to remain hidden than to be revealed by someone else (especially a non-expert).
2. It's a good thing for team leads to own their work, but if they're not comfortable with people poking around then they seem to be hiding something, and in that case I'll default back to the first point.
Instead, you can go very far by understanding a job one "hop" from your own - sales, marketing, finance, you name it. People who can understand the domain and translate that into code are worth 10x more than people who need to be told what to do and have it spelled out to them. If you haven't actually had butt-in-seat time understanding that domain, you probably know less of it than you think you do as well.
I see plenty of people who assume they could do the job of a sales engineer, marketer, whatever. I'm confident that many people are smart enough to do so, but having the capability does not mean having the knowledge to do a job well. Learn that knowledge.
It’s a much more straightforward path and one I would recommend to anyone starting their career today.
I didn’t take that path. But seeing people who did have it much easier. No I’m not complaining. I’m good with where I am
Otherwise, I think this is exactly how big companies succeed - they build career paths, tools and workflows to bring context to large groups of smart people to get them moving in the same direction. Ultimately there still have to be people to create the bridge, but the lever you get is massive when you have 1000s of talented engineers. You can't expect them all to understand how $x works, but you can pepper teams with extremely smart and talented experts and professional managers who collectively get them working on the impactful parts of the problem.
TL;DR there isn't a linear path, my advice is mainly for people thinking about how to be able to build value. If you can do that, you'll always be able to get a job.
I don’t see the day coming anytime soon that the divide narrows where it does make sense to be on the “enterprise dev” side (where most developers are) over the $BigTech side.
I’m objectively good enough at all of the areas that the article lists - I have to be to succeed in true “consulting” (as opposed to staff augmentation). But that wouldn’t have mattered unless I jumped ship to the $BigTech side.
Most outside consulting companies aren’t paying their top employees what I make as a mid level employee at my current job.
I have one or two connections I could probably leverage on the enterprise dev side that would allow me to make more if I jumped ship. But that’s only because I have $BigTech experience on my resume.
I’m not disagreeing with you. Even before working at $BigTech, I could throw my resume up in the air and get a job as a developer without doing the leetCode monkey dance because I had the skills you listed and I spoke directly to CxOs and Directors at small companies based on my network.
I haven’t done a coding interview in over a decade.
There are some genius ICs who can just code and not be concerned about these things, but more often the higher levels are people who are good at their skill along with business, data analysis, product and communication skills.
In my department in BigTech (consulting) your first paragraph is expected from an L5.
Good written and verbal communication skills and being able to work with customers is the expectation of an L4/new college grad.
Now that I think about it, I don’t think I have met an L5 SDE that I would let have anything to do with my customers directly. But I’m equally sure they wouldn’t let anyone in my department push code to core services (even though I have found a bug in the code of a core service and worked with an SDE to fix it).
Areas where domain specific knowledge outweighs the technical aspects, you need to be cross functional.
And overall - the biggest take away for me is that Computer Science is probably not the right degree for most people. Understanding object notation or algorithms, in my experience is interesting but much less useful than understanding business terms or learning use cases.
I'm a dumb-dumb. Being a dumb-dumb in two domains isn't very helpful either. Everyone wants experts.
But I'd counter that this doesn't mean you must permanently focus on one domain. On the contrary, every area of focus has a learning curve. And as many jaded HN commentors will point out, being exceptionally good at CS does not translate to being paid well, or being good at your job.
Naturally, even if you don't care to learn about Sales, Design or Product in the course of your Software Engineering career, you will still have to learn more than just pure Maths and CS. Simple skills: estimations, task breakdowns. More complicated skills: interfacing with other teams, juggling priorities, assigning work and pipelining tasks between teammates on 2+ person projects. And obviously, negotiating for compensation is entirely-unrelated to your work yet very impactful on your salary.
P.S. Nobody wants experts, people just want someone who can get the job done. Often times the hardest problems in an organization are not technical problems--they are communication problems. Having an understanding of multiple domains helps you bridge that gap and communicate at eye-level with other stakeholders.
Yet most of the time they select for those people who can get it done by looking for expert qualifications on resumes.
"Having an understanding of multiple domains helps you bridge that gap and communicate at eye-level with other stakeholders."
At least my experience in finance is that the blocker isn't communicating but rather bias. I once had some questions about a story related to an accrual. The title was for a daily accrual yet the acceptance criteria was for a monthly accrual with a daily snapshot. I brought this up and the PO told me "build it the way I say". Three weeks later I was showing my code to a consultant and he was like "why is it working this way". I told him. So then the PO listened to him after we wasted a sprint on the initial implementation.
Wanna know why? Cuz you're not actually a dumb-dumb. <3
Can you phrase it in a less absolute/intrinsic way, though? "I am a dumb dumb" isn't a solvable problem.
I encourage you not to personalize this (Using "I am"). You may not be a mediocre software engineer, but that does not equal YOU being a dumb dumb.
That's a false equivalence. I'm sure there are areas where you are not a dumb dumb.
Instead, accept that they feel some way. And encourage them not to let those feelings hold them back (also, avoid "but"s those also minimize or invalidate feelings).
For example, even if someone is suicidal, psychologists are trained to listen and accept their feelings.
Then help them understand why they feel that way and if other interpretations or actions can make extreme thoughts and feelings more manageable or understandable.
Depressed/suicidal people have the most accurate grasp of reality. Self-delusion and protection from self-harm are built-in into the psyche, so it's not that their feelings are inaccurate, but that unrealistic optimism is the only way humans (and other animals) can cope with reality.
I think with less skilled labor the developer knows even less than they think.
Say the job is stacking boxes, you have an order 4 hours worth of heavy boxes and 4 hours worth of light ones. In software one is tempted to think there are 2 ways of doing the job. First order 1 then 2 or first 2 then 1. Push this button when order 1 is done!
It might not be humanly possible to stack heavy boxes non stop for 4 hours but it is definitely a bad idea. Thanks to the new software it's going to take 6 hours and cut the "resting" time (time doing light boxes) in half.
If you spend time learning about how HR functions, it'll help you understand how things like promotions work. Spend time with marketing, and you'll learn lessons about human interaction (what gets someone's attention, how to write copy in a way that people understand, etc.). Spend time with sales, and you'll learn about relationship building. None of those things are unique to tech.
I'd even go beyond work-related stuff and say this attitude is universally positive. Spend time with contractors, and you'll learn stuff that'll help when you own a house. Spend time with teachers, and you'll learn things that'll help with raising kids. Spend time with doctors, and you'll learn what minor-seeming medical issues are worth taking to the doc and what might seem bad but doesn't warrant a doctor trip.
I'm probably biased because I'm a PM at an early-stage startup, which requires a very generalist skillset, and I love to learn stuff about other people's jobs.
THIS. My career pivoted in a new direction simply because I asked a question to a co-worker [0]. The core qualities of curiosity and empathy leads to riches of mind, friendship and wallet. Some reminders I try to adhere to:
- Believing that seeking opportunities to help others is universally positive since trust blooms from the soils of good intentions. And trust opens up possibilities.
- Asking just one more question.
- Finding that extra minute to hear one more story
[0] https://medium.com/@boilerupnc/ten-lines-9a8403984bbf?source...
I really like that line. When I was early in my career, I wanted to sound smarter than I was, so I tried to avoid asking dumb questions to experts. Now that I'm an expert in some things, I realize how ridiculous that was - the experts would've clearly known I was not an expert and weren't going to be impressed by the depth of my knowledge.
When people come and ask me things with humility, I'm almost always happy to explain, and in my experience that's true of most people (especially the smartest/most knowledgable).
While it leads to an interesting life for sure, I don't see how the writer's suggestions (or your suggestions) make for an unfair advantage for any particular role in tech.
Your examples also don't map to a direct advantage in a tech career. If you'd say that it helps indirectly and in intangible ways, then perhaps, yes. But in interviews I did, the lessons from your examples would not have helped. (I'm an iOS software engineer, by the way).
It's led to friendships with many many people (and their managers) and a broader understanding of lots of things and is definitely the key to my own career progression.
It's most definitely not my code!
But putting that aside, I would guess that maybe you're in a very large company? I think the more siloed and specific your role is, the less helpful this sort of thing would be. I work at a ~20 person startup, and an engineer who can think with a product mindset, talk directly to customers and write good user-facing documentation is much more valuable than someone who can just write code to spec. At a 20,000 person company, that's likely not the case.
I think it's the reason why the "Joel on Software" blog is still relevant even 20 years later, because it's a tech blog that is at his heart about business, and it's crossover with software engineering.
Like, in this discussion about TDD[1], you can feel business consideration being the source of pragmatism in Joel Spolsky & Jeff Atwood thinking, and as a result avoid dogmatism based on purism.
I've also had the luck of working with a CEO who had business sense, salesmanship, industry knowledge (for Luxury & Fashion), and understanding of the technical limitations and possibilities.
This resulted in smarter technical choices for our product, because it gave a laser focus on what are the important things in our product, and even more importantly what are the features that looked sensible from an engineering point of view, but really had no added value in a business sense, and thus not worth the effort.
[1] https://stackoverflow.fogbugz.com/default.asp?pg=pgWiki&comm...
https://web.archive.org/web/20121025154452/http://blog.objec...
Which led to that person being invited to a later episode of the same podcast, where they all discussed the issues amicably:
My physical and electronic inboxes are full of marketing mail from a slew of industries; IT, medical, construction, industrial controls, business, and so on. Why? Because in the entertainment industries we are regularly called upon to solve problems that require out-of-the-box solutions. The more exposed you are to other industries and the tools they have, the more you can think "oh I remember seeing Gadget X that the Y industry uses, I think maybe we can adapt that to our purposes."
I don't do it nearly as often as I'd like, but attending random trade shows can be a goldmine for learning about alternate solutions, there's a LOT of industry specific solutions out that you would have no idea about and would never think to search for.
1. “Grind LeetCode and work for BigTech” (c) r/cscareerquestions
2. Read through the leveling guidelines and figure out the politics of the organization.
3. Get on the right teams so you can show “scope” and “impact”
4. Get good at system design and behavioral interviews while you keep your coding interview chops
5. Diversify your RSUs when they vest and save/invest
6. Job hop when needed
I'd also add that you have to find a way to enjoy what you're doing or none of those points make sense, but being too passionate/involved can also be a mistake if you forget to be smart around the politics and marketing of career advancement.
I found out the minimum I had to do to stay at a mid level role working remotely and actively took myself off of that treadmill and used the extra money to reduce my expenses and save so at anytime I could afford to hop.
To counter the "cram LC" thing, the issue is that there are plenty of new grads doing exactly that who don't even get past ATS screening. You just don't hear about it much because places like cscq are echo chambers w/ high degrees of survivorship bias and there's qualitative levels of difference to "cramming leetcode" that can't really be captured in online discussions.
Ultimately the generalization seems to be "don't pigeonhole yourself, set yourself apart in some way", which is, IMHO, not exactly a super insightful revelation. That has always been the "smart" way to play the game.
But my route was very circuitous and I would never recommend it.
As someone who considers himself a student of organizational behavior and being on the inside informs my viewpoint.
Being that I’m billable. There is a direct line between my work and revenue I generate.
Personally I think "grind LC" is a very common meme perpetuated by folks on the candidate side, but it lacks a lot of context in terms of how modern big tech interviews are actually done. Focusing exclusively on code, for example, is IMHO, a counter productive way of hyper-focusing. I personally didn't even know what leetcode was when I joined my big tech company, for example. I did well in the loops because they evaluated various other things that I could demonstrate thanks to previous open source work (e.g. community building).
What you're basically seem to be saying is that you fell into big tech thanks to a fortuitously aligned set of previous experiences, as many of us did. But that's the exact opposite of grinding LC as a newbie. Grinding LC is one way of hyper-focusing, and going by the numbers, it's no longer necessarily sufficient to land a big tech job.
When I was in the real world and when I interviewed at my current job, I practiced being able to explain my experience in STAR format based on my “career document”.
In the real world, all of my “interviews” were mostly just my talking to CxOs and directors at small companies. My loop for my current job was all behavioral after the initial screening and even that was more system design than anything else.
If you know there is going to be a coding interview, wouldn’t it behoove you to practice that too - or “grind leetcode?”
I did DS&A back as part of my job during the first decade of my career bit twiddling in C across multiple architectures and later on maintaining a custom compiler toolchain. But I would definitely have to practice to be interview ready at this point. The coding part of my job has gotten a lot easier during the last decade. It’s been about knowing what to write and getting buy in
I mean, sure, the more you do the merrier. But that goes back to what I was saying: if "unfair advantage" means extracurriculars in high school to get into an ivy league + the ivy league degree to get spotted by recruiters + internships in STAR format on resumes + grinding leetcode + etc etc to increase your chances as much as possible, is any of that really a clever life hack as the "grind LC" meme implies, or is it merely just going way above and beyond what everyone else is able to/willing to put up with in the traditional career path?
If anything, it sounds more like going through a non-traditional career to build up the "street smarts" is the shortcut to big tech riches, given that the alternative is to try to stand out from a sea of millions of resumes all listing C++ and python internships/roles, potentially never landing big tech at all.
One is that sourcing recruiters are not equipped to handle technical screening logistics. They can't tell, for example, if a solution works but has O(n^2) complexity, or if the candidate failed because the tool was being stupid in some way or the question was phrased ambiguously.
Another is that OAs can be gamed much more easily than face-to-face phone screen sessions (see, for example, reports of indian "study" groups).
Another issue is that the evaluation criteria for OAs is often so coarse that it does not provide a reasonable level of filtering, compared to having a combo of a good sourcing team + an engineer "guarding the gate" so to speak via the phone screen session. An engineer's technical screening skill is considered non-automatable enough that companies would fly them into school fairs to vet internship candidates.
Teams may not even trust OAs that they didn't devise themselves, nor have the actual inclination to develop/maintain their own OAs.
OAs also tend to gravitate towards trivia-style quizzes that are often associated w/ "lesser" companies.
There may also be concerns about being respectful of candidates' time.
- my very light LinkedIn profile showed nothing but a history of working at no name companies and doing CRUD work before 2020 yet I had recruiters reach out to me from Facebook, Apple, Google, MS and I believe Netflix
- I’ve had two internal recruiters reach out to me about “exciting opportunities at Amazon” while my LinkedIn profile clearly showed I worked at AWS.
- I’ve had a recruiter from Facebook reach out to me about a senior engineer position repeatedly even though my LinkedIn byline doesn’t say anything about my being a current software engineer (“cloud consultant specializing in application modernization”)
- I’ve had a recruiter from Google reach out to me about an “engineering manager” position even though I have never managed anyone in my life.
Not everyone is getting recruiter spam because not all keywords are created equal and not all profiles look promising, but those of us who do get spammed, get a fair amount of it.
The Amazon recruiter spam in particular is bad enough to be a running joke.
I interpret "unfair advantage" to be more about employability and how valuable you are in the field (starting with inside the business you are in) and not about putting more money in your pocket.
But, if your goal is to exchange your labor for as much money as you can, you optimize for what can get you the highest compensation based on your skillset and path dependencies - family obligations, desires, etc
Working in an office allowed me to meet people from related teams. When I worked in operations, I met the network team, the call center team, the server teams, the datacenter teams. In infosec running firewalls, I met the SOC, IAM, audit and governance people. Not only in meetings, but they were approachable. We would banter about common gripes, we would talk about how each other's work impacted the other. And we learned from each other! It made me a better security professional.
Doing that remotely is really tough. I think young people coming into tech to remote jobs will miss that low-friction learning opportunity.
Don't be afraid to drive in another lane. Take the opportunity when you see it.
In a previous life, I had a management who told me to, "stay in my lane" and this led to a series of events where I ultimately left. Anybody who tries to keep you down or limit you ability to learn and think needs to be avoided. Those who foster this type of growth need to be held close.
Our industry is prone to the latter. By all means, explore other lanes, but don't be that guy. By all means, learn, but please do this from a place of curiosity and humility.
Ask people who live in that lane how you can grow. Volunteer for the scut work until you deeply understand it. Be a partner to the people who spent a lot of time growing in that lane, not an antagonist. (I'm sure PP is aware of that, I'm using the generic 'you', not the personal)
The English language has a specific word for that: “one” instead of “you”, but sadly this word has become more and more antiquated.
One has to make tradeoffs ;)
Also beware of neglecting to fulfil the responsibilities and expectations of the lane you are ultimately being evaluated in, especially earlier in your career. I've given the (common) advice to junior engineers to become the team expert in one thing relevant to the team (something akin to this was even in the SDE1-2 promotion rubric at Amazon), but occasionally that advice needs tempered by subsequent advice on not tunnel-visioning on that one thing (and/or choosing a more relevant thing).
Broadly agree with the article and the general advice here though!
Do you want a real unfair advantage? Befriend your management chain. That is truly an unfair advantage.
This article is cheap productivity porn https://news.ycombinator.com/item?id=32335165.
Haha thank you. That phrase really put me off the article.
You could also learn about a role by observation - but that feels even more inefficient.
Part of it is that IT people don't know how to sell their successes. Companies are use to blowhards showing off their alleged grand deeds such that if somebody doesn't, nobody notices. It's why Magic Johnson got a statue long before Kareem, despite being the very top scorer ever (until LeBron). Note that Magic is not a "blowhard", but has more charisma.
I learned a lot, but I was also able to filter and connect many of the recommender technologies to the actual user needs, which sometimes even their authors were unaware of.
But do ask, listen and be curious and empathetic of other's work.
It’s also more interesting than you realise sometimes.
——————————
But for a bit I got hung up on the “unfair” part of the title… I was telling myself “this doesn’t mean what unfair means! there’s nothing unfair about this, it’s perfectly reasonable! What they really mean is it’s a low hanging fruit and of great advantage for ppl to do this!!”
Then it occurred to me, in spite of that — I still understood what they meant. So is my criticism really true? I mean they effectively communicated the point that it is of great advantage. I guess this is just a colloquial meaning of the word unfair.
And with that, I’ve made peace with click bait headlines
Edit: various typos
It works out great and I have never been able to build Data Science products so easily and meaningfully before as I am in this role.
At the same time when I interview for Data Science manager roles the companies tend to pass saying that I am not focused on Data Science anymore and most Engineering Managers don't manage Data Science because these teams sit in a bit of a silo usually. It's a double edged sword.
I agree with the thesis of the article, though.
Merely consuming content for other roles hardly builds range on its own. But It DOES help solve a related problem: it helps you learn about what to learn to begin to see/think/empathize with others in those roles.
(I'm old. I did this. It works.)
My apologies. "Consume content" has become a pet peeve of mine. It's a dehumanizing and overly reductionist phrase, and isn't even technically correct (the best kind of correct).
That said... Unless you've got an overtly superior alternative, time to move on and join the fray. It's simply a concise way to say "read / watched / listened" when context of which media doesn't matter.
I mention it here, though, because the number of people who find that language problematic seems to be on the rise, and that may inform how authors write.
It's barely tolerable when used in that sense, but typically it's not used in that sense. The problem is the widespread abuse of the term. When I first started hearing it used, it was weird but didn't irritate me because it was usually used in the sense you're saying here. But then it started being used all over the place, even when speaking of a single sort of media.
I'm not saying this is right, but it has become a bit of a "red flag" word to me these days, indicating to me that the the piece where it's being used is not of great quality.
It's like getting mad when someone says "I had noodles for lunch" when you know perfectly well they had /spaghetti/, and if they'd said /spaghetti/ you could get irate because they actually had /ragu/ spaghetti (meat in the spaghetti sauce).
Using the abstract word it still "fine" if that's the level the speaker wants to give.
Saying "noodles" doesn't devalue spaghetti.
1) attracting XXX eyeballs/consumers per quarter
2) producing YYY amount of content for consumption
3) monetizing consumers for $ZZ/mo
'customer' implies commerce happened, 'listener' implies listening happened. 'consumer' is a higher abstraction than either of those.
It's the most abstract word someone could think of to say "X internalized Y".
e.g. "X took Y and added it to itself... let's not get distracted with how. the important thing is, X took Y and internalized it."
I guess we could, uh, go with "internalizer". I'd be down with that.
In the old days, we called those people the "audience".
What your audience hopefully does with your work is "learn" or "be entertained".
You're thinking "Book + Me = Book + Me" but in the context of me it's...
Me + Food = Me with more nutrients.
Me + Book = Me with more knowledge.
In that context, post-consumption, the state of the book becomes irrelevant (destroyed or not, it doesn't matter, I still got what I wanted from it). I absorbed the knowledge (or nutrients). Brought it into my body and made it part of me.That said, I believe OP is offended at being referred to in an impersonal way. As such, I don't believe there's much to be done for him beyond "don't refer to people by their actions", which is impractical.
"I ingested [The Sandlot]" or "We had 50,000 ingesters of [The Sandlot] this week!"
are, to my mind, faaaaaairly equivalent to
"I consumed [The Sandlot]" or "We had 50,000 consumers of [The Sandlot] this week!"
Not terribly compelling but... "ingest" has a gut association whilst "consume" has a head connotation... so... there's that.
However, there is a fun distinction between the two. "Consuming" a book, to me, just implies you read it. "Digesting" and "ingesting" have implications of /rumination/.
The goal of consuming content is not to enjoy listening to other people, enjoy reading, or enjoy writing/talking.
The goal of consuming content is to absorb and internalize information, and broaden knowledge base.
To me, the usage of the term "consume content" is perfectly fine
Their use signals to me that I'm being exposed to a particular type of source that disrespects their audience and tends to produce substandard work.