Over the past few weeks I've been doing a lot of self reflection. One thing that came out of it was the realization that I am currently operating without any goals. I had to-do lists for clients and projects, but no real goals to help myself grow. To rectify this, I decided that I should create daily and weekly goals.
* Help someone on the #django channel
* Solve one Project Euler question
* Make one commit to public project
* Come up with one app or business idea
* Make Emily smile
* Post one answer to Stack Overflow
* Make one pull request to the Django repo
* Write one blog post
* Call one family member or friend to catch up
Just as I have some rationale behind each of these goals, there's also a point to the structure. The reason I decided to make daily and weekly goals was to help keep myself honest. Since the turnaround on each of these goals is relatively short, I have to acknowledge and work on them each day.
Help someone on the #django channel:
The purpose of this goal is to further my understanding of the Django framework. Not only does helping another person with their problem improve my knowledge, I'm learning other ways the framework can be used. Another benefit is that I get to learn from reading the answers to the questions that are beyond me.
Solve one Project Euler question:
I'm currently solving Project Euler questions as a fun way to write code. This goal guarantees at least one instance of enjoyable programming each day.
Make one commit to a public project:
This goal ensures that I will continue to work on my own projects (or another person's) where everyone can see it. I have sent too many emails stating that the majority of my work is proprietary and I'm unable to share it with them. This goal will help change that.
Come up with one app or business idea:
This is probably my most difficult daily goal. I'm not extremely creative or innovative in terms of business and app ideas. Asking myself to come up with one each day is a tall order. However, doing this will help me be able to see the larger picture when writing software. It should also improve my product development skills.
Make Emily smile:
She deserves it and if I can't do this each day, something has gone horribly wrong.
Now for the weekly goals.
Post one answer to Stack Overflow:
This goal is very similar to the #django channel goal, but it's different enough to stand alone. Stack Overflow is an amazing resource, however I've encountered that finding a question that I can answer thoroughly is tedious. Finding an unanswered one makes that task difficult. The other difference is that it's easier for me to reference my Stack Overflow answers in my portfolio than my answers on the #django channel.
Make one pull request to the Django repo:
I like working with Django. I like the environment and community surrounding it. I'd like to contribute and be a valuable member to that community some day. This goal will help me get there.
Write one blog post:
I've always struggled with communication, specifically writing. This goal will force me to write at least once a week in a manner that's not an email or GitHub comment.
Call one family member or friend to catch up:
One thing I'm absolutely horrible at is calling my family and friends. Even though I'm excited to talk to everyone when I go home, I still avoid using my phone. Calling someone to catch up shows that you're interested in their life and care about them. Plus it gives my friends the opportunity to ask me what my favorite color is.
I like each of these goals. I've been keeping up with them since I've started, and while it's been a challenge, it's far from impossible. I may change them along the way, but I plan on keeping them the same for a month. By then it'll be time for some more reflection and a new epiphany.
Also, thanks to my brother Steven for proof-reading my writing. It's a dirty job, sorry you do it.