Live data from Hacker News

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

news.ycombinator.com

151–160 of 326 posts

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

#151
post #143

Earlier quoted context omitted.

Wow, I must be a complete idiot with this stuff because I can't get people to give me even 150 bucks for a full website right now. How do you actually get these 150/hr clients? Please don't tell me I need to work in Silicon Valley for some years and get the "contacts", cause I don't want to live in the US anymore. Tell you what, here's my site: https://www.andeswebdesign.com , if you like it, just send me all your wo…

I think your contact form is broken, or I just sent you like 8 messages trying this in a few different browsers.

I don't doubt it, we just redid everything last night. Please give it a shot later, I'll go fix it.

EDIT: it's redeploying right now. Please send me a email at erdos4d at gmail if you are actually trying to get in touch with me for business and not just testing the form. Thanks.

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

#152

It seems you are good at building web CRUDs, but complains it is boring. It is boring because it is repetitive. Create a web CRUD builder. Computers are there to cope with repetitive tasks. You can put your expertise in the builder. You will continue to earn money by selling web CRUDs, but you should take your art to a higher level. Repetitive tasks are an opportunity to increase abstraction (like in SICP) and write…

I like this. It would be a nice challenge and end up with a solid product. Abstraction is the most valuable concept is computer science.

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

#153
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-level programming languages, and also to more functional patterns. I went into it from a primarily JS/PHP, and it's been a wonderfully refreshing experience. And it's also been an excellent way to level-up my programming experience.

2. Embedded programming. Get yourself an Arduino or an ESP32, and make something that connects to the physical world. Lot's of fun. You can technically combined this with Rust, but I'd recommend sticking to C/C++ for embedded work (at least at first) because it's much better supported.

3. AWS / Kubernetes / Cloud computing. Managing large amounts of infrastructure on these platforms is an art unto itself. And it's worth learning if it's something you have an interest in. I'm not usually a "training" kind of guy, but I'd recommend doing some kind of course / using structured learning materials for this. Because there's so much tribal knowledge that needs to be acquired.

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

#154
post #112
post #61

Earlier quoted context omitted.

Modern C++ is fairly easy to learn. At-least easier than either Rust or C.

I personally don't think this is true. I worked a lot with C++ before and I'm still confused by the syntax and logic behind some concepts like (just randomly selecting some links from the dynamic memory group). https://en.cppreference.com/w/cpp/types/remove_extent https://en.cppreference.com/w/cpp/memory/shared_ptr https://en.cppreference.com/w/cpp/memory/polymorphic_allocat... I think the basics that are similar to…

shared_ptr is fairly understandable at-least from an application developers usage point of view.

std::remove_extent is only used for template metaprogramming and generally in linear algebra libraries. polymorphic_allocator is an expert facility.

Apart from shared_ptr, the other two are for very specialised purposes - 99.9999% of all C++ code ever written will never have them. But if you need them, you can leverage them.

I came from high level languages (JS/Java) and I found modern C++ pretty good - wow I can code native!. I found writing in plain C very difficult and laborious. I found Rust conceptually far more difficult than C++. Also you can't take your traditional data structures and write them in Rust. You have to do it the special Rust way, which makes it a plain when you are just trying to follow the code/pseudocode in a paper.

Admittedly, the Rust compiler catches pretty much everything you do wrong. But I code C++ with all warnings treated as errors along with static code analysers and they catch all my mistakes too.

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

#155
post #143

Earlier quoted context omitted.

Wow, I must be a complete idiot with this stuff because I can't get people to give me even 150 bucks for a full website right now. How do you actually get these 150/hr clients? Please don't tell me I need to work in Silicon Valley for some years and get the "contacts", cause I don't want to live in the US anymore. Tell you what, here's my site: https://www.andeswebdesign.com , if you like it, just send me all your wo…

I think your contact form is broken, or I just sent you like 8 messages trying this in a few different browsers.

No pain, no gain, they told me.

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

#156
Hi fellow self-taught web-dev with (almost) a decade of experience.

Since we have no formal education we need/want to constantly learn new things in our free time. This is both fun and can be very impactful.

Learning for us is a habit, or even kind of an obsession, but we should always look at topics with a pragmatic eye too.

All of the things I list here helped me do a better job (qualitatively) in some way or another. This is an incomplete list but hopefully you find something useful in here.

In the past:

- SICP => fell in love with Lisp and started to "get" what programming is about. Hard to explain.

- canvas, SVG => out of necessity at the time, pushed me down a rabbit hole of linear algebra. If you touch GUIs then a solid understanding of these concepts is multiplying your productivity and ability.

- Go, programming language => first I didn't have a use-case for it. Glad I learned it because it sparked a strong interest in learning languages. Every next language was incrementally easier to learn.

- theoretical computer science, algorithms and data structures => these concepts are typically taught in CS/IT courses. They are incredibly powerful, important and timeless. Some of the most practical and powerful concepts for web-dev: complexity analysis, graph data structures, FSMs.

In the more recent past:

- Clojure => I have a strong appreciation for data-driven, functional programming and REPL driven development now. These concepts fit very well into web-dev.

- SQL in depth => especially temporal data-modeling. I started asking questions like: Can I do this in pure SQL instead? The result is a much higher appreciation for the language and a more productive approach for both backend design and programming.

- Regex in depth => a nice data-driven approach to handling strings, ubiquitous and practical.

- writing a compiler => this blew my mind. everything is a compiler...

Currently:

- Rust (and WASM) => I wrote a little automation tool with it so far and hope/expect that the language will become empowering even in web-dev.

On the horizon:

- Julia => I hope to dive deeper into math and linear algebra specifically in a practical way, also I assume that some data-science (specifically analysis) concepts help me to develop better solutions and broaden my horizon. I my goal is to use Julia as a vehicle for this.

- WebRTC, video/audio streaming

- WebGL => I want to dive deeper into graphics programming

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

#157
post #149
post #34

I'm a self-taught webdev too and I would strongly recommend learning SQL, not just `SELECT * ...` but really learning it! I've been digging into postgreSQL and in quite a few applications it's possible to greatly reduce the complexity of the backend by receiving exactly the data you need from the DB. It is so much so that in cases you can even "get rid" of the backend completely (yes, no writing controllers and endpo…

postgREST the worst thing ever. Just use the DB to store things, thank you.

I don't see what's so bad. Seems like it would be a convenient way to skip some boiler plate back end code used for CRUD. Probably not optimal for a complex application, but it looks very neat for something quick and small.

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

#158
post #61

Earlier quoted context omitted.

Modern C++ is fairly easy to learn. At-least easier than either Rust or C.

I've written 5-line C++ programs which have stumped experts for hours. There's a trilogy of books about all its edge cases and best practices for working around them... C++ still has a place, but not as a beginning systems language.

I hope we never judge how easy is it to learn and use a programming language by obfuscated code contests. All languages will fail by that measure in their lifetime as they accumulate cruft.

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

#159

Beside SQL which is strongly recommended, it's good for you to know static typings, java and c# comes to mind (haven't tried go, anyone can recommend it or other suitable)

TypeScript is the obvious choice for an experienced webdev. It's worth spending extensive time on to get good. Learn generics and advanced types to the point of not needing to look things up.
Post reply on HN