Live data from Hacker News

Ask HN: What Technologies to Learn in 2020?

news.ycombinator.com

351–360 of 441 posts

Re: Ask HN: What Technologies to Learn in 2020?

#352
Kubernetes - both the platform itself and the programming & extension model - is a great area to get involved in. Some interesting things to look at include development workflow tools such as skaffold.dev, serverless computing using knative.dev and service mesh.

Re: Ask HN: What Technologies to Learn in 2020?

#353

In a word: biotech. Okay, yeah, that's a bit beyond the scope of your question... Tech-wise I think the stealth silver-bullet will be "Categorical" programming†. When this hits it might even contract the job market for programmers. Compiling to categories" Conal Elliott http://conal.net/papers/compiling-to-categories/ † As in a kind of PL paradigm: https://en.wikipedia.org/wiki/Programming_paradigm

> In a word: biotech.

Can you explain way? People keep saying this, and I really don't see it, despite having done my graduate work in biology.

Re: Ask HN: What Technologies to Learn in 2020?

#354
post #76

Learn how to really use a relational database, relational data modeling, and SQL. Not knowing of their capabilities may lead you to unnecessarily complicating your tech stack. You can go a really long way with just this domain of expertise. From there, do the same with whatever key-value store interests you (for me, it's Redis). Python isn't known for high performance but when a django web app uses a cache and relati…

> Learn how to really use a relational database, relational data modeling, and SQL. I have to second this. There is so much power in relational databases that is untapped by most developers. The best part about this is that, for the most part, this type of knowledge can apply to multiple databases. Some specific things that I want to gain a deeper understanding of are window functions[0] and recursive CTEs[1]. In par…

I'm not sure recursive CTEs simplify things. Yes, they allow you to express Turing-complete computations in SQL, including indefinite and parallel iteration. But if you weren't going to express those computations in SQL, you'd probably express them in Python or Lua or JS. Is doing them in SQL really going to be an improvement? So far I have not impressed with the results.

Re: Ask HN: What Technologies to Learn in 2020?

#355

Earlier quoted context omitted.

It's important to know of the new tech, but I think diving deep into new tech just because it might seem cool now can be frustrating and inefficient long-term. There is no “long term” in technology. The best way on average to stay competitive is by keeping up with what the market wants. Sure it’s possible to start a project that is profitable or that you can get someone to acquire but statistically that’s like buying…

There's quite a long term. POSIX and Unix knowledge? Decades. Win32 API? Also decades at this point. SQL databases and relational modelling. Expressing things in procedural programming, in functional programming, in logic programming. Concurrent programming. Most of that stuff applies in whatever syntax the language of the day has overlaid. At this point when I had to pick up Ruby I basically went "so it's a single d…

Anyone can pick up the syntax of the language. The ecosystem surrounding the language is a different story. I might be able to pick up Swift in as little as two weeks that doesn’t mean I could be a competent iOS or Mac developer. The same applies to Java and Java + iOS.

The number of shops that still care about native desktop software has been dwindling weekly.

Why would someone hire a developer who has no history of the ecosystem that the company is targeting over one that has the same experience and knows the ecosystem?

Re: Ask HN: What Technologies to Learn in 2020?

#356

Earlier quoted context omitted.

I realize it may have been an offhand answer, but what do you have in mind? Go get a graduate level understanding of biochemistry? Start working with genomic data? Etc.

(Assuming a CS background) To do anything useful/fun/interesting in bio you should have a strong understanding of the Central Dogma, once you understand that you can move on to the rest. Many here recommend building gene analytics and other similar software/SaaS. I don't recommend it because you learn absolutely nothing from those low hanging fruits. Genetics and its relation to CS, at a sufficiently low level, is mo…

> Molecular biology of the Gene

I really, really wish this book would stop being recommended. It doesn't teach any biology, just a lot of random facts disconnected from reality about a fictional average eukaryotic cell. Nowhere in it do you build an intuition about working with biological systems.

Re: Ask HN: What Technologies to Learn in 2020?

#357

It's not a 'hottest tech stack', but I would suggest people take 2020 to learn testing. TDD/unit/browser/whatever - look to incorporate testing in to your work more often. For me, that has meant making sure code you're writing is testable first. I don't do hardcore TDD, but often am writing tests more or less concurrently with little bits as I'm writing those bits. I don't do this for every single project all the tim…

How is this something to learn? It's more of something to try. Anyone who can write code can write tests and anyone who can write tests can writes tests before they code. It's trivial. Instead learn formal methods. Learn how to prove your code correct for all cases rather then verifying your code for one test case. This is learning and it won't be rehashing what you know like tdd. Formal methods is brutally hard.

Writing good test plans and building testable code is actually a skill with some underlying theory. It's just not usually taught that way.

Re: Ask HN: What Technologies to Learn in 2020?

#358
post #49

Earlier quoted context omitted.

I still think Clojure is hot. I recently paired up with a C# developer to look at some rapid prototyping options for React apps. Turns out when we said 'rapid prototyping' our understanding differed by several orders of magnitude.

Are you saying that a prototype that you'd estimate to take 3-4 days, your colleague would estimate it to take a year?

Maybe Landslide Lyndon thought "rapid prototyping" meant getting feedback in 5 minutes, and thus being able to modify your prototype dozens of times a day, while their C# colleague thought "rapid prototyping" meant getting feedback in a day, and thus being able to try out new prototype designs several times a week.

Re: Ask HN: What Technologies to Learn in 2020?

#359

I came here to tell OP to spend the time learning something like Terraform because it is not a trend or a fad, has wide adoption by the enterprise, gets them closer to the metal in understanding how everything works and will almost definitely help them in their career. I've instead found a flame war with someone presuming a person's age and preceding to talk about how much better they are ... oh HN why does it always…

Anything includes "is not a trend or fad" in the list of why you should learn about it immediately enters everyone's mind as "the thing that's a trend or fad".

That being said Terraform is definitely useful and used in the real world but the amount of value you'll get out of learning it depends heavily on what you and your company do.

Re: Ask HN: What Technologies to Learn in 2020?

#360

Earlier quoted context omitted.

The concept of correctness by proof, rather than by spraying tests at the code and hoping, is a shift of perspective, but it doesn't have to be brutally hard and doesn't require going all the way to direct application of formal methods (which is often impractical). I encourage people to go partway in the right direction. Instead of telling me your test coverage, tell me how you can prove that the core algorithm of yo…

I don't mean to say that it's hard in the sense that you can't learn it. I mean it's hard in the sense that it's like you're learning programming from scratch again. It will be a very different and much more challenging path then learning another framework/language which is what most people just do over and over again.

I suppose this is true. I haven't had a chance to work with or teach anyone who is learning to think this way, and I don't really remember what it was like for me. However, I've noticed that when I talk to some people who are big advocates of TDD and so on, they seem to have such a different way of looking at things that there's almost no common ground.
Post reply on HN