What is a Side Project?
A side project refers to a development project that you work on personally, separate from your main job. It is a project that developers mainly work on outside of their main job to improve their interests or skills, usually carried out by individuals or small teams.
A similar concept is a toy project. A toy project is a project carried out to experiment with new technologies or ideas, mainly for personal purposes such as technology review and idea validation.
The difference between side projects and toy projects lies mainly in their purpose. Side projects aim to improve personal skills or strengthen portfolios, while toy projects are carried out to experiment with new technologies or ideas.
| Category | Side Project | Toy Project |
|---|---|---|
| Purpose | Practical goals (release, monetization, etc.) | Technology learning, experimentation, practice |
| Scale | Relatively large, can be long-term | Small feature-focused, short-term |
| Completion | Product level, considers actual users | MVP level, prototype form |
| Practicality | Usable in real life, considers service deployment | Personal learning, demo purposes |
| Examples | App development, open source projects, service operation | New library experiments, following tutorials |
The Importance of Side Projects
Through side projects, developers can improve their technical and problem-solving abilities, and can also benefit from economic growth through portfolio improvement and revenue generation.
- Technical Growth
- Can experiment with new technologies and frameworks
- Opportunity to learn technologies that are difficult to experience in main job
- Problem-Solving Ability Improvement
- Accumulate experience solving problems that occur in practice
- Experience of end-to-end development (planning → development → deployment → operation)
- Portfolio Strengthening
- Can be a strength in resumes and interviews
- Can prove your abilities with actual results (apps, websites, libraries)
- Community and Networking
- Sharing as open source increases opportunities for collaboration with developers
- Can be used as blog posts and presentation materials
- Increased recognition
- Revenue Generation Potential
- Cases exist where side projects develop into startups
- Can monetize through app stores, SaaS, advertising, etc.
- Can move to a better job through portfolio strengthening or have an advantage in salary negotiations
Junior developers should focus on technical skills and portfolio strengthening, while senior developers can benefit greatly by focusing on introducing new technologies, networking, and revenue generation.
When you work on side projects, you can improve various skills not only in development but also in goal setting, project and schedule management, marketing, monetization strategies, and service operation. These experiences not only improve your development abilities as a developer but also help you understand areas outside of development, and if you apply this to development, you can become an even better developer.
Professional Mindset
The most important reason to do side projects is because we are professionals.
We are professionals employed by companies. Companies pay money to utilize our skills, and we provide our skills in exchange for money.
If our skills don’t develop, naturally the company won’t pay more money, and conversely, if our technical development is fast and excellent, the company will pay more.
Excuses like “The company doesn’t use new technologies, so I don’t have the opportunity to learn new skills”, “I’m too busy with company work to study”, and “I don’t know much because it’s not the technology our company uses” don’t suit professionals.
The place with the highest professional mindset is the sports industry. By looking at world-class athletes, we can see why we should do side projects.
- Kobe Bryant: Woke up at 4 AM and trained for over 6 hours, practiced hundreds of shots even after games
- Shohei Ohtani: Trained for over 10 hours a day, completed both pitcher and batter practice
- Cristiano Ronaldo: Added personal training after team training, various supplementary training including swimming and yoga
They are also athletes employed by companies, so they practice and train as the company dictates for the team’s victory and participate in games. However, they also further develop their skills through personal training and other activities. Ohtani even manages his sleep thoroughly to be in the best condition for baseball games.
Are we really managing our sleep quality to be good at programming? Of course, we don’t necessarily need to aim to be world-class programmers, and we don’t need to manage our sleep quality to be good at programming. But shouldn’t we at least make an effort to develop our skills to call ourselves professionals?
Side projects are a very good means for this. You can acquire technologies not used at the company, further improve your skills in technologies used at the company, experiment with new technologies, and develop your skills. If you have a professional mindset, doing side projects for yourself is a natural choice.
How to Start a Side Project
Since side projects must be done alongside your main job, it’s better to start with small goals rather than large-scale projects. Below is a guide on how to start a side project.
- Idea Selection
- Choose a topic you’re interested in
- Find ideas from inconveniences in daily life
- Improve an existing service
- Goal Setting
- Start with a small project scope and gradually expand
- MVP (Minimum Viable Product) approach recommended
- Set goals that you can definitely complete
- Technology Stack Decision
- Try technologies you couldn’t work with in your main job
- If you’re not proficient in the technologies used in your main job, use the same technology stack to strengthen your skills
- Consider strengthening your personal technology stack
- Development Progress
- Code management using GitHub, GitLab, etc.
- Practice deployment automation with CI/CD
- Make writing test code a habit
- Practice documentation through blog writing, etc.
- Sharing and Expansion
- Get feedback through blogs, SNS, open source contributions
- Recruit team members for collaboration if needed
- Reflect user feedback through beta testing
- Consider monetization through advertising or premium models
It’s important to create, deploy, and maintain what you need in a side project. And you need to minimize fixed costs so that you can maintain it continuously. Then at least it will help your life, and you can use it as a portfolio while continuously maintaining it. You can also gain experiences that can only be learned while operating a service.
If you’re not completing side projects every time, investing a minimum amount first (server/domain costs, app developer registration fees, etc.) is also a good method. Even if it’s a small amount, if you have invested money, you’ll finish it because it would be a waste not to.
If you don’t operate continuously, it won’t help your portfolio, and you won’t be able to gain various experiences that can be learned while operating. Therefore, it’s important to minimize operating costs so that you can operate continuously. Also, using Google Analytics, Adsense, Google Search Console, etc. to see users growing can be a big motivation for continuously operating side projects.
When starting a side project, people often set goals on turning their ideas into services and monetizing them. Of course, this is a very good attitude that gives you a bigger perspective beyond development, but you shouldn’t forget that the most fundamental reason we do side projects is to strengthen our technical skills. Therefore, you should make sure to include parts that develop your skills by using technologies used at the company or using technologies not used at the company.
Disadvantages of Side Projects
Side projects have many advantages, but they also have many disadvantages. Below is a guide to common disadvantages and solutions encountered while working on side projects.
Time and Energy Consumption
Schedule management is difficult because you have to do it alongside your main job, and you consume a lot of energy because it’s like doing work twice.
- Fatigue accumulates when combined with work, studies, and personal life
- High possibility that the project will take longer than expected
- Continuous motivation is needed
You can manage time and energy consumption by starting with small goals (MVP approach) and allocating fixed time blocks (e.g., 2 hours on weekends, 30 minutes on weekdays).
You need to manage your time and energy well so that side project work doesn’t affect your main job.
Maintaining Motivation
Side projects are fun at first, but you may lose interest over time.
- Repetitive work such as adding features and fixing bugs can feel boring
- If there are few opportunities to receive feedback, the likelihood of giving up midway increases
You need to continuously motivate yourself by working on side projects publicly (blog, SNS, open source sharing) to receive feedback or by setting smaller goals so you can feel small accomplishments.
Revenue Generation is Not Easy
Most side projects don’t lead to monetization.
- Even with many users, it’s hard to maintain without a business model
- Operating costs and server costs can become burdensome
Rather than aiming for monetization from the start, it’s better to focus on creating useful products and improving your development skills, then consider monetization through advertising, premium models, etc. after gaining more users.
Technical Debt and Maintenance Issues
Side projects often have a strong purpose of learning new technologies, which can make long-term maintenance difficult.
- Initially you develop quickly, but maintenance becomes difficult as the structure becomes complex
- Over time, code may become outdated or libraries may no longer be supported
Even though you’re developing alone, if you also work on architecture and design, or pay attention to clean code and documentation, it will greatly help with future maintenance. Also, not insisting on only the latest technologies and choosing a technology stack that can be maintained long-term is one method, and such technology choices can also help with future company work.
There Are Limits When Doing It Alone
Since you have to do everything alone, the speed may be slow. It’s good to recognize this from the start.
- You may have to take on all roles including design, development, and marketing
- It’s hard to receive objective feedback when working alone without collaboration
You can open source the code you’re developing, receive public and continuous feedback through communities, or find colleagues or acquaintances to work on side projects together. Or starting with small goals that you can quickly progress on alone is also a good method.
High Probability of Failure
Most side projects end without users.
- Many cases of giving up midway due to no user influx or no response
- Even if completed, motivation to maintain may disappear
Rather than aiming for large-scale projects from the start, it’s better to set goals on experiencing small successes. Also, even if you fail, recording what you learned and using it in the next project or company work is a good method.
If a side project creates a product for yourself, you can secure at least one user and provide convenience to your life. Also, if you minimize operating costs, you can continue to use it as a portfolio, so even if you fail, it can remain as an asset.
Tips for Successful Side Projects
Here are some tips for successful side projects.
- Goal Setting
- Try making a product you need.
- Try making a product that allows you to use technologies you haven’t used.
- Try making a product that allows you to understand the technologies you’re using more deeply.
- Project and Schedule Management
- Set goals by dividing them into small pieces.
- Manage your schedule flexibly.
- Maintaining Motivation
- Try adding your own fun elements.
- Try sharing progress with communities, blogs, or acquaintances.
- Start Simply
- Don’t aim for a perfect product.
- First, make a product where one feature works.
- Start right now.
- Maintain a Regular Routine
- Secure time that you can execute regularly.
- Try creating your own routine during weekends, commute times, etc.
- Don’t Be Afraid of Failure
- Most side projects have no users at all.
- Side projects leave learning even if they fail.
- Just making your own product from start to finish is a very big achievement.
If you’re curious about my experiences and lessons learned while working on side projects, please refer to My Side Project Story.
Recommended Books
You already have sufficient development ability to work on side projects. Therefore, try to develop not only your development ability but also the vision and ability to successfully carry out projects.
- The Lean Startup (Eric Ries)
- Disciplined Entrepreneurship (Bill Aulet)
- The Right It (Alberto Savoia)
Was my blog helpful? Please leave a comment at the bottom. it will be a great help to me!
App promotion
Deku.Deku created the applications with Flutter.If you have interested, please try to download them for free.



