Live data from Hacker News

Ask HN: Self-taught webdev with lots of free time. What should I learn?

news.ycombinator.com

211–220 of 326 posts

Re: Ask HN: Self-taught webdev with lots of free time. What should I learn?

#212

Earlier quoted context omitted.

> 1. Rust. Here they come! Right on cue.

What do you mean ?

Every time rust is mentioned on HN people talk about how wonderful rust is. They are jokingly called the rust evangelism strike force.

Re: Ask HN: Self-taught webdev with lots of free time. What should I learn?

#213
post #84
post #67

Earlier quoted context omitted.

> and if you are self-taught, I can guarantee you that you have massive holes in your knowledge Just curious, why is being self taught a guarantee for having massive holes ? Can you give some likely examples ?

Not OP, but I think there are two main reasons for this. Firstly if you are a professional you probably only had time to teach yourself what you needed for the job at hand. This is a great skill in and of itself but by definition it favors practice over theory. Secondly, if you're self-taught that means you didn't have a mentor and likely you don't know what you don't know. It's impossible to study topics you've neve…

> It's impossible to study topics you've never heard of

If only there was some way for people to communicate these linked topics in some sort of portable written format!

Re: Ask HN: Self-taught webdev with lots of free time. What should I learn?

#214

Honestly, in terms of employment you don't need to learn anything at all. Your skillset (which is quite similar to mine) is highly in demand. What you'll probably find is that you can specialise in any of the areas you already have skills in simply by advertising yourself differently. However, it's always good to learn more. I have a couple of suggestions: 1. Rust. The Rust book is an excellent introduction to lower-…

By "The Rust Book", do you mean "The Rust Programming Language" ?

Obviously everyone is going to have a different opinion in this thread. I'll throw mine in there as well.

With a PHP background such as yours, I'd very strongly suggest Go over Rust. You'll pick up Go very easily (far faster than Rust, which has a high learning curve), Go jobs pay as well as Rust, it's in high demand, and it's going to remain in high demand for a long time. Most people can become productive in Go the first week they start learning it. Go lends itself to a webdev orientation far better than Rust; Rust is very weak in the webdev arena, you'll be endlessly frustrated by that fact.

My background is 25 or so years of webdev experience, with an early background in Java, Perl, ColdFusion and I've been using PHP since 2005 or thereabouts (I use it for CRUD work). Over time I added Python and then Go. I was able to be productive in Go immediately, and you'll find similar stories all over the Web. It's mostly a delight to learn.

I've also been handling nearly every aspect of the backend infrastructure for two decades now (servers, cache, security, database, etc), and Go is also very nice to deploy. It's dead simple and lightning fast for most things.

One side note, if you don't have much experience building APIs, I would put some focus there in tandem with Go. Being good at building and deploying APIs is a valuable skillset to have. I regularly use Go for such services and it performs like a champ.

Re: Ask HN: Self-taught webdev with lots of free time. What should I learn?

#215
post #207

You could take some time to familiarize yourself with Docker and how to deploy a full-stack application as a set of "microservices" that talk to each other. It's really helpful for getting closer to understanding infrastructure, scaling, and deployment. You could familiarize yourself with some crypto things like running a Bitcoin node and maybe Lightning (Bitcoin's layer 2), and then figuring out how to deploy it or…

This is definitely what I would do if I had lots of free time!

Re: Ask HN: Self-taught webdev with lots of free time. What should I learn?

#216
Suggestion: Dig in to the very bottom of your computing stack and get a working knowledge of your CPU, bootloader, OS kernel, system libraries, etc.

Along the way, you will want to try: - Using a debugger to step through simple programs at the machine level and see what happens to the registers, stack, etc - Using tracing tools like strace (for Linux) to see what syscalls various programs issue (this is after you learn what syscalls are and how your OS handles them) - Playing some old-school hacking wargames like vortex, utumno, etc. These are fun and really make you learn the low-level details of how your OS loads binaries, memory layout of processes, etc.

Most developers don't know this level of the stack, and when you are the one guy on the team who does, it's a bit like having superpowers.

Re: Ask HN: Self-taught webdev with lots of free time. What should I learn?

#217
I'm surprised by a lot of the suggestions (learn C?). I mean sure, everything is interesting, but what is the goal here.

There are many paths, I suspect you could use more exploration to know which ones appeal to you.

From my pov: - general backend people are a dime a dozen, deep front end expertise is harder to find. if you already have front end skills, adding deeper design/UX skills to that would take you to another level completely - on the backend, python unlocks a giant data / ML ecosystem, plus django

Re: Ask HN: Self-taught webdev with lots of free time. What should I learn?

#218
post #58

Learn web3.js and build dapps. You already have most of the requisite skills under your belt.

I haven't encountered any dapps yet that are useful in day-to-day life. Are there any popular or important ones you could recommend?

Compound, dYdX, crypto kitties, uniswap, Dai, Lightning network, Augur...

These are mostly financial apps. Compound for example provides the ability to earn decent interest rates (currently ~2-6%) in a time of 0.1% at banks. That's definitely important for people taking it seriously and using it to grow real savings. It's not a joke or a toy, it's used for real investments.

Lightning is helping Bitcoin become more usable. dYdX, uniswap, and dai are important infrastructure for the crypto economy. Cryptokitties is a game that is not important but is popular. Augur gives insight about the future.

Re: Ask HN: Self-taught webdev with lots of free time. What should I learn?

#219
post #67

Earlier quoted context omitted.

> and if you are self-taught, I can guarantee you that you have massive holes in your knowledge Just curious, why is being self taught a guarantee for having massive holes ? Can you give some likely examples ?

I don’t know if it’s guaranteed, but here’s my perspective (as someone with 2 BScs and an MSc, who also self teaches a ton of stuff): My personal drive for self-teaching generally stems from either a specific problem I’m trying to solve on a project or a desire to dig deep into something “cool” I’ve come across. In the first case, I’m tugging on the strings that seem most likely to get me to the solution to the probl…

Well said. I can relate to this as self taught. I don’t work in the SE field though so I feel no need to learn the silly whiteboard interview puzzles. It’s never been a hindrance to making my ideas come to life.

Re: Ask HN: Self-taught webdev with lots of free time. What should I learn?

#220
post #52

Have you considered open-source development? [1] All the languages and libraries you've listed are open-source projects started by someone like yourself. > "having done every type of CRUD under the sun - what do now" You have a lot of experience developing CRUD, why not build something that alleviates the pain of CRUDdy development. What annoys you? What sucks and could be done better? Anyway, just a thought. Good lu…

In case OP (or others) are interested in getting hired to work on open source, some resources:

https://www.fossjobs.net/ https://github.com/fossjobs/fossjobs/wiki/resources

Post reply on HN