Live data from Hacker News

Ask HN: What skills to acquire in 2019?

news.ycombinator.com

121–130 of 194 posts

Re: Ask HN: What skills to acquire in 2019?

#121

3 critical skills that will help you through out your life: 1. Learn to workout well - crossfit, hire a trainer, etc 2. Basic financial knowledge - investing, taxes, RSUs/Options, etc 3. Presentation skills - most of your career will be determined by how effectively you communicate, influence and persuade. Invest in it.

Do you know of a way for an amateur to get more efficient at preparing their own taxes? As an American living in London, I feel like I spend waaay to much time going down research rabbit holes to answer questions like “does HMRC consider Roth IRAs to be like pensions?” or “Does the IRS consider a help-to-buy ISA to be a PFIC?”

Re: Ask HN: What skills to acquire in 2019?

#122
post #6

I would love for us tech folk to dip our toes in idea history, hermeneutics and rhetoric. We need to think about the way we think and talk about the way we talk. I mean reflect on the state of things, instead of blindly increasing shareholder value. We glorify engagement, but we’re arguably glorifying how addictive our creations are. What if apps maximized for less time spent, like help users just do their work and g…

Got any recommendations on How to get started studying rhetoric?

Re: Ask HN: What skills to acquire in 2019?

#124
post #53

The skill I am working on the hardest for 2019 is being able to put down my phone. Or more generally to stop the cycle of mindless addictive loops, checking for comments and upvotes on social media, endlessly refreshing forums, and so on. I’ve tried a few times over the past year to make headway on this and haven’t felt successful, so I’m redoubling and trying to deconstruct the concept a little, figure out some rule…

One tool I have found useful is the app Freedom. Another I’ve found useful in thd past is Forest.

Re: Ask HN: What skills to acquire in 2019?

#125

Writing. Clarity, brevity, and expressiveness are all too rare these days, especially in technical writing and presentations. Writing well can greatly improve your thought process and make your message sing. I'd start by reading Strunk & White, which nicely addresses clarity and brevity, leaving only a source for expressiveness, which is basically storytelling. There I like the writing books by Steven King, Ray Bradb…

I read Style: Towards Clarity and Grace recently and found it really practical and actionable

Re: Ask HN: What skills to acquire in 2019?

#126

Investing is a great skill to have. Starting with understanding different asset types, their histories, modern portfolio theory, diversification, tail risks of all assets, how central banks and other banks work. I believe the market can be beaten, but you have to have more financial knowledge than the average retail investor.

While this might be true, I think a more reasonable skill to acquire would be a better grasp of financial literacy. People spend an incredible amount of time accumulating capital, but many spend hardly any time learning to properly manage it, relying instead on financial advisers selling commission driven products. I think that it is often the mentality of trying to "beat the markets" that lead people to make poor fi…

We can say both are important skillsets (two sides of the same coin), so I won't argue with you :)

Also maybe beating the market is not that important, but I was making a mistake of accumulating cash without investing it when I was younger. I didn't have spending problems though as I was frugal in my life (though being too frugal was a problem in itself as well).

Re: Ask HN: What skills to acquire in 2019?

#127

I've been learning Elixir, which is really good for creating concurrent and scalable systems. Concurrency has always been something that has fascinated me and I see in Elixir a chance to make very concurrent code without having to deal with locks, race conditions, and all the other icky low-level stuff. Elixir is also a functional language, making this is the first functional language I've learned, which is another r…

I use Rails for my web programming needs, and I've heard a lot of people talk about switching from Ruby/Rails to Elixir/Phoenix because of "concurrency", but I'm going to be honest and say I don't know what that means. I'm not a CS grad and I'm not super familiar with all of the terminology. Can someone help me with two things? Really trying to understand the benefit. 1. When you say "concurrency" do you just mean "h…

I'm a single core server, and I have a queue of tasks. I can process them one at a time. But say I don't want to work on one task at a time. I might decide to do some database operation and while I'm waiting for the response to come back, I might decide to do some work on a separate thread so I'm not idling. We now have concurrency. If I add more cores, and my program is coded to be able to take advantage of that, I have more workers to execute that queue and now we have parallelism! If I then go and add separate computers (nodes) and connect them over a network, we have created a distributed system which itself may be a concurrent, parallel system.

What Erlang and therefore Elixir gives you is a very sound mental model whereby your communication between nodes and separate workers is done via message passing between Erlang processes (read: not OS processes), and the receiving process may or may not be on the same computer as the sender. Those messages may also be synchronous or asynchronous, depending on what you're doing.

It also gives you a nice mental model for failure. Imagine I'm doing some super big indexing of some alphabetized data. It may make sense to subdivide that work along letter bounds, where some worker does A, another does B, ... etc. Suppose the worker for Q failed. What do you do? You may have to kill the entire job, but you might be able to get away with just repeating Q, or maybe even some subset of Q. But you as the worker that just failed are not in the best position to make that decision, so you fail and let your supervisor know, just like in a large organizational structure. That supervisor may decide the whole job is unrecoverable and fail and let ITS supervisor decide what to do. Erlang/Elixir gives you a toolkit to describe these operations via constructs called GenServers and Supervisors that you organize into what are called "supervision trees".

It also guarantees "fairness" between your jobs. Say you have the letter example, and whatever you're doing, the letter L s taking WAY more time than anyone else. To preserve overall system integrity, the Erlang VM will decide to say "hey man, you're gonna get a chance to finish but I'm gonna let M get some time for a bit and I'll come back to you." This is called "preemptive scheduling". This gives Erlang its "soft real time" properties.

All this to say, you're really setting yourself up to build more complicated systems if you need to. But even if you're not, and you have a typical CRUD app, things like preemptive scheduling are super powerful. Consider a web server. It may make sense to give each request its own process. If you have one that's taking too much time, the system will make sure you're not backing up completely by making sure the next request can run, for at least a little bit.

I'm kind of handwaving details here, but this is the general idea behind these types of systems. Erlang as originally designed was to handle telephony switches and such, and therefore had to handle many different callers all at the same time, on systems with not as much parallelism, and therefore being able to process jobs literally simultaneously, but they needed to ensure that the calls waiting to be connected could connect eventually.

They also designed around being able to hot upgrade your system. If I'm a telephone pole computer, there's no way they're gonna send a guy out to me to upgrade my system, and I want to make sure I can update the computer while it's still servicing the calls coming through it.

Re: Ask HN: What skills to acquire in 2019?

#128

Writing. Clarity, brevity, and expressiveness are all too rare these days, especially in technical writing and presentations. Writing well can greatly improve your thought process and make your message sing. I'd start by reading Strunk & White, which nicely addresses clarity and brevity, leaving only a source for expressiveness, which is basically storytelling. There I like the writing books by Steven King, Ray Bradb…

Thanks for the tips. Any other recommendations to improve clarity in writing and speaking? I’m not a native English speaker and I’ve been looking for ways to improve.

Re: Ask HN: What skills to acquire in 2019?

#129

Empathy. The tech giants are having massive scandals because they lack it. Whatever you do, be here for the end user. Think about their lives and make it no worse.

Agree.

It's sad how dependent the business models of Big Tech are on keeping users ensnared in the services they've simulated digitally. My plumber, my ISP, not even my bank demonstrate the engagement thirst of these megaliths.

Re: Ask HN: What skills to acquire in 2019?

#130

Do something that would be orthogonal to the current sum of your life experiences.

This! If you have time off, do something risky that you wouldn't do normally. Why? Because soon enough you'll likely be back in the normal swing of things and unable to take that risk. Examples: Work on a farm Do the Appalachian trail (or similar) Take the train across Australia Learn to ride a motorcycle Learn to play guitar Etc Etc

I worked on an organic farm this past year for two weeks (through WWOOF) and it was probably the best two weeks of the year for me. It really opened my eyes to how food is produced and just how much humans have changed the landscape of the planet - well worth the effort
Post reply on HN