4 ms·
How much of the workload is just the dev shortage/insufficient staffing? I am currently the only dev on my team because of departures (there should be 4). Now,
by MattGaiser 5y ago
How much of the workload is just the dev shortage/insufficient staffing?
I am currently the only dev on my team because of departures (there should be 4). Now, it is not really all that in production yet so it hasn't required late nights or waking up at odd hours, but it does linger in my mind that this could be a big issue if it grew a lot and my team didn't. I would hate to support it alone.
A friend of mine is missing two people on his team at another company. It means that they had to shove the interns into the support rotation to have full coverage of their app. They are hiring too, but as things stand, interns are staying up in the night deal with production errors and they are waking each other up as well, they are interns and don't know what they are doing.
Software seems like something that needs a sufficiently sized team after a certain point and nearly every team I know of anywhere is short people at the moment, even at FAANGs.
- rantwasp 5y agousing interns as this is unacceptable. is there a dev shortage or is there an expectation that you can hire people for cheap and work them to death?
- MattGaiser 5y agoIn economic terms, there are no shortages. In practical terms though, it means that there are a bunch of projects out there that aren't viable without heavily working people and employers are incentivized to extract as much as possible from people.
- rantwasp 5y agoprojects that are not viable should simply not get done. it always amazes me that people put up with this insanity. The first thing I teach junior developers that join my team is 1) learn to set boundaries 2) your WLB and mental sanity is more important than any project (if you are struggling you’re gonna get fired, ie don’t kill yourself with work when you are … disposable)
- cloverich 5y agoIt might also be applicants recognize that its not a healthy place to work -- interns staying up all night to fix production errors is a red flag. Then the problem is a bit self re-enforcing, and the only solution is to reset expectations and deliverables to maintain a healthy pace of work. If that pace is not possible, and the company can't offer competitive compensation for the scenario (ex: "We're asking you to carry the company, so here's some extra meaningful equity") then its in a downard spiral and its merely people abandoning a sinking ship.
- MattGaiser 5y agoWell that's just it. Apparently WLB is great otherwise at the company, but because they can't hire people, it now has become horrible. Anecdotally, a heck of a lot of teams are in this state.
- geoduck14 5y ago> How much of the workload is just the dev shortage/insufficient staffing? ZERO PERCENT. Listen to me very closely. The quantity of people has ZERO IMPACT on your work quality. Well... maybe like 3%, but hear me out. Your manager has a HUGH impact on your work quality. The work that is given to you, your PERCEPTION of the work, the urgency of the work, your development opportunities (and your response to them), the people you "hang out with at work" (note, this is about quality and nor quantity of work friends). Of note, hiring more people can help with things like "We need 24 hr support", but that can also be helped by things like "well, actually, we only need 8 hr support, and the customer can pound sand" - that is where a manager comes in.
- hondo77 5y ago> Your manager has a HUGH impact on your work quality. Are you talking a Hugh Grant impact or a Hugh Jackman impact? Sorry. Couldn't resist. Hugely.
- agloeregrets 5y agohttps://pbs.twimg.com/media/EetzqDFUcAA818B?format=jpg&name=medium https://pbs.twimg.com/media/EetzqDFUcAA818B?format=jpg&name=...
- KronisLV 5y agoYou're talking about quality, but what about quantity? If you need to develop: - the back end for an application - the front end for an application - some external APIs for the application - a structured data storage layer, say, with an RDBMS - an object storage of some sort, for example, on top of S3 - some sort of reporting functionality - mailing list functionality - etc. Then no matter how good your manager is, there'll be more work for 1 person to reasonably manage. Furthermore, the quality of your work can be stellar, but if there are 5 different problems, all of which need solving and you tell your clients to pound sand, you might find yourself with no clients. Understaffing feels like a real problem.
- ipnon 5y ago
- ratww 5y agoI used to work in a company with 400+ developers and our team barely had any new features to add. We took care of one screen in the app. However getting anything done was an impossible task and required huge amounts of code because of the complexity of the architecture. I left after 6 months and a couple weeks because I couldn't bear the stress. Fred Brooks is still right in 2021. More people, more problems.
- Sevii 5y agoThis is why FAANG pays so much. Imagine 1000+ engineers working on a single page in a web app. Your entire team is responsible for 1 widget on the page.
- afpx 5y agoAre FAANG developers more productive and efficient?
- jrockway 5y ago> More people, more problems. My theory is that teams scale exponentially. That means two people working together are probably as productive as two people working on completely separate things. (By completely separate, I mean totally different goals -- your weekend projects vs. my weekend projects. Definitely not employees at the same company, who in theory have some sort of common goal.) But it means that 10,000 people working on the same overarching project are about as productive as 14 people working on their own thing. This sounds bad, but if you treat it as a law of the universe, it's not so bad. If you want to do a project whose scope is the same as 14 unrelated one-person projects, you just need 10,000 people. It certainly seems to happen in other fields; there are no one-person teams building skyscrapers or new subway systems. People's workarounds for this are trying to split teams apart so that they can be somewhere lower on that exponential where the actual ratio doesn't feel so bad (1/1 is better than 14/10000). Unfortunately, it doesn't really result in great products and you end up with the classic "big company" feel -- where the company has 3 different chat apps, 2 infrastructure teams, is a gigabit ISP but can't upload or download to its own products at 1Gbps, etc. The individuals working on those projects are slightly more productive, but the company as a whole fails. So I guess if you work at a company of size N, and you feel like you're as 100%∗log2(N)/N as productive at work as you are on your personal projects outside of work, then you're doing great. The problem is that this feels super bad to software engineers, who probably got their start working alone in their spare time. But it's the law of the universe and there is nothing you can do to fight it, except hope that you can figure out a business whose scope is low enough where that log2(N)/N is pretty close to 1. (2 may not be the right exponent, of course, maybe it's something like 1.8. You'll never get around the fact that communication paths goes up like the factorial. At a 2 person company, there is only 1 1:1 to have. At a 40 person company, there are 39∗38∗37...=39! 1:1s to have. That ain't great scalability.)
- pyb 5y agoHow much of the dev shortage is due to excessive gatekeeping? The average interviewing process has become very burdensome these days. Not sure it translates in a higher quality of hires wrt the past.
- watwatinthewat 5y agoComing from a bit different of a situation, I am at a government systems center that runs off customer funding rather than tax money, so we take clients. My group is being run short of people just as you describe. Almost every project I have been on has been understaffed. My project last year was one year of funding to research application of deep learning for a problem that had only some classical engineering algorithms applied before. Besides the r&d, we promised to deliver software that they could use to verify experiments and test models against their systems, basically everything up to but not including integration (with integration coming later if results were good). The team was a PM, domain expert, and me. That's one person to do all the research and experiments and provide basically two working and tested software deliverables. Good times. My current project is one piece of a government effort run shared between two three letter orgs, a smaller contractor that's kind of PMing plus infrastructure, a large contractor handling modeling, and us handling correlation. We already had a correlator written in Java for portability--that is why we were brought on--so should be easy, right? A bit of data analysis, configure the software accordingly, pass off the jar and config and should be good. The effort was funded for about two people plus a PM but had had one full time and one partial for the past six months. Our part of the project ballooned to helm charts, four Kafka interconnected docker containers, security scans on all that plus a bunch more stuff required every release, lots of core rewrites to hit their scalability goals, constant data analysis because every week a performer comes in with a "hey why didn't this particular example get correlated as expected" question. Basically one person to cloudify + do data analysis on big data + rewrite Java software to scale better is just crazy. I am on it because the "half time person" left a year ago and wasn't replaced, and the full time person is now leaving also in August, so they're finally forced to restaff. I was told I'd do data analysis and algorithm work only, but over the first month I've only done security fixes and cloud infrastructure related tasking. I bring this up to point out, yeah it's cool to learn new stuff, but the shortage of people also means double or triple role work that definitely accelerates burn out.
- MattGaiser 5y agoI worked for a government agency funded by clients as my last job. Same issues. A big issue with understaffing is knowledge. Like in my prior job and you in your current one, you are spread across so much tech. I know that even in my current job I have certain work that is little more than Google and assume the tutorial does the job.