It seems to be a rather common thing, especially among fresh developers, to feel that you can't manage working full-time, constantly learning and staying up to date with technology, doing a side project or actively contributing to opensourse, and having a life.
2 years ago I couldn't manage having a full-time job and a life at the same time, I was always exhausted and had a mild depression. Now it is much better: I work, have a long-term project, learn new things almost daily, do not neglect my health and life too much, and don't feel on a brink of complete burnout.
So, here are the things I learnt over the past years of struggling to find my balance.
Eliminate commute as much as possible. Even 45 minutes one way eats up 1.5 hours that could be spent exercising, resting, or doing important things. Find a job that is closer. Do remote. Move closer to your office. Anything. Moving to a flat 5 minutes away from the office was the absolute best decision of the last year.
At the very least, it could be a pleasant commute during which you either exercise (walking or biking) or can work and study.
Exercise and rest. It might seem like you really do not have time or even the right for this, especially if you under pressure of deadlines. However, it is paramount for both metal and physical health, and productivity. You will have more energy and will be able to do more things in less time. It's like an activity that takes negative time!
Focus. Choose 1-2 most important things you want to do right now in this period of your life, besides work. Learning a new language, building something, writing, doing an art project - whatever requires commitment. If there are too many things, decide what is more important and give up on the rest even if it is hard to do. You can pick them later when you're done with the first ones or when you have more time and energy.
Do a little bit every day. Set a goal of half an hour of learning or working on your own things. Do not wait for a free weekend. It is nearly not as effective, you can be tired, other things will inevitably come up, etc. As a bonus, you will constantly stress about not doing things that matter to you, and stress is not your friend.
Choose your social activities wisely. Accept that you might need to spend less time hanging out if you want to make time for productive activities. But never abandon social life entirely even if it feels like you don't have time for it. Spend time with people who support you and give you energy, not the other way around.
Get help if you cannot manage on your own. If you feel burnt out, depressed, constantly in a state of anxiety, always tired, it is okay to ask for medical help. It can do miracles in some cases.
Expect things to always take much longer than you think. Rather than going all in and putting everything else on pause, try to find a balance you can maintain as long as it might take. Even if it is a decade. Design your life here and now and live it, don't wait for the magical moment when you are going to be done.
Can't say I've reached a completely comfortable state, but these things certainly improved my life. None of them occurred to me before my plate got so full I was ready to break down under its weight. And also it took somebody else telling me that no one is a superhuman and we need to take care of ourselves first.
Do you do programming outside of work hours? Do you have many side projects and hobbies? Do you struggle with deadlines? How do you find your rhythm and stay sane?
In this article, we’re going to explore why young programming languages with modern features can’t be adopted quickly. Additionally, we’re going to take a look at one exceptional example that got specific parameters right to be both young, modern and mature, just ready for adoption at small and big scale.