2016

Yeah here we go, the cheesy New Years Resolution post.

Preface

2015 was not a good year. Some good things happened, but I wouldn’t call it a good year. Now this post is not to reflect on the past, but rather to set the precedent for the future. I want to have a good upcoming year, and in order to experience one, I’ve crafted a list of changes that I’d like to make to myself, which I will strive to abide to, in hopes that the resulting product will be one of my best years yet.

Productivity

I am not a productive person. People who don’t know me well might think otherwise. I do have a fairly busy schedule between school, Domo, some BYU clubs I’m an officer in, and a number of side-projects/startups that I work on. I’m fairly skilled at programming because of time I spent wisely in high school, but nowadays I don’t really spend much of my time actually doing productive things. If I want to really succeed next semester — with my 17 credit hours, 20 hours at Domo, and teaching a 400-level computer science course, and doing my own learning projects, I need to utilize my time more wisely.

  • Become a morning person — I’m known to many as a night owl. Nocturnal. Creature of the night. I’m perfectly fine with going to bed at 7am and waking up at 4pm. But this is a terrible schedule. I miss events, classes and socializing. It’s even proven that the more successful executives wake up early. I’ve experienced myself how much more productive a day feels when you wake up early. So my new sleep schedule is to be in bed by 1am and awake by 7am. Let’s see how that goes.
  • Complete 6 Pomodoro’s a day — A Pomodoro is a productivity tactic. You focus intensely on your task for 25 minutes, then take a 5 minute break. After 4 Pomodoros, you take a 15 minute break, then repeat. Completing 6 Pomodoro’s a day ensures that I have at least 3 hours a day committed to a productive task like homework, coding, or reading. I’ll be using this app to help me.
  • Improve communication — I’m just terrible at responding. I see the messages, emails, and texts, and even sometimes think of a response. But for some reason I just don’t respond. I really don’t have an explanation, but this just needs to change.
  • Read for 1 Pomodoro a day — I used to be a big reader as a kid, but that died a couple years ago. I’d like to bring my reading habit back, but aimed at more advanced literature, and especially technical literature. On my reading list for this next year are books like The Pragmatic Programmer, The Steve Jobs Biography, Elon Musk: Tesla, SpaceX, and the Quest for a Fantastic Future, and Alan Turing: The Enigma Centenary Edition.
  • Plan the next day and week in advance — ‘nuff said. Planning in advance boosts your productivity for the next day hands-down, and it’s something I need to incorporate into my nightly routine.
  • 10 minute showers — Ok yeah, I’m a shower whore. I love taking 1-hour showers with steaming hot water. It’s something of my meditation time. But 1 hour is a lot of time. Cutting down to 10 minutes will give me 50 more minutes a day, AKA over 4 more work hours per week. If there’s one thing that Pomodoro has taught me, it’s that you can get a lot done in just 25 minutes. So 4 more hours will be a big gain.

Technical Growth

I love the phrases “Never stop learning” and “hack so hard”, but I need to do a better job of living up to those myself. My productivity goals will help a lot, but I need to set technical goals as well.

  • Complete 3 side projects over the semester — I do a lot of tutorials and dabbling, but it’s been a while since I’ve really completed a project. By a completed project, I mean a polished, deliverable piece of software that others can use. Like an iOS app, a website, or some tool that other programmers can use. I have a ton of half-completed ideas, but I need to add to my showcase of polished software.
  • Depth, not breadth — I’ve used a lot of programming languages and have learned a lot from observing the different paradigms and best-practices. But I haven’t really mastered a new language in a while. The only languages I really feel comfortable with are Java and Python. So this year, I want to deepen my knowledge of C/C++, and Swift. I’ve played around with web long-enough. I want to learn more about systems programming and writing performance-critical software. In terms of topics, I want to more greatly understand compilers, low-level networking, operating systems, and the internals of database/storage engines.

Personal Health

Yeeaaahhhh I’m not that healthy. In addition to my bad sleeping patterns, I don’t exercise, and my diet isn’t the best. Now I won’t be giving up Diet Coke or Red Bull, but there’s a lot of other areas that I can improve.

  • 30 minutes of exercise a day — Gotta get swole for the babes in San Francisco this summer, ya know? 💪
  • 10 minutes of personal meditation — This is a common denominator between a lot of successful executives. They take some time for self-reflection. I plan on incorporating this into my morning routine.
  • More home-cooked meals — I don’t eat at home much since Domo provides catered lunch and dinner, but with my schedule next semester, I won’t be able to be at the office as much. So rather than eating out or ordering pizza everyday, I’m actually going to try to cook. It may occasionally be ramen or Chef Boyardee’s if I’m feeling lazy, but I’ll try to keep it healthy.

Social Life

Not gonna lie, I’m not a fan of the BYU social scene. It’s a little difficult to explain how so, but essentially, I’ve stayed in my room for the past few years. But this year I’ve gotta put myself out there more and actually try to build more friendships at BYU.

  • 2 dates a month — Oh boy. Can’t say I’m looking forward to this one. Dating is the core of BYU social life (which is partly why I’m not a fan of BYU). But in order to have a social life in Provo, it’s something you gotta participate in. Going to a party? Gotta get a date. Want to see a movie with friends? It has to be a group date. Want to go on a brodate? Too bad, it’s going to be a double date. I’m not against going on dates in general, but I'd prefer to wait until I find someone I like, rather than being a serial dater.
  • Host 1 dinner party a month — Last fall I held a dinner party at my apartment. It was pretty fun and a nice way to blend my social circles together, have people meet each other, and keep up with people I know in Provo.

School

  • At least a B+ in all classes — Ok my GPA sucks. I skim by my classes with C’s. But I mean, C’s get degrees, right? This might be another shocker to people who know me at BYU considering that I’ve had a fairly successful career so far as student (presenter at Utah Code Camp, intern at Domo, completed freelance projects, etc.), but the reality of it is that my field (software engineering) is skills-based and I have the skills. I don’t do poorly in school because I’m partying or anything. Rather, it’s because I’m busy teaching myself relevant and important skills that my school’s computer science department doesn’t teach. There have literally been labs that I just don’t do because I don’t see any purpose or gain in them. My time would be better spent teaching myself Hadoop, distributed computing, Rust, or doing a side project like making my own compiler. But this semester I will try to be more cooperative with academics. I submit myself as a slave to the system. At least long enough to bring my GPA above a 3.0. ¯\_(ツ)_/¯

So those are my New Years Resolutions! Hopefully I’ve helped inspire you to find some positive changes you can make for this new year. If you have anything in particular that you believe makes you a better person, I’d love to hear about it.

#hacksohard #neverstoplearning