Development for the Soul: How to Cope With Lack of Time and Motivation
In my free time away from managerial work, I enjoy working on small development projects, however, like many other developers, I face two main constraints: motivation and free time.
Why free time is a constraint
I have about 10 hours a week that I can comfortably spend at the computer. This significant limitation changes my approach to development. A small project that could be completed in a month of full-time work (roughly 40 hours a week for 4 weeks, totaling ~160 hours) stretches over 4 months at 10 hours a week, which greatly affects its perception.
Why motivation is a constraint
I have started (and abandoned) many projects. Motivation is a tricky thing. At the beginning, you are very inspired by the idea and ready to work 24/7 to see the results quickly. The problem is that this mode of work negatively affects other aspects of life, such as personal life and main job. If results are not visible over a long period, motivation disappears. It’s extremely difficult to work for 4 months on something that doesn’t bring tangible results when you could be spending time with family and friends.
How to deal with this?
Looking back, both constraints seem obvious, but in reality, I didn’t consider them for a long time. At some point, I realized their impact and began to look for ways to bypass them to avoid abandoning my initiatives.
Like any developer, early in my career, I thought I would soon launch a project that would start making a lot of money. A win-win: doing what you love and getting a lot of freedom and money. In reality, it turned out that development is just a small part of the process that rarely leads to financial success on its own. I tried to launch various projects, but lacked experience, knowledge, and ultimately motivation. As a result, the projects were abandoned.
At some point, I came up with a formula that has worked for me for several years. I decided that I would only develop projects that I could use myself and must start using them within the first two months.
This approach greatly influenced how I conduct development in my 10 hours a week. I realized that I could think about ideas or design projects during commuting or household chores to make the most of the available time for implementation. I also minimize functionality, focusing only on the most important features, and don’t spend time on UI (e.g., layout), as it is the most time-consuming part for me. I can start using the project on bootstrap and make it beautiful over time.
Over time, I accumulated a set of practices and tools that I use in my project development. If the tools are more or less clear, I would like to share the practices separately (probably in the next post).
How to apply this in managerial work
Regarding motivation, this is also relevant in a company setting. As a manager, I must maintain the motivation of engineers. One way is to organize projects so that feedback can be received as early as possible. Development in small iterations helps achieve this perfectly. The main problem is that many developers (and managers too) do not want or do not know how to work in small steps, and often, this is an established culture in the company that is extremely difficult to change. As a result, development is delayed, motivation drops, and projects are abandoned, bringing no benefit to the company.
Translated by ChatGPT