Live data from Hacker News

We will never have enough software developers (2020)

whoisnnamdi.com

251–260 of 553 posts

Re: We will never have enough software developers (2020)

#251
post #207
post #90

Earlier quoted context omitted.

I've dreamed about a 20% policy like google had, except it's where you can work on anything, including code debt. I've tried to stress to managers in the past that developers feel the pain of code debt. It makes us slower! Enable us to spend time sharpening our tools and managing our codebase. One problem of course is, not all SWE can do this well. I wouldn't necessarily trust a junior hire to recognize and execute a…

I've worked at companies that tried to have explicit 20% policies, and it worked okay for some period of time, but then became difficult to prioritize. That said, I've typically been pretty successful at casually using 10 - 20% of my time to work on random low hanging fruit (dev ergonomics, performance, etc). For some reason using a quiet Friday afternoon, or time between tickets seemed to work better than an explici…

My take is that it's always going to come with an implicit expectation of some "business value" resulting if it's time granted to you by your management. If you say "let us hack, we could come up with something that makes millions of dollars!" they're going to wonder constantly when exactly you're going to come up with those millions.

Re: We will never have enough software developers (2020)

#252
post #24
post #7

Earlier quoted context omitted.

its not just the best ones. If you remove people from the grind for 1-2 days a week, give them a small budget and enough autonomy to do what they want, most people will fix shit that bugged them for a long time. The main problem is how micromanage-y the current development processes are. Everything has to be a ticket/user story and has to be planned and approved by some people that never even wrote a single line of c…

We can’t even push to a git repo unless it has a linked work item/story/task/bug. So, in order to say, upgrade packages or refactor difficult to read code, the work item needs to be approved by a non-tech PO. Guess how much gets done outside of planned/micromanaged? Answer: next to nothing.

Requiring it to be documented and approved is just responsible from a change-management perspective. At my company we have similar requirements and it is basically required to do that in order to meet security audit expecations. The problem is when they managers don't let you have a say in what gets done.

If a developer on our team things something should be done and can do it quickly, they are encouraged to create a ticket and do it. It gets code-reviewed and accepted. If it is not a quick change, they need to bring up the ticket at a planning meeting to make sure it is balanced against other priorities.

Re: We will never have enough software developers (2020)

#253

Earlier quoted context omitted.

Personally I do because I enjoy working with very smart people. The backlash against leetcode is the same as backlash against other types of tests: most people are going to fail and most people don't like failing, so they blame the test.

leetcode == smart ? oO that's new I interview many candidates at FAANG, I can easily tell the ones that have prep by just doing leetcode and the ones that knows the shit. I couldn't care less if you can solve all kinds of complex dynamic programming challenges. I ask coding questions that you won't find in leetcode and requires problem solving skill and good craft. And this is because I do like working with smart peo…

I consider solving technical challenges in interview the "LC style" interview as compared with talking about your past experience or language trivia grab bag. I am not saying literally ask questions found on leetcode.com

I think it is easier to know the shit to do LC interviews than somehow memorizing the question bank. I haven't seen many people succeed who were unskilled but managed to just memorize the questions.

Re: We will never have enough software developers (2020)

#254
post #24

Earlier quoted context omitted.

We can’t even push to a git repo unless it has a linked work item/story/task/bug. So, in order to say, upgrade packages or refactor difficult to read code, the work item needs to be approved by a non-tech PO. Guess how much gets done outside of planned/micromanaged? Answer: next to nothing.

> We can’t even push to a git repo unless it has a linked work item/story/task/bug Exactly the same where I work. The pace of getting things done is absolutely glacial compared to what you know you could achieve if you had any agency. I think the only reason this organization I'm temporarily a part of can even compete is that all its competitors must be equally inefficient.

But when something major breaks, and the answer to the question of "why?" is ... "well, I just thought i'd make that change, but nobody asked for it" what happens then?

I wouldn't want to be accountable in that situation.

Every change carries risk.

Re: We will never have enough software developers (2020)

#255

Earlier quoted context omitted.

Well, I think the parent is comparing software engineering to other white collar professions like lawyer. In my opinion comparing SWE to blue collar work like construction is apples to oranges. Ofc the blue collar work is harder and more demanding physically. It’s better to think about whether software engineers are being compensated fairly relative to other professions like lawyers. I think they are given that wages…

You also don’t need to spend years in a very expensive education with tall entry barriers and taking on massive debt. But also, you had the info in doctor fakeries available and still chose software.

I mean - this is YMMV. Typical SV FAANG engineer is from an Ivy League or adjacent competitive school. Often with a masters.

So, yes, you might not have to do the full specialty training and residency but it can still be quite competitive and expensive.

You’re only earning surgeon money when you’ve made staff level at FAANG. Which usually means you’re near the same age as surgeons and there was a lot of risk and grind getting there. If anyone thinks getting to staff at FAANG is trivial - I’d suggest they’ve been very lucky in life and aren’t a representative person of how hard it is.

People who could do either often go into software because of the nearly unlimited earnings cap. Theoretically you could start your own company and be ultra rich. That’s what I see often as the source. Less common with doctors afaict.

Re: We will never have enough software developers (2020)

#256

Earlier quoted context omitted.

Cry me a river. Software development is some of the easiest, highest paid work in history. The majority of the population is grinding away in tough physical labor or abusive service jobs getting paid pennies while software devs moan about only making low six figures and getting a few boring jira tickets while they sit in their home office reading hacker news for half the day.

On one hand, I agree with you that on the whole we're a bunch of spoiled crybabies. Totally grant you that. On the other hand, saying that the majority of the population is grinding in tough physical labour is just not true. Most other jobs are generic office jobs that don't need to be done (just like 80%+ of software engineering jobs don't need to be done). Most of us are just doing things for money. Are most people…

> Most other jobs are generic office jobs

I really don't think this is true. Maybe in the US, but worldwide I would charecterize most job environments as closer to sweatshop than office.

Re: We will never have enough software developers (2020)

#257
post #86

Earlier quoted context omitted.

> Software development is some of the easiest, highest paid work in history. Nope this is an outdated opinion. You can do just as well or better in trades (source: my electrician buddy). If you’re referring to the FAANG salaries (sub 1%) you’re comparing to doctors, lawyers, entrepreneurs in terms of opportunity cost. Your average joe programmer isn’t killing it like you seem to think, and they’d do just as well in t…

Yeah, but in trades you have to climb in hot attics, deal with sewers, work outside, etc. And you have to put in a full days work. How many of us developers actually put in a full 8+ hours? I know that I don’t. I can usually get my assigned work done in about four hours. Can you imagine an electrician or plumber or doctor or lawyer only working 4 hours a day? It’s insane how much I get paid for what I actually do.

I know a few doctors working < 20 hours a week.

Re: We will never have enough software developers (2020)

#258
post #18

Brother is teaching at the University among other things and from the stories he sometimes tells me: I do not worry about agism or work at all. Lets just say that when we were studing, most ppl were not the brightest tool in the shed. Now its supposedly many many times worse.

Agreed. I hire interns every year, and I am continually astounded at just how incompetent so many people are who are months away from finishing a master's in computer science. On paper, I wouldn't expect a shortage of software developers. But as a practical matter, more than half of everyone I talk to who is about to finish their CS degree is very clearly not going to last long in this field. Not just because they ar…

I've always considered Computer Science to be a distinct field from programming (or "Computer engineering", if you will). I mean, a brilliant particle physicist does not necessarily make a good engineer, an astronomer doesn't necessarily good telescopes, and a cancer researcher doesn't necessarily make for a good GP.

Not that these people automatically lack the ability to do these things well – some do, some don't – it's just that they're different fields with different training, mindsets, interests, etc.

Re: We will never have enough software developers (2020)

#259

Earlier quoted context omitted.

That definitely sounds broken. I have a hard rule with my PO: 30% of the sprint is mine (read: the team's). He only gets to schedule 70% of the stories according to his priorities. I use that 30% for tech debt, primarily, but sometimes for spike projects and other things that interest us.

It sounds like SOC2 compliance requirements unfortunately. Plus process overhead on who can raise tickets. I've found compliance makes it harder to write good code. If you get a PR approval with optional suggestions you're heavily disincentivised from actually addressing those comments since if you push those changes you now need to wait for review again. Like everything process and compliance it's designed by low-co…

I fundamentally disagree with this.

In our product, a change has the potential to cost businesses lots of money and also bring our customers into legal trouble, potentially making us liable too.

That's why we have heavy-handed change control, code vetting and so on. Yes it makes things slower, but due to the risks involved.

I've also worked on embedded projects where field updates are HARD and costly. We had heavy-handed change control then.

When I put those controls/processes in place, it wasn't due to low confidence, it was due to confidence in two things: (a) even the best SWE makes mistakes and (b) work to control change risk pays off

Sure, it isn't appropriate in many chases, but to write-off process as being designed by "low-confidence managers" because you don't see the point, is a bit myopic.

Any SWE who thinks that a codebase doesn't benefit from review before merging is driving on ego.

Re: We will never have enough software developers (2020)

#260

A fascinating premise, and matches what I saw as an engineering director. The best just get bored and move on. I think many teams are unaware how much extra value is possible by retaining existing employees vs hiring new ones. Each year I'd try to make sure I was "making them an offer they couldn't refuse" with new interesting challenges, new tech, plenty of personal research time, as much pay increase as I could pos…

> The best just get bored and move on.

It may not be a matter of "the best". I have taken a personality test that had an item on it that covered product lifecycle. If 1 is initial conception, 2 is prototype, 3 is initial release, 4 is major enhancement, and 5 is maintenance, my personality is that I prefer 2 or 3. By 4 (major enhancement) I start to get bored, and by 5 (maintenance) I'm definitely bored.

It's not that I'm one of "the best" (though I like to think that I am). I have a personality clash with the later stages of product lifecycle.

Post reply on HN