Productivity & Motivation Tips For Programmers Working From Home & Students Making The Grind To Graduation. 
Tags: motivation, computerscience, productivity
Published: 2019-11-24 03:01:20



Learning to be an effective student and programmer has taken me a lot of time, patience, frustration, and grit but over the past few months. During that grind, I have learned a few strategies that help me stay on task, and I thought it would be a great idea for a first post! A little about me. I'm a computer science student and programmer attending school online. Not a sleazy for profit, but an accredited school with a solid degree. I work a lot from home, and when I am not buried in my computer, I'm a stay at home dad of a wily 2-year-old girl. 

Working at home can be challenging because, well, it's home. You'd rather be playing video games, reading, relaxing or basically anything not coding related. It's been equally challenging for me as a parent because sometimes you can't always get as much done as you'd like, which means as your deadlines loom, you have to put in extra hours (sleep, I miss you). I am wrapping up my first year as a student and would like to share some of the tips I've learned that keep me on task, even when I'd rather be doing something else. Let's get started. 

###Step 1. Find a decent alarm app. 

I like to be up early. Sometimes it's the only quiet time I get at home, so I need an app that's really annoying. I like this app, [Alarmy] (https://play.google.com/store/apps/details?id=droom.sleepIfUCan&hl=en). What's really cool about it is that each alarm has a "mission" you can do to turn off your alarm. For example, you can set a mission to take a picture of some household items, say your favorite coffee mug. The alarm won't shut off until you take a picture of that mug, meaning you need to get out of bed. You can also enable a "shake" mission, which is what I use. You can add custom alarm tones, which I love because I program really annoying songs that I get to shake the daylights out of every morning. There are loads more out there, but this is the one I use. It's also free, which is easy on the wallet. 

###Step 2. Get dressed. 

This is more of a personal preference because I don't like being in my pj's all day. It doesn't have to be suit and tie, but something you enjoy and feel comfortable in. Getting dressed makes me feel good, look good, and if I ever have an interview for an internship or job, I have the confidence knowing that even if I bomb it, at least I look rather dapper. Also, I have to leave the house, so looking good makes me *want to go out*. 

###Step 3. Learn how to study

This is for students and professionals because, as programmers, we're always learning new technologies. This is also a tough one because learning how to study may be different for everyone. But this is something I just learned how to do very recently. I have ADHD which makes learning one or many skills more challenging because my brain is constantly looking for new stimuli, so I have to devise techniques that make studying more like a game rather a task. Here are a few of the tricks I like to use: 
  * **Use multicolored flashcards for terms & vocabulary.** The reason I like a variety of colors is that I can interchange them when making a lot of monotonous vocab cards. It keeps me from getting bored, and I am actively studying instead of passively writing terms. They are also great for jotting down quick notes, which leads me to my next bullet point.  
  * **Write notes in your own words.** I used to passively take notes, jotting down every sentence, term, or random line of information that I thought might be useful. It never worked for me, and come test time, I performed poorly. You also lose valuable time and energy. Instead, whenever your reading a textbook or documentation and you would like to write down a few notes, *write them in your own words*. This enables you to analyze your reading and actively engage in your understanding. It also helps you understand what you don't understand, or at the very least, help understand that you don't understand. That way when you ask for help, you have your own work to show your teacher or coworkers where you are stuck. 

###Step 4. Learn to embrace failure. 

This is the hardest one for me. I grew up in an environment where failure was harshly punished. So I learned instead to play it safe, and not pursue anything I felt was too challenging. I didn't consider computers and math as a potential career path when I was younger because while I enjoyed it (even though I was pretty mediocre at math) it was hard, so I never tried.  Failure sucks, but it's a natural part of life, our jobs, and our studies.

 I have an infinite loop's worth of calculus quizzes that I still check under my bed at night for, and I bet I'm going to bomb a few whiteboard interviews (but at least I will look good) when I start applying to jobs.  But I've also learned more from my failures and shortcomings than I ever have from getting something right on the first try. Sure, failure can kick you in the teeth sometimes, but it can also motivate you to improve. College and learning to code have a lot in common in that it's a grind. You have to be willing to accept that you're going to make mistakes. It's certainly made me a lot happier and gives me an odd sense of confidence that when I do fail, I will eventually emerge a wiser person. 



###Step 5. Allow yourself to take a break. 

Seriously, your body and sanity need it. Never mind how passionate you are, sometimes the best way to solve a problem is to tell it *I love you, but I need a little space right now* and go exercise, go for a drive, have a coffee, or my personal favorite, make yourself some cupcakes. I actually schedule a few breaks throughout my day. I use this time to clean, do laundry, play with my daughter, read, run to the store or play Smash Brothers on the Switch with my wife. It helps to have a fresh state of mind when I come back to a nasty bug I can't figure out or continue studying with a super boring class. Realize that while we love coding, we need to be humans. Humans have needs, like cupcakes, that aren't going to bake themselves until you allow yourself to take breaks. 


####Conclusion

I share a novel's worth of tips and tricks that I use that have to lead me to big and small successes, but I am going to wrap it up. I encourage everyone to share your thoughts and tips in the comments below because maybe I didn't address something that you think can further the discussion. I hope that this helps you find success in your learning and studies, and as always, happy coding. 

-Nick