It took me around 8 months of procrastination, but at one point I finally finished 739 Rust exercises, as a non-programmer.

Let me tell you the story of a non-programmer (yet) learning Rust as his first language.

JavaScript, SaaS and illusions

At the very beginning, I was wondering what to do in my life, what I really wanted to do in my life I mean. I watched on YouTube a video about AI and SaaS… I won’t go deep here, you can picture the story. Just some random beautiful thing that makes money, but the reality is different.

But, while AI was just a shiny object for me, SaaS on the other side was something that really interested me. So I started to learn JavaScript. And… it was terrible for me.

I don’t hate JS, or say that it’s a bad language, it’s just a really bad fit for me.

Maybe I learned JS for 3 months, with A LOT of procrastination. In 3 months I maybe really worked 15 days entirely.

By the time I procrastinated, I discovered Rust 🦀.

Rust, my love 💛

I don’t remember how I discovered Rust, but I remember that 5 minutes later, I was conquered.

I probably found a post or a video about it. And then, after understanding the core ideas of Rust, I was in love with it.

So from here I switched from JS to Rust… in my mind at least. Because my number one enemy in my life had returned again: PROCRASTINATION. It took me a long time to actually start to code.

Understand that, 0% of my procrastination was caused by Rust itself, it was just me.

At this point I was:

  1. a non-programmer
  2. who loves Rust
  3. and procrastinates almost everything in his life

If you only have the first two points, you’ll be fine with Rust.

The valley of death = PROCRASTINATION

I procrastinated a lot at this moment, but I also was in love with Rust. So I dreamed about many things that I could build with it in the future. I created some roadmaps to learn and master Rust…

But sometimes I did something:

  • I started to work on the well-known “The Book ”, which is a really great book… but not for my level. After a few chapters, too many questions in my head were unanswered.
  • To find some answers I started another book: “Learn Rust in a Month of Lunches ”, which is great, but like before, too many questions were still unanswered.
  • I ended up learning about hardware, the big picture of how computers work.

Since I discovered Rust maybe 5 months had already passed. And I didn’t code at all in Rust.

The first time coding in Rust

The day I turned 24 I wanted to really change things, so I started RareCode .

As you can see there are two “parts” to my RareCode journey:

  1. the first one I was still procrastinating
  2. the second one I stopped procrastinating and restarted from 0 all the exercises

RareCode

Like I said before I’m still not a programmer (I don’t make a living from my code, that’s my definition).

RareCode was for me something that I really needed. If you’re like me and don’t have yet the programmer mindset/way of thinking, this resource might be great for you.

RareCode Profile RareCode Dashboard

The things I like about RareCode

  • You practice a lot of times the same concepts. You re-use the previous concepts in more advanced exercises.
    • When you learn how to code for the first time, just practicing a lot in different contexts the same concept is helpful to understand what you can or can’t do with this concept. And it’s just the beginning of course.
  • The integrated AI. The AI in RareCode has in its context all the 739 exercises, your code and your errors. That means it can give you advice (not answers, also a great point) with in mind all the concepts you already covered.
  • It just worked. With all the things I learned and even if I already forgot a lot, I’m confident enough to get my hands dirty and start a project on my own.
    • Of course the code will be ugly, but between ugly code and nothing, the ugly code makes me progress.
  • There’s no point “The things I didn’t like about RareCode”. It’s not perfect, and I’m a little sad that it’s not a solution from absolute beginner to more advanced Rust. But now I know that the normal Rust resources won’t be too advanced for me anymore. This is the first step, and a hard one.

Some advice from a total beginner in Rust and not (yet) programmer

These are the things that I think right now can be helpful to learn Rust whatever your level in programming:

  1. Understand the hardware: I find it fascinating how hardware works, and even with very little knowledge about it I understand some Rust concepts better while I learn them.
  2. The compiler/borrow checker is not your enemy! It’s something that I never experienced, but I see a lot of people talking about the compiler like it’s evil or something. For me this is a really fun teacher that tells me everything I need to know. With a little help from AI, this is just incredible how many things I can learn from one single compiler message.
  3. Practice a lot and learn the Rust way. What I mean is, if you come from another language you have some paradigms about how coding works. And if you learn from scratch like me you’ll probably find a lot of resources that come from another language. I won’t say that it’s all bad but, like every language I do think there is a [Your Language Here] way, so in my case a Rust way to do things.

Conclusion

Is learning Rust as a first language harder than other languages?

I’ll say it depends. I tried a little bit of JS and for me it was total nonsense, nothing clicked in my head with JS. On the other side, everything clicked with Rust.

To answer that question I’ll say first, if Rust is a good fit for you it’s a good first point.

Then the only two things you need to learn Rust in my opinion are:

  1. Loving Rust
  2. Being curious/don’t be afraid of deep dives, because there’s a lot to understand and learn. Avoiding hours of deep dive into how binary works for example, might not be a good move for the long term.

All skills can be learned, Rust is just a (beautiful) way of applying the programming skill.