For a lot of developers, the last thing they want to do after being at work all day is write more code. Staring at a screen all day does take a toll on you. Once you've had a chance to go for a walk and eat something, you might consider starting a personal project. It doesn't have to be anything to complicated.
There might be a framework that you want to learn or a library you've been interested in. It doesn't even have to be related to your job. This is your time to learn something that you actually care about and work on something sounds fun to you. Doing personal projects will make you a better developer and here are a few ways how.
Nobody has to approve your pull requests or even see your code. It doesn't matter if it's pretty or not because it's just you playing around. You might want to start working with VR and you just want your little app to run. The code can be as ugly as you want and no one else will ever know.
This is like when you let kids color outside of the lines. You start to think and see things differently. Plus you get to try different things in the process. You could start learning a new framework and realize that you don't like it and stop immediately. There aren't any consequences in your personal projects.
Since this is a project that only you will be working on, you get to make all the decisions. That means you'll learn about software architecture because you'll have to setup the structure of the project. You'll learn how to pick a tech stack that matches your needs, even if you don't know all of the languages involved. All of the details of the project, like who would use it or what problem it fixes, will be up to you.
Personal projects give you insight on every stage of the development process. You'll even have to decide which hosting service you want to use and what kind of resources you need. This is one of the best ways to get exposure to a broad range of skills. When you get into a professional setting, you'll know a little about how everything works on top of your specialty.
Programming is very much like an art. There are numerous ways to accomplish the same task. Now you get to try as many as you like. With personal projects, you don't have to follow the same patterns that you use at work. You can mix it up and try as many different things as you want. Try functional programming if you haven't had a chance.
This is also the time you can work on your million dollar idea. If you have a thing you wish somebody would make, do it yourself. You might not actually make a million dollars, but you will have fixed a problem you had. Your projects are your time to be creative and do the stuff that you wish you could do at work. Just have fun with it!
Sometimes it's hard to settle on an idea for a project. If you have that problem, start by making a replica of a different application with a different tech stack or something. This will get your brain pumping and eventually you'll come up with something you'd rather do. The key isn't coming up with a great idea. The key is to get started on something.
After you've worked on your replica for a while, you might notice some shortcomings in the app that you can fix. Or you might realize that you don't want to make this replica anymore and you start on something else. The purpose of replicating an existing app isn't to really make the replica. The purpose is to get you started on something so that you'll find what you really want to do.
Personal projects help you learn skills you didn't know you needed and they give you a chance to learn new frameworks or programming languages. By playing with code and having fun doing it, you're making yourself a better developer because you're still learning. Doing something is better than doing nothing.
So even if you only spend 30 minutes a day on your project, it still counts because you learned something. Don't lose that whimsy you once had for code. You have to keep it alive! What's a cool personal project you've made? I trained a neural network to predict what a person will click next and I found out you can program micro-controllers with JavaScript. 🤪 … I need to stop finding things to play with.