I recently joined a 3-month programming retreat called Recurse Center . It's basically a bunch of people in a room (or online) all hacking away on their personal projects and it's been great so far! In this post I'll talk a bit about the program and how it's been helpful.
The key guiding philosophy of this place is following your instrinsic motivations. You can literally work on whatever you want (as long as it's programming-related) which can be amazing but also requires a certain amount of discipline because you could just as easily decide to do nothing all day.
The program has some structure and orients you towards what "types" of work you should be striving to do. You're meant to work on stuff that is hard for you or "at the edge of your abilities". For me, that means working on things that aren't just 2D Godot games, as much as I would love to do exactly that.
For my first project I decided to build this site from scratch on my own. It was a fun project to do because I enjoy designing UIs and also got to architect the way all the data (like game links, blog posts) is stored and generated into web pages. I'm saving a hefty $192.00/year , which is not too bad.
The people in this program come from all kinds of different backgrounds and levels of expertise. This can come in handy if you're stuck on a problem or don't understand how something works. The other day I was trying to wrap my head around networking, specifically websockets, and mentioned what I was doing to the person sitting across from me and turns out he had made a websocket-based multiplayer game in the past! So of course he was happy to help explain the basic concepts to me and point me in the right direction to get started.
There's something about being surrounded by people who have done the thing you're trying to do that "demystifies" that thing for you. For example, I've always felt like building my own game engine would be an impossible feat. How do you even make a window appear on the screen? How do you draw a sprite? Do I need to write everything in C and worry about memory management? It has never felt like something humanly possible.
But then I met someone here who had built his own engine. And he started explaining things to me and by the end of it, while the process still seems very difficult, it feels a lot more realistic. And a lot of the fearful assumptions I had (like do I need to write my own graphics renderer) proved to be unfounded (you can leverage existing libraries to do the truly "hard" things for you).
It's only been a few weeks but this program has been great for reframing how I approach learning and how I want to spend my time. Knowing that I shouldn't just do the easy thing and being surrounded by people pushing themselves is a really great environment for creativity and motivation.
If you're interested in Recurse Center or have any questions, feel free to reach out!