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.
Sometimes I'll know I need to write some code or some function and I'll just think about it in the back of my head while doing other things, sometimes for a whole day or two. Then I'll sit down and write it in like 20-30 minutes. Did I work 20-30 minutes, or have I been working for a day or two? I would say a day or two, and the 20-30 minutes was the time needed to produce the deliverable of that work.
I've never heard of any colleagues doing it either. I would never snitch if it happened, but I would certainly consider that person untrustworthy or think that they have an undisclosed condition that is between them and HR.
As you covered in your post, we don't write code 8 hours a day. This is normal. Meetings, context switch and times when focus is unachievable are expected and mostly understood by my experienced management. So are times when we are monitoring technology advancement and keeping an eye on the industry and community (e.g. lurking at HN but not overly posting and commenting) and times of social activity between workers (e.g. talking about the weekend).
Most of us take mental health breaks between meetings and need to take time to think through issues. Many also need to periodically break focus to think about personal life issues or hobbies. As long as you generally strive to work, this is not a problem either.
But walking into a stand-up and then lying about your day? To me, that's unethical.
The real question to me is:
Do you do that on purpose or is this something that happens even if you are trying to focus? There are many conditions, from stress and anxiety to diagnosed mental health issues that can prevent you from focusing. Burn-outs and bore-outs also come to mind.
In my eyes, the fact that you asked the community about it shows that you have some form of concern towards that behavior. Would you say it is negatively impacting your life?
I suggest 2 tests to see if you're lazy or dumb:
1. Try to be more productive by sheer effort of will. Just say to yourself "this month I will write more code than usual" and set to it with a positive attitude. If you succeed you were being lazy and now you know how to not be lazy. If, as is more likely from what you've said, you fail, then you're not lazy. You're working at your maximum capacity but you have a poor understanding of what constitutes "work" in the job you do.
2. If, by the above test, you are not lazy, then look at how well you do relative to your peers. If you're holding your own (as you say you are), you're not dumb either.
Why is the onus always on the bottom workers to be honest? Why are we trying to feel guilty about our working hours vs how much we're paid? Because it's clear salary is not tied to better performers given how much upper management is compensated.
Just enjoy your life. Management probably lowballed you coming into the job anyway, but if they are happy with your work, then spend that extra time you're saving to enjoying other things in life.
What do you want to do, OP? The new year is coming up.
I consider myself very competent in my field even though I stopped doing purely technical work some time ago, but there are a lot of very good coders out there, but not enough "lazy pragmatists" like me.
My team likes me because I don't micromanage, I support them as much as I can and can entertain them with some good jokes, career advice and a general openness that is hard to find in professional circles.
I have also been able to work remotely for months, and when I say remotely I mean in very remote places.
I also make top money for European standards.
Some will see me as a "parasite", but they would be very wrong. I do exactly what I am asked to do, I am positive and upbeat and always ready to support the team at large when needed. Others may ask, "is she not getting bored?", but the answer is "are you kidding me?". I can spend time with my kids and partner, climb mountains, and brunch on the regular with my girlfriends.
Maybe (surely?) it will end at some point, but like someone said, "tomorrow is not promised to anyone".
I might start a coaching service at some point, as I believe most professionals (forget about the SV types, I am talking about other geographies) are far from having a real understanding on how big companies work and what should be done to have a comfortable and impactful professional life (I am a top performer!), while at the same time enjoying this splendid world we are lucky to live in.
I’m a big believer in Price’s Law - the square root people produce half the value. If there are 10000 people at the company, you can very well survive in the group of 9900 that does the other half.
I've never outright lied, though certainly hemmed and hawed. And occasionally blatantly "I haven't done anything this week". And yeah, certainly work-from-home makes it easier to shut down and ignore everything. Which is great, except you feel like crap afterwards.
But like I said, it depends on the project. Next job I take, money is going to be less of a consideration. Just want to work on something interesting. And there's a reasonable likelihood that I fall into the category of "needs professional help" (I also flunked out of school twice and took six years to graduate, despite getting five 5's on AP tests and only needing two years' worth of credits), but I've tried a few times without much success.
And, no I don't think it's super-common. At least not to this level. Most of my coworkers seem to genuinely work pretty hard. Though some don't.
Doing just as much work as your employer requires and no more is way less of a problem than employees who actively steal, commit fraud, bring drama and distract other team members, or are introducing defects because they've faked their way into a job they don't have the skills for. Your managers are likely dealing with those problems too, so they may be more aware of your situation than you think and are ok with it. Or maybe not, whatever. Not your problem either way. They can let you know if they're not happy with your performance, which it sounds like they are not doing.
However! I will say that this way of working and living comes with some significant hazard to your mental health. Doing something you don't like, care about, or believe in for decades long periods of time can really mess with your sense of self worth and happiness in life. You only have one life, do something with it that is satisfying. Get out of the rat race.
Personally, this realization has led me to switch careers. I'm now in a 2 year evenings and weekends program to get certified to do something that has nothing to do with tech. It is a huge pay cut. I also am happier than I have ever been in my adult life because I'm learning something challenging and helping people instead of coasting through 8 or 9 hours of pretending to work every day. Starting over mid-life and finding another thing that I love as much as I loved computers as a teen has been a blessing worth more than any amount of money.
Good luck!
When I was a kid, sitting in a rear row of classroom I felt invulnerable. Chatting with other kids, reading a book, playing with pencil and eraser, there was NO way teacher could POSSIBLY know what I am doing. Not when there were so many rows of other kids between us!
Decades later I visited a elementary classroom as an adult. I was shocked... it was tiny! I could practically reach the last row. I could see, in exquisite amount of detail, EVERYthing that happened in that room. Everything.
---
As a system administrator for 15+ years, I had weeks where I worked 40-60-80 even 100hrs. But most weeks, I did not work quite as hard.
Then I became a team lead, then a manager... and I have far more awareness of my team members than I thought was possible. At the end of the day, I care about targets, plan, deliverables, ownership. If you and the team are meeting those, I am far from the micro-manager who cares exactly how you spend every minute of every day. It's up to me to ensure you are challenged, motivated, productive, and delivering; and if I need you to work harder and deliver more, it's up to me to set that expectations and hold you accountable. If I don't... it's 100% fair game for you to do what is required, meet expectations, and nothing more if you're happy with where you are and don't desire growth.
I was a sysadmin at a company that had things extremely well-tuned and within our team we averaged a couple of hours of work a day, tops.
I've been at companies where there were 50-hour weeks of nonstop which which were necessary, followed by downtimes where almost no work was necessary (it was a very seasonal business).
In my experience most engineers have no more than 4-5 hours of real work in them a day. After that, mental performance drops dramatically and while you can definitely respond to emails and attend meetings and do less intense work, deep thought is just a finite resource and heavily influenced by your mood, anxiety, and motivation. Keep it up for too long in an org that doesn't value clean code and good tests and your performance can definitely be negative.
It's also true that good organizations and teams know and work with these limits rather than push people into unrealistic goals. People can switch around between deep architecture work and planning, managing a sprint, writing reams of code based on well-understood specs, debugging, etc. You can take turns when your personal life gets intense or you feel drained.
I think that most works vastly underestimate the importance of deep work and being strategic about what gets done. The right product spec and the right amount of work researching solutions can easily save an order of magnitude of coding work. It's amazing how little you need to do if you know the happy path for implementing the right solution instead of iterating through multiple broken attempts.
After ~5 months off I started working as a contractor (for one employer) which has made me realize getting 35 hours of actual work done in a week is a Herculean task for me. I only run my time tracker when I'm actually working, and in a week I might have 2 to 4 hours of meetings, and through pushing myself, can get 15 to 30 hours of work done.
It's pretty rough, I'm not going to lie, and I don't understand how so many people can regularly work more than 40 hours a week (but I was also on medication for ADHD as a child and currently not treating it, so I understand I may operate differently than most people)
Basically to get 35 hours per week of work done, I have no life now other than trying to work. Fortunately it's not the end of the world if I only get 25 hours, though it's not great for my savings.
1) The "good" solution is to find some work you actually give a shit about. If you can't force yourself to care about corporate software, work on an indie video game, or get a job at Amnesty International, or find some other way to get personally invested in your work product. If you can't find it doing software, become a chef, or build houses, or whatever. It will improve your life immeasurably to spend your day doing something you get intrinsic satisfaction from instead of websurfing.
2) The "bad" solution, more like managing the problem really, is to get good at using Pomodoro timers, to-do lists, and other crutches to force yourself to do enough to not fall behind. "Fall behind" in this context does not mean that you do so little work that everyone notices and calls you out on it, it means that you stop keeping up with new frameworks and new tools and the years march by and your skills atrophy and then your employer folds and you find pushing 50 in an ageist industry with weak skills and few options.
Hope this is helpful.
I'd say if it's career long though, and not just related to a job or a project, I don't think it's abnormal per-se... I've seen a lot of devs like this... but I think it wouldn't hurt to explore things you might be more passionate about. Like others have said, you're probably not going to get fired if you're doing just-enough, but it might have bad effects on your mental health.
In my experience, most developers fall into the category. Outside of the startup world, there's not really this huge push to move quickly. Established software works well enough that most companies can afford to have highly paid professionals dillydally through most of the work day. As long as everyone is doing something each day, and the right people can shift into low gear when urgent action is needed, things will move along pretty smoothly.
People who are both very competent and can sustain large volumes of work tend to gravitate towards startups. There's really no point in working 10x faster than everyone else at an established company because someone else is going to be the bottleneck.
> Have I just been incredibly lucky and every boss I have had is too incompetent to notice?
They are probably just as good at BSing during meetings with their boss as you are in standups. They either talk up the accomplishments of other team members, discuss future plans, or some other team is the focus of the conversations that week.
That said, I had a similar feeling once, and then I actually started tracking my time, just for myself. Even reading HN I counted as "personal development". While I did spend about as little time coding as I thought I would, I was surprised how off my feeling about how much time I work was. I easily tracked 10 more hours per week than I thought I was doing. Not sure you're interested in trying that, but I can really recommend it. Made me a lot more conscious how I spend my time. 10 hours per week solving important problems beats 40 hours of stuff that leads nowhere.
While it's hard to count, I also wouldn't discount all the thinking I, and probably others, do both consciously and unconsciously, that allow us to get several hours of work done in half an hour, already having found the right approach without touching the keyboard.
Anyway, regardless of what hours you actually work - if the company you work for is happy with your results and you're happy with the pay, I would argue that's all that matters. Great for you if 5-10 hours per week is actually all it takes for you.
I believe it depends on how you look at work. The higher you climb the career ladder the more responsibilities you get. Everyday is an opportunity to make some progress — get something done, move forward, show up and make progress. Some days you are at the best of your mental capacity and some days you are not. It’s important to recognize those days and focus on low hanging fruits on low mental capacity days vs getting high value work done on good days. Managing yourself is a part of your job that’s not in the job description.
As a professional, it’s my responsibility to get my part done and make progress everyday. Things add up over long time. Similarly not getting work done does the opposite, let’s lot of backlog pile up.
If slacking is the result of procrastination or lack of attention or lack of motivation, I recommend people get help.
Imagine calling customer service rep and they just work 5 hours a week and imagine them responding to your requests a week or month from now. Imagine everyone working like this, society won’t function. Not doing your part for what you’re getting paid for seems unethical to me personally.
From my work experience, about 90-95% of people do barely any work (have tasks that take months). I would get in a team of 15 people and I'd be the only one doing something, everyone else is just making some slides for weekly presentations and not even that. The amount of part-time people that do nothing is even greater. The amount of consultant experts that work for consultant agencies and get loaned to other companies that do nothing is massive.
I think it's the standard way of life in most cities. I do not quite understand why that percentage of the workforce won the work lottery.
And I seriously doubt you'd be able to reach anywhere near an acceptable output working <= 10h a week in the sort of company I work at, no matter how good you are. I don't mean that my company is special, it's a pretty standard start-up environment, but I mean that it probably depends a lot on what company you work for rather than being a "developer thing". I recon that a lot of big corporates have no idea the sort of people they're hiring and do not have a feedback loop to assess performance.
Personally, it makes me uncomfortable to think that there might be so many other people with this mindset around, lying to coworkers and doing the absolute minimum to get by. In my current role, I feel passionate about what we're building and being a startup, we need to maximise efficiency: I'd have zero remorse flagging that somebody is doing close to nothing when everybody else is so involved and relying on each other to do their job. In a corporate environment, I suppose I'd either join you or quit out of lack of respect for coworkers and company.
- you don't know how much the others are doing so why putting more effort (humanly naive classical economic strategy)
- things are opaque, people may not know what you do, and how hard it is.. if they say something and are wrong, they're reputation is tainted, only your superiors are responsible for this but they may be busy (or faking too)
- some people will willingly delay work, they don't like it, there's too much, so they'll stash tasks until people come and ask, then they'll pretend to be overwhelmed with so many things (unless management has clear views of what's going on, you're back to point 2).
- oh and often people will act as if they're super tense and busy and having the worst job in the building. Just before going back to their office, and sitting watching netflix on their phone.
Another thing, have you ever noticed people slowing things down ? and impeding you to improve things ?
ps: I'm deeply hurt by testimony like these (you're not the first one I read), having been in chaos and near homelessness ready to work twice the amount for min wages, it's unbearable. When you know that this happens, it's near impossible to not hate HR/interviews.
pps: few places where this can't really occur: public facing jobs, you don't want to look like a moron, or a lazy douche so you have no choice. Hospitals are probably free of that too. retail. There's a natural flow of timely tasks there.
I work for a Fortune 100 company. Everyone reading this knows the company.
In my entire time at the company (>5 years, I think), I've written maybe 30k lines of code.
I'm terrible at responding to e-mail. Whatever you think this means, I'm worse than that.
I skip meetings all the time. Sometimes I just don't dial in. Sometimes I say I have a conflict, sometimes it's true. I probably attend a total of 4 hours of meetings in any given week.
Not too long ago, I had 3-4 weeks in a row where all I did was attend those few meetings.
I have ADHD. I dick around a lot. I spend hours and hours reading/watching random stuff. 60% tech stuff, 40% random Youtube rabbit holes. Very little of it is applicable to my work.
I take naps and often sleep in. Some days I don't show up for work at all.
For the most part, what I do is review people's stuff and tell them why it won't work as well as they hope. Occasionally, I'll tell them what to do instead but with a lot of hand-waving. I believe it's called "being an architect".
However:
I'm at the highest individual contributor level the company has. It's a tech company, btw.
I get consistently stellar reviews. My boss says she hears great things about me all the time, so "I shouldn't not even bother asking around" when we do 360 reviews.
I've gotten off-schedule, totally unexpected stock grants as thanks for "all my good work".
I make $15k/year more than any of my peers and $100k+ more than some of them. Some of that is due to regional differences (I'm in the Bay area), but it's all the US.
This year, we weren't even supposed to get bonuses. 2020 had been a shit year. The board decided to give us bonuses anyway, but "no one would get their full bonus". I got 120%.
If I ask if I can attend a conference, I've never gotten a "no". My boss even suggested a few more I should attend.
None of this would make any sense, were it not for those (on average!) 2-5 hours a week of good, actually productive time I have. The ADHD means I can't do it on command, but when it hits me, it's apparently gold.
On the other hand, I assume that people typically have 2-4 hours of good thinking in them per day; that it takes time to learn complex systems; that a smoothly running system should not need attention every moment of the day.
"I have probably bombed more tech interviews than I have passed." This is perfectly normal for almost everyone.
You are not operating in isolation.
Your work has upstream dependencies (well defined requirements, things owned by other people being done first, communication from other parties, etc), that will form blockers on being able to execute on what is important.
Likewise, there are downstream bottlenecks; code you write has to be peer reviewed, tested, released, whatever else.
This, alone, is like a Kanban process; so long as you are not the bottleneck, you are going to have a lot of downtime, even while some other part (that is the bottleneck) may feel stressed and overworked.
But that's not even the only consideration! The 80/20 rule applies to software development, same as everywhere else. Is there more you -could- be doing? Almost certainly! Does it have anywhere near the value to you, the team, or the business, to warrant it getting attention? Assuredly not. Even if you devoted your remaining hours to things you felt you could get some traction on, the return on investment would be super low; likely so low as to not even be noticed.
Between the two of those, it is quite possible for people, a majority within a company even, to still provide close to if not their actual maximal value, while not actually being productive 40 hours a week, and with it being neither organizational dysfunction (not to dismiss that as being true some places, but just to highlight it doesn't have to be), nor individual laziness (also not to dismiss that as a possibility, just that it doesn't have to be).
We're not flipping hamburgers or soldering widgets on an assembly line. We're constantly adding to systems that get increasingly complex over time. The UX that the product manager sees is just a small percentage of the work. Haste makes waste, and a stitch in time can save nine.
There are times I have spent a day banging on some problem, and I am up to even 1 AM trying to fix it and I give up and go to sleep, after a few hours of hitting my head against a brick wall. I wake up in the morning relaxed, and am hit with an epiphany, I go to the computer to code it and it works. I don't know if I am dreaming up a solution while I sleep, or a couple of seconds of a clear head beats hours of tiredly banging my head against the wall, but it has happened more than once to me, and I have heard the same from others.
Anyway, I never was in a team where such behaviour OP described was acceptable. Maybe it is cultural thing (I'm not from the western country), or just social (you try to be closer to people with the same values). Yes, you probably won't get fired immediately. But it is all clear and visible if person work so little. Visible to teamlead and other team members. You won't get promotion or bonus. And eventually your direct manager will try to remove you from the team. Even i firing is not so simple, there are usually ways to rotate him to different team. And if person gets the same 'recognition' in the next team, his case usually goes to HR and they would find they to 'let him leave'. I still agree that it is ok to work just as much as you are required for your pay. But if developer simply wants to work as little as possible, he eventually is asked to go work somewhere else. Because it is simply more enjoyable to work with developers who give a shit.
Yes, but I would venture it's the other way - most of us are probably working our butts off and thinking we make a decent wage for 40 hours a week when we're putting in 60 hours a week. I didn't really notice this until I had a family and started bumping into family activities. At first, I was really pissed off that something was getting in the way of work, then I reassessed by values and got pissed off that I was putting in that sort of time.
> Have I just been incredibly lucky and every boss I have had is too incompetent to notice?
Pretty much. It's likely the problem is systemic (your boss doesn't work either). One of two things are going to happen, by my guess. You are going to get re-orged when some efficiency expert comes in and they're going to apply arbitrary metrics which are designed to "accelerate delivery" or something. Since you don't do anything already, you can't meet those metrics. The good news is people who do work probably can't meet them either since it's designed to make people uncomfortable, so you'll be one of many getting a parachute. Feign indignation and leave with the herd.
The second thing that might happen is someone updates the tech stack in a significant way. This happens when consultants come through and a company tries to "buy the devops" or "buy the kubernetes". They have a vested interest in delivering a solution, so they're going to want to train people on the new thing. If you're not participating in the existing workflow in a meaningful way, it's going to be rapidly apparent that you're also not using the New Expensive Thing(tm). Since the New Expensive Thing is indeed quite expensive, there's going to be a lot of eyeballs on it, and you'll probably either get noticed for not using it or for being one of the people "not adopting the New Expensive Thing".
Of course the third option is you live in like Cornfield, Kansas and you're actually pretty cheap compared to everyone else across the country and so you're really not going to attract any scrutiny whatsoever. Who knows!
Best of luck, either way.
The reality is this: spend your attention wisely and don't worry about anything else. Attention is the real value of time. The more attention you can pay to producing good things, the more benefits you'll create. The more attention you pay to frivolity, to mindless consumption, the less positive impact society will feel from your existence.
You’d easily spend a lot more time on the projects. Many of my coworkers work nights and weekends. It’s not uncommon to see people starting around 8-9am and logging off around 7pm for a regular schedule. And then pressure hits and weekend work starts showing up too.
It’s gonna vary so much by your place of employment. I’m gonna guess you don’t do any project work or significant projects and management is entirely disengaged.
This is the key point that makes your situation problematic: You're actively deceiving your manager and peers.
Reasonable managers don't expect everyone to be in crunch mode all of the time, to produce 8 hours of work in an 8 hour day, or even to be productive every single day they were.
But they do expect you to make an honest effort, and to tell the truth about your progress. If you're going out of your way to feed them information to make yourself seem productive while doing as little as possible, that's a problem. It will catch up with you eventually, one way or another. They either know already, or they will know once they start looking more closely. Usually the people who aren't working are at the top of the list to be cut when layoffs are necessary.
I do feel the same as you, though - I'm always concerned somebody's going to put me on the spot and say, "what have you done for me lately?" I will say, I've been doing this a long time and that's never really happened. I go through the performance review song-and-dance every year and I can point out quite a few things I actually have done when the time comes, and so far it's made them happy.
I used to be very much in favor of "getting by" and a "good enough is good enough" mentally. After all, it's the rational point of view. Why work more, if you can work less? But the truth of the matter is that once you put your entire being into something, you immediately find value in it. Anything you do fully, however menial, magically becomes worthwhile and fills you with a sense of pride and accomplishment.
Atleast that's my experience. If you want a random person's advice, I'd say try it out and see for yourself.
You sir are a knowledge worker. Companies pay you for your knowledge, your experience, and your ability to solve problems. They are willing to pay you to sit around so that they can call you to work on something at the moment's notice. People are willing to pay reserved instances in AWS though the reserved machines do nothing most of the time. It's called reserving capacity. Same in your case.
Yes exactly this, especially at larger companies. I know a few of those developers, and they sit right near me...
They find a way to make any task take forever...
If it was a smaller company they would be called out, but at my [very, very] large company - its very hard to get fired. So what happens is that they are just given what is essentially remedial work.
As a fellow IC, it will in no way make my life better to call this person out.
This might be wildly unrelated but... how attractive are you, physically? Are you thin? Are you taller than most people in your peer group?
Do you more or less resemble the "dominant" demographic where you live? That is, the same gender presentation, ethnicity, etc. as most of your government and business leaders.
Are you a citizen of the country where you live?
Yes, if you only put in 5 hours, you are not delivering at your full potential. You are very unlikely to be delivering "10x Developer" work. I have no idea what your company size is, but I would wager that the top developers at my workplace land 10x as much code as you (and solid, well-tested, and efficient code).
Yes, you are lazy. I don't know what else to call doing the bare minimum. I'm not passing judgement and I'm not angry at you for it. But everything you've described can be summarized as "I'm lazy and I get away with it."
If, on the other hand, you tell us that your manager has explicitly signed off on you working 5-10 hours a week, then would this not be laziness but rather a fantastic job arrangement.
I think where a performance evaluation issue starts popping up is long focused work where you don't quite know how much effort it really takes to produce. Some things take a lot of investigation time and show little code, some things produce a lot of code and actually wasn't that much work. If your manager has a lot of reports, they have less time to keep track about your individual productivity.
It has probably effected your career, you could've gotten promoted faster, but did not.
Also people who can communicate, are personable and you can just give a task and they will figure it out with little fuss are also low maintenance employees, which is a value of it's own.
Back when I worked in the office as freelancer, I did bill 8 hours a day, since I was expected to sit in the office 8 hours a day, regardless if I performed or not.
In the past I worked at large and small organizations and I did see it’s generally much easier to slack in large organizations.
I worked my ass off for almost 20 years. But later than sooner I learnt. Now I coast.
Work hard if you want, slack if you want too. The defining factor for your success is who you are "friends" with.
I am fully aware of the amount of work developers do and never expect more than 50% of their time to be spent in full focus. But this amounts to around 20h per week.
The kind of behavior you describe amounts to me as medium-low performance, but as some other people mentions; there are other types of behaviors that are much more problematic because they disrupt the proper functioning of teams.
If you have low performance, but are not problematic and have other qualities that are positive; you won't be last in the list when thinking about salary raises nor first in the list when redundancies are needed. The other more problematic types will be instead.
I know someone who is "leading" an internal initiative I got STUCK on currently who is like that. Nice guy, talks a good game, but when the rubber meets the road, he has not delivered in any capacity. Not even in the technical implementation capacity, the easiest part of the project.
I saw another person at my last company who did absolutely nothing, but was VERY present in meetings and constantly battling other people who trying to improve stuff. Then you do `git blame` on the code-bases and you don't see their fingerprints ANYWHERE.
It was a problem throughout the company, to the point they introduced a ton of really strict agile processes to micro-manage points and work. Guess what? The bullshitters played that system successfully too.
It is common. And it is hard to detect from a management perspective. They don't know what ad-hoc meetings/reading/research/other work is happening, so it is hard to pin people down when they are not working.
I've actually mentioned this before in a previous comment[0].
> Are most of us secretly lying about how much we are working?
My motto is 3 good hours a day is an excellent day. You can't really realistically expect more from yourself. I consider anything over that a nice bonus.
> 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?
I have regularly run into people who do 0 work during their career, and I just tolerate them. One, because I have seen it enough to know it is normal. Two, because it isn't worth burning my social capital to attack that person. Like... what do I care? It's your manager's problem, not my problem. I just think it is hard to quantify.
I ran into people like but don’t care because I am not your boss. I (and others) do our fair amount of work which is usually enough to get the job done, despite you. I would never work late to cover you not working, but I never had to do that so far. I also don’t have a moral opinion about you cheating the company (after all you signed an agreement that you are not fulfilling just because you do not get caught). So I don’t mind either way.
The thing is, it’s easy to cheat employers being a software developer on a place where people don’t know much about software and/or don’t care much. Just don’t assume everyone does it.
Kind of, I definitely know a few. But generally those profiles are not incompetent, and can support the team in times of pressure. Also there's periods in my life where I'm definitely not so productive, so it's nice to know I can slow down as well without having to worry. The main issue is that it slows down the pace of the whole team — not just their work, but the energy in the group. This can be frustrating for team members who like to get stuff done and an energising, motivating atmosphere.
Side note: when you think about the salaries of profiles like that for the amount of code/functionalities/effort produced, it also makes you realise how much a side project is worth "cost-wise" — easily a few hundred thousands dollars. I do think these kinds of profiles deserve their salaries overall, the company definitely agrees to pay those high salaries for what is produced. The ones much more productive should be be paid accordingly though, which is rarely reflected.
>Do I have imposter syndrome and I am actually a 10x developer whose laziness makes them a 1x developer?
You're probably pretty good and with good potential if you were putting in the effort and practice. But you'll never know, and excellence is generally indissociable from passion and commitment. In my opinion you're not an imposter but not that far from it either. More engagement is expected basically, but at the same time companies have so much trouble recruiting that they are still happy with what you're producing.
You're capable of being a 4-5x developer compared to what you're doing currently (if you think about 5-10 hours versus 40 hours a week). But perhaps you lack mechanisms for motivation and continuing to explore spaces that benefit your team/org and might lead to faster promotions/career growth.
I.e., just haven't figured out as many intersections yet for what's sustainable and enjoyable for yourself and what directly benefits the businesses, teams and people you work with.
My suggestion is to add a few "virus" candidates (i.e., potentials for exponential growth) to your day to day. And push yourself more.
Getting a lot more productive starts with getting productive and gaining confidence/experience in small things. Assuming that's something you want (i.e., being even more effective) and that you're not just happy with the current steady state of where you are.
But to your points - a lot of software developers don't realize that they're in a steady state and are living a comfortable life (still a good deal for the company you're working for) when they could be making a lot more / having greater impact.
Part of the issue is that with programming our jobs are focused around 'automation' (in the form of software), so that very often we reach a point where our required effort really plateaus (and yet for the business still scales and provides value). If you want to really have exponential growth for yourself, you have to push yourself in those plateaus (i.e., find intrinsic motivation).
It's a dystopian feeling when you go Friday on 21:00-22:00 ( tired) and say to the boss: "we need to talk on Monday" and just leave the office a couple of times. ( I was also working on the weekends at home, had my laptop when I went swimming Sunday morning and when/if I went out fyi ).
Those promotions were directly valued to the value outputted. And were then transferred to my new job with normal hours.
Conclusion: it's not about the hours. It's at the value you create and that ( eg. For small companies) they can count on you more than someone else. But ofc. There is a limit, which is why i happily left my previous job.
Fyi: To me, It seems so obvious when people are slacking. I get that people have an off day, but spending 8 hours and they don't even know yet which component they need to adjust is a no-brainer about their effort after working in that project for a year. ( When I saw that, we went to the html and there it is: the name of the angular component "
I've had weeks where I do nothing, and then have two hours of real insight and solve a problem my team has had stuck in the backlog on for month/years in an afternoon.
I've had mornings where I browse HN, then take a shower, and suddenly realize the solution to a problem that ultimately brings my employer potentially millions in revenue.
At the same time, I can't perform these quick moments of brilliance for 8 hours a day, 5 days a week.
I've also had weeks were I put in long days quickly building a prototype needed to test out a new product idea, it's hard work but the results impress important clients and help everyone look good. But I can't keep up weeks like that for long without burnout.
The most import things:
- are you getting the things done you and your team agree are important, on time
- when you're involved with other people, where do the find you on the "oh god no" -- "oh thank god!" scale
If your team is on track solving the problems that need to be solved, and whenever someone pings you with a question or in need of help they leave feeling like you saved them a ton of time, it doesn't really matter if you work 5 minutes a day.
The inverse is also true. If people find that adding you to a project is a time suck, and things never seem to work right, it doesn't matter if you are putting in 70 hour work weeks.
My brain is bad at focusing on things, so it takes a lot of effort to engage, become productive, and then stop. There's a lot of time build up inertia, but then it's difficult to reduce that inertia as well. As a result I'm fairly inefficient by default.
I have a practice of never billing for inefficient time. I don't feel right doing it. As such, I tend to work an average of 10 hours per day but end up billing for more like 7 or 7.5. It's just a reality that I live with now.
So no, I can't get by on 5-10 hours per week. I would be fired quickly.
Although I have the knowledge to do my job well, I lack the executive function. Improving that is one of my main objectives but it's much easier said than done. I think it's the one thing that would improve my career and personal life the most.
All that is to say, there are plenty of reasons why some people work more or less. I work more than you because I'm not a productive person. I'm not a 10xer, I'm not more committed, I'm not more effective. I simply have to in order to get an acceptable amount of work done.
>Do people regularly run into coworkers like me during their career and simply ignore it because they find it too awkward to criticize them?
There are other ways to reason about this. My favorite pet theory is that slackers are useful for offloading schmoozing duties. If a hard worker befriends a social butterfly, that worker no longer has to directly socialize as much.
But everyone around you who does your exact same job knows exactly how worthless or worthy you are. Don't kid yourself into thinking you're some master con artist.
(1) deep institutional knowledge - code debt / knowing how to work with peers in company system to get things done / understanding business objectives / etc
(2) ability to think dynamically and react quickly within institutional systems - edge case bugs / outages / competitive feature response
It's like having a fully staffed fire station in a small town
Most of the time the guys are there playing foosball, turning out for events, and saving kittens in trees but boy are you glad to have them when the shit hits the fan.
If you don't go to management, it's probably worth doing another 5 hours of Leetcode each week. Regardless of how much work you do, the career lifespan at most companies is less than ten years. So you will have to prove you are a coder 4-5 times in your life, and probably at least once when you are over 50.
If I were your manager, we would have a talk about what motivates you and what you need to be productive.
For me on the other hand, I cannot do any deep work for more than 3-4 hours during a normal day. However, to comply to the historic 8 hours work day, the rest of the day gets filled with __other__ stuff, which may or may not is reasonable.
As others have mentioned already, I think it totally depends on company size, culture and people if you are able to gaze through a day by doing only a few hours at any given day. This completely coincides with my experience as well.
If you're a slacker, almost everyone around you knows.
The usual reasons I've seen for keeping slackers around include:
1. maintaining resources like budgets and office space
2. it hard to fire and rehire a position just because someone is a slacker. If HR thinks you are able to get by with a person slacking, then they will let you fire the slacker and not let you rehire someone else.
3. You could always end up with a worse employee. I'd personally rather work with someone who was predictably slow at working, but was otherwise a good employee than chance having hiring someone who has poor hygiene and body odors (usually a heavy smoker, who doesn't regularly bathe or wash their clothing, that douses themselves in musky cologne)
No, not all are like us, but there are a lot of club members from other professions.
At first it feels quite strange and you tell yourself,that can't last for long. But it does. I accepted my fate after about five years and learned to live with it. It's not allways easy to cope with it, but my wife suffers from the same condition, so we can support each other.
Heads up mate, life goes on. You're not alone.
What I've found for myself is this greatly demotivates me. Why am I putting in 6-8 hours of pure coding a day when I see the guy next to me doing 1 hour of work and getting payed 2x as much?
I legit have an ic7 on a sister team that has made 40 diffs in the past 2 years, I don't think a single one has been > 50 LoC and it was mostly config changes. Crazy world we live in.
All that to say that I do think most programmers do about 10 hours a week of coding because maybe either they have too many meetings or that’s just what’s expected in general.
That company is underwater now.
i looked back and was getting 1k lines merged every 2 weeks on average. nothing crazy I know but theres much more then just coding to my job, thats just reality.
Days/weeks where i dont get a certain amount of code done i feel like actual garbage (like the last 2-3 weeks actually). So i try hard to make sure im moving the ball forward daily. The biggest obstacle to this for me is poor planning upstream, missing/bad requirements, missing APIs that are presumed finished, etc.
Work you don't do is work that someone else has to do. If you're literally not working at all some days but claiming you did during standup (as you said in your OP) then the work assignments must be flowing to your team members.
In essence, you're asking your peers to pay for your lack of activity with their own work.
Nobody expects you to be crunch mode 8 hours per day, but you do need to make an honest effort. Don't be the guy on the team who makes everybody else do most of the work.
I could hammer out features all day and get a lot done for a little bit, but I’d burn out in a few weeks.
I honestly don’t mind people putting in only 10 hours a week as long as the quality is good. What I hate is people shipping 40+ hours a week of garbage.
And aggravated in my experience because:
- Its really hard to work with multiple people on the same project ( and when you do: https://en.wikipedia.org/wiki/Conway%27s_law )
- People Managers usually think they are buying bus-factor insurance and throughput for each additional developer. Additionally they want more devs to indicate they are an important team.
So this all conspires to you being in the 80% doing the remaining 20% of the work without getting payed less or being called out.
That said, I can totally believe people get away with it. At many companies, many managers seem to not care, be incompetent, or not believe they can do anything about it. I could personally never be happy with myself getting away with something like that, and would quit any job that couldn’t provide productive work for me to tackle.
I always valued having jobs that base promotions and evaluations on work output, not on hours worked. And if I can satisfy their expectations and outperform coworkers with just an hour a day, why should I do more? If everyone is doing it, it's not my job as a non-manager to fix it for the company.
Most businesses just don't need all their employees running at full capacity. I've been professionally programming for nearly 30 years and I've seen this be true in small businesses with < 10 employees and in Fortune 500 megacompanies. So there's often an unspoken agreement to be comfortable and cruise. This can extend even to upper management and owners.
The weird thing is you can often get yourself into trouble if you get too ambitious in such situations. People don't want their comfy little boats rocked too much.
From my experience the places that require running on all cylinders all the time are either incompetently managed (which includes understaffing) or very ambitious. Or both I suppose. The thing is, real ambition is much rarer than you'd think given how much society claims to value it.
I've had times when I was happy at both ends of the scale. Cruising is comfortable. Ambition is exciting. Both work for me at different times, but I do eventually tire of too much of either.
I will say ambition and full-speed-ahead only works for me when the goal is something that has value to me. Either a big financial reward or I believe in what we're building. I'm not going to do it as a cog writing your accounting software package.
https://www.amazon.com/Destroy-Tech-Startup-Three-Steps-eboo...
But I think you can ask why anyone would want to work at such a dysfunctional startup. Why work 70 hours a week when you can make more money for less work? One of the most interesting reviews of my book asked the question:
“Personally, I find the book most interesting not for the absurdly lousy management characters, but for giving a glimpse into the mind of a person that accepts this kind of treatment as okay, shoulders unreasonable burdens, and seems repeatably drawn into difficult situations with the corresponding drama that inevitably ensues.*”
It's a common problem so you are not the only one. Especially in large teams, or teams that are run by PM's who are not very savvy to open the hood and understand what had been going on. In most of the opposite cases, it's also awkward for some managers to challenge what you have produced in a day. It starts more on the foot of discovering: is there another mental block with the employee, are they having motivation issues (maybe you fall into this group), is there a training/onboarding issue? And I have seen first hand, most of the time - they give up and mediocre output continues.
Laziness/talent/ethics of it is not our place to comment for you - but it sounds like this would be a boring job to continue. Sure you can make good money and live a comfortable life, but I can't fathom if it would be fulfilling in the long run for me. Find what stirs your passion and try to apply to work. You have the luxury to do so.
Who supports the running software, who writes the code for new features, bug fixes and upgrades? Who works on planning and figuring out what to do or not do next? Who works to mentor and train and ramp up new employees? Who does the work to decide if we need to hire more, how we need to break up the work, where we need to invest more, etc?
My work experience has always involved all of these things needing to get done and never having enough people to do all of it.
Every second of my day is logged and reports are made by someone and reported to other persons about how much I'm doing and how fast. My brain similarly has to be firing all day, the entire time I'm clocked in. Visually scanning data from imaged documents, processing that in my head figuring out what to do with and how to classify items in the case, then trying to remember what special handling procedures apply for any specific element. I start the day sharp, by the end of the day I can't even sit down and pay attention to tv because my brain is just shot from having to keep track of multiple phone-books worth of rules/regulations/procedures and tariff numbers. I've been working 6 days a week for 6 months now, Sundays once my wife and I come home from church I just check out and stare in the general direction of the TV while my mind just goes somewhere trying to find rest.
I however do not work in software.
Despite my addiction to HN meaning that it’s 3 key strokes max from anywhere. And that the logs say I visit this site and others dozens of times a day, the actual time spent is maybe 20 minutes. Email and slack is 1-2 hours. Meetings/discussion collaboration 1-2. Coding/design/specs 3-4. This has been roughly the same for years. Some days I get 8hrs of coding in and feel like I actually did work that day. Most days I feel like I only worked a couple of hours productively and the interruptions and lack of focus feel real but the key logger shows I was indeed working away I just don’t remember it that way.
https://en.wikipedia.org/wiki/Bullshit_Jobs
Yours sounds like a textbook case. Reading it may give you some understanding of what's going on, and possibly what to do about it.
Perhaps you are a "duct taper" - your main job is actually to just be around ready to jump in when something goes wrong, not to ever actually change, fix or build anything.
That being said, it depends on my burnout. My burnout rate seems to be 3-4 years at a company. I worked hard at one of my previous jobs and climbed actually pretty high up the engineering ladder from a normal non junior engineering position, but got too burnt out with all of the additional responsibility. At that point, I noticed I stopped being as busy, taking more time away from doing basically nonwork things outside of meetings, and becoming a bit apathetic, too much that I was uncomfortable with it and quit because I needed to move on. During that time sometimes I was much less busy than I appeared but it made me feel bad over time.
I've been doing independent ventures lately and got a bit of that fire back but lately feel like I'm falling into the same trap and not being as productive as I'd like, wasting too much time on social media or other timesinks. I really need to kick myself out of this slump, I think I can but really I guess my productivity is linked directly to deadlines which I've been lax on setting for myself lately.
Anyways, long story short I usually don't pretend to be busy unless I'm burnt out, then I quit and do something else.
Yes. I definitely run into colleagues that are underperforming so much that it's obvious they don't work at all. But more common even is to bump into people that might work a bit but overall don't really care at all and don't put any effort.
We simply say nothing. I never share my opinion of said colleagues with anyone else. That's why they have managers. It's on them to figure it out. If we share the same manager I might give a hint or two but would never bring it up directly.
Now this is coming from a person who is not a workaholic. I try to do my job well because I enjoy being productive but I very rarely work more than 6 or 7 hours a day and that still puts me in the higher percentiles of productivity. I do think a lot about the problems I'm solving outside of work hours so I guess that helps as well.
EDIT: And when I mentioned I work 6 hours a day, I'm obviously not programming more than 2 to 3 hours on average everyday. The rest of my time is spent syncing, driving things, answering people, doing discovery work, helping, ...
When I started to apply myself, it turned out that I was one of the 2-3 most skilled people in the company. Which made me angry, because it meant that I could see all the problems, but I didn't have the power to change them. So my only option was either to climb the corporate ladder, or quit. I'm currently going back to bullshitting, and looking for a job where I either work fewer hours, or can really care about the work and be passionate about it. But there's very few jobs out there for co-ops, collectives, and groups working for real social good.
I think it's fine to bullshit a job if you are not hurting anybody. If your bullshit forces others to work harder to make up for you, I find that unethical, like leaving your garbage in the street.
I think when I first started programming I figured this out at my first real coding job. After about 3 months, organized the code, streamlined systems, met the needs of the stakeholders, reduced interruptions, pushed more responsibility back to the account managers, and provide a sense of security and trust to the owners of the company. (oddly enough I was the only developer) After that was established, the company had a meeting on Monday morning that I initiated. Once that was done, there were times I wouldn’t get an email/phone call for the rest of the week.
Keep in mind, rolling into this job I was a combat vet, and for what it's worth an MBA as well. I just have an innate sense of how to cut to the chase and get the job so I can sit back and reap the rewards of the front-loading work. It’s when I get bored that I get in trouble. Even since 2014 I always seem to have some side works/side projects going because well I like to be challenged. It probably also helps that I don’t really want a career in software engineering, so lately I have been just working on contract work.
I've utilized people that shy away from actually doing the work in the past to justify my own high salary. E.g. "Look at X. I get 10x more done than him. It would be fair if I'd get 10x his salary, too, but I'll settle for only 2x."
Then i started going to office after years of WFH and noticed the amount of time we spend on coffee and lunch and still being called productive because of those same two 2 points .
So i implemented a plan , when on WFH, i started playing chess during those long breaks. Believe it or not, the breaks were reduced gradually because either i win a lot and then i move over or i lose a lot and then i move over. goes without saying, your mileage may vary
Slowly after making it a habit, i was greatly able to reduce my non productive time to somewhat productive. like reading something about the tech or learning ..
Now being productive can be a subjective thing. you might read a lot about tech that has nothing to do with your job , so you are not productive for the company you work for , but still being productive to oneself.
I also think I don't work too hard, but I realise that I'm limited by how fast my brain can connect ideas. But it's always working in the background. In between work I scroll HN/Twitter and participate in programming forums. This is a personal endeavour but it helps my brain work on the ideas in the background. I've had plenty of 'Eureka' moments throughout my programming life.
Besides those, part of my job is just having knowledge. The experience to already have a good understanding of the inner workings of a process, or to intuitively understand a problem from the beginning. To know what parts will be hard and what will be easy.
The knowledge we have is very hard estimate. I think that's why we have such a big problem with our hiring systems at the moment.
If I am tasked with design and implementation, I tend to enjoy more so I tend to work more. If I am tasked with just the implementation, I tend to work less.
It also depends on teams. I worked in teams where the product owner wasn't very pushy and the all team mates tried to work as little as possible and I worked in teams where high pressure was the norm, the product owner was very pushing, team mates committed to over work and kind of pressured their pears to overwork, too.
In the low pressure teams we had less code of higher quality, in the high pressure teams we had tons of code of less quality which kind of needed rewrites.
If someone asks me, I don't think either of the extremes is good. A team or developer should produce a reasonable amount of work of good quality.
The basic strategy I've used is to write notes on every status update they give in the daily standups. The updates go right into our sprint planning tool. Then every day they are confronted with the fact that their prediction to, "Get it done today" failed to come true like six days in a row. They either realize the jig is up and get better or I fail to renew their contract if they're a contractor or manage them out/fire them if they're a full time employee.
I had one employee though that would do nothing for about 6 days in a row and then get two weeks of work done in a few days. I could work with that. And she only made like $75k per year (this was about 15 years ago) so it's not like she was getting rockstar salary.
Organizing people is hard. Being burnt out and frustrated takes a lot of time and energy. Someone can work hard 40 hours a week and get nothing accomplished (besides trying to get decisions made). I'm honestly starting to think that the people who aren't very invested get a lot done because they don't get distracted by politics. If all of your work energy is spent on getting work done, you'll do surprisingly well
Ultimately, if no one is taking issue with you, you are getting your tasks done, and you are happy with your pay, then you are exactly where you should be.
To answer the question in the thread title: I don't think most developers are lying about how much work they do, I just think it skews higher online, and the people who work less don't really care to share, or aren't around to share.
At one point in my career I was working 90+ hours per week, and while I learned a lot in that time (and at least convinced myself I was having fun), the end result was burnout. These days I work less than 40 hours a week. My management is more or less fine with that, and I'm fine with not getting stellar perf reviews, big raises or equity grants, or promotions. I've also been at my current company for a while; I've already done the 60-hour work weeks here in the past, and contributed a lot. I still contribute and add value, but less, and on my terms.
Just be sure what you're doing is sustainable. If you have to leave your current job for any reason (new manager who sucks, layoffs, company folds, whatever), will you be able to get good references so you can get another job? Will you be able to keep up the same low level of work at a new job? Will you even be able to pass interviews for a new job since you aren't really growing yourself technically?
Also be sure that the company is large enough that you're not harming things by doing minimal work. If you work for a multi-thousand-person company with bureaucracy and redundancies all over the place, it's probably fine. If you work at a 15-person startup, where you not pulling your weight could mean the company is significantly more likely to fail, it'd be pretty shitty to stay in that situation and risk causing problems for your colleagues.
Also I hope you're working remotely now and can do fun/useful/productive non-work things with most of your day. If you had to sit in an office for 8 hours while pretending to look busy (but actually just goofing off on the internet), I don't think that's a good use of your time (being paid or otherwise), and I doubt it'd be great for your mental health, either.
This is happening because nobody care in your company.
The bigger the company, the more the layers of middle managers, the more the pocket of productivity where someone can hide and do little. Join a startup and they founders in person will overwork you to the bone.
Having seen a few organisations I have a personal scale that goes from solo founder to government of a country: the more you get closer to a government, the more you see resources being wasted (of money, of time, of talent).
When I've been on the manager side, I punished a few underperforming engineers (which led to team change and then firing, as per company policy) but I could have very well avoided the discussion completely; my boss had no idea about my performance or about the performance of my teams. Even if he asked I could have easily come up with 10 different excuses about why productivity is so low. I had no incentives to get those people fired; I didn't get a raise; the probability of my company's stock being worth more because of that may have increased by some uber minuscule amount (mid companies tend to obsess about increasing returns while making sure no-one in the company has a chance to innovate, to experiment, to fail and try again; employees input is a tiny percentage of making a profit on equity).
The lack of accountability starts at the board of directors. Not a lot of people really care deeply about a company that sits on their fund's portfolio. Sometimes, even when they care, they tend to be too polite to underperforming managers. That lack of accountability trickle down through managers up to individual contributors. Every X years, after the company, unsurprisingly, doesn't deliver the expected returns the board decides to go into nazi mode, cut everything down for a bit and then go back to not caring.
On top of this horrible corporate lifecycle, the work done by engineers can be clouded pretty easily so evaluating poor performance vs poor conditions is not easy.
I am constantly praised on my work (both in quality and quantity) but I keep telling myself it can't be true. I normally do 1-2 hours of work a day right before my standup (often doing to work I said I was going to do the previous day) and every once in a while I work more if I feel motivated or if there is a production issue/big release. I know I do good work but I am often flabbergasted that I'm seen as such a good developer given that I'm putting in so few hours. I'm not trying to boast here, far from it, but I get a TON of praise and it bewilders me and I feel guilty.
My biggest issue is what I do with the remaining time. Sure, sometimes I clean, do laundry, cook, etc but more often than not I just lay in bed and listen to/read a book or play a game. I end up doing next to nothing every workday until 5 when I feel "free" and I can finally go do whatever I want. For a long stretch at the start of the pandemic I would just scroll through TikTok for hours, always with a small voice in the back of my head telling me I would be found out. I know depression is to blame for some of my lackluster motivation, and it's something I'm working on, but even so I have zero interest in suddenly putting all that extra time into work, especially when they are thrilled with my performance as-is. What sucks is there is no one I can talk about this with. My friends would probably get mad or think less of me and so I just keep quiet.
I keep thinking that if/when they hire someone to do the same work as me that I'll have to step it up since it will be obvious, at least to the other person, that I'm not giving 100% but even then I'm not sure. I've always outperformed my peers and so when I took my most recent job I never put in 100%, 80% max at the start and now it's down to 10-20% while putting out plenty of good work. Why should I work harder? I can't bring myself to care about it though I wish I could funnel some of that extra time/effort into my side projects.
So I have been called out and punished for it.
Whether this is a 'local minimum' I've fallen into, or this is just how I work my magic, I'm not sure, but it's worked for me for a while now, so I have no reason to question it.
I have a middling career, and I'm singularly unambitious (I want to do well at what I'm doing, without much thought to what my be my next step) somewhat because I've been very-low-level management and it very-high-level attempted to suck my soul out through my intestines.
Also like others said passive processing - chewing on an issue for 4 days and having the breakthrough in 20 minutes - if you only were paid for the 20 minutes it would be completely unsustainable, you would constantly grind and not recieve the rewards for that exponential (and humanly impossible) rise in productivity
If it is due to a lack of motivation, I would recommend WOOP, a science-based way to increase motivation and help people achieve their goals. Meditation, sleep, and exercise are all helpful too of course, as is cognitive-based therapy.
But again, if you're just cruising through your job as a means to an end and you enjoy goofing off on the clock, then I genuinely think all the more power to you. Just make sure that whether you are productive or not is an intentional decision.
I do recall briefly a (publicly traded) company where there would be weeks of almost nothing to do and then a frenetic rush to implement whatever had come down from on high. Guess you've got to decide what you want in your career... for many people if they can coast along and make good money, it's a good deal. My concern in that scenario would be what happens when the company hits a rough patch or gets bought out and you find yourself a 50 something who has been semi retired in place for a decade.
That seems to be about 80% of all developers & syadmins. Then you have the other 20% which are actually really hard working & productive and are basically carrying the rest on their shoulders.
It used to upset me, but now I think it just is what it is. Call me jaded I guess.
It's often not people among those productive 20% that gets promoted either, that seems to depend mostly on other factors, so OP's story does not surprise me.
Since, however, moving into the embedded systems space, I rarely see this kind of scenario, anymore. I see it as the effect of the commoditization of IT skills, coupled with the mundaneness of the kinds of software produced in typical IT shops. It's a sign of maturity (which to me had the stench of death).
I'm grateful to now (10 years+) working with deeper-skilled engineers, and getting to work on truly new products and technologies.
My advice is to embrace the discomfort you're feeling about yourself -- change is definitely indicated. Seize the day.
Eventually I decided it wasn't worth it. I took an enormous pay cut (more than half) to switch to a very, very different field. At first I had some money problems. Changing one's mindset from not having to even think about a budget, to having to actually make choices, does not happen overnight. But after a while I was in good shape and had enough to meet my needs, save, and have a little left over for fun stuff.
Then I made the idiotic mistake of going back to school. Now I'm back in this awful industry again out of sheer necessity, and I'm miserable again. You can bet your buttons I'll be out the door and back to my other career the instant my debt is paid off.
It's not that I'm not good at programming. I am. I've built some stuff everyone here has heard of, and that a lot of people use. I've been on some fantastic teams. But those times were the rare exception. It's also not that I don't enjoy programming per se. I do enjoy it again, up to a point, when it's no longer my job. But as work--this industry just isn't for me. And it sounds like it isn't for you either. The sooner you accept that and move on, the happier you'll be.
(Aside: How is it not a global fucking crisis that 85% of people hate their jobs? You know, the thing they spend most of their time doing? 85% of people hate most of their waking lives, and we're just fine with that.)
It could just be what you are doing isn't fundamentally that difficult and doesn't require a 40 hour work week and there is absolutely nothing wrong with that. If people think you're worth the money you are getting paid, then you are worth that money. They pay you to get things done, not to sit in a desk for 40 hours a week or be stressed for performance reasons.
It probably means the team lead or manager doesn’t care too much whether your part is done or not, which means it’s probably not critical work. Or they don’t understand what you’re doing as well.
I can say that Bay Area / SV serious startups, there is no real slack at all, a well run team would be actively gathering requirements and building product at 50, 60+ hrs a week. Big Co., you can def get away with lot more, see google’s: rest & vest subculture.
It also depends on motivation and what the person wants to do with their time on earth.
I am generally quite open about my lack of aptitude, as I result I've never really been promoted, I've just bounced around between different junior roles. It always seems obvious that I'm the most junior member of any team I'm on, but I'm starting to wonder if that's all in my head.
Your post kinda makes me wish I'd tried a bit harder at bullshitting. Maybe I could've at least made a bit more money.
- Peter Gibbons. Office Space 1999
My girlfriend and I both have reasonable higher education, but it's nothing fancy. Culturally, we come from a working class background. So we have a very strong sense of duty and a great work ethic. It doesn't translate into crazy hours, but we're reliable. We show up. Focus during work hours. Deliver on promises.
We've always considered this to be the absolute minimum one can do. We're basic workers, nothing more.
How wrong we were. It seems that in whichever company we work, or in whichever department of some large company, we almost immediately rise to the top 10-20%. Every single time. There's almost a gravitational pull towards us as peers and managers discover that we get things done.
We've said it many times to each other: "surely it can't be this easy?"
This isn't a compliment to ourselves. We're not brilliant. We don't work crazy hours. We're not super ambitious. Just plain workers. I don't know what everybody else is doing, but apparently not that much.
And this connects to your situation, the standard is very low.
Another aspect that works in your favor is obscurity. Even if they have the idea that you don't do much, they can't be sure, it could be that you're working on things they're not aware of.
Confronting a peer that seems to do little has a very high social cost, so people prefer to avoid it. It's not their money pissed away and people prefer to avoid drama.
And yet another aspect is our species' adaptability. We rapidly adjust to any situation. When we have a lazy co-worker, a few weeks down the road that's the new normal. It's no longer remarkable and we've adjusted to work with that reality.
By the way, I pass no judgement on people with a lower work ethic. A huge amount of work is incredibly dreadful, boring, non-rewarding, and we ask people to basically sacrifice their entire life to it, decades in a row, every waking moment. This idea that everybody should just switch to their dream job isn't as realistic as some claim it to be.
I worked at a company where someone like this was eventually unearthed, and the result was all manner of big-brother-esque counts of commits, etc.
Is the argument about morality or managerial structure?
This is a good thing. The pre-covid world was mostly a circus in that respect.
As long as the 3-4 hours of daily deep, profitable work are still there, we're good.
Edit: this comment does not apply to small startups where your productivity as an engineer is much higher and it (sadly) makes sense to work for 8+ hours a day.
Most of us developers and our managers perfectly understand that it’s not a paper-turning job and they really have no better options out there. In practice there is no supermen, only idiots who break things eventually in various ways. (Sorry if you, reader, are a rockstar developer. Nothing personal, but I’m tired to clean out these Augean stables)
The only exception is the flow, when I can shut the door and code straight through a day in a field that is completely my competence.
I think in order to work more effectively, you might want to try to both motivate yourself and slow down your work process/set reasonable goals. Since you are currently not achieving much, it should be easy to increase your output. One of the reasons you aren't doing that may (or may not) be that you are afraid of failure.
In my opinion, you can't go far wrong if you make steady slow progress. Don't set the bar high. Just keep identifying the next thing you could be working on in order to complete your project, and work on that. This doesn't mean that you need to be working continuously, but I think that if you work slowly, with curiosity rather than urgency, you'll enjoy working more, and you'll find that you're able to keep at it more than you are doing now. Be sure to take time to chat and socialize and feel grounded.
Always Be Starting - It's hard to start working on something. Just trust that if you start working on the tiniest part, you'll have a much easier time of continuing to work. You just need to get started.
Edit: I also find that being joyful helps put me in a good state of mind for working. Being anxious does the opposite. I have also found meditation to be beneficial.
Edit 2: You may find this helpful:
I am always upfront about my strengths and weaknesses. My manager and team accept that I can go forever on some simple things, because they know I'm going to do a good job in the end, and because I am always there to help someone struggling, or fix an outage. I tend to be given projects that are expected to take a long time anyway, while junior engineers get the shorter projects with the expectation that they'll ask me for help. It is a bit annoying when I want to work on something, and my manager says "let's see how long this takes you first."
I suspect your managers understand your weaknesses, and have decided that your strengths are worth more.
I suspect part of the problem is the standup culture of expecting a daily report. I used to have a bi-weekly meeting where we went over how things were going on all the projects. I was so much more productive on that system than I am in agile with all the meetings. Starting the day off by remembering how little you did yesterday is just a bummer. In the older system I would wake up early and work like 15 hours once or twice a month, and that was my most productive time. I can't do that now, because I know I would have to stop to get on a meeting.
I do know some engineers who seem to coast or just be unhappy 70% of the time, but the 30% where they show up is insanely valuable. Those people can stay in my org.
What I really hate is the guy doing what the OP is doing while his colleagues are working long days and weekends picking up the slack. That's just being an antisocial leech, and that person is toxic to a team and to morale.
I am disappointed to see so many folks here do so little work, mostly because it means I am accepting insufficient pay for the amount of work I do.
I find people like you unpleasant to be around because I value competency in my peers, so I tend to ignore you socially too, but outside of that I have no opinion on your choices.
To answer your question though, no, not all of us are lying about how much work we do. Some of us enjoy the work, find if fulfilling, and carry a professional pride in doing the work well.
I'm working to maintain a huge system that is kept working and the company I am employed depends on it.
It's a mess. You know, it's written in an obscure language not much people knows about so we have no hope of hiring a person who know the language beforehand, almost all original developers were left the company, documents are scarce, and mostly outdated, nobody understand the entire picture of the system as a whole.
I am maintaining it by fixing bugs. Most times, we don't know how to reproduce the bugs and there's nobody in the company who understand the portion of the code responsible for the bugs. Because of the obscure programming language, debugging environment is horrible. The best method is essentially equivalent of printf debug.
So I ended up spending months on futile attempts to find out the cause of bugs. It's a bullshit job. Spending more time doesn't help finding the cause of bugs. Well, I'm constantly thinking about bugs and the way to reproduce it I haven't tried yet so I'm still working on it, but this type of thinking cannot be measured and evaluate.
* The more internal hurdles in place to prevent a developer from solving a programming problem the less of a hurry that developer will be in to solve such problem. Hurdles may describe additional tools, build steps, security provisions, dependencies, processes, manual steps, and so forth.
* Some developers actually know what they are doing. Sometimes they appear to be 10x developers. They don't work necessarily harder, but just get things done. Getting more done in a shorter period of time leaves of idle time comparative to their peers.
* Lack of productivity is typically reinforced by the environment despite all their claims and agile methodologies. For example consider how many hours a day you are in meetings not writing code.
* Most lost productivity appears to be a result of poor choices of technology and/or training misalignments. It appears that Java turns any software authoring process into slow moving tar, for example. On the other side some developers won't even attempt to write code unless they have a favorite framework and a bazillion tools/dependencies. The excess extraneous bullshit chokes delivery into a coma.
* Most bad technology decisions appear to be deliberate around people concerns. Nobody wants to invest in dedicated formal training, so instead employers deliberately make choices around lowing hiring costs opposed to lowering delivery costs. Why should they invest in training when the average developer will stick around for less than 2 years? So instead seniors get paid more to do the same beginner work as everybody else, but likely get it done in a fraction of the time with nothing else to do.
It doesn't help that many of the folks involved (scrum masters, PMs) are utterly clueless. If you have a particularly weak team, you may not even need to pace yourself... just do whatever.
We have the ability to "work" this little and still be valuable because writing code has a very high barrier to entry. That 5-10 hrs of work took years of learning.
My current gig is demanding, but my work tends to produce results. So I'm happy to do the work there. I decided that early stage startups are where I like to be, working on products that I would like to personally see successful, and working with people that don't give me uncomfortable vibes. It took me 15 years to figure this out. If you're finding yourself trying to get away from work as much as possible, maybe that company isn't for you.
If you do want to work and you're finding it hard to be motivated, try tracking your own hours with something like Harvest App. You'll quickly figure out where your time is wasted. Hopefully, you'll even be able to make subconscious efforts to improve your habits, using those time measurements as one of your top observability metrics. You want to keep yourself really honest? Send weekly reports to your boss. If you don't trust your boss with those, ask yourself if that company is really for you. If you find yourself cheating the system, then you're not ready to leave the doomed outland of corporate mediocrity.
There's plenty of other possible reasons you might not be motivated though. Ask yourself how good your health is, how good of shape you're in, are you getting enough sleep, is your living/working space clean or polluted, do you have uncontrolled ADHD, just to name a few.
Once upon a time, when I was in that situation, I requested a salary cut for myself. (They promoted me instead).
So I would ask, are you providing value in some other way? In school I got a lot of informal extra credit, or at least good will, by participating in class a lot even when I hadn't done reading or homework. I'm sure that alone caused teachers to bump me up a half-grade or better. And then after 30 years of working I still do kind of the same thing by being useful at meetings and in figuring out what work can and should be done, defending and supporting my colleagues and staff, and otherwise being a good influence around the office. What I'm saying is you might have other skills you're not recognizing.
At the moment, I have been tasked with "test stability". I am unsure how exactly to proceed, and I have already mentioned that repeatedly running 2 hour tests to see where they fail, and when, is very time-consuming and inefficient, but people around me simply are expecting me to be somewhat inefficient at the moment. Having worked at exclusively large workplaces the last 10 or so years I am getting used to this. Also having worked on safety-rated systems conditions you to take it slooow, never rush things. Taking time is much more ok than being wrong.
Just because no one says anything doesn't mean no one notices you're bullshitting.
You're riding a wave right now, the demand for tech workers is unprecedented. For every person who has your work ethic there is a dev on your team picking up the slack.
Now here's what I'll leave you with: being a less talented developer who tries: that's good. Being someone who thinks you can put one over on other developers? That's bad.
From what you've said it's likely there have been more than one productive developer silently judging you in your lifetime. The consequences of speaking up are what prevent confrontation. No one wants to seem awkward and it's really up to the lead, right?
Well maybe the lead is too lazy or doesn't see correcting your lack of contribution as a worthwhile use of their time.
So in-case you were wondering why this has worked for you: it's because most people are passive conflict avoiders.
If you want to feel good about your life's work in your final moments it might be time to make a change.
There's often wide variation in how long something takes to do, and you have been given the benefit of the doubt. Also, however, you may have been judged relatively underperforming, and missed out on some fun & interesting opportunities as a result.
Hopefully you can find a way to spend your workdays that feels better and more honest. You've already taken the first step.
My coworkers tend to put in 10 hour days in the fall and winter during our busy season, in which we are bombarded with smaller tasks and bug fixes. They thrive on knocking out a large number of small things quickly.
But they then do “almost nothing” the other half of the year, when we should be working on large new initiates and better tooling.
I’m the opposite - give me a list of small soul crushing manual tasks, and I’ll procrastinate like crazy. But give me some vague user stories and a big new project with the freedom to be creative, and I’ll be pulling nights and weekends happily.
One question I think you’re asking without asking it is, “is this ok?”
And that depends on two things.
One, are YOU happy with this? Is your job just a means to an end, or do you want to have a bigger impact, be more productive, and enjoy your work?
If the latter, then you’re likely not in a position that properly challenges you or meshes with your motivations.
If the former, then the next question to ask is, “am I providing my employer with value?”
Are you doing work that would be hard to find others that could do it? Do you bring any unique skills or knowledge? Are you getting enough done that it helps the organization achieve goals, get new customers, or keep existing ones happy?
If so, great, you’re adding value and you aren’t draining the organization.
If not, then you might want to consider what and how you can improve.
And frankly every engineer and developer should be at least vaguely aware of what value they provide, both to make a case for yourself if needed, but also to make sure you’re satisfied in your current role and not just a butt in a seat.
- making managers look good by stakeholder demos - making sure your a team player - being active in core hours - unblock peers in PRs - not abusing pto time, just state your working and do your own thing so long as works done - delivering high visibility features - delivering value in planning sessions
When I get my actual work done and how long it takes for me to do it is irrelevant. What I do make sure is that I'm also outperforming some of my peers
I usually do all my work is one shot somewhere in the afternoon everyday. We also have to put comments on tickets everyday so I just have enough to write a paragraph and use that for standup. That takes me 2 hours of coding everyday give or take. most days I don't work more than 5 hours. This doesn't include the time I spend thinking about the problem though
- A guy he wrote codes for two hours, - he got stuck, so went out and bought a coffee took him one hours - during buying the coffee, he got an idea to solve the problem and solved
--- Should this 1 hour be counted as work or rest?
--- Scenario B
A guy he worked as a consultant (pay by hour)
- he was off for a day - he got some idea during his off - next day, he solved the problem for a client
= Should his off day be considered as work time?
What I did however is to use this free time to work on personal projects and to prepare for interviews for other companies. This played out nicely as I later changed job to a much more interesting company and team where I can make important contributions to the work and I care doing a good job.
Sounds to me like you are in the same situation, meaning you are not mentally stimulated and you simply don't care. My advice is either change job or if this is not an option then use this time to work on personal projects or further develop your skills/hobbies. Basically make sure you don't waste your time and put it into something productive for future gains.
I've been in companies, mostly smaller ones, where I've "crushed it" and shipped consumer products with small, scrappy teams and been very proud of my team and the goals we all achieved. And there was no way to hide in the cracks, and people spoke up if someone tried too.
I've also worked in soul crushingly terrible companies (Facebook, Intel, Microsoft, Ericsson, eBay) that cannot get out of their own way where tasks and features are wildly mis-estimated or just take an interminable amount of time to actually deliver.
Prior to my current position I was Lead developer for a big telecomms company, and I went from "highly productive" and delivering results with a small team -- we were small and we moved fast and we broke things. And it was glorious. Then I got "promoted" to a differnt team and regularly attended 19 scheduled, standing meetings per week, not including impromptu meetings with individuals of the team, and in a classic Office Space scenario, I had six different people I reported too. And I was still expected, by two of the people I reported too, to get 40+ hours of hands-on-keyboard time.
I am now back to a small, scrappy start-up team of four individual contributors and we have done more in five months than the team of 40+ was able to achieve in over 18 months.
A lot of the time, the environment will beat out of you any inclination to reach for the brass ring. It will actively beat you down. You either subsume yourself to it, or you find a different company.
But then, there are also those individuals which you just know are phoning it in, no matter the environment.
I mention this because I've found that this attitude of "I don't work enough" often comes from people who are working more than enough but only count the hours they're logging in an IDE.
I know a company where engineers publicly set their own twice-yearly objectives, which are then linked to their bonuses. You can imagine a number of advantages to this system from the perspective of someone trying to optimize a firm: high performers will set difficult goals, sandbaggers will set easy goals that look difficult. Telling the difference is still hard because often only an already-expert person can estimate a problem's difficulty, but at least the loop gets closed in theory.
If the companies you work for never catch you sandbagging, then you're good .. until they go out of business because of all the other dead weight they're carrying and you find the remaining firms use technologies that require you to re-adapt your sandbagging strategy. The firms hope that this adaptation itself will refresh your motivation for a decent percentage of your vest period (since you're one step closer to being truly obsoleted and need to build resume points). Anyone who stays past their vest period can assumed to be a sandbagger, so 2-5 years looks good.
Yeah basically you're fine for now; just remember that this business will kick you out on your ear eventually if you don't keep up. This can happen real fast sometimes. If you don't use some of your fallow time to do continuous learning, you might slip out of your salary range or out of employability entirely-- that's the tail risk you're taking.
Maybe that's why you feel some anxiety: you have a fat-tailed existential risk that hasn't triggered yet. You should feel anxious, it totally can and will trigger eventually.
My suspicion (and the way I read your post) is that you're meeting expectations, so sometimes at standup you have to diplomatically say, "Yeah I didn't really do much but I'm still on track".
If that's the case, I honestly see nothing wrong. I do this myself from time-to-time, and it's usually due to poorly defined requirements. It's always a phase and eventually I'll have moments of brilliance—churning out days of code in just a few hours. But honestly, that's normal for me. I know nothing different if that's wrong or bad.
There probably are people like that out there but i strongly suspect they're very much the minority.
I don't care if team mates are highly productive code churning factories as long as this does not impact me negatively. I do not care if team mates are lazy as long as this does not impact me negatively.
If I would be a manager, I would strive for equilibrium and moderation towards amount of work being done. I wouldn't like to see no work being done and I would like to have my developers burned out. I would pressure towards a good working environment, where people have built good relationships and trust. I would pressure on getting the most important things done. I would pressure on a good architecture and a good pipeline and tooling.
I happen to be very productive when I like what I do, and very lazy when I don't. I even work weekends for free when im loving my work, but I slack for days and weeks when I don't.
It's fine.
Y axis is years of experience, x axis is hours of any kind of work per day.
Short answer, people work on average 6-8 hours a day but the bottom quartile works under 4.
Short answer: No.
Long answer: Coders, Developers, Software Engineers, etc. (use whatever term you want) don't function like most "working" people. We don't work by filling in spreadsheets, shuffling papers and sorting cards, we also don't fix screws or talk a lot or cut hair.
A lot of our work is a) absorbing knowledge b) experimenting with things c) thinking about things. This then culminates in short but productive bursts of what non-coders would perceive as "actual work", aka. punching code into a keyboard. This btw. is the reason why hackers and "it guys" are always portrayed in movies frantically typing on a keyboard...its the only way of telling the vast majority of mankind "this person is doing stuff".
I am finding that Price's law[1] is very true in programming. You have two pizza teams that have 1-3 top performers carry the rest of the team/project. As long, you are not annoying, team would keep you. There is a very thin line when top performers can become unhappy with a company, project, or team and leave. People that were previously coasting might get more involved or the team implodes.
However sometimes I have been unable to produce almost anything for maybe 2-6 weeks. I was scared to be discovered and blamed. To my surprised it never happened. Most of the time I have been able to bullshit my way through it. Only once it clearly was discovered I did not do my job. Not even started actually. A manager asked a coworker to help me on my task, which was a bit of shaming for me, but not too bad either. I was a contractor and some time ago the company offered me a position (which i declined). So I do not think this had any consequences.
IMHO even the best coders don't code only. I think the important part is what you do with the time you don't code. If you watch TV you are probably lazy (it keeps your mind busy). If you sit in a distraction free environment and think about the problems you want to solve for your company, you are probably the most productive person in the company ;-)
Probably you are doing something in between, but even taking a walk can be incredible productive.
It drives me crazy when I see a lot of waste - whether it's time, money, or just human potential when people want to achieve more but they don't have the right opportunity because others dismiss them as not having potential. I became much happier when I moved to a small company that was run much more efficiently and very little was wasted, and if people are in a position where they don't feel good about what they are doing, there are sufficient opportunities for them to do something different.
Many's the day I've been sat in an office, reading Facebook on repeat, present in only the most physically literal sense, because my brain was not going to go into productive mode and trying to force it would be asking for a headache. But the cultural rules of "work" don't allow you to say "not today".
If you listen to people posting here, you'd think that you need to be sitting at a keyboard, typing furiously for exactly 8 hours a day, or you should be immediately fired. It's saddening to see that people in our industry still think that way, and it's a good reminder that even if you bring value to the company, you can still be canned if you don't play the political game and clang pots and pans whenever you ship a one-line bugfix.
A few months ago I started being payed by month, and now I do around 5 hours of effective work per day. The more relaxed work day due to less effective hours done was something I was looking forward to; I don't drag this mental burden with me the whole day anymore and it feels great.
My friends always say I work more than I should, but doing less always seemed like cheating and stealing to me.
Employees and colleagues value my output, which is encouraging, but hearing my friends' arguments and reading this post and comments makes me feel like I'm missing out.
Also HN: "There's no such thing as a 10x engineer"
The problem is that software work is very similar to being a novelist. And very few successful novelists are able to crank out lines of content for 8/hours a day. It is draining, but it is also work that can be leveraged by a huge amount. If a million people use my code or buy my novel, I have generated huge amounts of value. It doesn't matter if it took me 2 years to write the book or 1 month. I'm still able to make a living off of the revenue from that book. Same thing with code. If a software company is generating 5M a year you can afford to hire a team of developers to maintain it. Even if they are all not working 40 hours a week.
Today started 2 hours earlier than most, and 14 hours later I’m still at work, now on a client support call because they brought down their database and we just figured out how they broke it. It took us about 3.5 hours just to get this far; probably at least another hour or two to get them back up.
So no, I don’t think so. The easy days always get more than made up for by the necessary sacrifices we all make on days like today.
Oh, and as I wrote this, I got yet another meeting invite for a totally unrelated meeting tomorrow morning, again 2 hours earlier than a usual start.
The fact that you are really looking inward and thinking about this is super positive by the way, because without that things will never change.
Think about what it is you really want to achieve and find a job that gives you a sense of ownership and pride.
You got this!
In the past two years, I have been working in at a company building a high-tech 3D printer and developing slicing software only used by my colleagues. I am strongly motivated by helping people and I feel motivated by developing features that my colleagues benefit from. They are mechanical and process engineers. I feel I am part of a team that does not only exist of software engineers and I love it.
I might work 6-8 hours if I don't have any meetings scheduled.
I tend to work about two or three if the meetings are scheduled in such a way that I can't accomplish anything worthwhile in between them.
https://www.youtube.com/watch?v=f84n5oFoZBc
The idea / hypothesis is that sometimes we need to sit down and think about something for an hour, a day... This seemingly "wasted time" can pay huge dividends in long-term health of a project. Like compound interest.
As others have noted, this may seen "lazy" to managers, especially if LOC or sprint velocity is the metric they use.
> Do people regularly run into coworkers like me during their career and simply ignore it because they find it too awkward to criticize them?
In my experience and guesses, I dont think anyone (or at least the majority of people) in this industry (or possibly any industry) is entirely sure of their own competance, so they're worried about the same thing from you.
Remote work + my maturation as an engineer has gotten to the point where I can have OP's lifestyle, and it has allowed me to reorient.
I now have personal goals. Some are semi-professional (side projects, e-commerce, art, music, etc), some are financial, some are personal. In a way, OP is probably close to a coast FIRE in general - can't criticize that!
So if I'm giving less to my employer and spending my remaining daytime in My Goals..am I doing myself a disservice? Of course not - in fact, giving more to my employer would be the real disservice to myself.
Fortunately for me, a certain amount of my job is to directly innovate with UX for a device used in Life Sciences / Pharma research. It's not unreasonable for me to take a walk and think a lot about challenges.
But at the same time, it's easy to fall into the "I'm thinking about it still" trap and not work. And there can be a certain level of depression involved too. Am I inactive because I'm depressed or depressed because I'm inactive?
I personally wish for a 4 day work week that lasts 36 hours, but I could not stand to be that disengaged every single day.
And for what it’s worth, I’ve had developers like that on my team several times, and it doesn’t last forever. Either they get a new manager or new responsibilities, and it becomes obvious. Management eventually pushes them to work harder, and they invariably leave on their own.
That said, I have a question: How on earth can you barely contribute as a developer and not get noticed? No one watches commits? No milestone or deliverables? Do you report to technical manager?
I can understand if someone is on a desk pushing invisible paperwork (mangers etc) - but to me it seems like as a developer it's hard to imagine the coasting you describe.
1. What do you fill your time with at work when you aren't working? IE: YouTube, Doodling, or reading? (I'd count reading code as working).
2. How often do you think about your work? It's it only the 10 hours you claim, or do questions such as this one occupy your mind? (An extreme: ever dream about your work problems and solve them?)
3. How are you choosing what to work on? It's implied important else I'd assume you'd be fired.
You could be doing more and making your teammates live's better.
Be better.
Unfortunately the 80% tend to be paid similarly to the 20%. But high performers tend to move up faster, of course.
I've always found the imbalance to be pretty unjust, but it comes down to lack of certainty into individual contributions. If you confidently knew that person A was twice as productive as person B, you would be willing to pay a higher price to retain them.
If you're savvy and particularly productive, you can use your productivity as leverage in negotiations though. But has to be proven on the job
That said, I think I've got about 6 hours of real productivity available a day on average, expandable when doing urgent wrote work or for an urgent need. I've done some time on the 80 hour crew and it's bad for you.
But if I have just one thing to work on, and it's something I'm not interested in and don't particularly want to work on? Yeah, probably not putting in a particularly full week.
I've been amazed. My previous job was much more involved - easy to hit 6-9 hours of work every day.
It depends a lot on the company, pace of work, expectations etc.
If you're happy with this, enjoy it and ride it out. It's the best deal possible. If you're unhappy with not having enough work then it may be worthwhile trying to find a job at a smaller company or one with more active projects.
5-10 hours a work per week? That sounds average to me. That sounds like an average developer at a large company.
What I've learnt over the years is that people don't last around because they're the most brilliant, but because they're good people. Honesty, integrity and a sense of having each other's back is important, as important as raw skills.
I've worked with extremely smart people and people that aren't that bright, but committed and helpful. Companies are organisms made of humans. Not all ranks and not all positions require the one-type of human. That is a fallacy most Startups tend to pretend.
When it comes to personal productivity, a big part of it is your own assessment of what you've actually done today/this week/this month. There are weeks where you actually have actionable work that you can push through in a reasonable amount of time. Some other weeks, you have to rely on other team, other people with different priorities and you're struggling to measure any positive outcome, yet you've been very busy.
Overall, my advice is make sure you're a net positive to your team and the company. Cut the crap, and just make sure that you carry your weight in advancing the company. Sometimes, it means staying out of the way, sometimes it means assisting others, sometimes it means coding for 8 hours straight.
The larger the company, the larger the team, the less an individual can just sit down and do the thing. It's unfortunate but that's the way the industry grew. So much money flowed into this industry over the years and now we carry a ton of dead weight that is yet necessary for this industry to run.
The fact is, with multiple teams and work streams, it's virtually impossible for anyone to claim they're 100% busy every week, or that they're achieving a lot. We have to cut the acronyms and keywords bullshit sometimes and just admit the fact that some weeks we make great strides and some weeks we just pedal in the sand; and it's not anyone's particular fault (if it is, repeatedly, then they need to go). Because overall, most people want to feel like they're achieving great things, no one feels good feeling useless. So enabling people to achieve things net positive is extremely important, as much as cutting dead weight. No one sets off to pedal in the sand and feel like a fraud. If you're in a deadlock situation, approach your manager and say so, maybe you can transition to a different position or look for a different position where you can make a difference. Overall you only have one life, and work is a massive part of that, so honesty towards your own bottom line is as important as the business'.
For me the important question would be: How much do you _care_ finding that line in the haystack?
You won't find too many of those in startups though, because there work getting done actually matters.
If in the chances I am wrong, please accept my apologies but the effect remains.
I work very hard, and I don't expect others to, but I question why you would spend 40h a week every week just playing time-waster and obfuscator
Like I mentioned, it's overly simplified, but looking at any responsibility that you may have, it ends on delivering. Delivering a feature, functionality, a product, a result. Then it's up to you to take it further.
I only stayed 4 months; couldn't even finish my 6-month contract because it was too boring and mediocre. I got an offer from a YC-funded company and my employer allowed me to get out of my contract early.
Both of their full time employers are happy with their performance and output.
They get two not-trivial paychecks.
Every big company I've worked for has people who hide in the cubicle forest.
> Have I just been incredibly lucky and every boss I have had is too incompetent to notice?
Who knows if it is incompetence or luck. Performance is always relative. The truth is, you are probably are contributing more value than others on your team.
Once in a while this entails working late, or on a Saturday. The vast majority of the time it means showing up for the stand up and sticking around for 3-4 hours. I prefer not to work anywhere where anyone is taking any notice of when I’m at my desk or not.
With that said, still, I see why you would come here to ask this crowd about it.
Yes.
If you are paid to never create anything for yourself during a chunk of hours, using resources made available to you, in exchange for money, perks, community, access to licensed software, then its fine. Just deliver what you said you would deliver, on time. And move on.
However the nature of programming is bursty for me. That means I cannot program well all the time, but when there is such a phase I can get a lot done in short periods.
Just looking at the phrase "No 'Access-Control-Allow-Origin' is present on the requested resource" makes me angry on behalf of new programmers everywhere. I wonder how many have gotten to that point in webdev and just been like "Fuck it, this isn't for me".
However large or small the actual number is, and what exactly being productive means - I don't know.
I also believe that not your life revolving around other things apart from development is a good thing.
Maybe part of it is that when you do do something, it actually counts. And you don't waste time in perfectionism or ideology.
This would make you a 10x developer, but it mightn't scale up to a 40 hour week, because the non-working time will partly be used to assess what is really necesaary.
It can be anything from aiming at climbing up the ladder to working on your own stuff. You get like 2 decades of life where you have the most energy and potential, might as well make the most out of it.
Have you ever been stuck debugging something, maybe even something that should be simple, for days at a time?
I know I have.
I think because, in the course of actual work, we encounter these kinds of things and because of innate social reasons, yes, you're unlikely to be called out.
My goal personally is to get a promotion to Senior, a solid 20% salary bump and then cruise control like you are.
No, I never lied. It was exhausting.
On my first internship, it seems like all my bosses were like this!
Now, I don't know if those are the norm, or if I just had bad luck and worked at a shitty place for my first internship!
But yeah, I constantly feel like an imposter.
I wonder how much this plays into your being left alone and not being challenged by your co-workers. My guess is a lot. I'm sure the cachet of being an "Harvard Guy" has deterred many from even trying and simply assume you know what you're doing etc.
* Meh: unproductive geniuses, unproductive idiots
* Terrible: productive idiots
Honestly, I've had to deal with the Terrible far more than I've had to deal with the Meh. That said, in the org I'm in now, Meh will get you moved on to something "new" pretty quickly.
That's insane about our field, the sheer variance in so many things we do.
The other 50 hours a week is process, support, debug, test, documentation, attending meetings… We’re not paid for ESLOCs, we’re paid for all the crap around it.
I actually want to work harder, but working with a team, there's a lot of syncing, waiting, accounting, bookkeeping, whatever.
Does anyone have any book / podcast recommendations that can help understand this dilemma?
My problem with slackers is that they make productive devs feel like suckers.
But, no, I don't spend days in which I spend no time on my job (maybe an occasional day in which I'm in bad physical or emotional health and can't get it together to get any work done, but don't take leave; these are not typical). Overall, most days, I'm mostly working.
I think I'd actually go crazy if I was in your situation, I don't think it would make me happy, it would make me feel useless and unfulfilled. i've been in situations like that at non-coding jobs, and while in theory getting paid not to work sounded great to me, in fact it was not good for my mental/emotional health to be sitting around all day not working and not doing much else.
Unless I was remote maybe, perhaps I'd just do other things that I wanted to do that really had nothing to do with work (learn a musical instrument, learn a foreign language, make art), and feel fulfilled, as long as I wasn't guilty about ripping off my employer (which I guess could depend on the employer).
You say you weren't remote before pandemic. I'm curious what you did with all that time you aren't working? and how you think it makes you feel to be in this situation, are you happy with it, does it make you feel crappy even though you think you oughta be happy with it, other?
I am also curious what you think of the work you hypothetically could be doing. Is it horribly boring? Does it seem really useless, like nobody is going to care or benefit even if you did it? Are there barriers in the organization such that you don't think you could produce anything that really benefited anyone even if you tried?
I think maybe part of it is that programmers might be wildly variant in productivity? If you're getting good perf reviews, could there be someone else working more of their full time, but producing no more than you? I think maybe at a lot of places, the people doing evaluation simply have no ability to evaluate engineers, they have no idea.
I have worked before with people who produced literally nothing. If they got good perf reviews, I guess it's because their supervisors didn't expect anything? Perhaps their supervisors weren't working much either? Or just didn't know how emotionally to deal with a bad review? I had one coworker who (many years pre-pandemic) "worked from home", but when a rare urgent thing in their domain happened to come up, it turned out they didn't actually have the tools to work on it at home; I suspect they were never working at all from home. I wasn't very happy with this overall condition, but I'd never try to "turn them in" -- not necessarily that it would be "too awkward", but, I'm no snitch and don't want to be one. Who knows what's going on in that person's life.
I would have appreciated a coworker who could carry the load instead, but I've realized that I am significantly motivated by doing a good job, making high-quality products... and many people, and many whole organizations just aren't, they have other motivations. I've learned I'm not going to be happy unless I'm at a place where doing quality work is a motivation of many people.
Also... I actually enjoy writing code?
There's more to it than that, but yes.
I'm pretty good about putting 7-8 hours of work a day. There are a few days a year when I'm less productive.
Your accidentally achieving what needs to be done with less effort than another.
A lot of the work assigned wasn’t actually needed in the first place
Lazy people can find the best effort/reward trade off
Your arrangement seems to be more common in corporate development.
And if it's a salaried position, it doesn't matter anyway because the employer is getting the better deal anyway.
L'enfer, c'est les autres programmeurs.
How much are the heirs collecting dividend checks from the wealth I create working? Should I crawl at the boots of some St. Grottlesex graduate, telling them I could have worked harder, trying to gain some Stakhanovite hero of labor award from them?
If you have time to spare, which apparently you do, study CS so that you can be an L5, L6, L7 etc. at some FAANG. That benefits you and them.
You can make a new account on proton. Will send an initial message there.
If that means you only need to work 5 hours a week, so be it.
I've had jobs where I worked myself to the bone, literally killing myself to be as productive as possible, taking provigil to work more hours, and then I was fired for no reason and with no warning. It turns out the CEO was stealing from the company (I found this out later when he went to prison) and they didn't have money to pay salaries as a result.
I've had jobs where I did no work, turned up to the office one or two days a week and didn't even try to get anything done, but acted confident and knew how to look good in meetings with upper management, and I was promoted and given substantial retention stock grants. They were throwing money at me and asking me to hire people and build a team.
The whole industry is very much like Office Space, it doesn't matter what you do, management are usually completely incompetent sociopaths and can't tell who is working and who is not, would fire you without hesitation if it would make them 2% more likely to get promoted - regardless of how much you work or how much you have accomplished for the company. This is not a question of morality, the people who want you to work are probably doing even less work than you are, and if the shareholders want work to get done they should fire the board and hire competent executives.
Here's one for this question https://fast-poll.com/poll/1f20e9ff
(I wonder how much valuable information on HN gets lost because it does not get extracted properly)
By the time I left my last position, I was hardly doing any heads-down work. The team was an internal platform team, and the leadership was actively against sourcing any feedback from the eng/data teams we were meant to serve. The only things that were ever on the roadmap was long-term refactors that no one was asking for. My feedback on the direction of the work was by-and-large ignored, despite the fact that I was the only person writing any code on my project.
I started a new job and it's been a night-and-day different. Furthermore, the lead engineer of the project is a grinder which motivates me to at least pull my own weight.
TL;DR if you're an eng manager and want your team to be engaged, then lead by example, give them tangible goals, and listen to what they have to say.
Signed, Underpaid conscientious tryhard
I have a pretty rare skill set, combining deep genomics knowledge, system administration (from my hobby) and software development/data science. This means I often understand our full stack which is super rare as a biologist/bio-informatician, at least where I work. Just by interest I listen to a lot of tech podcasts. So I have an informed, strong opinion on how things could be, and it's easy to fake it until I make it by echoing the podcasters whom I respect a lot.
Sometimes I feel like somebody is on to me which is uncomfortable, but it may just be imposter syndrome. I mean I did build nice things that I'm proud of and at the rare times that I am really engaged with what I'm building I find it difficult to stop and even relaxing to work on. So maybe at those time I make up for it? I spend a lot of time avoiding boring stuff and seeking out fun things. Also I do a lot things around the house during work times (laundry, taking a shower etc). I just can't focus for very long when I consider something to be not fun. When we were still in the office I used to take pretty long walks or go and talk to people in other offices around campus.
I'm also a huge procrastinator, ie, for my bachelors and my PhD theses I skipped 2 nights (or slept 1-2 hours) in the weekends before they needed to be finished and I just wrote non-stop. Pretty stressful.
I get very good reviews, and I like to think that it is because I indeed do the most useful things at the right time and provide direction and vision where needed. Also in about half or less of the time my boss thinks I work. I start a lot of new things but hardly ever finish, but one of my previous managers said they like that, they had a lack of new ideas and enough people to grind it out. So there's that. I find it easy to call people in my company in other departments and get them to do things or set something up together, that doesn't really feel like work, I think that also helps, most of my colleagues hate doing this. But if someone did something remotely similar to what I am about to do they can save me a lot of time that I can spend not working.
Recently I started working with someone who I feel like is like me, but does work 100% (or maybe it only appears that way!). I find it a bit jarring how well he can estimate my productivity and skills. Then again, maybe he really does underestimate me and I'm having some imposter syndrome, I've never not-delivered when it mattered.
Btw, nice topic, I often felt like starting something like this.
Yes, after 20 years of doing it, I believe you've at last discovered that you're an incredible talent.
I would say I don't really support "You still work8h by thinking while you sleep" - while it's generally true, I think it somewhat shifts the point. I know that other day you event can't sleep since you mind is still boiling with processing. But there's other point.
In my younger ages I was completely consumed by work. Startups, 12-hours coding runs for weeks, constant learning, all that stuff. That was physically draining, but I had enough resource to accommodate that & still was enjoyed.
Later that resulted in ... surprise... burnout. Reasons are out of the scope, that's more related to personal traits. Still, after few years I've changed patterns. On the other hand, there's way less things to learn now. Not I mean there's not enough new tech, but once you know a lot of basics, you can learn necessary things on-demand easily, and just learn what's really interesting. And about same time I started working remotely.
With that, I've spend no more that 6 hours in a work, not more than 2-3 hours coding (with some occasional spikes with full-day coding once you have a very good vision how large project piece fits together). That was more than enough to be one of top contributors in ~100-people dev team. With good basement you spend less time on being blocked by some unexpected stupid things, and productivity grows. And there was lot of chatting, somewhat repetitive meeting, but that doesn't add much to the output.
Later with few job switches and with a lot life changes (wife, family, 2 kids) I've stopped at 2-3 hours coding plain in a more focused team, with minimal volume of meetings, and that works fine so far. With way more time left for other life.
As a developer I still know there's a lot of things can be done. There's always a lot of plumbing, a lot of "nice to have" features where (if I spend those extra 4-5 hours) I could deliver a lot of extra effort & results into sky. And I appreciate people who do that. While working in Yandex I've seen people way smarter than me processing dozens of tasks a day, making me feel uncomfortable about my productivity.
Still, that's my choice. I deliver quite good result which is appreciated. I estimate a week to implement feature which I could previously estimate as "I can implement it in 24 hours" (without a sleep). I choose to live more fulfilled live with my kids, my wife, friends, with more joy - and I'm glad to do that to common benefit.
1. Mental health is important. Doing a grind 8-9h a day is, let's face it, no more than a 10-year affair for probably 95% of all folks out there (workaholics do exist and their lives usually end very ugly and sad; don't be a workaholic). Start working at 20 and when you hit 30 you likely can no longer do the grind. Let's not kid ourselves. We all know it but we don't talk about it because that's somehow going to tarnish our perfect reputation or whatever.
2. Most programming jobs do NOT pay that well. HN is a special bubble and I hope the more privileged programmers around here are aware of their non-standard status -- but there's a LOT of work, both creative and laborious, that is being done out there by Eastern European / Asian / South American folks for some meager 4000 EUR a month. And I can bet my neck they work much harder than many other SV-based engineers. So the conclusion is: work according to the money you receive. The median EU programming wage is in fact not that good. Let your efforts reflect that.
3. Expectations from business people tend to grow to infinity. Another thing we should not lie ourselves about is that if you put more work regularly then at one point this becomes the baseline expectation and when you finally get weary and normalize your workload, what happens then? They start to grumble about your "underwhelming performance", of course. You know what? F_ck them. Give them some base amount they are relatively happy with, hustle every now and then to show them that you can get stuff done when sh_t hits the fan and that they can rely on you, then quickly dial back your efforts to the previous baseline. Then chill. Rinse and repeat.
---
I guess what I am trying to say is: don't take work very seriously because it's means to an end. I am 41 and I am really good at what I do but I can't bring myself to care enough to work as hard as I did even some mere 5 years ago. Most people are not that fortunate so as to work with a smile on their face. That's a fact.
And it's not worth it. My wife had to literally drag me to bed several times this year and this really has put things into perspective for me. With the Covid situation I have also grown to appreciate enjoying things while I have them because now, even with three vaccinations, I still have to wear a mask literally everywhere except on the street. And I have no guarantee that if I go take a vacation with my girl in another country, we wouldn't have to self-isolate for 10 days, why? Because f_ck you that's why, who cares that you got all the vaccines right? But that's a different topic. My point was: enjoy things in life while they last. Covid has clearly shown that even the small things we have can be taken away by a central authority even if we're good citizens.
As my mother still loves to say (she recently turned 69): work was here thousands of years ago and will be there long after you die. You have to stop stressing about work and career and future and try to enjoy life. I wish I could listen to this advice but I am working on it literally every day and I am gradually getting there.
I know some here will classify me as toxic or a lazy guy but meh. I always put some work into networking so I know I have where to land if things with my current employer turn sour. I have lost my ability to be truly loyal in a business setting. 99% of the employers out there will stab you in the back the minute it suits them financially so don't go ruining your health for them.
In short: yes, you likely are lying about how much work you are doing, especially in a remote work setup. And? You shouldn't care. You are doing your part of the bargain well enough.
Maybe many of us are.
But the bigger lie by far is the allegedly meritocratic standard of performance we are held to -- to be always relentlessly efficient, always "on" and in love with what we do, always striving to be in the top 10 percent of our pile, always keeping tabs on the latest shiny, etc. Meanwhile the years slip past, our relationships falter, the commute is the same damn commute (or if you're WFH the chair is the same damn chair). And while our salaries are above median, we aren't the ones really getting rich off the work we do.
So it shouldn't be -- in the least -- surprising that some of fall into that "fuck all y'all, I'm just going to coast" mode. In some cases permanently.
The sad fact is that outside of FAMGAN (maybe even in there), the average developer is so mediocre that this isn't noticed. I've had around 7 developer jobs of various levels, and I have always been able to maintain an average velocity with 5-10 hours of work per week. I know some of my coworkers were also this lazy, but I know many more really were not. They're just that slow. This held true even at a 4 dev startup! (I had to increase the hours to ~15/wk there)
Sometimes I could finish the whole sprint in 1-2 days. I learned the git commands to rewrite timestamps and would push that work intermittently throughout the sprint with `at` or cron jobs. I always had great performance reviews. No, you are not alone.
After 5-6 hours of mentally intense work, there are diminishing returns.
Therefore, I think about 6 hours/day are what should be expected from a developer, including 30-60 minutes of meetings/admin work. Though some companies might need another hour or two-- hopefully such extra time is not mentally intense and is more socially oriented work (such as meetings).
"Youtube: How Hard Should You Work? - Jordan Peterson"