Hacker News new | ask | show | jobs
by Desafinado 722 days ago
It's difficult to predict, but I don't see the classics going away: Java, JavaScript, SQL.

But overall, the goal should be to get a broad range of experience in different platforms so the technology you use is irrelevant. From that point on you just need to decide where you want to invest your time.

For example, when I was doing internships in college I invested in getting Java experience because I knew that it was used by large companies (companies who pay more). This paid off and I was hired by a company who paid me a lot of money to use Java straight out of college. Now I'm paid a lot of money by another company to use Java.

So you want to have the capability to code in anything, but you have to decide which technologies to put on your resume based on what's out there. Knowing Java, JS, and Web Application Development is never a bad idea.

3 comments

SQL is a great one because I've found so many devs either know nothing, or so bare minimum that it's easy to become the SQL guy on a team just because you're familiar with window functions. There's a lot of SQL out there too, and nothing has dethroned it after probably near 50 years now and I don't see anything coming close.

It's also one of the best bang-for-your-buck things to learn, time to usefulness wise. Whether you're writing JS, Java, C#, Python, Ruby, etc and have a backing DB - SQL is probably associated with the project. When it comes to NoSQL, there's a lot of great stuff out there for specific situations, but the querying is either fairly simple (with complexity on the application code or infra), or the query languages are very specific and less applicable to other software.

The core of SQL is very versatile and it'll be there whether you're at a three person startup or Wells Fargo.

I addition, the industry has repeatedly attempted to kill SQL, but it lives on. The level of survivorship bias SQL has achieved is only matched by C.
Can you give some examples for "repeatedly tried to kill SQL"?

For me it's only KeyValue/NoSQL (which trades/focuses on some ACID traits over others) and various incarnations of ORMs (which try to normalize different SQLs and map it to your familiar OOP programming language) that come to mind.

However they are either orthogonal or complementary to SQL.

Funny that for you Java and JavaScript are classic.

After initial big corporate SOAP/servlets buzz in 1990s, Java itself was trending down for a while. Stuff we have now (mostly due to borrowing a lot of good things from C# and other even more "dynamic" languages) gave it second life.

Well also strong PR and push for it in academia (because there were many big corporate jobs for it). But without improvements it had (and continues to have) - it would've ended like Visual Basic.

And I'll leave JavaScript mini history lesson (or rant) to someone else

I've been thinking about this for a while. I mostly do js/ts[full stack]. But having C# or Java under my belt would probably be a good idea, those two aren't going away anytime soon. Plus docker and k8s.

Like you said, the classics aren't going anywhere