Live data from Hacker News

Today’s Top Tech Skills

hiringlab.org

341–350 of 373 posts

Re: Today’s Top Tech Skills

#341
post #60

Earlier quoted context omitted.

You really don’t need to know transaction isolation to do the vast majority of work on a typical web app.

It can seem that way, but the consequence of not knowing them is lots of subtle race conditions. Granted, most webapps probably don't have enough users to trigger them too often, and the impact is often limited e.g. because the kinds of inconsistencies you can introduce don't actually matter that much in many cases. For the majority of webapps, I'm not sure the default isolation level of MySQL and Postgres is an appr…

The advice I've received is to just set the isolation level to serializable and stick with that until you get performance problems, which you likely won't. If you stick to that advice, I doubt you're going to get "lots of subtle race conditions".

Re: Today’s Top Tech Skills

#342

In Java I'm a big fan of using SQL directly versus ORM. To that end I highly recommend JOOQ. I library that allows for object oriented SQL. Its not ORM, so you still compose SQL, you just get a lot objects and methods to allow you to construct your SQL in an OO, and functional, programming type way. It also is a DB first approach. Where you construct your DB schemas and tables first, then use JOOQ to create objects t…

With jOOQ you still don't write SQL, you write the DSL and still spend a lot of time looking up docs for how to write the query in the DSL, when all you really want is to write the SQL query without the ugliness of JDBC. To this end I highly recommend JDBI. If the Java proposal for multi-line strings ever gets done it will make writing SQL queries a lot nicer.

> If the Java proposal for multi-line strings ever gets done it will make writing SQL queries a lot nicer.

Groovy's multiline strings are really nice that way. Groovy essentially bundles its own version of JDBI as well (but better because it does automatic variable interpolation).

Re: Today’s Top Tech Skills

#343

Earlier quoted context omitted.

"AWS" seems like a much more useful delineation over "cloud system management" than "Java" does over "Programming" I could be super wrong but I'd expect a Java programmer to become useful on a C# project faster than I'd expect an AWS person to become useful building out other cloud infrastructure.

> I could be super wrong but I'd expect a Java programmer to become useful on a C# project faster than I'd expect an AWS person to become useful building out other cloud infrastructure. I think that is indeed wrong. The major clouds are all pretty similar in terms of the commodity IaaS services - VMs, disks, networks, load balancers etc., right up to things like managed Kubernetes clusters (AWS EKS, Google GKS, etc.)…

All the consulting shops I have worked so far require Java and .NET stacks experience, as most customers use both and depending on the project setup you might even write Java (or other JVM language) in the morning and some .NET language in the afternoon.

For example, Spring for the backend with a Xamarin/WPF frontend.

Re: Today’s Top Tech Skills

#344
post #177

Earlier quoted context omitted.

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.

Basically fad driven development.

"Comments should get more thoughtful and substantive, not less, as a topic gets more divisive."

https://news.ycombinator.com/newsguidelines.html

Same for another comment of your:

"Yep. golang is one big appeal to authority fallacy at work." - https://news.ycombinator.com/item?id=21618006

Re: Today’s Top Tech Skills

#345

In Java I'm a big fan of using SQL directly versus ORM. To that end I highly recommend JOOQ. I library that allows for object oriented SQL. Its not ORM, so you still compose SQL, you just get a lot objects and methods to allow you to construct your SQL in an OO, and functional, programming type way. It also is a DB first approach. Where you construct your DB schemas and tables first, then use JOOQ to create objects t…

With jOOQ you still don't write SQL, you write the DSL and still spend a lot of time looking up docs for how to write the query in the DSL, when all you really want is to write the SQL query without the ugliness of JDBC. To this end I highly recommend JDBI. If the Java proposal for multi-line strings ever gets done it will make writing SQL queries a lot nicer.

It is already accepted for Java 14.

Re: Today’s Top Tech Skills

#346
post #300

Earlier quoted context omitted.

Do they need that though? Will they be paid for that expert Java knowledge?

What kind of question is this? Expert engineers will be paid for that knowledge in any language. Tons of complex, high performance, and high scale applications are written in Java. Half of FAANG runs on Java. Contrary to what HN thinks the world doesn't only run on python, go, and rust.

Half of FAANG runs on Java.

This is interesting and indeed not what I expected. Care to elaborate? I’m curious which components end up being built in Java.

Re: Today’s Top Tech Skills

#348
post #256

Earlier quoted context omitted.

If you keep breaking the site guidelines, we're going to have to ban you. https://news.ycombinator.com/newsguidelines.html

You know what? Fuck it. Ban me. If you really think the above comment is egregious, fuck you. Dumb motherfucker.

I don't want to ban you! I'd rather try to persuade you to use the site as intended. It's in your interest to do so, because if HN becomes a flamewar wreck, it won't remain a good place to discover new things, or read interesting articles, or whatever else it's good for.

Re: Today’s Top Tech Skills

#349
post #60

Earlier quoted context omitted.

It can seem that way, but the consequence of not knowing them is lots of subtle race conditions. Granted, most webapps probably don't have enough users to trigger them too often, and the impact is often limited e.g. because the kinds of inconsistencies you can introduce don't actually matter that much in many cases. For the majority of webapps, I'm not sure the default isolation level of MySQL and Postgres is an appr…

The advice I've received is to just set the isolation level to serializable and stick with that until you get performance problems, which you likely won't. If you stick to that advice, I doubt you're going to get "lots of subtle race conditions".

That is good advice that is unfortunately not widely followed in most of the apps I've seen. There's also the caveat that you should be prepared to retry transactions, but for small apps it's probably fine if you don't.

Re: Today’s Top Tech Skills

#350
post #254

Earlier quoted context omitted.

That’s something that’s really bothered me about engineers and engineering students. I feel like if you and your team think a head a little you can avoid a lot of it. Plus a lot of software is pretty similar (Autocad electrical vs Xcircuit for example.)

It's not just about choosing the right tool from the beginning. The open-source options are often not adequate at all. I'm more comfortable talking about mechanical CAD, and in that space FreeCAD (while amazing for a free tool) doesn't come close to professional tools like Solidworks or Catia. Even for personal 3d printing projects it's really lacking, let alone for professional work.

I’m much more familiar with electrical stuff personally and my experience with that is that a lot of the commercial stuff is overdone without any useful thing to show for it (AutoCAD electrical vs XCircuit is my favorite example.) I use OpensCAD for drawing 3D stuff because it’s more intuitive to me and haven’t used either FreeCAD or Solidworks for more than a few minutes each. Is it basic drawing stuff that FreeCAD lacks? Or all the other extra features.

My understanding (which may be wrong) is that FreeCAD just does drawing, if you want FEM then you go get some FEM software. That’s not FreeCAD being incomplete that’s good software design, kind of like the Visual studio vs vim/gcc/gdb/make/git/valgrind/cscope debate.

Post reply on HN