Live data from Hacker News

We will never have enough software developers (2020)

whoisnnamdi.com

371–380 of 553 posts

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

#371

Earlier quoted context omitted.

I would expect the basic notion of hashing to decide where to place an element as well as a strategy for dealing with collisions (the basic approach being hashing to a linked list). This didn't require any "memorization" on my part.

Ok fine, so not an in-depth definition, but someone might think you mean an in-depth definition if you don't specify the level you expect is being used (perhaps because they have encountered that situation). I mean if you ask me define a hashmap and how it works for example I might think: "aw damn, this guy wants the low level details, I bet this place sucks to work at!" Although I would probably ask them to specify…

I'm not sure what you even mean by an "in-depth definition." What I said is basically constitutive of a hashmap, it's place in the history of CS or whatever is not.

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

#372

There is no shortage of swe. What I see and what I have experienced first hand is that companies, especially the more hyped/small ones, pretend to be FAANG and gets very picky when interviewing. They often employ FAANG style interview. Now, if I really have to spend that much time prepping to interview at your unprofitable company (that most likely will go under) don’t you think that I would try my best to work at fa…

I agree with some of what you said, mainly this:

> Now, if I really have to spend that much time prepping to interview at your unprofitable company (that most likely will go under) don’t you think that I would try my best to work at faang instead ?

I feel the same way.

That said, my company and many others make the interview process much easier but still find it difficult to hire. I know this is a common problem, because I get bombarded with good job postings by recruiters and they are usually still there months later when I finally get around to responding.

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

#373
post #349
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,…

If you are doing optimizations I would say you need at least a few years experience in the language. You often see people say they switched from language A to language B due to performance, then some guy optimizes the same lib/functions in language A and it gets 10x faster then the optimized version in language B... and people say: Yeh, but that guy has several years of experience. Once you know the layout of the min…

Eh, there are a few language-specific gotchas, but if you're good at optimization it's really nothing too tricky to figure out within a few weeks. The core problems are the same, depending on the class of language: far from the metal, allocations and GC are almost always what kill you. Close to it, cache misses.

Beyond that, it's just making sure you do less stuff, and being really aggressive with profiling (what looks like it takes the most time in the code almost certainly isn't what's really taking the most time).

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

#374
post #331

Earlier quoted context omitted.

Worse, industry is routinely bashing on CS degrees because they don't turn people into framework X-ready candidates. It's getting a little tiring just how little credit is given to the idea of "maybe these tools can be learned in a reasonable amount of time by people with a degree showing they can pick things up rather quickly".

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,…

This sounds like my dream job, actually.

It's what I do at work for fun, in between my "real" development / support tasks. I profile and optimize our internal application, its loading time, user interactions, etc.

Sometimes when it's a long term I make a proof of concept and ask for permissions later, so for a while optimization becomes my actual job. Just finished a couple of months of performance tuning, actually, which I did in parallel to other tasks.

TBH there are plenty of easy, low hanging fruits since the team who wrote it wouldn't recognize a performant code if it smacked them in the face. Or they concentrated on very minor optimizations in rarely executed parts of the code and tended to bikeshed them for hours instead of actually checking what the real problems were.

I actually almost never use an actual profiler when starting, I just run under the debugger and pause the application at random instances when it appears to be stuck.

In almost all cases I find it's executing some unnecessary batch of queries, or reading from a table using an unindexed column, or redrawing parts of the screen which shouldn't be updated, or throwing and catching exceptions that were used instead of if statements, or blocked when it could run in parallel to some other computation, or doing some other unnecessary O(n^2) loops instead of using a hash table. A combination of such improvements will sometimes gain up to 20%-40% speed or even more.

When I'm done with these simple cases I start using a profiler for the that extra optimizations for those extra percentages.

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

#375
post #226

Earlier quoted context omitted.

The average SWE in America is making $93,000. Average teacher is about $65,000, Average construction worker $38,000, average bartender $65,000, average hotel worker $45,000.

Average construction worker, bartender & hotel worker don't have a Bsc/Msc.

Average SWE doesn't need one either.

Most of the people I once worked with in the service industry had degrees though. Sure, not compsci, but something.

Also most construction workers I've know made way more than that average, often close to 6 figures if not above it. Of course I'm in a big city, may skew things.

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

#376

Earlier quoted context omitted.

HR managers are rarely ever intelligent. The work they do doesn’t require it and intelligent people don’t want to do a job where they’ll be surrounded by lower intelligence people.

Maybe some HR managers believe that empathy and "EQ" are more important than IQ? Maybe they even think that intelligence is a social construct invented by the Patriarchy for the purpose of oppressing people who are not "cis white males"? Who knows, maybe for some, these ideas may even have been part of their education....

> Maybe some HR managers believe that empathy and "EQ" are more important than IQ?

Have you ever interacted with HR? I'm pretty sure they are trained to be cold and uncaring, and to apply business rules without exception. Never heard an ounce of empathy from any of them, it always feels like interacting with an automaton that was somehow annoyed with you.

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

#377

Earlier quoted context omitted.

I'm not sure that's a like-for-like comparison and if those things overlap like that, it sounds wrong: - Ticket: Description of the requirement - Code: How it was done - Review: Peer-learning, change evolution - Unit test: Testing of implementation as understood by SWE - QA: Did the change match the requirement, did the SWE understand it? Is the outcome the right one? Each "item" should serve a distinct purpose, have…

- Ticket: AB-123 Increase the API maximum page size from 500 to 1000 - Code change: MAXIMUM_PAGE_SIZE -500 +1000 - Unit test: assert len(request[0:2000]) == 1000 - Commit message: Increase the API maximum page size from 500 to 1000 - Merge request: Increase the API maximum page size from 500 to 1000. For AB-123 - Daily scrum update: I've increased the API maximum page size from 500 to 1000, if someone could have a lo…

- Incident report: Regression. When running on AWS, page size of 1000 causes the process to crash intermittently with data loss. Recommendation: reduce the max size to 500.

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

#378
post #331

Earlier quoted context omitted.

Worse, industry is routinely bashing on CS degrees because they don't turn people into framework X-ready candidates. It's getting a little tiring just how little credit is given to the idea of "maybe these tools can be learned in a reasonable amount of time by people with a degree showing they can pick things up rather quickly".

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,…

> please stop frigging saying it's the garbage collector and look at your crap for real lol

Because if the garbage collector is the bottleneck you need to fix your code to not produce so much garbage.

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

#379

With OpenAi (and other comparable technologies) able to semantically understand "write fast and efficient C code for a prime sieve" and generate fairly impressive C code, I'm no longer sure I agree that we will never have enough software developers (after watching this, made me get just a little nervous as well as excited about the future of our industry): https://youtu.be/k_EF42H2ZC0?t=187

This is a super trivial example of a very simple algorithm that doesn't have to interact with any other systems. It's almost certainly copied directly from the training data as well, which is fine for an educational toy example, but generally a violation of copyright.

I've been quite happy with Github Copilot but it is not remotely useful to a non-programmer.

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

#380

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 hard to blame students when they look at job postings and all that they see advertised is positions for programmers using languages X, Y and Z, or when they see tweets and blog posts by hotshot programmers about frameworks A and B. The entire industry focuses way too much on 'experience with tool X' as a proxy for 'technical skill Y'. It's a bit like asking a carpenter how many years of experience they have with…

> It's a bit like asking a carpenter how many years of experience they have with DeWalt cordless nail guns rather than ask about their house framing skills.

This kind of logic only works for tech organizations that already have enough in-house domain expertise to onboard new programmers. The other day somebody asked me how to find a programmer to implement something for them. From a programming standpoint there was very little to do, but it involved many obscure technologies that you couldn't pickup in a day (and no you can't pick different technologies). For a person who's already done something similar it'd be a quick and easy job, shouldn't cost too much. With a generic programmer it'd take much longer, cost much more and you couldn't be sure they'd actually deliver.

Post reply on HN