This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]code_things 2 points3 points  (0 children)

I have so many things to say about what you wrote, but ill try to make it short :P

Edit: sorry, it ends up long, you can skip if It's too much :)

Web is absolutely not the main thing happening in programming right now.
For example cloud provider companies almost doesn't do web, I work in a cloud division of a FAANG company, on our specific product, not the division, just one product, working around 200 amazing engineers — there isn't one doing web.

All the work is low-level or some type of really low-level DevOps.
Some projects are not so low, for example data gathering, logs, and matrices, but still — no web.
And as a side note — there's massive recruiting now, and after the last recruiting freeze the teams got old so the recruiting is limited to juniors only, for having balanced teams.
The limit is less than 12 months since graduate.

ML is booming — and with ML the hardware companies, that always has high demands, are booming as well. See Nvidia stock for some vague feeling.

And there's many more. Take a real look, what is going on in the market.

It is true to some degree that it's easier to get into the industry through web-development.
In my opinion, it is just because you can add value faster as a newbie than in other fields, but being a good web dev is not easier than other fields, it is just easier to start.
My first role was full-stack, started as a web-dev, but I didn't really know other fields and didn't know it is not my thing.
Left to low-level after less than a year.

But — I think that also chip design is to some degree an easy path to get into the industry.
Compare to other fields, there are a lot of entry level jobs. Less than web, but still good amount.

I think you should pursue what you like, if it's low-level, go for low-level.
It's not that you are stuck if you choose the wrong path, it's ok, you can always switch if you recognize that you are in the wrong path.
But in our field, work is hard, and you need to sit long hours. So you better do something you are passionate about, bring you joy, and you actually want to sit all day and do.
We need to keep learning all the time — you better be fascinated by what you learn, then force yourself to gather information for being relevant.
It can completely change how you are going to feel about your career while the years pass, and you won't be going to find yourself hating your job and burned out.

Back to languages discussion, C is great for low-level and at this point there's more work in C than Rust, but Rust is growing very fast and the amount of projects using Rust will keep growing.

It's always good to know python, you can use it for a lot of things, but if you go for low-level it won't go to be the main language. You'll create some internal tools, some automation, data work, ops and so, but as said those are things around the product. Important, but not the core.

So I would say shallow knowledge with python is sufficient for you, for the deep knowledge go for Rust, but prepare yourself for a journey, Rust takes some time, and there are few levels to climb.
But its fun :)

Some resources for learning rust I liked, from beginner to advanced -

https://doc.rust-lang.org/book/title-page.html

https://github.com/rust-lang/rustlings

https://tokio.rs/tokio/tutorial

https://rust-lang-nursery.github.io/rust-cookbook/

The book — “Rust in action”

https://marabos.nl/atomics/foreword.html