Live data from Hacker News

Ask HN: What Technologies to Learn in 2020?

news.ycombinator.com

141–150 of 441 posts

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

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

Third- for an analysis project, I had to look ahead to the next transaction. Tried a bunch of implementations, ranging from offset self joins to iterators to recursion.

Turns out the fastest and simplest solution, by far, was a mix of window functions and CTEs directly in the database.

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

#142

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…

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 is no “long term” in technology.

Yes there is, computer science concepts like algorithms, pointers, ... exist for a very long time. General programming language principles and paradigms are reusable in other languages and libraries. Database principles and languages like SQL exist for a very long time. HTTP exists for a very long time. etc...

If you know enough of those long standing principles, you can use "framework of the week" in its week without much big deal, or ignore framework of the week and use/create whatever will solve your problem the most efficiently now.

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

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

This post I made almost six years ago to the day on SO remains relevant: https://stackoverflow.com/questions/20979831/recursive-query...

I hope it helps you.

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

#144
post #24

Learning to become more creative so I don't have to chase new languages or frameworks for intellectual stimulation.

Any good resources you’ve found?

John Cleese videos, esp. "Creativity in Management" on YouTube

"The Creative Habit"

"Creativity: Flow and the Psychology of Discovery and Invention"

If you really take it to heart, though, the Cleese video is all you need. Creativity in my mind falls into the category of "simple but not easy": you only have to do a few things, but they require hard work and thought.

1. Create time and space. Easier said than done if you have a busy life and people who expect things from you. You need to make a quiet place you go where you are not interrupted for a specific period of time. There you think, imagine, focus on your goal and work.

2. Mental clarity / confidence to play and do something not "serious." Creativity requires a playful mindset and the confidence to overcome your self-doubts and fears. Again easier said than done.

3. You have to work. Creativity is a cycle of work, examine the thing you made, and come up with more ideas / next steps. If all you do is think and you never actually work, then you might be "creative" but you aren't "creating." Alternatively if you just work and don't step back to think, you're creating but probably not doing it creatively. So you have to get into a cycle of create, observe think; create, observe, think.

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

#146

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…

What a condescending response. Yes, this person is a student. No reason to act like this.

I don't agree the response is condescending. FOMO is a thing, as well as buzzword-driven development and CV-driven development, and it's pervasiveness generates this false sense of urgency regarding learning new frameworks or technologies, and even creates this false notion that this rat race is a basic requirement to have a career as a software developer.

If anything, this sort of comment is not repeated enough.

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

#147
post #81

NestJS. This is probably the best thing that happened to Node.js ecosystem to write maintainable backends. https://nestjs.com/

While I really hope that Nest.js eventually succeeds and provides a reliable framework to write maintainable web applications, my experience with it has been, in a word, frustrating. I find the integration with remaining ecosystem (testing, databases, etc.) quite poor.

For context, these are my experiences from the last few months of using Nest.js in a project we're working on at my company.

- It strongly encourages you to use TypeORM, which is just not production ready and has many (sometimes subtle) issues [1]

- Logging is often extremely bad. I've encountered issues where I made a mistake in my app bootstrapping code and there were no errors logged, but the application simply didn't start. Then I had to play a very frustrating game of commenting out pieces of code until the application would start again

- Nest.js error classes (HttpException and those that inherit from it, such as BadRequestException) do not properly inherit from built-in Error, which means that when your tests fail, the only output you'll get is "Error: [Object object]" printed to the console without a proper stack trace.

- We used their GraphQL module and when we tried to send a few MB of data to the client for initial state, memory usage would balloon to hundreds(!) of megabytes from a single request.

- Misconfiguring any part of GraphQL would again lead to an error being thrown somewhere inside their libraries, with a message like "Cannot read propery 'target' of undefined" with no stack trace or any indication of where the problem might be

- Documentation is lacking and doesn't do a proper job of documenting the features. Usually it's just a hello-world style example without much depth

That's just my experience, maybe I was just "using it wrong". But it was definitely far from a smooth experience and lead me to waste countless hours trying to track down and fix obscure issues.

If you're thinking about using Nest.js, I would recommend that you ditch TypeORM and use something else, I also wouldn't recommend using GraphQL with Nest.

[1] https://github.com/typeorm/typeorm/issues/2065

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

#148

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…

You say breaking compatibility between major versions is a reason to avoid something (eg Laravel), but also say you choose PHP and Python despite those languages doing the same thing. Maybe breaking between majors isn't the reason why you don't like Laravel, it just feels like that's the reason.

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

#149

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

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 mostly string manipulation and search. There is a market if you are willing to build and do sales but it's hardly exciting. Better to get some actual wet lab experience and understanding, than become yet another "data science" biotech startup. We have had enough of those in healthcare already, tons of so-called "health tech" companies that were merely performing analytics on wearables. Profitable? Maybe. Exciting and innovative? No.

Some reading material:

Synthetic biology: A Primer

An introduction to systems biology (get the 2020 edition)

O'Reilly: Biobuilder

Molecular biology of the Gene

Campbell's Biology

YouTube Channels:

The Thought Emporium

Josiah Zayner

Khan Academy Biology

Biology Professor

Shomus Biology

(The first two deal exclusively with bioengineering)

Post reply on HN