There are some among us who just can’t sit tight, and feel the urge to create something on their own.
Most of the time this ‘something’ will end up never seeing the light of day. It has happened to me, I assume that this is the case for everyone else. This happens mostly because of lack of direction, lack of concentration, losing trust that you are going to finish your project.
Here are some tips that have helped me concentrating and managing my day in a way that feels more productive.
Your personal projects
I am actually talking about projects in which you are the developer, the project manager and the stake holder. You had at some point an idea, and you tell yourself “why don’t I just sit down and make a small prototype?”. At this point you are just the stake holder. You are your own boss. You decide your own deliverables. And during this time, you have only a vague idea of how the final product will be.
This is the best time of the project lifecycle. No strings attached.
You begin developing the thing. At some point you realise that there is a lack of direction. You feel that you are trying to make things better all the time, by refactoring the code again and again to cover more use cases.
You need to have a goal, an achievable target. A beginning, a middle and an end. And most importantly, you should like what you are currently doing, and you should use the proper tools for keeping yourself in check.
Here is a piece of advice that has helped me during pressing times when developing my own projects. Almost all of them were completed. Some of them were successful, like iGreekNews (the original one and version 2.0 — which became quite famous before apple decided to take them down).
Determine your goals.
Is your goal learning something new? If that’s the case then good for you, you can follow your own pace, on your own time, and not releasing anything in the end will have absolutely zero consequences for you, as you will have eventually still have achieve what you wanted from the start: learn something new. If that’s the case, then this post is not for you.
If your goal is to eventually release something to the world and then get feedback, release version 2.0, get feedback again (in short: release an actual product) then this post is for you.
Regardless of what you want, the one thing that cannot be missing from the development lifecycle is the fun you will have while working on your project. Don’t do something just because you think it’s a *nice* idea. You should love the process and the final product, too.
Have good tools.
Good does not necessarily mean strong. But it means helpful, and pleasing for you. You are going to spend a lot of hours with it.
Your workstation. I consider the most important aspect of a workstation the visual one ( the computer screen ). It’s the aspect you will interface with more. And it’s also the one that will be able to destroy your eyes and your mental strength if you are not careful.
For example, I use this:
Keeps things larger and clearer and can also fit many windows inside. It’s perfect for working with static visuals.
Your log. I personally keep logs of my everyday work. I document. For this reason, I use work diaries, and you should too. Work diaries will help you remember why and how you did what you did, and most importantly, what alternatives did you examine before going down the path you chose. I personally keep my server setups, my database design decisions, and interesting links that have enabled me to make the decisions I eventually made.
It’s something that will pay off later.
For windows users, I believe OneNote is the proper solution. It may not be as aesthetically pleasing as the other two, but it is fully featured, supports syncing, and it’s free. You can’t beat that price.
Your plan. Usually you don’t need mind mapping when working on your day job, because usually someone else has already done that for you, in terms of business requirements and analysis.
When working for yourself, you do need one. I personally use Mindnode, but other mapping tools are available.
If you are into UML as I am, or if you prefer to just model your idea, I personally recommend the PlantUML spec. It’s a specification for writing many kinds of UML diagrams in pseudocode, and then generating the actual diagrams from them. IntelliJ (my tool of choice) has PlantUML plugins. But it’s not the only one.
Find a good place to do your work
Really. I can’t stress enough how productive is to be able to work in a decent place. Whether you are working at home, or in any other place, you should feel comfortable sitting there for many hours. Use a decent chair, avoid your bed, and avoid places with too little ambient light as it will put pressure in your eyes,
If you are unable to setup a decent workplace at work, there are coffee shops that are dedicated to people who want to use their computers. There are also public libraries which provide internet connection.
No distractions. I know, it’s your free time, and it is limited, especially if you have a day job. This is the time to meet with friends, family, and do stuff that we really like. However you should follow these rules concerning your entire time in your life if you want to focus more on your spare time:
You should love what you are doing in your day job. No, seriously. I don’t mean you should just like it. I mean you should love it.
If you love your job, you will be less tired when leaving the office, and your brain will still be functional, since it won’t be dedicated into thinking how and why do you still put up with the same shit every day.
Don’t get me wrong, I’m not saying you should live only to work. But a painter will paint in his spare time, a musician will play music in his spare time or will think about music. Why should your job get a different treatment, or be less creative?
Have good friends. This is a no-brainer. These are the people that you will spend your free time with. Make sure they understand what you do, why it’s important to you, and why you prefer to do thing XYZ instead of watching tv. If this doesn’t apply to your friendships, you are in big trouble, regardless of your personal projects.
Watch your health:
- Give up on too much caffeine. Caffeine can and will disrupt your sleep. You should achieve at least 7 hours of productive sleep per day, in order to reach a level of focus and rest that will allow you to concentrate instantly into what you are doing, when you begin doing it. Avid coffer drinkers have a higher amount of anxiety. You, however, should have a clear mind. Don’t forget, you are working on your free time after your day work. You should have good habits concerning your physical and mental health if you don’t want to burn yourself out.
- Exercise. When your body is in good health, you are able to concentrate better at anything you do (and you are also able to sleep better). Try to achieve 4 hours of cardio exercise / week. Running, walking, swimming, aerobic exercises in the gym — everything like this works. This is an advice I hasn’t always followed, to my own peril.
- Sleep. 7 Hours per day, as mentioned. Anything less will exhaust you in the long run.
In the end…
This is the advice I followed, more or less. When developing my own projects, I have found the advice concerning my physical condition to be as important as my mental health. Having a side project means too many working hours, and only if you are in good mental and physical condition you will be able to see your project being materialised.