I think the weekly rants just exist because @dfox & @trogus got banned from stackoverflow and they still have questions.

When it comes to learning cutting edge tech... Go build already!

I found Rust intimidating.

I read the first few pages of the official book, got bored, gave up.

Few months later, decided to write a "simple" tool for generating pleasing Jetbrains IDE color schemes using Rust. I half-finished it by continuously looking up stuff, then got stuck at some ungoogleable compiler error.

Few months later I needed to build a microservice for work, and against better judgement gave Rust a try in the weekend. Ended up building an unrelated library instead, uploaded my first package to crates.io.

Got some people screaming at me that my Rust code sucked. Screamed back at them. After lots of screaming, I got some helpful PRs.

Eventually ended up building many services for work in Rust after all. With those services performing well under high load and having very few bugs, coworkers got interested. Started hiring Rust engineers, and educating interested PHP/JS devs.

Now I professionally write Rust code almost full-time.

Moral of the story:

Fuck books, use them for reference. Fuck Udemy (etc), unless you just want to 2x through it while pooping.

Learning is something you do by building a project, failing, building something else, falling again, building some more, sharing what you've made, fighting about what you've built with some entitled toxic nerds, abandoning half your projects and starting twelve new ones.

Reading code is better than reading documentation.

Listening to users of your library/product teaches you more than listening to keynote speakers at conferences.

Don't worry about failures, you don't need to deliver a working product for it to be a valuable experience.

Oh, and trying to teach OTHERS is an excellent method to discover gaps in your knowledge.

Just get your fucking hands dirty!

  • 13

    Learning without any resistence by just stuffing theory in your brain is pointless.

    Don't be afraid to fail, as long as you've learned something it's always a win.
  • 16
    I didn't read the rant, I just gave ++ for the opener.
  • 4
    I'm faving this.
  • 5
    @atheist ikr! It's just poetic
  • 5
    dfox and trogus got banned from SO?

    I need more context.
  • 10

    Haha no that's just my conspiracy theory. They got kicked off SO for continuously asking "primarily opinion based" questions , then made devRant so people would provide finally provide answers. 😄
  • 3
    @bittersweet ah! When you can't game the system, join them.
  • 2
    When I tried learning Rust (or any programming language), I try the following, in order:

    1. Build a Hello, World! cli app.
    2. Build a Hello, $argument! cli app.
    3. Build a pizza order system (different pizzas with different prices, let the user order any natural number of pizzas, let the system print all orders) cli app.
    4. 1–3, but now over a network connection.
  • 3
    While this approach works wonders for learning a new language, you'll hit a wall pretty quickly when trying to learn new frameworks this way.

    That's where tutorials prove invaluable, imo.

    We all know how languages work in general but frameworks assume the devs at least have a baseline knowledge of what they're doing. Eg; know how to set up a react project, know how hooks work, know how to write CSSinJS, etc
  • 3

    > React, JSS

    Could you please not say such filthy things? For fucks sake, children use the internet too!
  • 0
  • 0
    @RexGalilae I literally learned React by building shit. In fact, I wanted to learn Webpack as well because although I was familiar with JS I didn't know anything about the ecosystem. I followed the official "from scratch" tutorial which didn't work at all because it was written for a different major version of one of the 14 tools involved. It did take me over two weeks and I did have to read the Webpack docs back-to-back but I did learn, far quicker than most people I know, and I had to do nothing but set out a project and keep on trying day by day.
Add Comment