Why is your pet project dying?

Meet Vosya, he is also known as Eightlegs. He is a professional in every sense of the word, with over ten years of commercial development experience behind him and currently holding the position of chief developer in a large company. It would seem that everything was going well, but at some point it began to seem to Vose that programming had ceased to be interesting for him, and all tasks had turned into a routine that needed to be completed, following certain patterns, without any element of creativity.

Some visual portrait of Vosya

Some visual portrait of Vosya

He increasingly realizes that he wants to return to programming the childhood interest that he experienced at the beginning of his journey. However, creating a CRUD API for a galley using the same template will not help him in this endeavor. Therefore, the idea of ​​​​your own big and exciting project begins to emerge. The only drawback is that he doesn’t come up with a single interesting idea to implement.

At this point, it becomes obvious that for Vosya the final product or its successful implementation is not a priority. He just wants to do something that is not related to work, one might say, to immerse himself in the process of procrastination.

After all, pet projects are cool

After all, pet projects are cool

But an interesting idea never comes to mind, forcing Vosya to turn to friends and acquaintances to find out if there is a need for any software products in the development of which he can take part. And suddenly a proposal appears to create a mini CRM for a hookah bar. Vosya, without hesitation, agrees, and is already beginning to make plans to expand his project to other establishments.

And where does our brilliant Vosya begin to develop? From gathering requirements or defining the boundaries of the project, the initial MVP? No, he starts doing what he always dreamed of doing: designing a microservice architecture for his mini CRM. There he strives to use everything that he lacked at work: he implements DDD (domain-driven design) correctly, and not the way his colleagues did it at work, and also combines this with a clean architecture in microservices.

It would seem that Vosya is an experienced developer, but why does he make such inconsistent decisions? Because, on a subconscious level, he just seeks to apply his skills, which he cannot fully realize at work, and get his dose of dopamine.

Wake up Vosya, you need to fix the storage on the product... what kind of cuber is this...

Wake up Vosya, you need to fix the storage on the product… what kind of cuber is this…

After completing work on Vosya’s most exciting project, he feels a rush of dopamine. He feels like a young developer again and is genuinely interested. At this stage, he decides to stop and rest, because today he achieved what he wanted.

In subsequent times, he continues to work and extracts the maximum possible from the development of the project. However, as interesting tasks dry up, various difficulties and problems arise: server problems, database problems, deployment-related tasks, and so on. Since these tasks don’t bring value or interest to Vose, he begins to constantly put them off for the future, and then eventually loses interest in the project, realizing that he doesn’t really need it, and basically, it’s all too much difficult.

As a result, we can conclude that if you feel tired from your work and from the same type of tasks, you should first contact your manager and describe the situation. Perhaps then there will be a solution, such as changing the project or role in the team. As a last resort, you can always take the time to study and deepen your specialization, and then look for a new job.

Can you handle the pet project alone?

Now we smoothly move on to the second question on our agenda: Do you really think that you can implement everything on your own? After all, large companies have thousands of employees and many teams, each of which develops its own part of the product. And you think that all this can be done alone.

The main character in this short story will be Ivan, whom everyone calls Vonich. He is a very successful developer who actively shows himself in his work, and dreams of realizing his cool idea in order to become the new Pavel Durov as soon as possible. He has no problem coming up with interesting ideas, and he doesn’t have programming fatigue. However, he somehow fails to complete his project.

How does Ivan see himself...

How does Ivan see himself…

Ivan decides to implement his cryptocurrency exchange with a twist, which we will keep secret. And it would seem that according to Ivan’s version, it’s enough to file the front on React, the back and authorization and wallets, and you can go to release with a minimum MVP. But whether this will happen is a big question.

After all, developing a frontend in React requires a number of steps: first you need an interesting design, then you need to layout it. After this, you should integrate the design into a React project and create an API binding. This, in turn, implies the need to develop your own API for the exchange, as well as implement authorization. So where should Ivan start so as not to get confused?

Ivan is trying

Ivan is trying

To work successfully, he has to be in the role of a customer, analyst, developer, tester and devops. In the future, he tries to combine all these roles, but despite the time spent, his goal remains distant. Considering that large products take teams years to develop, he can only do a small part on his own. Perhaps it would be worth starting with something more limited or feasible.

In general, if you have an interesting idea, perhaps, as in any business, you will have to invest financial resources and order part of the work. In today’s environment, it is very difficult, if not impossible, to create a product alone. It is necessary to look for supporters or assistants among colleagues, otherwise the implementation of the idea will be difficult.

Do you have time to work on a pet project?

Let’s move on to the last question: Do you even have time to work on a pet project? After all, in order to start developing something of your own, you need to regularly set aside time for additional work, and not just look for a free window to code once a month. Any work must be carried out regularly so as not to be abandoned, perhaps in small parts.

Let’s describe a character named Oleg, who was nicknamed “Where are the edits?” He is a very successful and sought-after team leader of a small development team. In addition to the work sphere, he also has a real family: a wife and several children. And then he receives an offer to jointly develop a project with friends, to which he agrees.

Oleg is required to edit

Oleg is required to edit

And now the work on the pet project is gaining momentum, and life in it comes to life: the friends have already begun to complete their first tasks, but Oleg is not yet able to join. After all, his job requires him to close the release, and after work he promised to take his wife to the store and also pick up the children from kindergarten. And in general, bloody nose, tomorrow he will definitely complete his part of the tasks.

Oleg makes a promise to his friends...

Oleg makes a promise to his friends…

And Oleg continues to look for excuses and stifle the idea of ​​the project, waiting for the moment when everyone loses interest so that with a clear conscience he can say: “Eh, guys, it didn’t work out. I hope next time we will be more organized and everything will work out.” But what prevented him from refusing this job? Perhaps he simply did not want to miss the opportunity and did not realize that he did not have enough time for this project. One way or another, like most startups, this project died, and Oleg could breathe easy, because it was not his fault.

In general, it is always important to understand your strengths in advance. Of course, you always want to participate in all interesting projects, but if there is no opportunity, you should refuse so as not to let others down. Or determine that the work schedule will not be too stressful for you to cope with.

Conclusion

Overall, I think it doesn’t really matter whether you finish your pet project or not. If the development process brings you pleasure, then perhaps this is not so important. But if you still want to bring your project to completion, then it’s worth figuring out whether you really need these difficulties, how realistic your idea is, and whether you have enough time. I think if you think everything through carefully, everything can work out.

Thank you for your attention!

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *