Live data from Hacker News

Ask HN: What Technologies to Learn in 2020?

news.ycombinator.com

431–440 of 441 posts

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

#431

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?

No, you should not use terraform with Docker. Use something like microk8s or docker-compose to spin up containers for local development, then run terraform against k8s/ECS/your platform of choice to codify the infrastructure as code.

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

#432

Earlier quoted context omitted.

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

Assume good faith, and try to get the point. "That is a question that a junior developer would ask" is not on the same level as "that is idiotic". If you're asking after "hot new tech" it's probably because you haven't been around long enough to see how tragically wasteful the "hot new tech" treadmill is. The "30 year" comment manages to communicate that very directly.

Or, perhaps, because you enjoy playing with “hot new tech”.

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

#433

Earlier quoted context omitted.

It's entirely possible, and I certainly hope so. But it hasn't happened yet. The history so far suggests that better technology will generally be ignored unless there's a clear way to make money from it now , which tends to favor incremental improvements and makes early mistakes impossible to ever correct.

I think it's happening already: We are seeing innovations in GPUs and now TPUs/IPUs (AI coprocessors) that deviate significantly from classic instruction stream based architecture, and understanding how to coordinate the parallel dataflow and computation is what it's all about. That seems to be where all the high performance stuff is trending, and there's a lot of money in it because of the level of interest in curre…

I wouldn't bet on current funding patterns lasting for the next 50 years. AI winter is probably coming soon.

All your other points I agree with, however the higher-level counterargument is that all these things have been just around the corner, and the tyranny of the von-Neumann architecture has been on its last legs for about 50 years now, yet it is somehow still with us despite many opportunities for both hardware and tooling-based alternatives. Anyway, here's hoping!

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

#434

Earlier quoted context omitted.

I inherited a code base that has major issues stemming from the developers not realizing what postgres can do. It's reliant on Kafka with a bizarrely complex queue system for answering questions from users automatically in a distributed, scalable fashion. It has schema-less messages shooting around referencing database rows and tables with zero certainty that anything will exist when the message arrives. It works, bu…

Isn't the DB completely separate from solving this problem? Why was Kafka used?

My thinking here is that had the original devs had a better grasp on redis and postgres, they never would have tried using Kafka in the first place. I can't imagine the problem ever requiring the throughput of Kafka, and there would likely be several other scaling issues in the way of utilizing Kafka to its full potential anyway.

I'm pretty sure a redis-based queue like Bull (https://github.com/OptimalBits/bull) would have sufficed for queuing message responses directly on the server (or multiple instances of the server), and while Kafka works fine for long term storage of logs, our use case for the data makes it so it would be far better stored directly in postgres.

Postgres is apparently also a decent pub/sub solution, though I'm not sure if it's superior to Kafka in this case.

The worst part is that the alternative architecture using a redis queue and postgres for message history is very simple, easy to maintain, benefits from the ability to normalize data, and is comfortably boring. Kafka is not that. It's a miserable beast sometimes, and it presents hurdles all the time for many of us. It's good at what it does and people should consider it (or Pulsar) if their problem requires a high throughput message broker. For everyone else, it's a really risky investment for small or no returns over alternatives. It's the worst decision the developers made in this application by a wide margin.

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

#435
post #382
post #112

Earlier quoted context omitted.

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

Hi,

There is already a separate 3+ hour bonus section where we build a RESTful API driven app (a 2nd app from the main course).

It doesn't use Vue -- instead it uses jquery + jsrender but you could totally replace the front-end to use Vue without needing to modify the back-end.

That app covers all sorts of things like API design, token based auth, websockets, etc..

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

#436

Let's go in another direction here, away from a lot of the hype and cargo cult. I will suggest IntercoolerJS [1] and TurboLinks [2]. These are simple javascript libraries that let you do much of the slick in-dom updates without all the hassle of build pipelines, JSX, or functional paradigms. I have deployed this in production for clinical trials applications as well as into side projects. Using this with Django means…

Thanks for mentioning intercooler! I think a lot of people would benefit from adding it to their toolbelt in 2020.

You are welcome. I’ve been evangelizing it more on LinkedIn and twitter as well as practicing talking points for a presentation about the Django intercoolerjs stack

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

#437
post #435
post #382

Earlier quoted context omitted.

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

Hi, There is already a separate 3+ hour bonus section where we build a RESTful API driven app (a 2nd app from the main course). It doesn't use Vue -- instead it uses jquery + jsrender but you could totally replace the front-end to use Vue without needing to modify the back-end. That app covers all sorts of things like API design, token based auth, websockets, etc..

Hi, there! Understood, thank you for the clarification. I guess, I've somehow missed mention of that bonus section. Two more suggestions for more comprehensiveness: consider updating this course with a content addressing 1) using alternative approaches to authentication (open source projects, like Keycloak & Gluu, and commercial services, like Auth0 & Okta) and 2) multi-tenancy options and aspects. Hope this helps.

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

#438
post #437
post #435

Earlier quoted context omitted.

Hi, There is already a separate 3+ hour bonus section where we build a RESTful API driven app (a 2nd app from the main course). It doesn't use Vue -- instead it uses jquery + jsrender but you could totally replace the front-end to use Vue without needing to modify the back-end. That app covers all sorts of things like API design, token based auth, websockets, etc..

Hi, there! Understood, thank you for the clarification. I guess, I've somehow missed mention of that bonus section. Two more suggestions for more comprehensiveness: consider updating this course with a content addressing 1) using alternative approaches to authentication (open source projects, like Keycloak & Gluu, and commercial services, like Auth0 & Okta) and 2) multi-tenancy options and aspects. Hope this helps.

Thanks.

I'm very much against using services like auth0 to manage your auth. Not because I personally don't like auth0, it's just I dislike the idea of offloading such a critical aspect of your site to a third party service.

Multi-tenancy is tricky because it's super dependent on the app in question. There is no general solution. Using postgres schemas is ok sometimes but sometimes not. The implementation details between using multiple servers, multiple databases and multiple schemas is quite different too.

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

#439

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…

>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. What is your plan for this?

There's a lot of books on leadership and team building that I'm eager to read - Difficult Conversations, The Five Dysfunctions of a Team, Good to Great, Simon Sinek's books, etc. I'm planning on digesting some of those and trying to utilize what I find applicable, iterate as I learn from it.

Communications is another area I'm planning on focusing on. I've very solid written communication skills, so I plan to mainly focus on verbal skills. I've one or two in-person workshops/courses I'm considering for this, as well as potentially joining toastmasters due to their great reputation.

Putting focus on the above areas plus seeking targeted feedback more rigorously should, I believe, help me grow considerably.

Networking is difficult, I have to admit. Not because I'm unapproachable or fear approaching others, but I've found a lot of tech meetups are either very technology specific, or where they're not they're jammed with recruiters, people looking for jobs or people looking to simply sell you something.

Apologies for the delayed reply. What are your thoughts, since you ask?

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

#440
post #153

Earlier quoted context omitted.

Go has a runtime, so it's not correct to compare it to C/C++. Probably it's more accurate to say that Go is the next generation Java/C#. Regarding Rust, it's a systems programming language (with this definition, one can skip the different opinions about it being "more C" or "more C++"), with the implications of the category: primarily, that it's undesirable for web developers to deal with the overhead of systems prog…

I bow to your technical points, I stand corrected; however in terms of problem space, actual production use-cases, do you really think Go is anywhere near C#/Java? Most devs in these languages tend to feel hampered by the roughness, the essentialism of Go[1]; whereas typical C++/C solutions benefit greatly from a simpler, indeed essential approach — think that it was designed in-house by/for Google, which is a giant…

> do you really think Go is anywhere near C#/Java? Most devs in these languages tend to feel hampered by the roughness, the essentialism of Go[1]; whereas typical C++/C solutions benefit greatly from a simpler, indeed essential approach

Hard to say; it's important to recognize that Golang is still young, compared to Java/C#; the generics subject is very much open.

My very general idea is that Golang is a more modern language, specifically, because it was build from the ground up to tackle more modern problems (concurrency and networking first of all).

Also it's important to consider that there is an ecosystem beyond the pure language design - single binary approach, compiling time, etc. (I also have not-so-fond memories of XML-based build tools, I prefer Makefiles).

I've read of people writing fairly low-level stuff in Gol. I still personally prefer a proper systems programming language for that type of work. On the other hand though, many C/++ tools/projects originated when there wasn't so much availability of compiled languages - therefore the choice of such languages was not ideal; definitely, in the same conditions, Golang would have probabaly be better suited (but imagine how large it would be an Ubuntu distribution where all was written in Go ;-)).

Post reply on HN