DEV Community

Anna Simoroshka
Anna Simoroshka

Posted on • Updated on

Full-time, side projects, learning, and staying sane

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?

Latest comments (69)

Collapse
 
warnero profile image
Warner Onstine

I fall into the camp of lifelong learner. I've been doing side projects for most of my professional career. When I started out I didn't have a computer at home so I wrote out my Java GUI on legal paper and brought it into work. At the time they let me use the computer there to play with after hours.

Here are some additional tips I would add from the umpteen years I've spent doing this:

  • A specific goal in mind of why you want to build this thing
  • Once you have your goal, then I would time box it to 4 - 6 weeks. What is it that you think you can deliver in that time frame?
  • Once you've got your end goal and you have your specifics for a deliverable then you need to work on that project every single day. Not just on the weekends, not just when you think you have time, carve out at least 30 minutes a day and work on your project.
  • Document as you go. What are you learning? What is stumping you? Make sure you keep this up to date so that when you come back to your project the next day it is fresh in your mind and is easy to pick up again.
  • Run into a problem? Ask for help. Find the right forum or group and ask detailed questions about the issue you're facing. Most communities are very open and willing to help those who are learning.

Some of this I have distilled into a flowchart to help people pick a side project. Other sections are actually part of a course I teach called 30 Minute Project.

Collapse
 
emiguelt profile image
Edwin Miguel

"Deep work" is an excellent book from Cal Newport about this topic. calnewport.com/books/deep-work/

Collapse
 
yokim profile image
Yokim Pillay

This is really great advice, Anna! 😃

If I could add anything, I think it could be to try be kind to yourself, and don't compare yourself to anyone other than your past self, especially if you are in a time of burnout, depression or just feeling horrible about things. Usually it'll just make you feel worse, in my opinion.

I say this because from my experience when things aren't going according to plan (e.g. Having to put a side-project on hold for a while due to some circumstance), I tend to beat myself up and doubt what I do because I see so many other people working their full-time jobs in development, and are involved in open source and are juggling a whole bunch of other things with what looks a smile on their faces.

I'm sure that I'm not alone in feeling this.

Try remember that you're living for yourself, and you shouldn't push yourself in an unhealthy manner because you see others doing what you wish you could.

In my opinion, you can try things out for your Self, to grow your Self, and in the process you will effect change in the areas you desire.

Collapse
 
bgadrian profile image
Adrian B.G.

Wow nicely written. I can guarantee that these advice work because I am applying them for years, but never realized that I can summarize and share them.

  • Time - I have the luxury to choose only jobs with low commute duration, and I apply many Team-management skills to my personal life. The family is a team and can be managed. My colleagues that are living in Rent apartments are always moving near the offices (we moved the office twice). I did 45 min commutes and at my new job I cut it down to 5.

  • Exercise - I did some A/B testing and a few hours a week are great for me.

  • Focus - It is all about priorities. Many years ago I realized that I cannot have more then 3 main focus areas at a time, in my life. The first two are family, and as a side effect providing money. The third and secondary targets are switched each year: learning, a hobby or other extra stuff.

The downside is that I had to let go to many other things, so I do better at the main activities.

  • Brick by brick - I use all the free time I have, but the long projects (that takes more than 4-5 hours) are sometimes finished in a span of weeks. You can accomplish many things if you persevere.

  • Social activities are a priority for the peers I always keep hearing "I do not have time ...". They do not realize this of course. I cut off from my life many "mandatory events and gatherings", that did not bring awesome in my life. I was wasting time just because of social pressure.

  • Marathon. I often speak to people that want to become developers, and I am portraying this "IT" industry as a long and hard core marathon. You have to think on the long run. It takes at least a year to get your first job, and many more to build great stuff.

  • Monitoring - I keep a close eye on everything that is a time Sink. When I realized I was checking social networks every 10 minutes I removed them from my phone and some from my life. I keep away from games (being almost an addict).

I know that it sounds lame and "robotic" but if you think about it, if you measure and improve the mandatory activities you spend time, you will have more time to do fun stuff.

Context: I am doing side projects for at least 7 years, I learn a lot, I have a family, I never had a burnout.

I do not wake up early, I work full time at an office, I always work at projects I like and for free. I take entire days and holidays time off with no computer and apps.

Collapse
 
niorad profile image
Antonio Radovcic
  • It's ok to not have a side-project as a developer, first of all
  • Never ever neglect sleep. A week of only 6 hrs sleep == 1 night without sleep
  • Go for shorter-term side-projects without heavy mental load, that you can pick up quickly and work on in smaller portions
Collapse
 
simoroshka profile image
Anna Simoroshka

It's ok to not have a side-project as a developer, first of all

Totally. But a side project does not have to be a programming-related project, can be anything :)

Collapse
 
dm_khabarov profile image
Dmitry Khabarov

Good article Anna! After reading this I join this community, so hello there! It seems me I on a brink of burnout last several months

Collapse
 
seanahern profile image
Sean Ahern

This is excellent advice. Thank you for sharing. I’ve had to address almost all of these issues in the past year and have never felt better. Initially i thought I’d end up “doing less”, as if that’s net negative, but ultimately I’m doing a higher volume of valuable, heart-centered work. ✌️

Collapse
 
ddonprogramming profile image
Decebal Dobrica

This article is inspiring Anna, I feel challenged to write my own now. Albeit I am a little less emphatic and I would offer less answers, more questions.

I too tend to want to do programming outside work hours or record video courses, but somehow I seem to get a little bit ahead of myself when doing side project and allow exploration a way too important role, that led to me failing to be successful in doing so.

While finding a rhythm and staying sane is always a different challenge and as I found out a constant struggle our human nature wants to be in (constant change). Grappling at how other people deal with this has hardly been positive to be.

Collapse
 
dionnyprensa profile image
Dionny Prensa

It only remains to say what a friend would say: The technique is useless if there is no dog.

Thanks for that big message.

Collapse
 
simoroshka profile image
Anna Simoroshka

Funny, we are getting a dog this Christmas. :)

Collapse
 
brittanmcg profile image
Brittan McGinnis

Really enjoyed this article. Great advice and insight. I may have to make some changes very soon. Thank you!

Collapse
 
jpventorim profile image
jpventorim • Edited

That came in such a great time. I was until now feeling guilty because I was too slow, or not committed enough with my studies.
I'm a full-time mainframe developer, but I want to migrate to Web Dev, so I'm studying it and trying to create stuff (lacking ideas though D:). But it's so tiresome sometimes. My job is very stressful and when I get home I want to relax, but I know I need to study.
A few weeks ago I stopped eating properly and doing exercises so I had more time to study. I'm feeling the consequences of that bad decision now.

Anyway, time to go back to those small actions that make a lot of difference.

Collapse
 
perigk profile image
Periklis Gkolias

Looks like this article was written for me. :) I do have a commute of 45 minutes(one way), I am working on my side project(s), I do spend some time for self-learning(currently taking lessons about deep learning), exercising 2-3 times per week...and guess what, doing my masters degree at the same time, while trying to keep my social life active.

I can't brag that I have managed to balance all those requirements. But if I can give a couple of tips those would be:

0) Eliminate crap from your life.(Paretto law)
1) Take advantage of your "dead time". I have managed to read more than 20 books this year, just because of that.
2) If you are doing video courses and the material is not extremely advanced, it helps to listen to some parts to 2x speeds.
3) When attending the lectures, be present and active, it will save some reading later on.
4) Code every day, even if it is a single function. This one here: johnresig.com/blog/write-code-ever...
is very inspiring.
5) Dont forget to do funny things,you still need endorphins.

Collapse
 
simoroshka profile image
Anna Simoroshka

Do your have any advice on how to decide what is crap in your life and what is not? Sometimes it can feel like all things are super important or needed.

Yes, funny things! Fun is really important.

Collapse
 
perigk profile image
Periklis Gkolias

It is mostly being cynical about my targets. Something like the YAGNI but for life.

Lets say my schedule for a normal Thursday would be:

  • Go to the gym
  • Grab a beer with a friend
  • Work a bit on my side project
  • Revise yesterdays slides from master
  • Progress with the introductory blockchain course I am watching

You need to apply the 80/20 law here. So you need to pick only one.

  • If fitness matters for you(for example but not limited to, you had an accident and you want to become stronger) gym is a top priority.
  • IF social stuff matters more, beer

You got the point.

What if you want more than 1 to progress? You have to pick them interchangeably. And of course it helps to leverage your time(shameless advertising): dev.to/perigk/the-art-of-leveragin...

PS I just realised I never pusblished this article. Hmm

Collapse
 
maxwell_dev profile image
Max Antonucci

I definitely agree with the advice related to focusing on the key activities you enjoy the most. It reminds me of similar good advice from a book called "Essentialism," which is the basic mantra of "if it's not a clear yes then it's a clear no." That's what got me to clear up some time and resources in my life earlier on by cancelling my guitar lessons. It was tough, but it was taking time away from things I liked even more and ultimately was the right choice.

Collapse
 
gadse profile image
Peter

Thanks for your valuable advice. Especially the choosing-your-social-activities and the get-help parts.

I also tried doing everything all at once: full-time CS studies, part-time employment, pursuing all my hobbies (LARP, D&D, programming, tinkering with electronics), and partaking in all the social stuff with all my friends at once. Needless to say it didn't work out, since I also needed more than 4 hours of sleep a night. So I decided to cut back on a lot of things.

What did work out is essentially what you describe: carefully cutting back on my studies, hobbies and social stuff (cutting back on work was no option). Being a very social and time-consuming hobby, only playing pen-and-paper RPGs "survived" the process as a serious hobby. To stay sane, I roughly plan two weeks in advance while keeping two days a week work-free*. Also, being a bit of an introvert, I sprinkle the whole thing with an evening of solitude once every one or two weeks - even my s.o. doesn't see me on those evenings, and it works very well!

(*work meaning both paid work and working on university projects, papers, or my thesis)

The whole process did prolong my studies, but I eventually reached a point with consistent productivity - and with much lower levels of stress because of that. Having cut back on so many things even lets me act spontaneously again - it makes me feel like I'm in control of my schedule again, and not the other way round.

Collapse
 
fabiorosado profile image
Fabio Rosado

This is such good advice. One of the most important bit would be diet and exercise, I felt completely dead at times, but after starting working out I got more energy and my brain seems to work much better - also focusing for long periods of time is not as painful as it was in the past.

Also this - Expect things to always take much longer than you think. - sometimes I think: "Oh yeah, I encounter this issue somewhere else, this will be quick. A day later I'm still stuck on some weird bug haha

Collapse
 
simoroshka profile image
Anna Simoroshka

"Oh yeah, we will have a beta version in 2 months" One year later it is still in the making XD

Good point about the diet. Especially cutting down sugar in general and snacks between meals, this works great for me.