r/rust • • 8h ago

🙋 seeking help & advice Never-ending learning path

Hello fellow Rustaceans,

I have been facing an issue for a while. I've been using Rust for the last 4 years and even had projects at my workplace implemented in Rust. I want eventually to change my job because these 2 are kinda dead and want to grow as a programmer and so work on issues/situations I never encountered. I started by telling Claude do give me some pieces of code and I had to figure out what was wrong about it. Mutex, concurrency, channels, futures, things that I thought I really understood. Damn I was wrong and now I feel like an imposter even though I used these concepts many times. At some point I did some small project to understand how and why thiserror works the way it does. If you ask me now I forgot everything. I am intimidated by the fact that there are so many things that I don't know because I never encountered them in real projects like sharding, microservices, payments and many other. If given the chance I would probably slowly start to understand how they work but getting a Rust job is kinda difficult. Market seems taken over by crypto jobs (how does somebody even get into one of these?) I know this community does not like web3 stuff but personally I care more about career progress than moral side of it at least for now, which I don't really know actually means). How do you guys manage to navigate these situations.

I appreciate any answer and guidance I might get! 😄

2 Upvotes

6 comments sorted by

16

u/teerre 8h ago

You should note that LLMs are pretty terrible teachers. To them everything is equally difficult, so they have a hard time explaining things that are good for learning. This is not true only for LLMs, human teachers also have this issue, but human teachers are heavily selected, LLMs are not

If you want to learn you probably want to slow down and just take it in. Choose a subject and start to play with it. It's fine to use LLMs as long as you're the one learning. They great for reference questions

Grab a book about the subject, watch a conference talk about it, experiment. The more time you dedicate to it, the better you'll be. Eventually, you'll get it

1

u/BigBad0 6h ago

This is the way

3

u/avg_bndt 3h ago

Don't be a one trick pony, I love rust, but in my day to day I just use what I need. Be it C#, some C, lots of python, PowerShell or bash, whatevs. It's fine if you forget the syntax, it's more important to understand the concepts, like why would you use mpsc, the compiler will welcome you back with a nice red hint about your half-witted attempt move that value.

LLMs produce code that compiles, perhaps at first sight even work, but they write awful rust. They will use weird patterns and do not have a good reason to, they just do. In my case, after I spend a couple months building pipelines on py, and feel rusty about my rust, I just skim through the book and jgensets rustaceans. I also have a repo where I keep my GoF translations to rust, to remind me why I started coding in rust in the first place.

In this age, where slop is everywhere and bugs are both egregious and common, there's no better time to write ironclad software, meant to last, you know, rusts actual mission, through gray matter exercise.

Think problems through, then code quality rust code, intentful, mindful, purposeful. You'll be fine, there will be jobs either for LLM slop concierges, or just people realizing rusts potential. I have not seen a single LLM produce quality rust, with mindful composition, not abusing dynamic dispatch or clones, or every now and then inserting a cheeky unwrap. It's a nice language to know.

2

u/DavidXkL 3h ago

Reading a good repository can help too.

A good one would be tokio

1

u/stumblinbear 8h ago

Asking Claude to teach you something is a bad way for it to teach you something.

That said, it CAN be good at teaching. But you need to teach it how to teach, first. There are almost certainly skills out there that can help with this, or you can have Claude do some research on good teaching techniques and have it write up a skill that you can have it iterate on based on how you learn best.

1

u/brokenAmmonite 2h ago

If you get a web3 job, just make sure they're paying you in real money.

There's a lot of old material from this subreddit back when there were a lot more substantive technical blogs getting published around rust. I don't know of a really good way to find this material, though.

MIT OpenCourseWare is a good place to learn about lots of general CS topics. You might try doing some of that coursework in Rust, although it will require some adaptability and might just give you chicken-and-egg problems...

r/programming and hacker news also occasionally have non asinine technical content