Live data from Hacker News

Ask HN: What Technologies to Learn in 2020?

news.ycombinator.com

381–390 of 441 posts

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

#381

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…

can you use terraform with docker? should you?

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

#382
post #112

Sorry if offensive or presumptuous, I assume you are max. 30 years old? Being a freelancer the last 5 years (previously doing webdev part-time for 15 years) and having a couple of long-term side projects, I've been "burnt" enough that I've gotten tired of chasing shiny tech, just for it to become abandoned (e.g. bower, grunt, AngularJS) or introduce big breaking changes (e.g. some upgrade paths in PHP's Laravel or Sy…

I really enjoy Flask too. I remember back when I updated my Build a SAAS App with Flask course[0] for Python 3.7.x when it was originally coded to support Python 2.7.x and 3.4.x, and it took like 15 minutes. Also updating Flask to 1.1 from 0.9.x took around 2 hours but that also involved updating ~20 top level package dependencies at the same time, so most of it had nothing to do with Flask specifically. It was more…

Looks like a nice course. Any plans for updating it with an SPA option (say, Vue-based)?

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

#384
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…

check out https://theartofpostgresql.com/ as another resource

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

#385

Kotlin is my new favorite language. You should give it a try. Fighting syntax noise, clutter, boilerplate and redundant repetitive work is a big chunk of what define a modern language, and at this, Kotlin is probably the best. It will make you more productive AND happier. BTW using new languages that have relatively poor ecosystem (go, rust, swift, elixir) is a far riskier choice than people believe. Having a poor li…

I wish Kotlin wasn't effectively a single IDE language. I tried the eclipse plugin but it was only barely usable. For this reason I currently prefer Scala and Groovy but both of those have their own drawbacks. I do probably like the language syntax of Kotlin most of all (though lacking array and map literals is a huge pain). I wish someone would rewrite Groovy with static typing / type checking being the default and the Kotlin syntax for expressing nullable / non-nullable type declarations.

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

#387

Earlier quoted context omitted.

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

There's no theory behind testable code. Mathematical theory exists only for formal methods. There's a bunch of made up patterns and techniques for writing testable code though. Most of these techniques are actually bad. Dependency injection with mocks is the one I hear about the most and it is also the worst possible way to organize your code. Do not write your code using this pattern... the complexity of this patter…

> There's no theory behind testable code. Mathematical theory exists only for formal methods.

> Dependency injection with mocks is the one I hear about the most

Correction, you don't happen to know the theory. Nor is it a mathematically super complicated theory. It's not a replacement for formal methods. The heuristic I use is "formal methods as far as can be straightforwardly done, tests thereafter."

It boils down to how to choose what elements of a parameter space to run experiments on so you can reason by induction with some confidence. I teach it as "boundary and bulk". If I have a parameter that is a list, then the boundary (empty list, one element list, two element list) needs to be probed carefully but in most cases the bulk (fifty element list vs fifty one element list) just needs a couple of samples. Then factorial designs to combine parameters. You reduce the combinatorial explosion of factorial designs by splitting parameters via formal methods. You reduce things like external service dependencies to this something susceptible to boundary and bulk using Parnas's trace assertion method.

From this point of view, writing testable code is a statement about controlling the complexity of test plans. Things like instead of having a function take a few representations, make it only take a canonical representation and provide adapter functions. For example, if you have a function f(t0, tn) that takes two timestamps, you could have t0 and tn be seconds since epoch, offsets relative to now, or some kind of text date format. If f accepts all three, then you have a test plan of size 9*N. If it accepts just seconds since the epoch, you have N + 2 (for the adapter functions). This kind of calculation provides concrete statements about making code more testable.

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

#388

Earlier quoted context omitted.

> 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.

Sorry I meant Molecular Biology of the Cell. I think it's meant as a reference more than anything else. Bio is like ML in that it moves very quickly, so there is the need for constantly updated evergreen texts.

Whoops, I thought you meant MBoC as well. I also wish everyone would stop recommending that one, too. I don't think it's even a good reference. I can safely say that I never got any useful information out if it during the course of my graduate work in biology.

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

#389

Earlier quoted context omitted.

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 surrounding the language is a different story.

Is it? If you're being hired to worked in a particular setting, the choices from that ecosystem have probably been made. If there are really new abstractions that's one thing, but that's rarely the case. If you're being asked to make choices in a new ecosystem, that's different. But I think you also over estimate the depth of these ecosystems.

> 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?

Lots of reasons. Social/emotional intelligence? Salary requirements? Proximity? And that's all assuming that you can find someone with the same experience that knows the ecosystem.

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

#390
post #21

Is it actually always a good idea to keep yourself up-to-date with the hottest tech stacks? We picked up the first angular, because of the “keep up mantra”. That turned out to be a complete waste of resources when the second version released. I’m not saying that it can’t be valuable, but these days we build 70% of our stuff with python, Django for web with a minimal amount of JS because it turned out our clients actu…

> When I look at the job market in my region of Denmark, almost every job is for JAVA, C# or PHP. No-one is hiring for Rust, graphql, go or any of the other hipster languages / frameworks. Udviklings- og Forenklingsstyrelsen has a huge project written in Clojure, ClojureScript and R and they're hiring all the time.

I live in region midt, I know the Copenhagen region has a lot of exciting languages and techs available, but out here everyone is terrible conservative.

I mean, JAVA is popular but there wasn’t a single kotlin job in 2019.

Post reply on HN