I have been working as a software developer for almost two decades. I have received multiple promotions. I make decent money, 3x - 4x my area's median salary, so I live a comfortable life. I have never been fired or unemployed for more than a few months total over my entire career. Through most of that time I have averaged roughly 5 - 10 hours of actual work a week. I'm not even discounting job related but non-coding time as not work. There are literally days in which the only time I spend on my job is the few minutes it takes to attend the morning stand-up. Then I successfully bullshit my way through our next stand-up to hide my lack of production.
No one has ever called me out on this and my performance reviews range from mediocre to great. I'm generally a smart person. I went to a top 30 university, but it's not like I'm a genius or I'm coasting off connections made while getting a Harvard education. I wouldn't consider myself an abnormally talented developer. I often don't understand the technical details other engineers discuss in meetings. I have probably bombed more tech interviews than I have passed. All my jobs have been between 2-5 years so I'm neither finding a place to stagnate or leaving before anyone could judge my production. It feels like I am in the middle of the bell curve in terms of career success. So what gives?
Are most of us secretly lying about how much we are working? Do people regularly run into coworkers like me during their career and simply ignore it because they find it too awkward to criticize them? Have I just been incredibly lucky and every boss I have had is too incompetent to notice? Do I have imposter syndrome and I am actually a 10x developer whose laziness makes them a 1x developer?
These questions have kept popping up in my mind over the last year. Remote work during the pandemic has allowed me to finally be honest with myself and stop pretending I am working when I am not. I want to know if I was the only one pretending.
Lazy developers don't really bother me, if you do a couple hours of high-quality work a week I'd have no complaint. (Many weeks I do as little, some weeks I do a decent amount of real work :) The problem is developers making negative progress, usually messes that need to be cleaned up ... and it's an awkward situation, no matter your relative authority. I'm in the "we should consider them lines spent, not lines produced" camp.
An old disputed quote:
> I divide my officers into four classes as follows: The clever, the industrious, the lazy, and the stupid. Each officer always possesses two of these qualities.
> Those who are clever and industrious I appoint to the General Staff. Use can under certain circumstances be made of those who are stupid and lazy. The man who is clever and lazy qualifies for the highest leadership posts. He has the requisite nerves and the mental clarity for difficult decisions. But whoever is stupid and industrious must be got rid of, for he is too dangerous.