Note: Chad = ChatGPT
The one easy step:
👏 Just 👏 do 👏 the 👏 fucking 👏 thing 👏
Yes, it’s that easy. Practice makes perfect may be clichéd but it’s absolutely true in my experience.
“But how exactly do I do the thing?” you may ask. I’ll draw up a rough roadmap for learning programming assuming you currently don’t have any coding skills. This is of course a method that works for me and should be fitted to your personality/skills/the thing you want to learn. Experimentation is your friend there.
The first project
Should be something that is not super hard (so, yeah, your MMORPG idea will have to wait), otherwise anything goes (if you’re not sure if your idea is too hard, just try it, you’ll find out). Don’t have an idea? Ask Chad for some ideas: describe your skill level and any “requirements” you have like “i want to make a game” or “something that runs on my apple watch”, then use your favourite suggestion or the first one (if you can’t decide). Don’t take much longer than ~10 minutes to pick a project.
The right framework and language
Doesn’t really matter. Pick any one (again Chad can be very helpful, describe your situation like this example: “I'm starting to learn programming and want to make a website that translates any text into emojis. whats the best framework and language to do that with?” and then when Chad gives you way to many options, pick a random one). If you don’t like it, use something else for your next project (maybe do that, even if you do like it).
On tutorials (and Chad)
Yes, tutorials are great and can be a good first reference point. Same goes for Chad just writing all the code for you, but while fast and easy it does sadly limit the amount you learn by quite a lot. I love Chad as much as anyone, but copy-pasting code is not the same as writing code. If you really want to follow a tutorial or Chad, a method I like to do is one-with one-solo (or something like that, I didn’t invent that, I’m sure there is an actual name for that), where first you follow along and then you repeat it, doing it yourself. My preferred way though is to look up stuff whenever you don’t know how to do a specific thing and then keep going.
“You just want me to fail!”, you say
Yes! That’s exactly what I want! “Wait, what! You fucker!” But no joking, failure is where learning happens. You don’t learn to walk without first falling on your face a lot. It turns out walking is just falling over and over again and catching yourself in time. Is this metaphor still working?
Anyway for me, if I start something with the mindset of “I’m gonna fail a lot doing this and that’s okay” it helps me avoid a lot of the frustration that occurs when I inevitably do get stuck with an annoying bug or can’t get something to work. That being said, don’t forget to…
Have fun!
Motivation is where I often struggle as well. Again starting your journey with the explicit intent of “Yes, I want to learn something, but I also want to have fun doing it!” helps me personally. Switching from one project to another also often helps (and yes that makes both projects less likely to be a success/finished, but we don’t really care about that, we’re here to learn) as does taking breaks (but not too long otherwise you may never start again).
I finished my project and it’s horrible OR I couldn’t do it
That was always the most likely outcome! There’s a folder in my computer with my failed/abandoned projects and it’s larger than all my other folders put together. So don’t despair, just remember to…
Reflect
What went wrong? What did I learn? What should I do differently next time? Was my project way to ambitious for my current skill? Was it actually too easy and I didn’t really learn anything?
Repeat
It’s time to do it all over again. Pick a new project (varying difficulty, etc.) and off you go!
This works for lots of things (for me)
So first, again the disclaimer that this works for me and doesn’t necessarily work for you in exactly the same way. But give it a try if you want and then adjust it to your liking.
This also works for lots of other things apart from coding, some examples are:
Cooking
Start with simple recipes, once you made some that are edible, level up the difficulty, maybe let someone else try it at some point
Languages
Do a few weeks of doulingo, reread an easy book you’ve already read, watch a tv show, chat with chad in that language, find someone to practice with and speak with them
3D modeling
Start with a super easy model (maybe a donut? sidenote: that guy is where I stole that one-with one-solo method from) then a harder one and so on
Writing
Maybe start a blog and try to write two articles a week and publish at least one (see this blog for an example)
On sharing
Sharing stuff you created can be super motivating and keep you going but it can also easily lead to perfectionism, which we want to avoid. In the end it depends on your skill level, personality and what you’re trying to learn. With this blog for example I want to learn to write better but I also want to learn to avoid perfectionism, so I kinda have to publish.
Final note: I just want to be clear that I don’t think that I am a “Great Programmer” (though I do think I’m decent, I have been doing this for a few years), but I do think I’m somewhere on the road to becoming a “Great Programmer” (and this is probably open-ended, I’ll never reach that, as there actually is no clearly defined goal. In the end the road is the goal, always keep learning!).
Final, final note: If anyone does happen to read this, what do think of the images? To many/to few? AI “art” is boring/cringe already? Tell me in the comments!
Thanks for this. I needed to hear it again