I'm imagining a 2x2 matrix where one side has work-hard/not work-hard and the other has advance/don't-advance in career.
I think it's safe to say that one box has very few people in it: not work-hard and advance. I'm sure there are people who don't work-hard and get promoted, but these people must have something that gets them promoted such as great communication skills and the ability to sell themselves, so at least in that sense, they are unique and productive.
I would think most software engineers would fall into the work-hard/don't-advance block because they focus on the wrong things. In my view, you either want to be in the not-work-hard/don't-advance block or the work-hard/advance block, since the don't work-hard/advance block is not available for most people.
My question is, is the way to get to those 2 blocks effectively the same in terms of the skill sets needed, and moving between them purely a matter of quantity or effort? That is, in order to get by at a job where I would be content to just do the necessary work and then go home, I need to learn to be productive in a short amount of time, and then if I decide that I actually do want to advance, I only need to ramp up on the time or effort I put into applying those fundamental skills?
Hopefully this question makes sense.
The real question is not a general one, but one specific to you: what are your outcomes if you work hard vs. not? For most people, the answer isn't "nothing different happens, regardless of effort." You'd have to be a remarkably terrible talent for incremental effort to yield literally zero (or negative) incremental results.
Here's the key: If you're just as smart as everyone else, and you work just as hard as everyone else, you're average. This is tautological, but most people don't seem to get it. It disregards luck — but then again, there's nothing to be done about luck, so you should omit that from your calculations. If you're just as talented as your peers, and you work no harder, you should fully expect to go no farther.
I completely don't buy the Ford studies around productivity going negative after 40 hours. Sure, you're going to be slower in your 50th hour than your 30th, but certainly not negative — at least not in most engineers' cases. Anyone selling a 40-hour work week with faster-than-peers advancement is just that: selling something. You either need to be much better than your peers, or you need to work much harder — or perhaps even both, if you're a rocket ship.
There is no shortcut to faster-than-average advancement. A person being lazy will definitely yield worse results than the same person working hard.
Now, all of that said, it's also true that working on the right things will get you farther than working harder on the wrong things. So choosing is important.
All of these things will likely impact your growth more than simply working harder. But don't let any quantity of self-help Oprah Book Club books convince you that the secret to life is "work less and magically get ahead." Unless, of course, your plan is to publish such a self-help book — in which case you might have just discovered the one thing for which my entire screed is false.
Thanks for the detailed answer, Philip!
I guess the answer to my somewhat facile question is yes. Your answer focused on how you truly need to work hard to advance in your career or be more talented because advancement is the product of talent and hard work.
I would love to hear a little more about when you think additional effort actually is negative. Because there naturally is a point in time for everyone where spending more time is of negative value. Maybe the 41st hour is still productive, but the 101st hour probably is not (at least consistently).
Alex has talked a lot about the importance of WLB. In a recent post, he says: "If you want to be a rockstar software engineer with a healthy, long-term, sustainable career, you absolutely need to have great work-life balance." You yourself have talked about how throwing more time at a problem is often easy and lazy.
This is very abstract like you said because different people have different goals and different abilities. I guess my question answered itself in that I was merely pointing out that some people reach a point where they are able to get a ton of work done in ~30 hours (like Alex) and focus their efforts on other things (startups, side-projects, hobbies, family, travel, etc.)
I think there might be a gap here in your understanding about hard work, though you are definitely not alone!
Hard work does require time and effort, especially the latter. But rarely are time and effort the differentiating factor between those who work hard and succeed, and those who work hard and don't.
The reason is that most people don't find it that hard to put in more effort and time. Especially earlier on in their careers, most of us have time and energy in droves.
Instead, the hardest work any of us gets to do get to do in our lifetime is changing ourselves. Changing oneself requires us to be self-critical (which can be painful), self-aware (which require restraint), and courageous (doing what makes us uncomfortable).
You said -
I'm sure there are people who don't work-hard and get promoted, but these people must have something that gets them promoted such as great communication skills and the ability to sell themselves, so at least in that sense, they are unique and productive.
It sounds like to me that you believe people are uniquely born with communications skills and ability to sell. No, not usually, anyway. Good communicator build trust, and building trust requires one to be truthful. And being truthful is harder than you think (at least it was for me).
Even being productive is hard. It requires learning about ways to structure your day and improving your energy levels.
Acquiring these skills takes hard work, and knowing that you need these skills AND taking actions to actually acquire them is even harder.
Spending more of your time, instead, is easy. It's mentally easier to stay put and put in a lot of hours, than spending effort thinking and working on getting more efficient. Maybe your project isn't going well, but talking to your manager about it is scary and hard. So you just take the easy path and work more hours, when instead you could've escalated it and gotten the help you needed in much shorter time.
Simply putting in more time is lazy. It's almost as lazy as thinking one could "chill" and grow in one's career (though definitely better...).
If you truly want to work hard, put your effort into things that makes you uncomfortable and forces you to grow.
(Check out Phillip's similar but more eloquent answer here)