Learning Code While Working a Full Time Job

 

This is about my journey of learning how to code while also maintaining a full-time job. Spoiler, its hard as hell and the burn-out is super easy. Though I’m here to hopefully shed some light on what’s worked for me and how I maintain my sanity…

1. Make coding your hobby

I’ve talked a bit about this in my previous posts but I think it’s worth reiterating. I haven’t had success in the past attempting to balance work, social activities, hobbies and learning code. There’s just not enough time in the day to do everything I wanted so I had to prioritize. I used to come home after work and get online with friends to play games. As hard as it was, I’ve had to cut that out of my life temporarily. Anyone who’s ever played online games knows that its a sinkhole for time. One moment you’ve promised to just play one 20 min game of Overwatch and the next thing you know it 3 hours have passed by. So it was imperative that I put a halt to this if I wanted to progress in any sort of fashion. I’ve also been cooking less than I used to. That’s something I didn’t want to see diminish but cooking can take me a whole evening of preparation, so I usually just opt for the simple sandwich or omelet lately (my girlfriend is upset by this side-effect). The point is, if the majority of your day is taken up by your day job then you’re going to need to make major sacrifices. Its just the nature of the beast but a necessary step if you’re wanting to progress.

2. Have a long-term outlook

This isn’t going to come to you overnight. With the influx of these coding ‘bootcamps’ that promise to get you job ready in 3-6 months, the realistic expectation for people has been massively skewed. This 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 given 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 in to get this Weather Application built 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. If you haven’t been to my Daily Coding Log then you might not have seen this quote:

“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.

3. Start a Coding Log

With the long-term approach, it’s sometimes hard to remember where you started and just how much you’ve progressed. Even though I’ve only had my coding log for a few months, I have gone back a few times and looked at my notes on Git and Javascript basics and it makes me feel really good to know how far I’ve come. I’ve also named it “Daily Coding Log” for a reason, so I commit to myself to code daily. It basically doubles as an accountability tool when there’s no one else there to make sure you’re keeping up.

4. Code in the mornings before work

This was probably the hardest one for me to adapt to because I have always been a night owl. I started off coding after work but found my attention span to be much less and often found myself getting distracted often since I was usually at home. I just didn’t have the energy after work because I’m mentally exhausted by the evening so pushing more information into my head just didn’t pan out. One day I forced myself out of bed at 6am and got to work just before 7am so I could get 1 hour of coding in before 8am rolled around. Turns out, my head was much clearer without the clutter of the day fogging up my mind and I was able to focus a lot easier (this could also be because of the coffee). This is now my go-to time of day for coding since the distractions are minimal and I’m able to start the day coding with a clear mind.

5. Make friends with smart people

This one might sound kind of weird to you, you might be thinking “what do my friends have to do with this?”. There have been a bunch of times where I’ve hit a brick wall and there wasn’t a single Stack Overflow document on the entire web that could have helped me. This is where having a friend whose very well versed in programming comes in. I’m very lucky to be friends with multiple programmers all of whom are very good at what they do. I’ve reached out to a few of them on occasion when I was losing all hope and just getting 10-30minutes of their time can be immensely helpful. Having someone right there to show you the process and how to go about doing even the littlest of things has been one of the most helpful learning resources for me in my coding journey.

6. Go to local coding meetups

So you just read tip #5 and are thinking, “Wow cool Bennett, you’ve got smarty pants friends, great freakin’ job. But I don’t know anyone who programs. What do I do?”. Well, you could go online and ask random internet people for help, which is useful OR you can go to your local coding group’s meetups. This place is great for getting to know other local programmers and networking for when you’re job-ready. Having trouble finding a coding meetup?

Try here: www.meetup.com/topics/computer-programming/

If that doesn’t work then do a little searching around on Facebook. My local coding group, Acadiana Software Group, isn’t on meetup.com but they have a Facebook page so give that a shot.

Conclusion

Those are my 6 tips for all of my fellow aspiring developers who are struggling with the 8-5 grind. These tips are just what have worked for me so if you’re stuck in a rut, give them a try and let me know how they worked. If you have any of your own tips you’d like to share, please leave me a comment!

Changing My Mindset: Coding is a Marathon

Photo by Robert Murray on Unsplash

I used to hold this idea that learning code was something that I needed to plunge full force into. Spend hours each day coding until I couldn’t stand to look at my screen any longer and get up to speed as quickly as possible. While Im sure this can work for some people, it sure as hell flopped for me. Only until recently have I changed that awful “sprint” mindset where I attempted to get the most done in the shortest amount of time. Although some blame should be placed on these coding ‘bootcamps’ that have been popping up all over the place promising to get you job ready in as little as 3-6 months. This propagates this ‘sprint’ learning mindset that many people then adopt as the norm for a code-learning timeframe.

If you’ve done any programming, you know that it is like learning an entirely different way of thinking. You’re essentially re-wiring your brain to follow an oder of operations that feels almost inhuman (which well, it is). For me to get my mind wrapped around a lot of these concepts it took time to let these concepts marinate. After trying and failing for many months to put in multiple hours of coding every day, I finally had a series of breakthroughs that changed my thought process on the whole thing.

1.) I realized that I will forever be learning how to code and that there’s no end-game to this. Once that reality hit, this learning time-frame which was arbitrarily short and ever moving forward was abolished. I now realized I can easily learn in little chunks every day and be better off than attempting to blast ass through huge concepts in record time.

2.) I surprisingly found out that Im most receptive and learn best early in the morning before work. This was mind-blowing because I’ve always been a night owl and have done any and everything after 5pm. Once I realized this I made it apart of my routine to wake up an hour early and code in my company’s cafe until 8am hits. I’ve tried coding at home and have a lot less luck than if I leave the house.

3.) Much like having a workout buddy in the gym makes you more accountable, having a coding buddy is just as beneficial. So every morning me and a coworker meet up to work on our own projects. My coworker actually isn’t even learning code, she’s just working on her own side project but the fact that we both set a goal to meet every morning helps keep us accountable and consistent.

There ya have it, those 3 changes above have made a world of difference for me. Ironically, the whole idea is to do less but do less more often. Its consistency that has been the driving variable of success these past few months. Lastly I want to mention that I’ve included a new portion of the site dedicated to my daily coding activities. I initially kept a log of what I learned/accomplished in a Google Doc but I figure might as well share it with the world.