If you really want something, you'll find a way. If you don't you'll find an excuse.
Working and studying at the same time CAN be done. Despite the challenges, it's possible to stay sane and avoid burnout. I'm here to share how I do it and what works for me.
Plan your week/find what works for you
When it comes to balancing work, life, and study, having a structure is critical. Make a schedule and stick to it. Use Google Calendar or a paper diary and schedule time before or after work and dedicate a day every weekend to study. Whatever works for you - but be consistent. It’s a short-term sacrifice but it’s well worth it.
I started off coding after work but found my attention span was very short. By the end of the day, I am usually mentally exhausted, so trying to take in more information did not work. Now I wake up a few hours earlier and I am able to get some coding done with much better focus.
Practice every chance you get
I can say that I learned to code mostly outside of work in my spare time. So set aside time as often as possible even if it's only for 30 min to practice/work on a project. Frequency is key here. Stick with it.
When it comes to learning, something done poorly is infinitely better than something not done at all.
4/10 can eventually become a 10/10 with practice.
A 0/10 will stay a 0/10 forever.
Immerse yourself. Summer reading list? Read a book on design patterns. Reading other peoples' code and taking time to understand it will boost your skills and provide you with problems to think about when your mind is otherwise idle (that commute to work...why not ponder programming?)
Trust the process
This isn't going to come to you overnight. Learning to code is a bit like weight training, your muscles can only strengthen so much in a given period of time. If you're bench-pressing 95lbs today and some guy promises to train you up to 225lbs in 6 months, it's just not physically possible for most people to achieve this.
Your brain is like a muscle, you can only train it to absorb so much in a single day before you just burn out. So I've adopted the slow and steady approach. I don't cram 5-6 hours of coding in after work because that is a recipe for disaster. In fact, I recently spent the weekend trying to cram as much coding as I could and quite frankly, I was miserable afterward. I find an hour or two of coding each and every day to be much healthier than just doing these cram sessions. Plus it gives your mind time to process what you've learned in much more manageable chunks.
“Continuous improvement is better than delayed perfection.” – Mark Twain
Just keep at it each and every day no matter how little you do or learn. Just keep chugging.
Let go of perfectionism
Deliberate practice is the best way to learn things but too often, people get paralyzed because they want perfection and then they don't start projects out of fear that it won't be perfect.
I too had this idea of perfectionism and it is still there, but I'm working on it. Getting stuck on one project, and not starting another until I perfected my current one killed my productivity.
"Perfectionism is often driven by striving for excellence, but it can be self-sabotaging if it leads to suboptimal behavior like continuing habits beyond their usefulness, overdelivering when you don't have to, or overthinking every decision you make."
Have a support community
The Web Community is very welcoming and supportive. Find online communities on Twitter and Discord and attend meetups near you (or online). If you attend these events, chances are you'll meet people who have faced problems similar to yours, whether they're studying themselves or they're willing to mentor you.
Another benefit of attending these meetups is learning to communicate about your work/problems. When self-learning it's easy to overlook but being able to talk to others about your code will be critical when it comes to getting a job.
Don't be hard on yourself
As important as scheduling time to study is ensuring you have time to relax too. You’re in this for the long haul, so you need to plan against burnout. A little time with family, friends, exercising, or just doing nothing will help you re-energize and make your studies all the more effective.
It's not always going to be fun, but a lot of it will be. Focus on things that interest you, then learn the skills you need to do them.
These are my 7 tips for all my fellow developers who are struggling with the "work-study" balance. Try these tips if you're stuck in a rut and let me know if they worked for you. If you have any of your own tips you'd like to share, please leave me a comment! Or send me a DM on Twitter!
Happy coding :)