A Developer’s Year in Review
I am glad this is becoming a habit. Writing end of year reviews gives me a chance to look back on the year. On the things I have accomplished and people I have met. Those of you interested in last year’s review go here.
All of this work has been done outside of my 40-55 hour work week job. No excuses.
So going into this year I set a few goals for myself, here they are:
- Get better at design.
- Learn a new language.
- Do more open source.
- Write fewer blog posts.
- Speak at a conference.
- Focus (utterly failed here)
A lot of the work I do is shared through this blog. Going into this year I had a few goals in mind. First off, having longer editorials on things I found interesting or thoughts I find myself having constantly. I thought this might force me to take writing more seriously and provide deeper insight to people who follow my blog. In actuality, it caused me to write far less than what I would have liked. In comparison to last year I have written 4 times less than the previous year.
That being said I like the format of smaller more consumable articles as opposed to these giant monolithic blog posts, and in all honesty this form of content is better suited to my readers. In the new year, I will be regressing back to that format.
I usually give yearly statistics on the traffic, and most popular posts. Here are some posts from this year that people seemed to have enjoyed.
- Beautiful Tools
- Hacking Rdio
- Fasting and Programming
- Reading Other People’s Code (working on it I promise.)
- Four Weeks With DuckDuckGo
The blog received a little over 250K uniques over the past year, ¼ of last year’s traffic. I am going to attribute that simply that I wrote less, if there is any correlation between me actually writing and traffic.
Another one of my big goals for the year was to do a lot more open source work and contribute to projects I get value from everyday. I started with Django. The community of core developers proved to be very welcoming and extremely helpful to people wanting to get in and contribute.
That being said I wanted to provide a little more than a trivial fix so I picked off test discovery, a feature that has been discussed in previous conferences. After discussing my progress with other core developers and having my code reviewed, it was stopped from being merged in mainly because it was too close to the cut off for a dot release and some other concerns that were brought up later by other core developers. I can appreciate the caution and forethought of core developers but this might be due to the lack of new developers contributing and the general speed of iteration of Django itself, but that’s another story.
So next I started working on a few projects of my own.
First of which being octogit, a command line tool for interacting with Github. I had started out this project before Github had created all the easy ways to create repositories through the web interface. I found it extremely annoying I had to paste remotes into my terminal in order to create a simple repository; it should be as simple as `git init` locally. From that simple idea it branched into a tool for looking at issues in the command line and much more. This was pretty cool because people started submitting patches and contributing ideas and I got to see first hand what it was like to be an open source project maintainer and dealing with people’s amazing demands on my time :)
My next little project was a little vim plugin called numbers.vim. After being turned onto vim by Mike. I noticed that vim had two types of numbering both relative and absolute. So for those of you who aren’t familiar with vim, absolute numbering is the numbering you usually see in all your editors. Relative numbering is relative to where your cursor is in the file so 0th line would be wherever your cursor is at the given time, this a very cool use in vim to allow you to manipulate blocks of code by saying something like delete the next 9 lines for example. This is a plugin that provides intelligent switching of the numbering types based on which mode you are in. If you are a vim fiend you should definitely give it a look. Its also included by default in the popular spf13 vim distribution.
* I have since abandoned using vim as my main editor, project will be maintained though so no worries.
I have always wanted to get better at speaking. I like to challenge and push myself so it was on my todo list this year. I usually don’t get too nervous when I am speaking. My real worry, however, is that people don’t find the topic interesting or the talk boring or uninspired. Despite these concerns, I think I did well and there is definitely room for improvement. I had an awesome experience at Pycon CA. Those of you interested in getting feedback on speaking or slide I would definitely give http://speakup.io/ a look.
Aside from speaking I put a huge amount of effort into the design of my slides, and here is where I pushed my obsession with fonts to the limits. I played around with a bunch of fonts, colors palettes, slide placement I found this to be extremely fun and a worthwhile experience! There are tons of resources for idea and inspiration on SpeakerDeck for interested parties.
Probably the project that is the most fun to work on and honestly the most humbling one this year. Mike and I started Pycoder’s Weekly a newsletter for python developers by python developers. To date we have sent out 45 issues and currently have over 7500 subscribers in the Python community.
Honestly the thing for me that is the most fun is all the people we get to interact with on a weekly basis and all the cool projects we get to see. Also planning and talking about what we can do next to grow the community forward. This has taught me tons about what the Python community finds interesting as well as what is required to cultivate and grow any community.
We have exciting stuff planned in the new year.
When I was first stubbing out this blog post I was really unimpressed with the amount of work I did this year in my free time. I am usually quite hard on myself and often leads me to be unhappy with myself from time to time usually never lasts long though, but after writing this I am content. :)
Few things I would like to see improve includes:
- Limiting commitments on my time and focus.
- I would also like to see myself start a product or project that I could turn into a business, I will be hopefully writing about this a lot in the new year.
Also to anyone starting out share your ideas, talk to people, be kind. Do awesome things. Don’t worry so much about failure and what others think. :) Set some goals, work towards them!
Those of you who are interested keeping up here is my twitter .