Live data from Hacker News

Today’s Top Tech Skills

hiringlab.org

301–310 of 373 posts

Re: Today’s Top Tech Skills

#301
post #298
post #269

Earlier quoted context omitted.

I was hoping Kotlin might challenge Java outside Android but it seems unlikely to make a dent in Java's dominance of enterprise computing.

Personally as a JVM dev, I see no reason to choose kotlin over Java unless I'm stuck in an environment thats running a JVM < 8.

For years people have been using stuff like Lombok as a half-baked Java dialect with more usable defaults: non-nullable types, immutable objects with getters and builders with named setters, sneaky throws, meaningful #equals and #toString. Kotlin just concisely supports what we’re already doing. And for everyone who’s been waiting for Java fibers, well, Kotlin coroutines are out of beta.

I do like Scala, I wish we worked in an industry that could expect everyone to master it, but it’s probably too much to ask.

Re: Today’s Top Tech Skills

#302
post #52

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…

I like to structure my questions such that they could using HAVING or a CTE or subquery and not test on the piece of knowledge directly, but the application of knowledge. Like in Python if you asked lots of questions with list of numbers ... and then generalized it to infinite lists of numbers. If the first case I'd like to see list comprehensions, and then generator expressions or possibly the use of itertools.

That tends to be how it leads in. We’ll talk through building a simple CRUD application with a single table and then ask questions about how to get specific data for somebody in marketing.

There are a lot of ways to answer it, but HAVING is the simplest.

Re: Today’s Top Tech Skills

#303

Earlier quoted context omitted.

Because if you are writing a fairly standard web app, you don't need this. There isn't the scale to make it important. Software is a very large field, with a wide variety of use cases. Obviously an exchange trading platform is going to have much more focus on these DB issues than a SaaS web app for business that expects at most 5,000-10,000 users at a time. With very few of those user modifying the same records.

> Because if you are writing a fairly standard web app, you don't need this. Does the app handle user accounts? Payments? Data editing? Multiple logins into the same account? Then it should handle races and transaction properly... That said, it's true that they can be rare, and might be less worth it (engineering or time wise) than just letting it go. For an app with like a few thousands users or internal use, the od…

> deserve better

So less features and slower performance to account for the hypothetical case where someone tries to edit their user account from 50 devices at once over and over again?

> But a fairly standard web app might serve 1M, or 10M or 100s of millions of people

You are talking about less than 0.5% of revenue generating SaaS apps.

Re: Today’s Top Tech Skills

#304
Python's growth is staggering and I'm happy to see that it's challenging Java. There are certainly some use cases where Java has some big advantages but there are so many use cases where Python can get the job done with much less time and code. Plus I personally enjoy writing python more than Java.

I'm also curious where Go stacks up in this. In Stack Overflow's 2019 Survey [https://insights.stackoverflow.com/survey/2019#technology] Go and Ruby were neck and neck at 8-9%. With Kubernetes and microservices getting so popular I'd expect Go's popularity to grow and maybe pass Ruby.

Re: Today’s Top Tech Skills

#305

Earlier quoted context omitted.

I’ve used both relational DBs and nosql professionally. While in super specific use cases, NoSQL does shine; it’s a giant mistake to use them as a generic, general data store like with a traditional SQL database. You end up doing a lot more avoidable work in the long run especially if you’re doing reporting ie something that SQL can easily handle, you end up having to replicate it in your own code base

Why is making a materialized view for reporting hard? Shouldn't components be aware of what they need to enable analytics? I don't see how adding logic to a service at runtime is any different than fiddling with queries and optimizing them

With SQL the logic of filtering and joining is already mostly done for you. You’re basically now reimplementing this logic if you’re not using it. In most cases it isn’t difficult but it still time consuming and more prone to bugs vs using SQL

I don’t see the point of reinventing wheels unless you have to, unless you have lots of time and energy to waste

Re: Today’s Top Tech Skills

#306
post #14

It remains weird and disturbing to me that "AWS" is treated as a skill. Not "cloud system management", but " AWS ". Edit: I do understand why it can be lucrative to have expertise with a specific cloud provider. It's just the status quo of these services being their own unique silos that disturbs me: I would personally be wary of making "ability to effectively use Amazon's servers" a pillar of my career.

There’s a lot of details to learn before you can manage a complex aws set up. Sure someone with “cloud system management” skills can ramp up on those details. But if you need someone to be productive right away, you want to hire someone that already has them at his or her fingertips. And in a world where people jump ship every year or two being productive right away is pretty important.

If you need productivity right away then you don't need an employee, you need a consultant.

Re: Today’s Top Tech Skills

#307

Earlier quoted context omitted.

The difference is that if you screw up your browser rendering, you're not messing up your data integrity at rest and creating compound technical and potential business debt. If anything in the critical path from pricing to payments that talks to your data store makes a mistake, you can risk anything from not recording your transactions properly to charging the wrong amount or not enough at all. It's very expensive to…

This argument is entirely arbitrary. What about security? Your business won't succeed if you're hacked daily. What about monitoring? If you're losing data and don't even know it, you're creating compound technical and potential business debt. What about performance? Once you have a perfect data model, no amount of trying to optimize it will improve your business further. Optimizing other parts of the application can.…

> Your business won't succeed if you're hacked daily.

Which can be the consequence of setting the wrong isolation level: http://www.bailis.org/papers/acidrain-sigmod2017.pdf

Re: Today’s Top Tech Skills

#308

Java is still undisputed in the enterprise. Node.js was a contender but lost steam. May be .net once it becomes truly platform neutral have a chance to take on Java. Until then most probably it will remain widely popular.

As someone who loves kotlin on android, I have been searching for companies experimenting with kotlin jvm or kotlin node backends and have been surprised to see that companies are not making the jump. Swift is remarkably similar to kotlin. With a kotlin backend you have the benefits of the JVM or node ecosystem and a beloved language that a bunch of your frontend devs will understand.

Yes I also note this lack of uptake of Kotlin in Java environments but on reflection it's not surprising because organisations which have chosen Java tend to be conservative. Enterprise software is predominantly Java and .Net and probably will be for a long time to come.

Re: Today’s Top Tech Skills

#309
post #14

It remains weird and disturbing to me that "AWS" is treated as a skill. Not "cloud system management", but " AWS ". Edit: I do understand why it can be lucrative to have expertise with a specific cloud provider. It's just the status quo of these services being their own unique silos that disturbs me: I would personally be wary of making "ability to effectively use Amazon's servers" a pillar of my career.

Do you find it equally disturbing that Oracle DBA (or Postgres DBA or Mysql DBA) are specific skills (and job positions)?

Re: Today’s Top Tech Skills

#310
post #236

I've tried several times to switch the URL to https://www.hiringlab.org/2019/11/19/today's-top-tech-skills... , which is the source that this one is copying from, but our software insists on escaping the apostrophe to %27 and hiringlab.org won't unescape it, resulting in a 404. I don't think I've seen that before. Edit: never mind, taking out the apostrophe works! URL changed from https://spectrum.ieee.org/view-from-…

The escape rules vary in small maddening ways and trying to figure out if your implementation is doing the right thing from specs will make you give up forum moderating and join the merchant marine, in the best case.

Fortunately, that's the sort of thing Google can afford so it's safest to just check what their RFC-compliant utility libraries do:

https://guava.dev/releases/28.0-jre/api/docs/com/google/comm...

The apostrophe is not escaped in URI path segments.

Post reply on HN