One of the core pieces of advice we are normally giving to CodeGym students and other beginners in coding who want to progress and get their first Junior Developer job
, is to work on personal independent pet projects. Adding a side project or two to your portfolio can be a big plus if you don’t have much working experience yet, helping to convince the employer to hire you.
Developing pet projects is always a good idea, and no one is arguing with that. But giving advice is one thing, actually building side projects is another. An inexperienced developer can and most likely will face a number of difficulties when working on a personal project without external help.
How to get your pet project up and running
Ideas for a project are the starting issue most people face, as it turns out it’s not so easy to come up with an original yet realistic idea. But the major problems come when you begin to work on a project. To actually finish the project and get it up and running is the task many coding beginners actually fail to complete.
And understandably so, as the development of even a very simple piece of software often requires more than just basic coding knowledge. There’s a number of things you should remember when looking to start a pet project, especially if it is your first one.
1. Research and plan first, code later.
Just like any building needs a foundation, a project, doesn’t matter how small and independent it is, should begin with a plan that is impossible to complete without some research work and thinking. Starting to code and develop without having a clear plan is one of the most common mistakes developers tend to make, and not just inexperienced ones.
So the advice is not to rush with coding. Starting to code without a proper plan can easily be a waste of time leading you to a dead end and the need to start all over again.
2. Set goals and deadlines.
Another important thing, often neglected by both Junior and more experienced coders, is setting goals and deadlines, which is also planning of course, but this part deserves a few separate words.
When it comes to goals, it is important to be realistic. If your skills and abilities are still very limited, it would be wise not to get too ambitious and pick a project that you are capable of completion, even if it takes some additional learning and extra effort. Setting yourself a deadline (and sticking to it) is another way to establish self-discipline and motivate yourself to complete the project within a realistic timeframe.
3. Try to solve real problems with your project.
Another advice related to the planning stage is choosing the idea for your project. Most people have no difficulties with generating ideas for their pet projects, the only problem is their ideas are not very good. Look for some real problems, in your field or elsewhere, that your project can solve (or at least attempt to).
“You can't force yourself to have a good idea. Most of my pet projects came from working on something else and realising that something is missing. I then proceeded to build that missing component/part/library. In time, as I gained more experience with frameworks, I realised I don't really like any of them. I then made my own, which I use on many projects today. As I use it, I notice more missing components, more things I could build that would save me tremendous amounts of time, and those become new pet projects themselves. It's basic need-and-supply, but on a more personal basis. Notice the need, and the idea for the supply will come to you.” said
Bruno Skvorc, an experienced web developer from Croatia.
4. Focus on technologies companies you’re willing to work for are using.
If your primary source of motivation for working on pet projects is getting experience and building up the resume to get a full time job as a software developer, when picking a project you should also think about the technologies you are going to use in it. It’s better for your project to be in the same field with companies you are going to apply, or use the same technologies they are working with.
“The best pet projects satisfy your curiosity, so choose a technology that fascinates you and build it,” recommends
Sanjay Paul, a developer at Palantir Technologies.
5. Don’t neglect the front end if your project needs it.
You guessed it, neglecting the front-end is also a very common mistake many developers make when starting to work on their pet projects. You don’t need the front-end to be drop-dead stunning, bit at least make sure it is functional and looks professional enough. That’s why a good idea would be to make a design sketch of how your product is going to look like before you start to code, and get back to the front end regularly, adjusting it to any changes that occur along the way.
6. Use Pomodoro and other anti-procrastination techniques to work on the pet project systematically.
Working on your independent project regularly within the specified timeframe (for example, two hours each day, from 9 am to 11 am) is also very important, and this is where various efficiency tools
and anti-procrastination techniques
may come handy. Use whatever works for you, just make sure that the development of your project doesn’t turn into something you keep postponing and leaving for tomorrow day after day.
7. Make your work public.
Publishing your work anywhere you can in some way is also a motivation method. One thing is developing something only you are going to see, and the whole other thing is creating a product other people will be able to try and share their opinion about it. Even if it’s your first pet project and it’s very basic, better prepare yourself to make it public right from the start, this will help to set the right mood.
8. Use version control and keep looking back at your work.
And the final recommendation would be to use version control systems or other ways to keep track of the code. This will allow you to make sure your work won’t be lost with time (which will eventually happen if you just leave on your computer). Version control will also allow you to look back at your work once in a while in the future, which is exactly what you need to do. Looking back at your earlier work is always healthy: this way you can track your progress as a professional, spot ways in early projects that you would have done differently now, and so on.