Another problem is from the candidate's point of view: I've already done "It" before. I've been doing "It" for the last decade. If I move companies, I want to do "It+1" at the very least, more likely "It+2". It's not enough for me to simply do "It" again but at a different company. So many recruiters reach out with that pitch, and I simply ignore them now: "I see you have a great background doing 'It' at 'Company'. We're offering a role doing 'It' here at this company! Isn't that exciting?" No, it's not, actually. Now if you want me to manage a team of engineers doing "It", let's talk. If you want me to be Director of "It", I'll stop what I am doing and get on the phone with you in 5 minutes! But simply "Keep doing 'It' but at our company" is not even slightly motivating.
Past a certain point the +1 isn't something you can do on your own time. If you're looking to shift into more of a management role that's obviously hard to learn on a side project unless that side project is a full company with employees. Even pure technical skills can require certain scale; you aren't going to learn how to use k8s appropriately on the side because whatever you're doing on the side almost certainly shouldn't be using k8s at all.
"Keep doing what you're doing but half the hours and double the salary" is something I would be tempted by, but it would be with the idea that I'm focusing on something other than developing my career.
> "Keep doing what you're doing but half the hours and double the salary" is something I would be tempted by
It would be tempting, even given the stake I just placed in the ground:[1] But 1. astronomically few companies will offer to double my comp at this late point in my career and 2. Nobody in tech offers part time work but with full benefits…I’d have to be a contractor and find clients and fund my own healthcare and retirement (yuck). It’s at best an theoretical exercise.
Yes - there are people who win the lottery too. My point is that there isn’t enough for this to really be a thing we should put up as anything but fantasy. If you think you’re gonna get a recruiter who lands this in your inbox - buy lottery tickets instead.
I've encountered shops billing $300+ per hour for fairly routine types of software work. And yeah, that's still pretty far away from the $800/hr or so that would be 800k for 20hr weeks, but we're not talking super specialists there. And you're not gonna take home all of that if you're just an employee at that shop, but if you go independent or start your own shop... you suddenly have a higher ceiling for basically just "doing the same thing you were already."
It does take a very specific additional skill set to build up a network of clients and have the patience for that to turn into something where you're regularly booked, but if money is the number one thing you want to optimize for, it's something you should investigate.
> It took him a while—he launched his fund in 1978 and it didn’t really click until about 1990—but he absolutely achieved his dream of making money without doing anything.
Jim Simons has about 250 iq points. He may seem like a normal(ish) person, but he ain't. I'm not sure that anyone should ever assume they'll figure anything out the way he did.
And, he had lots of experience with math - he was insanely great at it. And then he took it and applied it.
At one point the ancient Greek philosopher Thales took his (at the time extremely arcane) knowledge of weather patterns and managed to leverage that into great wealth by predicting the olive crops. Allegedly, he did this in response to a heckler who had asked why, if Thales was an intelligent famous philosopher, he had yet to attain wealth.
Thales was an all around great philosopher though, known to be one of the "seven sages" of ancient Athens. Amongst other feats, he managed to measure the height of the Great Pyramid of Gizeh when nobody else at the time could.
More importantly he learned how to manage genius. At his fund it’s not one or two people who are “the man”, each and every one of them are “the man”. This is what makes their outperformance so consistent. It’s incredibly hard to manage one genius in a room full of people across the IQ bell curve, let alone when all the employees (partners?) are in the 98th percentile..
Yup for sure. Nobody likes being managed by a relative fool, so you have about 10 people on planet earth who could have done the job. I'd guess it is waaaaay further out than 98th percentile though...
Are there recruiters out there who pitch based on hours and money? Every pitch I get is all about the vision/team/prospects for success. And, yes, "prospects for success" in some ways means "money" but they're never so explicit about it.
I would guess that doing the +1 and +2 is mentally and emotionally easier and more satisfying if it's during a hellish 60 hour work week than in a relaxed 10 hours you freed up by getting more pay and a 30 hour week to do something easy.
Like doing programming problems is fun for a bit, but doing work that actually does something, even if it's simpler in complexity is more satisfying. IMO of course.
I think the recruiters could be pitching better if they went with, do 'it' here and think about what +1 could be and when you figure what that could be, pitch it to us.
This of course assumes the organization sees IT as a value multiplier and not a cost center / plumbing job.
As an expert in a particular area, this is exactly what I want.
Even the same total comp and benefits but half the hours would be good. If I could do one week on and one week off or two weeks on and two weeks off that would be awesome.
Despite that being my own philosophy as a candidate, I never thought about it this way as a hiring manager. I feel kind of dumb! Thanks for putting it this way.
I don't think there's a reason for you to feel dumb: there are a lot of candidates that are the opposite of the grandparent, and want to do "it" for the rest of their lives.
However, a lot of times the "want to do it forever" part could be a sign that the candidates doesn't want to learn anything new, which is indeed a very bad sign.
On the other hand there are people who want to want to keep doing tasks so they get a deeper understanding of the domain, as mentioned elsewhere in the comments... and you can't afford to say no to those people.
> However, a lot of times the "want to do it forever" part could be a sign that the candidates doesn't want to learn anything new, which is indeed a very bad sign.
While that is true for a lot of jobs, there are also a fair number of employers that are perfectly content to have an employee that does job X at their company for as long as they are of working age. In the software world it pretty much follows from the fact that the largest chunk of development jobs out there are just CRUD apps and processes that feed them. Many companies do the same things with largely the same software for years and years and years. As long as an employee is getting the work done, many of those employers are thrilled to have a long-term employee doing the same tasks they've been doing for years.
A developer that isn't willing to learn new things won't be able to do CRUD for long.
You can stick with the same technology and language, sure, but the frameworks and the language will evolve under you. Tools evolve (Git? Github? CI?). Processes evolve (Scrum?). Requirements change (HTTPS? Accessibility?) There are gonna be lots of changes coming from the outside.
Heck, when I think of it, frameworks targeted at CRUD apps were probably the things that have changed the most during my career. I have a few friends doing stuff with C++ and they joke about how much tech in the web/enterprise bubble changes.
I mean I am willing to talk about keep doing it at the next company, assuming increase in rewards for doing it, but I am not going to be incredibly passionate about continue doing the thing that I really know how to do well as some recruiters seem to want, I will instead be pragmatic and professional.
Companies often (but not always) want someone to just do ‘It’ with minimal extra management effort.
This is because every companies success is generally gated by the available extra intelligence and decision making ability at every level (really every organization). The more management work put in, and the more ongoing thinking required to produce unit X (whatever it is for the company), the less competitive they are.
Most companies of course aren’t great at this, but as long as their competitors aren’t much better (and/or other factors add more ‘competitiveness’), it still works out.
Most dumb and value destroying things happening anywhere is because someone who is in the position to make a decision doesn’t have the mental bandwidth to make a good decision, or someone with the bandwidth to make that decision isn’t trusted to do so because of lack of consistent mental bandwidth by someone else to supervise, select, or police folks like them.
For individuals, like you note, the incentives are often the opposite - to grow, take on individual risk, etc.
And most individuals who are not actually entrusted with the scope and scale that would challenge them HAVE extra mental capacity (albeit perhaps not the experience or whatever to actually be successful, but they won’t know that) because they aren’t subjected to those loads generally.
Not to discount nepotism (usually caused by trust issues/difficulty with owners managing non family members), corruption (usually caused by those in control not seeing how to produce value while following the rules), etc.
Frank Slootman (snowflake CEO) has some quote that is ~ "give people the opportunity of a lifetime if you want to hire amazing people". There are obviously downsides, but anecdotally smart + hyper engaged is hard to beat, even if that person hasn't done X.
>> I want to do "It+1" at the very least, more likely "It+2".
I've managed to do "it+0.5" at a couple places. Most companies are only interested in doing "it" by the book and miss out on so much. At my current place I developed a couple +1 concepts that handle issues automatically, gave presentations with relatively little code needed, got a "hey that's cool" but was never asked to actually integrate those into the product or have someone closer to it integrate it. They're very happy to just do "it", never mind that we have issues that may well stem from not taking "it" to the next level.
I used to work in consulting where I had several hundred projects under my belt, and I think your objection is a bit shortsighted. It is possible to learn a lot by implementing something you have implemented before, but in a different context. Even if the problem turns out to be 80% the same, the remaining 20% can be a valuable learning experience. And if the pay is handsome, why turn it down?
Isn’t that one of the problems the article is getting at though?
Someone who has done “it” in another environment will have scar tissue formed from issues they ran into doing “it” there.
When you hire them to do “it” here, they will avoid things that didn’t work there and try to do things that did - but here is not there and maybe the situation aligns differently and what didn’t work there would work here.
Like, maybe they ran into an issue with doing “it” using approach A because it required a more skilled operations team than they had there. But maybe here you have a better ops team and approach A would be much easier.
> Now if you want me to manage a team of engineers doing "It", let's talk. If you want me to be Director of "It", I'll stop what I am doing and get on the phone with you in 5 minutes!
These days, if you want to do that, you'll either need to have your company acquired, or buy the job you're looking for.
Attractive to whom? Probably not the person you're replying to. I imagine at this point in their career they have already heard of this whole "money" thing.
People who are really good at things generally thrive on challenge, because without that you don't persist long enough to get good. For many, me included, no reasonable amount of money will get them through doing years of something where they aren't growing.
Yea, I used to accept "Do 'It' for +N% salary" but homie don't play that game anymore. The problem with accepting additional comp without advancement is:
1. Salary will plateau eventually. I know early in your career it doesn't seem like it will, but trust me: It will. I don't care what company you are in, or how good you are, "Fourth Senior Software Engineer From The Left" is never going to be making $1M/yr. (Not that that should necessarily be your goal, but it illustrates that you will plateau at some point.)
2. When you keep job hopping for more money but no change in level, you risk gaining "1 year of experience 20 times" instead of 20 years of experience. You're sacrificing long term career growth for short term salary bumps. I did this for years and ended up shooting myself in the foot long-term. My college friends, who instead played the Title / Ladder Climbing game, are all much better off than I now. They're all job-secure VPs, SVPs, and CxO's in their companies vs. me who still doesn't even have any direct reports, and is one of many interchangeable worker bees.
No more doing that for me. I'll only accept, at a minimum, a level jump at this point.
It sounds like you're an individual contributor and want off that track and on to the management track.
Or to you, is "management" simply the next level beyond individual contributorship? I won't work for an employer that doesn't plan for career advancement in BOTH tracks - management is great, but for every one of you who sees career advancement as managing others, there's someone like me who wants to stay the hell away from that while still finding room to advance my career as an individual contributor.
Very few companies have a legitimate “parallel but equal” tech track for IC’s that remains IC all the way up. At some point on the totem pole you end up managing. All roads upward point to it. I currently work for a company that has a robust stack of levels for software engineers, but nobody at the “director equivalent” tech level is an actual IC.
I love the concept of having VP-level IC “wizard” roles who don’t have to manage, but have never seen it in practice.
I've seen those roles at Microsoft, Amazon, and other big tech companies.. Like you implied, though, they all plateau in compensation around $800k or so.
These roles definitely exist, but it's worth counting the relative numbers at each level for Manager/Senior Manager/Director/VP vs IC's at that level.
Generally, there's wayyy less of the IC roles, which essentially means that people who want advancement are often gonna end up on the management track.
At my most recent company engineering managers made less than the engineers they managed and staff engineers usually made more than directors. So if you wanted to go the management track for advancement it meant a pay cut for at least a few years.
I can't speak for the direct OP, however outside of exceedingly large companies, rarely do you get to just be a major contributor and still climb past a certain point. Microsoft and Google have things like distinguished engineers but most people never reach these levels, because you have to be truly outstanding to attain them, and often, they too are really good at managing their sphere of influence.
As a Staff Engineer I'm just a really engineering focused manager "lite" if you will, (in so many ways, maybe I'm not doing enough justice here, but its how it feels day to day).
I like it, because I'm managing the architecture side of things and still involved in engineering decisions I care about, but I have both direct people working with me that I'm accountable for, as well as a 2nd level of accountability for the entire organization. I still get to commit code and do exploratory research, which is nice, but its not the highest percentage of work I do. So much of it is overseeing the implementation details of other engineers, providing guidance to both engineering as an org, or individual engineers, or being involved in product roadmap so that our architecture evolves flexibly enough to meet where we want to go, writing documentation and diagrams, giving technical presentations etc.
All told, at some point, you have to be a manager, even if its not a direct "manager" role, per se.
You hit it pretty spot on. There's still a lot of management expected at those levels, it's just of an influential type instead of an authoritative type. Which is often even harder to wield effectively. You're still expected to go out and force-multiply, because the bottom line is a single person worth of productivity can only go so far.
I've been doing "It" (shipping software -which is quite different from "writing" software) for my entire adult life.
Basically, if you want to actually ship a superb-Quality native iOS/iPadOS/WatchOS/MacOS app, in an astonishingly short period of time, I'm a good person to talk to.
What I have learned, is that very few people seem to want to actually ship software. Instead, companies become obsessed with "coding culture," and "process" (which can mean many different things). As it comes time to start preparing for it to go out the door, all kinds of roadblocks start piling up. It's crazy.
I was "frozen out" of the industry, because of my age, which really pissed me off, but that has turned out to be a great thing. It's been a real joy, writing my own stuff. Out of necessity, I have to keep the scope humble, but that's fine.
> Instead, companies become obsessed with "coding culture," and "process" (which can mean many different things).
Many companies must build out rigorous standards, and checks and balances in order to deal with regression to the mean.
If what you're saying is true you're multiple standard deviations above the normal engineer, and scaling you is non-trivial. Bob martin has said the population of coders doubles every 5 yrs meaning at any given time 1/2 of the engineers have less than 5 years experience. When you need something that would take 1000 of you, which might not even exist on the planet, they instead have to build a system that takes 10k of those 5yr and less engineers -- and have the highest quality outliers leveraged though standards, automation, building engineering culture etc.
I've been reading the (perennially-recommended) Mythical Man Month with a friend, and this is something that gets touched on again and again. It's funny that for all the hilariously out-of-date components of those essay (development measured in compiler instructions written!), the inefficiency between a good architect and the number mean-regressed engineers beneath them is still a problem we struggle with half a century later.
Sorry, to be clear I wasn't trying to address/rebut/debate your skill, but rather just start from a presumption. Presuming what you're saying is true.
It really doesn't matter to me if it's true about you or not, we can still discuss the issue of designing for talent several standard deviations above the mean vs one that falls within, say, [0-1] std deviation above the mean.
For sure. It's still astonishing to me that if you measure by everybody's behavior, actually shipping something good in a timely fashion is often pretty far down the priority list.
And I feel you on process. I got involved in process because I wanted to quickly solve user problems, and then keep on solving user problems. But so much of the process-industrial complex is not focused on that. E.g., the SAFe® process is the effective opposite of what early Agile pioneers were aiming at. Its major function is to give managers and executives a sense of control almost without regard to how achievable that is or what it costs in terms of productivity and lost opportunity.
It has been my experience that actually delivering, working, high-Quality, supported, documented software (regardless of what the software does), within a reasonable period of time, is beyond the capabilities of many corporations.
I suspect that some folks make money by convincing others to invest, then hightailing it, before the chickens come home to roost, as opposed to actually selling a finished and supported product to end-users. In that case, looking like a "shipper," is much more important than actually being one.
"It," "It+1," "It+2," etc. can definitely be delivering software.
But that's just one "It" on the continuum. It could also be grant-writing, selling, managing, singing, shredding guitar, racing minibikes, whatever.
In any given case, there's always some threshold of what an "effective It" is. It may not be a clear-cut line. For example, research is very "fuzzy," and a researcher that can do "It," may be excellent at failure, because their job is to poke holes in theories.
In fact, if the company is all about getting A-round funding, then folding up the card tables, and moving on, someone that "looks like a shipper" could be an effective "It."
Complete agreement—soup-to-nuts delivery of software for a particular ecosystem (Apple in this case) is definitely an "it" I can imagine companies hiring for.
This was my experience as a contractor, at least for my niche at the time. I felt like when I was an employee I was being paid to learn and adapt, but as a contractor I had one thing I was good at and only did that over and over again, which meant no room to grow.