How can personal projects make you a better software developer
I get it. After a long day at work writing code, how can you still have the drive to give the extra mile and write some more code for a private project? Between long hours of code deciphering, motivation can sometimes be lacking. How to overcome these setbacks was my motto to write this blog post, so here are some bits of advice I’ve gathered from my own experience.
The power of personal projects to boost your hard skills
Working on something that makes us get up in the morning is super important when it comes to forming our path in the world of software. Personal projects do not have to be anything too complicated, but they certainly can pave the way to transform you into a better software developer. Find out how you can upgrade your hard skills on your tech job just by following a personal passion in 4 easy steps.
1. Choose fun and curiosity
Make sure not to start some generic or uninteresting project. Completing them is hard, so it is a recipe for failure when starting something you don't care about. Go for a walk, eat and clear your head before diving into it.
This is your time to learn! Try out that framework you have wanted to fiddle with, that library you have been interested in grasping or explore a new language. This new project does not have to be directly related to your job, but it should sound fun to you.
2. Create a playground
No code review except your own will be done, it is just you playing around. The code can be as ugly as you want and nobody should see it. Try different approaches in the process, take steps back, redo, refactor, color outside the lines!
There are numerous ways to achieve the same goal when it comes to programming, so try as many as you wish. You don't have to follow the same patterns you use at work. Try functional programming or OOP (Object-Oriented Programming) if you had not the chance to try one of them yet.
If at some point you wondered how cool would be to create a certain app, make it yourself. Be creative and have fun!
3. Start from scratch
Look to the bright side of the project. You get to make all decisions: setup, structure, architecture, tech stack... Starting from scratch can seem daunting at first, but learning how to build something from the first step until the final output, gives meaningful insight into a complete development workflow.
Personal projects require the know-how of every stage of the development process. When starting a web app, for example, you'll even have to decide which hosting service to use, what kind of resources you need, how to keep multiple deployment environments and many other aspects. This is one of the best ways to get exposure to a larger number of skills, giving you leverage in a professional setting.
4. Picking a project
Here comes the hard part (maybe!). Most of the time it might seem tough to settle on an idea and go with it. When struggling with this, try to replicate some app. Start by making a replica with a tech stack you find interesting or useful, to get your brain cells pumping. It isn't required to come up with a million-dollar idea, but rather to get started on something.
When starting a new position, at a new job, you may find it useful to develop an application using the technologies you'll be working on. This approach has personally helped me to become a better developer.
In my case, I have created a game engine in C++ using Lua as the scripting language, boosting my knowledge of OpenGL, shading language, C++, memory management, multithreading, and how to integrate Lua in C++. This was the first big project I worked on in my spare time.
Since then, I've also made some Open-Source Software contributions and several other small apps and I think that this had a major contribution to my professional development and evolution at Fabamaq as well.
Just get started with something fun, and the learning will come naturally!
Blog Article written by Marco Pinto, Senior Software Developer at Fabamaq
Looking for a job? Join Fabamaq now
With over 230 Gamers so far, Fabamaq has several IT jobs in different areas of operation. From mathematics to game development, passing through project management, and software development, there are a lot of job openings to explore. Do not miss out on what could be the jackpot of your career!