Its not New Year’s eve, but its never a bad time to set goals and gain focus in your life. I’ll admit that I often set goals and forget about them. I am hoping that keeping this blog will help to keep me accountable. One mistake I have made in the past is setting too many goals. This year, I’m going to do it differently and set only two primary goals to work on. In addition to my primary goals, I’m going to add a few secondary goals to the list. They are goals that will take a back seat. If I don’t get to them, I won’t beat myself up over it, but they are nice to have.

Primary Goals

Learn iOS

This is an ambitious goal as mobile programming is a brand new domain for me. My company has been wanting me to start to help maintain our iOS applications. I have not had made the time to learn the system well enough to feel comfortable making changes. No matter what, I think that learning this will be a good progression. Mobile programming seems to present more challenges than programming to the web.

My plan is to go through this course on Udemy. Most (if not all) of the apps that I would be maintaining at work are built with objective c. This class teaches based on Swift, but I am confident, that once I know the actual platform, I will be able to make the transition fine.

I will also get access to the git repository at work that contains our iOS apps. At the very least, I can start poking through the code. I would like to make even a few small changes to some of the apps and gain an understanding of how they work. My biggest concern is that the apps were written a while ago, so I imagine that the iOS framework has changed since then.

Finally, I will build out a small application. It doesn’t have to be very ambitious or original, but something that I can say I built from scratch. I have not decided what that will be yet.

Improve Public Speaking

I was involved with Toastmasters a few years back. For those that don’t know, it is a non profit organization that aims to help people improve their speaking and leadership skills. Back then getting up in front of a group made me very nervous. After a few years at Toastmasters I can say that I can speak comfortably in front of almost any group. At the time I joined, I just wanted to get over my anxieties. When I got comfortable being in front of people, I lost interest and eventually stopped going regularly. I still volunteer at a prison club, however, I take a more passive role, allowing the inmates to run the meeting.

While I feel fine speaking in front of most people, I don’t think I’m very good at it and I want to change that. I would like to present more at Meetups, WordCamps, and other conferences so I need to build my public speaking muscle.

My plan is to rejoin Toastmasters and go through the competent communicator manual for the second time. This is the basic toastmaster speeches that teach the fundamentals such as body language, organization, and vocal variety. I will plan to have every speech recorded so that I can watch and spot areas that I may need improvement on. I will also post the videos to my blog.

Secondary Goals

Javascript OOP

Of course Javascript seems to be the language of the future. I’ve always been a little bit confused about objects in Javascript. This course could be useful . In addition, I would also want to learn a new framework like Angular, Backbone, or React.


Drupal is something that I have always been curious about. I have used it before, but never extensive enough to form an opinion on it. Coming from a WordPress background, I am extremely curious to see what Drupal does better than WordPress and vice versa. I’d like to take a course or two on Drupal and build a theme and learn how modules work.

Design Patterns

No matter what language I use or platform I develop for, I will need these. As my knowledge continues to grow on object oriented programming, I feel that having a knowledge of design patterns is a big step forward for me. I also plan to take a course on this.


I can navigate my way through the Linux environment, but there are definitely a lot of things that I could do to improve my workflow. I would like to take a course on Linux to improve upon my existing knowledge.