Do all the things like ++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatarSign Up
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple APILearn More
Search - "wk281"
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!10
Kevlin Henney said it best. Old is the new new. Tech goes in cycles. Lambda functions aren't new, they've been around since the 70's. Microservices aren't new. Linux is built out of small applications that do one thing, and do it well.
So what can you do that is "new"? Different. Learn a new domain. You're front end? Do back end. You're back end? Do some DB. You're full stack? Do some ML.
At the same time, finding the time to do those things is hard. I barely manage to do my job with other stuff going on.
You can also try to be better at what you do day to day. Find someone that's better than you. If you're the best in your team, maybe see if anyone needs teaching.
Kevlin Henney talk:
Read source code and unit tests. Don’t bother documentation cause it’s outdated. Dig into the core, look where data goes in and where it gets out. Everything else is just a wrapper.6
The most common mistake people do is trying to learn some complex cutting-edge technology from scratch. Cutting-edge technology is just combining old technology in new ways to solve new problems. To learn it, first learn existing technology. Existing technology is here to stay, it's well-explained, and it's usually much simpler to understand. Then the rest will just click.6
What is this 'cutting edge dev tech' y'all talking about? Does it count if I somehow manage to add support for MS Edge?? 🤔
Hell.. I'm stuck with COM+ & activex, so if anyone who gets to use fancy pants new techs would be so kind to ping me and let me know how it even feels to code like it's 21st century, that'd be great..1
Here’s my step-by-step guide for the idiot:
1) take <cutting-egde tech> (Tech)
2) read documentation for Tech
3) figure out what you want to do with Tech
4) if you are being ambitious, simplify the idea appropriately
5) Go do the thing with the Tech
6 When you fail at something, RTFM
7) Rinse and repeat2
I really don't know a specific one that might work for anyone, but let me tell you a story about what I did long time ago.
So I was studying in high school and that day I had to prepare for the history "interrogation" (oral exam), but also, I wanted to play WarFrame so badly.
As I opened the book, I started day dreaming about what I could have achieved in warframe if I didn't have to study useless stuff, but I had to stay focused on history as I was one bad mark away from failing the whole year.
So what I did was just to:
1. stop studying
2. play for like 30m in order to achieve what I wanted to achieve
3. go back to study all happy and focused like "ok, now I don't have anything else to do in that game"
So in general: just take a little time off to free your mind and then you'll be able to get back to work more powerful than ever.
Don’t be afraid to try new things & don’t wait to have a “good useful idea” or to create “something new”. You have no ideas? Create something you need! You still can’t figure out what to create? Just go for a standard project (e.g: movie list)!