Live data from Hacker News

We will never have enough software developers (2020)

whoisnnamdi.com

491–500 of 553 posts

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

#491
post #351
post #331

Earlier quoted context omitted.

Yes but I interview for a role where we dont have set languages: we're a small optimisation team working across system when they reach capacity bottleneck and we do JS, C#, Java, C++, PL/SQL fixes completely transparently, we've slowly learned that languages really dont matter all that much for performance tuning as much as programmers mishandling which are identical in all of them (hash map loops, abusive recursion,…

I think both sides of the argument have reasonable points. There are advantages to having deep experience with a tool, but I have also solved bugs in languages I didn’t know. What I think is missing is there are serious diminishing returns with more experience in a specific language or framework. 10 years of experience split 3 in Java and 7 in C# is very similar to 7 in Java and 3 in C#.

But the two languages are very similar. I get your point though, it's not clear how much you gain by doing 20 years of PHP over 10. I think this isn't unique to programming - is a lawyer with 20 years of experience necessarily better than one with 10? An accountant? A nurse? And so on and so on. I do think looking at myself I am much better in my 10th year than I am in my 5th - not only in specific technical tools but how I approach things, how I relate to others etc. So some of the gains are in soft skills which are super important to be effective. However will I keep improving at this pace? Probably not. Who says I have to keep improving exponentially?

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

#492
post #351

Earlier quoted context omitted.

I think both sides of the argument have reasonable points. There are advantages to having deep experience with a tool, but I have also solved bugs in languages I didn’t know. What I think is missing is there are serious diminishing returns with more experience in a specific language or framework. 10 years of experience split 3 in Java and 7 in C# is very similar to 7 in Java and 3 in C#.

But the two languages are very similar. I get your point though, it's not clear how much you gain by doing 20 years of PHP over 10. I think this isn't unique to programming - is a lawyer with 20 years of experience necessarily better than one with 10? An accountant? A nurse? And so on and so on. I do think looking at myself I am much better in my 10th year than I am in my 5th - not only in specific technical tools bu…

Actually yes I would expect them to. They should keep up to date with changes - laws change all the time. New equipment is created for medicine all the time. These might be pretty fundamental and are not soft skills.

Maybe the base "lawyering" or "nursing" does change but they'll have seen a lot more examples and be able to pattern match quicker.

Also I'd rather a 20 year nurse was the Charge Nurse rather than a 5 or 10 year one, I'd expect they'd know more how to lead others (although time served isn't always an indicator of a good leader).

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

#493

Earlier quoted context omitted.

But the two languages are very similar. I get your point though, it's not clear how much you gain by doing 20 years of PHP over 10. I think this isn't unique to programming - is a lawyer with 20 years of experience necessarily better than one with 10? An accountant? A nurse? And so on and so on. I do think looking at myself I am much better in my 10th year than I am in my 5th - not only in specific technical tools bu…

Actually yes I would expect them to. They should keep up to date with changes - laws change all the time. New equipment is created for medicine all the time. These might be pretty fundamental and are not soft skills. Maybe the base "lawyering" or "nursing" does change but they'll have seen a lot more examples and be able to pattern match quicker. Also I'd rather a 20 year nurse was the Charge Nurse rather than a 5 or…

> Maybe the base "lawyering" or "nursing" does change but they'll have seen a lot more examples and be able to pattern match quicker.

They've also been burned out by being 20 years in the field. Motivation is a very very crucial thing for success and motivation often times declines due to burnout. Yes said lawyer saw more cases as mine than his younger colleague but he might not be super motivated to fight for me in court as he was 20 years ago, and in any case there are constant tiny changes to laws that make the 20 years experience worth less.

Btw I think 55 year old lawyers/accountants who look for a job face pretty much the same discrimination as software developers - they are expected to be director level or there's not that many jobs for them. This thing is definitely not unique to our profession...ageism is a thing everywhere.

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

#494

Earlier quoted context omitted.

You think directors feel safe? I highly doubt it...

Safe about their current job? Probably not. Safe in the sense that they can definitely get a job at the same level (albeit at a smaller company in some cases) - pretty much

In a downturn I'd rather be a SWE personally. No job is safe but there's just more jobs out there for SWE folks.

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

#495

Earlier quoted context omitted.

a not in-depth definition would be a 1 sentence definition of a hash map with probably give me an example of when you might want to use it. an in-depth definition would be that, followed by how you implement a hash map (thus if your language of choice already has a hash map, don't use that but show us how you would implement this classic data structure), how do you avoid collisions, maybe discuss some various ways th…

I don't think understanding how a hash map, an incredibly simple data structure used frequently, is all that "low level." If I really wanted low level, I would talk about having linked lists of arrays rather than a linked list of nodes so that you could benefit from fewer random lookups. I work as an ML engineer, so very high level.

Ok, perhaps for your job it is reasonable to know what I call the in-depth definition - implement hash map functionality in language interview is using without using built in hash map functionality of language, discuss trade-offs (or perhaps it is your particular interests that allows you to keep this information readily available) but I guess you can see how many people's jobs do not require this and it would be reasonable for job interviews in those fields to only want the shallow understanding - one line definition of hash map, when would you use it.

If you ask for the in-depth understanding for positions that would never need it, it follows that you will be disadvantaging many applicants who might be great for the position and advantaging applicants who know at least one non-relevant thing.

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

#496
post #488
post #48

Earlier quoted context omitted.

I have the same experience. I cant event get people onto github. We spend thousands a month trying to keep our international teams connected to our local servers and they still have to zip up the project and send it to me over teams.

Wow, I had no idea. I wonder why all of the resistance - if not github then even the git protocol over ssh or a samba share.

Or zip up the git repo and send it over teams :)

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

#497

Earlier quoted context omitted.

This has to do with ownership and inheritance, not that SWEs are poorly paid laborers. Many software engineers are in the global 1% richest.

> Many software engineers are in the global 1% richest. I mean, some are, yes, but … I'm not, and I know many SWEs who aren't. > According to the 2018 Global Wealth Report from Credit Suisse Research Institute, you need a net worth of $871,320 ( https://www.cnbc.com/2018/11/01/how-much-money-you-need-to-b... ) I miss that cutoff. But if you narrow to my country, the requirement for being in the top 1% jumps to $11M .

Most people don't get into the top 1% net worth by receiving a salary. To get there, you probably have to invest over a long time horizon (possibly more than a generation) while keeping spending to a minimum, inherit the wealth outright, or start a successful company.

Even successful lawyers need to be senior partners to achieve that kind of wealth ($11M), and don't forget that for each such lawyer, there may be many people who end up as some clerk or generic legal representative in some organization, who may have salaries much closer to a SWE.

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

#498
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.

Guess how much would get done if you learned to explain why that work is important to a non-technical colleague? Lots. People don't always understand code, but they do understand problems, and why those problems are important to keep on top of. If your PO is sensible then a couple of paragraphs explaining why refactoring is important with a closing line that says spending a week catching up on refactoring now will sa…

> spending a week catching up on refactoring now will save 4 sprints of work in a year's time will get you the time.

In my experience that’s very rarely if ever the case. Managers will always favor features over fixes in the kind of company that ends up with a crippling tech debt problem. They got there by not listening to engineers and having salesmen managers. These companies never change and no manager wants to be the one who’s fixing things for the next manager after they get promoted. People are idiots (maybe) but they respond to incentives. And very often the incentive is that problems that may arise in a year or two are someone else’s problems so not worth fixing now.

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

#499
post #345

I think this article hits on some truths and gets a handful of things wrong. First, they are correct that we are in a dynamic profession that requires constant learning and expanding. No doubt the people who choose to stay in software are likely to be people who are curious, life-long learners where this is a benefit of the profession rather than a drawback. That said, one thing I noticed from teaching computer scien…

It's interesting because at least in terms of working professionals, of the most productive professions I've worked with, the ones who focus on "meta-level" concepts are usually the ones who overthink every detail and get very little work done and ultimately they are the ones who burn out. They tend to bike-shed details, take way too long to try to create sophisticated abstractions that never quite achieve the silver…

I understand the concept here but there is also a level of right tool for the job.

Some guys see a screw and reach for their trusty hammer. Some guys know to grab a screwdriver.

I had a project the last two weeks where the code was just going to fail about as often as it was going to succeed. I had to write a resource manager and an Erlang style supervisor and use an embedded key value store.

A better dev may have intuited what took me basically a midstream rewrite to figure out, a worse developer may still be grinding on the problem.

I think my solve is "robust enough" but there was no real way to power through that. You either found the right abstractions or you didn't.

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

#500

Earlier quoted context omitted.

Updating a dependency, refactoring some code, or just making a 'simple' change sets off a chain of events that affect other people. The other devs need to review the code, the QA team need to test it, and then regression test the rest of the app, the devops team need to deploy it, the legal team need to update the legal documentation that lists the licenses for the dependencies the code has, the technical writers nee…

Once you have technical decisions being taken by non technical managers you are sunk. It's hugely insulting to experienced engineers and it's a major reason that people leave. People crave respect and if they perceive that they aren't getting it, they will do what they can to get out. You cannot micromanage engineers in this fashion and expect to have good retention.

Well said.
Post reply on HN