I’ve been employed in tech for years, but I’ve almost never worked
emaggiori.com
emaggiori.com
The reality is probably more boring: that programmers are roughly as (un)productive as everyone else. But we can see (and therefore evaluate) our own non-productivity, making it easier to overstate.
But about 2/3 of that time I've been on projects that involved little or no work. It's prevalent at banks, hospitals, and certain types of consulting work where you get brought in to failing projects but the projects are always failing because of organizational dysfunction, not because they needed more engineers, so there's nothing you can really do.
This can vary in extent from
- Here's 3- 10 hours of work. I need it by the end of the month. You can literally tell the boss that. They'll just say don't worry, just get it done
- This project will be getting new requirements handed down to us in a month. 5 months later, the requirements never came. I rewrote the whole legacy Java app in rails and fixed all the issues because this was pre remote work so I was sitting in a cubicle and very bored. Never told anyone, just threw it away when I left. I would have surely been punished for making people look bad if I told them I had fixed their entire app because I was bored in this kind of environment.
- The funniest ones: When the bosses constantly need to show you they are tough by demanding that you "get stuff done" but when you ask for details they say "we'll go over it in the next meeting". They are bullshitting but somehow feel that they need to act out being a boss so they constantly act annoyed that you aren't getting stuff done even though when you press them, they have no work for you. This can go for years.
- Once had a pre remote job at a major bank where they just threw like 50 consultants in a room and rarely gave anyone any instructions. I just stopped showing up and would answer chat if anyone chatted me. After about 3 weeks they figured out I wasn't showing up. I told them I wouldn't come back in unless they gave me work. They got back to me two weeks later and just told me I needed to start coming back in again but couldn't promise they could give me work. Ended up just walking away.
It's wild to me that this person believes that this experience is universal to other places. However, I do think there's a type of super corporate business where this is relatively common. PwC was one of those places for me. The people that were like this were described as 'lifers'. Frankly, I don't think there's anything wrong with doing just enough. It's not like these corporations are a net positive to the world.
But, you're choosing money and comfort over intellectual fulfillment. That's fine. Most people aren't like you. Maybe it makes you feel better to think that everyone is like this, but this is just a bias based on your own experience.
I guess I need a raise
The large, established organizations I've worked for have moved so slowly in comparison it feels like you're wearing two rings of speed. Once I was given 4 months to complete a 40-minute task. (I had other things to do, so I didn't just sit around, but I absolutely could have had that thing done the next day.)
As for the raise, too bad you work for a money-starved startup! ;)
[edit] He goes on to blame agile for all this inefficiency, but being old enough to have worked proper waterfall, I can assure you that task bloating is extreme under such a process. That was the one period of my life that matches some of the things mentioned here.
The root problem seems to be estimate bloat due to uncertainty. You can’t actually commit to a far off end date unless you know the amount of work (impossible) or include significant “buffer”. Agile should allow you to pack in more features if you are ahead, but apparently that’s not working out at the places he’s worked.
People in that environment quickly realize that their bosses can't tell the difference between someone who is hard working, motivated and skilled, and someone else who is a lazy incompetent bullshitter. Indeed they'll probably prefer the latter, especially if that person is the Right Sort Of Person. Nor will they listen to the right people, and often they have no idea even why they employ developers at all except that they are expected to be innovative in some abstract way. At some point this realization dawns and the devs discover that they can just ... not work ... and nothing happens. Nobody notices, nobody cares. The salary keeps rolling in. At first they may think, OK, I'll use the extra time for something work related, like taking online courses. The article mentions Coursera. They first take courses that seem maybe relevant, then they move on to skills their employer doesn't need but might look good on their resume. Then they exhaust the potential for using work time for learning and if they can get work-from-home, may start to just spend time taking care of the house, watching TV or sleeping.
I've seen this happen to a friend. His motivation is gone years ago. His project is nearly a sham that loses money hand over fist and likely and always will, his bosses don't care because he's there to tick the box labelled "we are innovative", decisions get made based on ideology first and what makes sense second, and yet he is very well paid. So, he just enjoys it, whilst dreaming about maybe leaving and doing his own company.
Specifically, I worked at the first type of company, which exited and sold my product to the second type of company. My product was credited with turning new company's profits around at an all hands meeting, but was shortly after critically crippled by a reduction in hardware by the IT dept. The product manager sided with them. They took away 50% of my database cores and disk space and told me to figure it out. The next two years were spent "optimizing" around the fact that they crippled the product at the hardware level, and sales of the product stagnated. It hasn't grown since. It can't, it doesn't have the hardware necessary to grow any larger than it is now.
So there's nothing to do but free up disk space every so often by reindexing tables so it doesn't collapse entirely. No features or bug fixes will ever make it grow larger. They want to grow a tree in a flower pot.
Just thought I’d add my 2¢. I’m sure others have had different experiences than me but I can’t be the only one working all the time, usually more than 8 hours a day unless I stop myself.
But one constant is that it takes a while to get plugged in at big companies. Rarely are you given a ton of meaningful work right away. The bigger the company, the longer the time. When the giant telecommunications co. (yes that one) bought our company, I was told it takes five years to get plugged in.
The architecture group I was on in that company spent most of our time pitching ideas that never saw the light of day. But our biggest internal client, the main company website, was more than happy to tell the top brass they were using our POCs. So the net result was we kept our funding, the boss of the company website looked like he was playing ball but actually got to do whatever he wanted, and we actually produced very little. Basically our boss and the boss of the main website had hacked the system. It took me a year to figure out how it all worked. It was crazy.
Isn't that just called work experience? I know I wasn't anywhere close to as productive as I am now in the first few years of my career, but I also got paid less. I think the pay is proportional at most places. It's almost like determining that is a job in itself! :)
Only the most incompetent businesses nobody good wants to work at would question this. It's as if this article is written for butthurt idiots running bad startups that want to shift the blame to the few employees they have left post-pandemic. How toxic and sad.
Not in my experience.
I've worked at startups with people that were both very junior and very productive - to the point that they regularly completed all tasks assigned to them for the week by noon or so on Monday and spent the rest of the time writing libraries to abstract away the "rough edges" and repeated work that was being done across the company and releasing them as open source.
Meanwhile, I've been at this for around two decades at this point, and I'm nowhere near as productive as those people were their first year on the job. My quality is significantly better, and I've developed a reputation for being able to justify not doing things that would take a lot of time. I get more done without "doing more", if that makes sense.
This doesn't sound all that productive to me, but it's understandable someone would think this is wanted early in their career. It does vary from place to place depending on how much legacy code there is.
It sounds like the kind of code everyone else would complain endlessly about and label as technical debt. They left a mess for others to clean up on the implementation side (the part bad managers care about; getting things "done") and preferred writing libraries they can wield for clout (the part that looks "smart" to their boss's boss). This is the impression they will leave with other junior devs. It's just the way it is.
In my opinion a good manager would prefer the developer to pick one: either focus on the implementation side or on the architecture side, but not both. These tasks need to be separate so that the abstractions aren't so... worthless... to every other project. Abstraction for the sake of it is so much harder to read than just writing the code the "naive" way. You can't really know how general you need to be unless you're truly spending all your time looking at everything else as an architect.
Had this at my current job shortly after starting. Was given an assignment to write a wrapper library for a 3rd party API that only had 4 endpoints (one of which was auth). None of them were complicated, the most complex was one that returned multipart data where I had to parse out a few things. Something that could be done in an hour, easy. I still decided that I would give myself extra time in case something else popped up before I could get around to it, so I told them two days. Everyone else on my team said that was way too short and insisted that I have an entire two week sprint to do it.
When simple things take weeks, people stop caring, turnover increases, estimates go up, and everything grinds to a halt. Teams should be small and ownership should be minimally and meaningfully divided. That alone guards against most of these hazards from my personal experience.
I've been employed in tech for years, some 20 years by now, across multiple small tech business, some startups, a few larger orgs. I always had work to do, there's always something to be: discovered, scoped, and/or delivered; there's always some maintenance to be done on legacy systems, there's always firefighting issues of these legacy systems, after firefighting there's always the cycle of writing a post-mortem, scoping improvements, applying improvements to reduce toil.
The author's experience is different, and that's fine, what's not fine is not being aware of the narrowness of your experiences and writing a blurb of noise about how "tech" (which the author doesn't really work at) requires no work and that Twitter and other tech companies shedding workers was expected through his narrow experience and worldview. That's just ignorance.
Genuinely: why?
Of course not all places are like this. People self select to the type of jobs best suited to them. People with ambition don't tend to want to be hired in soulless environments that are obviously not getting much done. I kind of work my ass off because I like being engaged in doing something technically challenging. It's a way of life. And since technical skills are in demand, finding places to apply them is not an issue.
But there are a lot of people employed in what I would label vanity projects where the whole purpose of the project is to make those that initiated it look good. It's not about the outcome but about being associated with some grand initiative that obviously requires big budgets, a lot of smart looking people, expensive consultants. Big organizations are especially vulnerable to this. Part of the corporate rat race is making yourself look good. And a well proven strategy for that is hoarding a lot of resources for some ambitious sounding project. The bigger the better.
The more soul crushing the environment, the bigger the need for the powers that be in such organizations to assert themselves like this. That's why fintech projects are so boring and lucrative at the same time. Lots of money and thus lots of incentive for people to get some of that. Most of those projects are complete and utter bullshit. Very few banks manage to innovate anything and limit their creativity to how they do accounting. Which obviously went terribly wrong for SVB recently.
Otherwise it's just team after team going through the moves of reinventing wheels endlessly. And usually quite poorly. Most bank software is kind of awful. Government projects are even worse. And since they are so tedious to deal with, consultancies that deal with them, tend to squeeze hard.
Propaganda.
> I help companies build challenging software products from scratch. I often work with early-stage start-ups.
And the article is riddled with bizarre typos like
> When they inquired about this, I conceded that maybe it was herded that I thought after all.
I wonder if we're entering a new age of AI-driven market manipulation
The great deception is this indirect sales pitch to replace humans with "AI" to clueless execs and discourage young people from even bothering to pursue this career. It's been going on long before 2020. The upshot has been how it affects the supply and demand to create an equilibrium that fixes the "high salaries" the article seems to cast shade on.
This blog post almost sounds like the "antiwork" subreddit tbh.
Let’s just hope AI gets real good at recognising AI spam
Sure, there are occasionally people who aren’t very quick or effective at their job, but they’re not the majority, and most everyone knows who they are. And those people don’t tend to get promotions, and they don’t get referrals when all of us hard working (normal) people move on to the next place.