Live data from Hacker News

Ask HN: What Technologies to Learn in 2020?

news.ycombinator.com

281–290 of 441 posts

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

#281
post #214

Earlier quoted context omitted.

Not OP, but I think there is a reason for it, although I do agree it might have been better phased. Assuming Good intention, ( Which I think OP is ) sometimes it is a little hard for people under certain age to understand certain things. It is simply a reflect on our stupidity that when we were young, we too were also singing, praising and hyping all the shiny tech. And we were burnt by it. So it was more like a sugg…

Yes, I might have phrased it better, but the intention was that at a younger age, you perhaps didn't yet have to upgrade a legacy projects with semi-obscure tooling where the original developers have long left; or have had to hack your code in a dirty way because the team leader might have read about e.g. an experimental frontend framework and a DB system that is in alpha status, but still orders the team to use it (…

Yes. In the Parcel and WebPack threads I was reminded shiny new things often have edge cases that are unknown, not well known or known with no solution ( yet ). And I simply dont have the time and energy to deal with those, much better to wait for it to mature before jumping in.

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

#282

I like learning things that are both trending and in demand. So, for me, the next thing is trying to build something with React Native and Go as they seem to be very trendy and in increasing demand.

Check out Flutter too. I recently dove into React Native and found myself completely switching gears to Flutter for many many reasons.

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

#283
I'm an Eng Manager and half of my learning time in 2020 will be focused on developing better management/leadership skills. It's something I've found comes with little mentorship opportunities in tech and is also hard to find others to reach out to / network with for mentorship opportunities.

The other half / pure tech - taking on some of the stack that has largely been abstracted by other teams as I've worked, namely CI/CD/Ops/Monitoring for distributed, containerized systems.

I'll probably build something with:

- Go on the backend

- Typescript + React (maybe Vue) on the front-end

- Postgres (really want to master this)

- Redis for caching

and get it built and running on AWS with Kubernetes. Don't know what I want to do for logs/monitoring/dashboards etc. as I've experience with ELK (don't enjoy it), Splunk, Sumo and others but it's not as important a choice to make right now.

Depending on how well that's going I may write a mobile app with Flutter or React Native for whatever is built to round it out.

I have to say though, and I don't know how many others here feel the same, I am getting some sense of anxiety over having no knowledge of or practical experience in ML/DL. Is that justified? Part of me is tempted to invest the entire other half of my learning time into ML/DL for at least the first 6 months and I'm still talking myself down on it.

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

#284
post #201

Earlier quoted context omitted.

What resources do you recommend for learning relational databases and key value stores really well?

Second this. Looking for resources as well. Been working as an engineer for 3 years but still feel this is my weakness due to ORMs

What helped me a lot getting away from being limited by ORM capabilites while on the job:

- Get the raw SQL of some slow or memory intensive queries the ORM produces and try to optimize them by hand. Try different approaches to get the same result, measure and understand them by using 'explain' and visualizers like http://tatiyants.com/pev/

This works great together with libraries like sqlalchemy where the ORM is optional and build upon a abstraction of SQL that you can use directly. This way you can use the ORM for the 80% where it works just fine and hand write the rest in Python without having to deal with raw, fairly inflexible SQL in application code.

- Try moving workload from the application to the database. In the past I often ended up doing ORM queries to get a large numbers of objects and then further process and even join them in Python. In Most of these cases doing it in the database is way more efficient and lets you get away with a slow language, synchronous requests running on small servers for a surprisingly long time.

- Do business intelligence type queries for reports and monitoring. Through doing this I discovered a lot of database features that I didn't encountered commonly in web application development but that nonetheless came in handy several times for it. Also since you often need to combine data in ways that it wasn't necessarily originally designed for, you really need to start thinking about how your data is structured and how to get it in and out efficiently.

- Don't immediately dismiss relational databases for tasks where they might not be the infamous "best tool for the job". Chances are, that the relational database you already have in place is good enough for your use case and that it will safe you headaches of setting up, understanding, synchronizing and maintaining a entirely different db system. E.g. Vanilla Postgres for timeseries data worked just fine for us for years before moving to a more specialized solution with TimescaleDB. Also used it with success for non-relational data, simple graphs, key/value stores and for queues.

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

#285

I am always at the edge with my computer science basics. Someone who doesn't know their carnough diagrams, someone who can't make a simple computer using logic circuits, who can't understand the math behind finite state machines or constraint programming is never able to get ahead of me no matter what new cutting edge tech they read on a blog or news site. So yeah, I recommend back to basics.

https://en.m.wikipedia.org/wiki/Karnaugh_map

I was not familiar with Karnaugh maps. For the curious, they are a visual, 2-d representation of truth tables using Gray codes.

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

#286
post #182

Earlier quoted context omitted.

> Sorry if offensive or presumptuous, I assume you are max. 30 years old? This line added absolutely no value to your comment (try reading your comment without the opening line and tell me it's any different) and resulted in a lot of distraction from the rest of the conversation. It's curious to me that you decided to include it even though, as indicated by the disclaimer you provide at the beginning, you knew its po…

I simply ignored the first line and appreciated the rest of the response because it had good actionable information. I wish I had older mentors in engineering and CS when I was 20-35yrs to tell me their war stories and point me to promising areas of work. This constant outrage at every perceived slight is a recent phenomenon of the Facebook/Twitter decade and it is suffocating.

Not at all, what the "30 year" commenter did is even mentioned in the HN guidelines. See the section In comments:

> Be kind. Don't be snarky. [...] When disagreeing, please reply to the argument instead of calling names. "That is idiotic; 1 + 1 is 2, not 3" can be shortened to "1 + 1 is 2, not 3."

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

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

#287
post #163

> +1 if you suggest something cutting edge that very less people know about! Well I would suggest learning about The Fuchsia Operating System (a new OS by Google) which is extremely cutting edge of OS Development and its kernel (Zircon) brings interesting concepts to the table in terms of design and implementation. It is bleeding edge enough that Flutter is used for the new apps, Rust is used for the drivers and the…

That certainly hits the buzzword bingo. And maybe it’s worth while and replaces Android.

Or more likely, Google abandons it in favor of smaller safer incremental improvements.

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

#288

Earlier quoted context omitted.

Do you have any examples of a good book that will take me from intermediate to advanced? Most of the guides I’ve found online either assume you’re an absolute beginner or already quite advanced. I’m quite competent with SQL and relational databases, but nearly all of my experience is on Microsoft SQL server. I’ve heard postgresql has a lot of really cool functionality but I would really love a nice, professional, in-…

My first day of Postgres experience is that the first query to fetch 1 record takes 5 seconds and subsequent queries take 50ms. There are a 1000 explanations as to why, but I have no idea which is correct. I hate Postgres. I heard it does JSON or something well.

Some power tools take more than a day to learn. Deal with it if you need the power. If you don't need an RDBMS, don't use one.

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

#289
post #224

Earlier quoted context omitted.

I really love Clojure. I dug deep on it for a while and got pretty good at it. But I haven't used it in years. The trouble with Clojure is it's very hard, bordering on impossible, to get it going in a work environment. It's very difficult to justify the cost at the management level. It's also very difficult to build a grass roots movement amongst coworkers because the harsh reality of lisp languages is you pretty muc…

> The trouble with Clojure is it's very hard, bordering on impossible, to get it going in a work environment. Really? I guess things changed but I had 0 trouble setting it up recently. > reality of lisp languages is you pretty much need some kind of "paredit-like" capability in your editor to not go insane Every major Editor like VSCode, Atom, Vim, Emacs has this.

> Really? I guess things changed but I had 0 trouble setting it up recently.

I don't literally mean setting it up like on a dev machine. I mean getting it installed as the language to use to build new products at a company.

> Every major Editor like VSCode, Atom, Vim, Emacs has this.

Sure, but the problem is it's "yet another thing" they need to learn. They're already skeptical about learning Clojure itself because works just fine. So dealing with parentheses adds to the hurdles. At least, in my experience. It will of course depend on the people involved.

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

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

Python isn't known for high performance

As was said by one of the original Twitter architects, defending the choice of Ruby against people who were saying that it was at the root of all of their performance problems, for any well capitalized company, the language rarely makes a difference.

A stateless web server is a “embarrassingly parallelizable”. The speed or lack there of your runtime is usually not a make or break business decision.

Post reply on HN