Live data from Hacker News

We will never have enough software developers (2020)

whoisnnamdi.com

401–410 of 553 posts

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

#401

Earlier quoted context omitted.

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.

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 that you could implement it and what the tradeoffs are. This would be you 'understand!!' what a hashmap is, like deeply. (I hope my tone makes clear I do not advocate for this)

on edit: I think it seems you might actually be advocating for this deep definition? If so, probably you are working at relatively low level?

on edit 2: for example if you were using Python you might say a hash map is a dict, and talk about how to use dict, the in-depth definition would not allow this. Which I think is what the other posters were worried about, being asked not to use your language's implementation of the concept but go lower and show you can make the whole thing.

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

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

Anything can be learned, but not necessarily in a reasonable amount of time. Some things are easier to pick up, some are just impossible. Example, I was doing PHP for 11 years then jumped to Go 9 years ago (wow it has already been 9 years), Go was good for me because it lifted a lot of mental burden of the OOP craze and wrong concepts applied back then. On the downside, it didn't have an ecosystem. But it was easy to pick up.

k8s surfaced and I tried to learn about it, but it's just too complicated. After I had spent 2 weeks of intensive mind bashing at it, I still wasn't able to manually set up a 3 node initial control cluster. I gave up on it, never looked back.

Spring boot time and again, medium difficulty picking up, mostly because of the exclusive Java community, if something like that even exists. Very arrogant bunch that speaks in implicit ways and assumes you just magically know stuff.

Android is similar, always in flux, despite the many resources offered by Google you don't know what to pick. New Jetpack compose or old, ancient seeming xml layouts and configuration and navigation configuration. It's a hot mess. I tried to use AppAuth OIDC client, has a few questions, asked, the response was "We assume some prior Java and Android knowledge". Well, ok thanks for nothing.

Angular, aside from rxjs, which was royal pain in the ass to learn, straightforward, albeit a bit overly complicated and typescript gets in the way more than it should.

Jumped to Vue. Oh dear god, it's so nice and easy. None of the rxjs stupidity, no forced typescript and a large ecosystem. I can be super productive with it and create SPA, PWA, SSR, Electron apps, browser plugins, even hybrid mobile apps with it.

Rust, my arch enemy. I tried to get into it, I was drawn by hype and the promise of more performance. But knowing Go, which is just good enough for the backend, and where things make sense, Rust doesn't make sense for me. For someone coming from C++ it must seem like the 2nd coming of Jesus, for me - the Go guy - it's an abomination. Yeah I get the basics, but imports don't make any sense, structure doesn't make any sense, erorrs don't make any sense. I feel like a freaking transporter always worrying about crates and boxes and who they belong to. Not fun at all. Handle with care, careful breakable. UGH.

Yeah anything can be picked up but it depends on me being interested in what's to be picked up, the willingness of others to teach and the justification of why I need this added complexity.

I write monoliths and I'm happy with that. Now all jobs postings require Microservices and EDA. I'm unhappy with that because I don't see the need for it in most cases. Now I have to learn expensive cloud on my own, which I have ZERO motivation for. I have to make everything extra complicated, it's hard enough as is getting a project done start to finish, client and server, the monolith way. If I'd have to go Microservices I'd never finish anything and even if, when launching until people actually use my service, 3 years later I'd be bancrupt. So where am I supposed to learn about this unless employed by those people who want Microservice EDA? But they won't employ me because I have no experience with that.

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

#403

Earlier quoted context omitted.

I definitely think "we do not do leetcode interviews" and maybe "we only have three interviews total" would be selling points on a job posting. People who are experienced in the field don't want to go through the same hoops that newbies do just to prove they know how to write basic algorithms.

You wrote: > I am constantly interviewing candidates for roles at my company. It seems like CVs are a complete gamble. Either some are lies, or wildy understated, and everything in between -- at all levels of experience! "[J]ust to prove..." and yet so many can not do the 2022 version of FizzBuzz. I am stunned how many senior (well, so they say!) hands-on technical applicants cannot do basic things like write a very…

>technical applicants cannot do basic things like write a very simple linked list class, or explain to me how a hash map works

In my experience people know these things, they just don't realize that what they're doing can be described generically.

An example: If you're in an iOS interview and ask the person to describe a graph, they will get very angry and complain that this is useless knowledge and they don't need it to get the job. But if you ask the same person to describe an UIView hierarchy, they often have no problem doing so. So they _know_ what a graph is, they just didn't know it had that name.

With that in mind, my tests shows that generic algorithm questions suck and questions themed around actual features of the product are the best. If you word the question in a way that feels relevant and is familiar to developers, they will be more likely to know the answer even if deep down the solution is exactly the same as the generic ones.

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

#404
post #284

Earlier quoted context omitted.

Many lawyers have to religiously time track everything. Because hours attributable to a specific client are billed and billable hours are where the revenue comes from.

This happens for quite a few software engineering jobs too. It's not the 6 minutes I heard lawyers do, but I definitely have been asked to track intervals of 15 minutes.

If you were a lawyer and said "I am not willing to track my time" you limit your options significantly more than a programmer

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

#405

Earlier quoted context omitted.

Agreed. I made more from owning and living in a house than I can possibly save from SWE job.

How do you make money from owning and living in a house?

Buy a house, live in it, sell it for more than you bought it for

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

#406
post #339

Earlier quoted context omitted.

Yes, companies are hiring for competency not tenure or years of life lived while holding job. If you want the latter, I have heard it is more structured that way in Japan and much of Europe. I would expect most people I hire to be able to explain how a hash map works.

Depends on what exactly your company is doing? Why do you care if an applicant understand how a hash map works; and what's particular about a hash map? I'd care more about an applicant understanding the concept of a hash; or hashing in general. If an applicant shows that he understands that a hash is a magical and fascinating mathematical concept; and it can have uses in Information/Computers, that would be more inte…

> why do you care if an applicant understand how a hash map works; and what's particular about a hash map?

Because a hash map is:

1) a pretty basic concept in data structures

2) Variations on hash maps are used all the time in the real world. If you use objects in javascript, dictionaries in python, or maps in C++, then you are using things that essentially implement hash maps.

Point number 1 is like if I went to an orthopedic surgeon and they couldn't tell me what the liver does. You can say "well the liver has nothing to do with my finger that got smashed in a car crash, so what do I care." Or you can say, "that seems like a red flag. Maybe I'd be safer choosing a different doctor."

* Note: I have no idea how often the liver comes up in orthopedic finger surgery and for all I know it's a lot. But I think you get the point.

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

#407

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 don't think FAANG style interviews are a good way to do it, but it is more important to be picky about hiring at a small company. If you're in a company where everybody knows everybody, then any new hire will affect the entire team. A good hire will pull the whole team up. A bad hire will negatively affect everyone.

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

#408

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 definitely think "we do not do leetcode interviews" and maybe "we only have three interviews total" would be selling points on a job posting. People who are experienced in the field don't want to go through the same hoops that newbies do just to prove they know how to write basic algorithms.

Basic algorithms? FAANG algorithm questions are usually far from basic.

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

#409
post #95

Earlier quoted context omitted.

Any white collar job looks better than McDonalds. It’s a ridiculous comparison. I could say McDonalds workers don’t know how easy they have it. They should try picking fruit as a seasonal immigrant, because it will make them love working at McDonalds.

> picking fruit as a seasonal immigrant And those seasonal immigrant fruit pickers don't know how easy the have it. They should try being kidnapping victims chained in a basement, waiting to be tortured to death by an axe-wielding maniac. That's the problem with "you can't complain, somebody else has it worse" - I can always think of somebody who has it worse.

I'd argue being kidnapped and chained to the wall is software engineering. Our handcuffs are just gold

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

#410
post #388

Earlier quoted context omitted.

This is... To be charitable: uninformed. As a civil engineer: I assure you my studies were QUITE rigorous. The job is very demanding, and I assure you the complexity can be very high, the consequences of mistakes are severe and occur over a massive variety of time scales. I had to work for four years apprenticing under licensed engineers after school and pass no fewer than four examinations, and get 4 licensed engine…

80k for 8 years of experience with a PE is a bit low. You should be cracking six figures by now if you’re structural and coming close if you’re actual (roadway) civil. Are you in materials testing? If so, obviously you should try to switch over to an inspection gig to get some of that sweet overtime. I was clearing something like 110k salary at similar experience back when I practiced and quite a bit more with my equ…

> most should not even be called engineers, they’re coders or developers and on the same level as a lab technician to me

I'm a programmer and I 100% agree with this statement. I never tell anyone that I'm a software engineer even though that is my job title, I am a programmer. It annoys me to no end that we keep diluting language like this and devaluing the meaning of these terms. An engineer is held to a much higher standard than any web developer ever will be.

Post reply on HN