Live data from Hacker News

Today’s Top Tech Skills

hiringlab.org

161–170 of 373 posts

Re: Today’s Top Tech Skills

#161
post #15

I’m thinking about the future. What skills will dominate the software market 10-20 years from now? - Big companies use C++ heavily, besides being the language for deep learning/GPU programming. Will Rust/Go replace it anytime soon? - Will React still dominate front end development? - What about Python and the data analysis ecosystem?

This is a guess.

Python and artificial intelligence. Python is growing each year.

Functional languages might increase in popularity due to that will will have plenty of cores and they tend to make better use of many cores. In 10-20 years from now servers will have 256-1024 cores. Multi core programming will be very common.

Opensource since it will be cheaper to assemble software from open pieces than do everything from scratch.

I think that there will be a shift from making software from scratch to assembling pre-built parts. Ie market places might be integrated into IDEs. AI could match desired test functions with pre-built code/market places. I am thinking that some software is still created manually like cars was in the beginning, but in the car industry everything is mostly automated with prebuilt parts, software will make the same journey.

We will also have more power efficient chips that has replaced GPUs for deep learning. Coding these helper CPUs will most likely be required skill set.

Kubernetes and server less functions will be beyond the peak of its hype curve and at the plateau of productivity. Some found Kubernetes too complex to manage and and a new more distilled subset exists. https://en.wikipedia.org/wiki/Hype_cycle

D, Groovy, Rust and Nim is also popular.

Re: Today’s Top Tech Skills

#162

In the recent two or so years I was surprised to see how many people don't _really_ know about SQL. Sure they can write a simple insert and update query and maybe a join, assuming they can just ignore that there actually are different types of joins. But if you ask them about other _still fundamental_ knowledge like a _rough_ idea about what the different transaction isolation level are/mean/imply for you, they fail…

Some months ago I sat in a meeting to discuss design and implementation details for a medicine delivery system. The fact that it was about medicine I thought it would be obvious to everyone that we would have to use a relation database with ACID properties. Last thing we want is to send medicine at best effort, I assumed everyone would be on the same page on the need to use transactions, foreign keys and all other da…

There are lots of ways to interact with folks who don't understand something that get your point across without making them feel bad. I'm guessing you didn't employ any of those strategies.

Re: Today’s Top Tech Skills

#163
post #146
post #138

Earlier quoted context omitted.

I strongly disagree. For many backends/purposes, SQL is really the thing doing all the real work and the backend's just some fancy authentication and validation layer. Stick close to the technology doing the heavy lifting. If people abstract away SQL too much they just start reimplementing things in buggy underperforming code, using 1000 lines of Go or Java or whatever what should be done in 20 lines of SQL. Also, do…

Testing against the real database? Won't keeping a copy of the database just for that be expensive? Also, should devs really be seeing potentially sensitive data? On a side note, "I use SQL so I can change the backend language" is the hottest take I've heard in some time heh.

With database I meant an instance of whatever database engine you are using, not the actual data.

My current project uses mssql. Each test run probably spins up and destroys 100 databases (inside one mssql docker container that is spun up for each test run). Each test function populates a DB from scratch (using the same sql migration scripts that we have used in prod), runs the test, drops the database.

Can do that quite some times in the minute it takes to run the full suite.

Point is to actually execute the SQL (or whatever NoSQL you use) as part of the test.

Re: Today’s Top Tech Skills

#164

Good applications tend to get the database right first - since you can always re-write the mid-tier code relatively easily. It's pretty much essential to any developer. Further it's a ridiculous superpower if you're not a developer - it's so empowering for anyone on the business side with questions to just go look in the db.

Weird, this is completely opposite to what a lot of people I've worked with have said. What do you think about having business logic in the DB layer too? I saw someone on another post recommending that which, again to the people I have worked with, is an antipattern.

Re: Today’s Top Tech Skills

#165

Earlier quoted context omitted.

My go to interview question to test basic SQL knowledge is use of “HAVING”. It’s a surprisingly good filter. EDIT: To clarify since this got more attention than I expected...I don’t disqualify any candidate based on the answer to a single question. I just use that question to assess their actual SQL experience. If you’ve spent any amount time writing raw queries by hand for reports or just to pass through to a web se…

My experience with interviewers is that they all believe that their pet question is "a surprisingly good filter". Considering that there is rarely a data-driven approach to recruiting, usually this statement has a heavy confirmation bias. Usually when you add data to the mix, you'll find that most questions are not significantly correlated with candidate success/failure once you condition on "ability to write any cod…

That is my experience too. I had people swear by "multiply two numbers without using a multiplication sign" as their one and only coding challenge.

Re: Today’s Top Tech Skills

#166
post #38
post #20

Earlier quoted context omitted.

There are few competitors that have strong, static typing, great test tooling and broad library support.

I guess "great test tooling" and "broad library support" are subjective, but there are several contenders these days that I would say might fit those criteria

> "great test tooling" and "broad library support" are subjective

Not really the case when it comes to Java (and the JVM in general). It objectively has great test tooling, and a very diverse library ecosystem, not to mention monitoring, introspection, management, tunability, etc. are second to none. The only other ecosystem that arguably comes close is .NET.

Re: Today’s Top Tech Skills

#167
post #16

Earlier quoted context omitted.

I figured that was mostly due to legacy code at this point; is it undisputed for new code too?

I can only speak from experience, but I know two large corporate entities that used Java and have over the years dropped it in favor of Go and websites. Edit: i like how my first hand experience is disagreeable and should be hidden. This site gets STRANGE with facts that users just don’t want to see.

You'd have more success with the vocal minority around here if you replaced Go with Rust.

Highly recommend doing an experimentation a week from now. You'll see exactly what I'm talking about.

Same for this comment: https://news.ycombinator.com/item?id=21621738

Re: Today’s Top Tech Skills

#168

Earlier quoted context omitted.

You have got to be kidding. Corrupting data for a sale already made is far worse than losing a sale because of an outage.

Not when you’re corrupting only a handful of sales, but losing all of them. It still feels arbitrary to say one is more important for developers to be aware of than the other here. As long as you have both covered to a reasonable degree within your company/team it’s a waste of time arguing who’s got the most important info in their brains.

One is more important because presumably one is harder and thus more expensive to recover from. Typically the deeper the rot in the foundation, the more expensive the repair.

Re: Today’s Top Tech Skills

#169
post #9

I have to wonder if Java would be in demand if not for Android?

Yup. The "Enterprise" world which is probably majority of IT but gets the least amount of chat on HN, is all Java in the back end. :-\

There are some .NET and Windows servers there as well. :)

Re: Today’s Top Tech Skills

#170
post #54

Earlier quoted context omitted.

It isn't that simple. Most "Java + SQL" jobs are run of the mill cost-center type jobs at companies that aren't tech companies. Their salaries, benefits, and locales are generally poor relatively to other software engineering jobs. The demand is high, and so is the supply of labor, but that isn't the whole picture.

I would agree with that picture. In other comments on this thread, I've indicated Java & SQL are the #1 demands on any project I've ever worked on. At the same time though, none of those people have earned anything remotely what I tend to see on HN in general, and SF area in particular. From my limited experience, it feels like a good, experienced, hardened, senior Java developer in Toronto, Canada (not a tiny/cheap…

Canada is particularly bleak in terms of SDE salary though. My offers in South Africa were higher than average salaries in Vancouver.
Post reply on HN