i got this as a question a while ago and wanted to answer it, tried writing a thread, lost motivation. so here is said long post in short:
- solve problems you have - gives you real satisfaction to keep on going
- build stupid shit - you shouldn't care about whether the thing you're writing will be used by anyone else than you. make a BBS. make a hobby OS. do cool shit that you want to do. give zero fucks.
- keep on doing it - i've been coding for 9 years. pure experience matters a lot
building stupid shit is really the most important one out of these three. you build muscle memory for coding stuff, and you gain obscure knowledge. both very useful when encountering problems in the real world.
"fucking around" really is the key. some other tips that worked well for me:
-
focus on web stuff, for two reasons:
- getting basic stuff to show up on the screen is very straightforward
- there's a strong culture of making frameworks easy to get to and running without a lot of work or expertise
-
if you're using a framework or library, read its source code. the best of them will be written as layers where each layer uses layers below it just like a user would, so you can learn a lot by mimicking its style
-
once you start to do a few silly projects, you'll reach an inflection point where you start to have way more silly projects you know you could do than you actually have time for. this is when you know you're making it
ten years ago i was learning html tags to make my tumblr blog play a different gif when you hovered over each nav button and now im making this website
15 years as a dev... 14? something like that, numbers are hard. (edit: 17!! wtf!) Don't let it eat your soul. People will be like "hey, work on Open Source projects, volunteer, code in your off hours, sleep under your desk, eat nothing but circuit boards and milk for breakfast, plug yourself into a car charger once a week!!!"
It's important to chill the fuck out, take breaks, and do other shit, too. Not everything has to be a side-hustle. It's okay to just have fun, and it's important not to fry yourself out, (or plug yourself into an electric car charger, that's dangerous!!).
Love and affection to the OSS devs, to the folks making cohost, etc., but for real, it's absolutely possible to do software as a job, and then go. home. afterwards. Just like a CS degree isn't the only way, neither is self-taught 10x engineering. Be kind to yourself.
(Experience is huge. just keep trying, listen when people correct you, ask questions, and always be learning. You'll get there.)