DEV Community

Cover image for How Personal Projects Make You A Better Developer
Milecia
Milecia

Posted on • Edited on

How Personal Projects Make You A Better Developer

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.

You get to experiment without judgement

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.

You learn how to handle more of the application lifecycle

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.

You can let your mind wander

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!

How to pick a project

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 microcontrollers with JavaScript. πŸ€ͺ … I need to stop finding things to play with.


Hey! You should follow me on Twitter because reasons: https://twitter.com/FlippedCoding

Latest comments (20)

Collapse
 
askarmus profile image
Askar Musthaffa

An informative article. remind my development career beginning days.

Collapse
 
dhirajpatra profile image
Dhiraj Patra

Yes correct

Collapse
 
angelarae63 profile image
Angela Whisnant

Love this! Thanks!

Collapse
 
santeee profile image
Santee

Hi!
I'm a volunteer firefighter and I develop apps for the team (i see that like personal projects). That's ideally to apply all of my creative and i learn developing something usable.
In this time i came across with all you write, its very productive!

Collapse
 
douglasfugazi profile image
Douglas Fugazi

You're right, the best thing that you can do is working in personal / open source projectz. Maybe you would learn new things and improve your skills. Great article.

Collapse
 
lomolo profile image
Edwin Moses

I am working on a personal project and it's really an adventure. I get to reset and try working out problems with different approach. I get stack with an error no one has ever stack overflow it. I get things to work out on the end user at the end of the day.

Collapse
 
levimoreira profile image
Levi Albuquerque

Totally agree! Personal projects help me a lot on getting to know new stuff in Android developement. Sometimes the technologies we use at work are not new or we haven't got the space to apply new stuff and if we want to keep up to date with new trends, the personal projects is the only way we can do it. And just reading about them isn't enough, I need to write code in order to understand how something's supposed to work.

Great article btw!

Collapse
 
liyasthomas profile image
Liyas Thomas • Edited

This post is gold ✨
I consume most of my free time doing personal projects and proud of it.
Last week I created an open source online markdown viewer and editor called Marcdown πŸŽ‰
It's lightweight, fast and clean. I wrote about it on dev.to ✨ and got immense support (3500+ views // 100+ reactions // 25+ comments) from my fellow devs πŸ§‘πŸ’›πŸ’™πŸ’šπŸ’œ Love you all.

GitHub link

Collapse
 
gklijs profile image
Gerard Klijs

I've had several passion projects, some Kafka related. Thinking about trying to build the Kafka Broker in Rust, to learn more about the internals of Kafka, distributed programming and Rust. But first have to finish a blog for Confluent and what to play with KSQL as well. And then there are some Rust Wasm frameworks I want to try..

Collapse
 
luqman10 profile image
Abdul Qadir Luqman

All your points are πŸ’― valid. The only problem is you can get really exhausted from coding all day at work and coming home to code some more or even read a book on programing. You sometimes just wanna relax and do nothing.