2013 has been a very dense year for me, full on new experiences and challenges. I can really say I've grown a lot during year. In this post I'm gonna try to do a quick retrospective on 2013, in full agile fashion. Finally I'm gonna set some expectations for 2014.
Retrospectives on 2013
What's been good
Love it or leave it!
I was able to overcome some fears and leave Memrise, my first job and first love in London, when I realized I wasn't loving it anymore, and that my work there was teaching me less and less things week after week. Although I have to admit that to change job in a city like London, where the market is so vibrant, and developers receive many emails a week from recruiters you don't really need to be brave, just smart.
Podcasts and Screencasts
In the last quarter of the year I decided to optimize those dead moments of my day, like walking to work or eating, trying to learn a bit of stuff in a chilled way. I therefore started following a number of podcasts and screencasts about technology, mainly iOS and Ruby. It's a good way to keep my mind busy and pick up some good things without really focusing. It's also an healthier alternative to watching Dexter at dinner time and getting caught into the episodes till 3 in the morning!
At the beginning of the year, thanks to the example of my colleague Adam, I picked up the habit of working standing. It's amazing! Not a back pain or a position problem, and I always feel very energetic! Plus... "Standing on Weekdays Burns Calories Like Running 10 Marathons a Year!"
What could be improved
Reading books and blog posts
The internet is full of resources and informations, and so are the libraries. When 2013 started I wanted to read many technical books and blogs. I've skimmed through a handful of technical books, and except for NSHipster and objc.io I mainly just put links in my Pocket read it later list, without picking them out anymore.
Looking at the source code
I believe looking at the source code of libraries you're using is really important for two reasons, first because it provides a better understanding of how things work, second because it's usually a good way to pick up good coding styles. That said I spent most of 2013 looking at the source code of a library only when something didn't work properly.
It took me a while to understand that the time I estimate in my head it's not gonna be the one it will take me to actually do the job, and therefore increase it of a good .5 or more before writing it down on the task ticket.
When I started this blog, on Wordpress.com at the time, I wanted to do a post per week. I posted 21 posts, of which 5 are just a collection of things learned during the month. That, like the estimates, was clearly shooting to high...
What has been bad
I worked too much
February has been hell, I worked all the weekends of the month, on a rush to complete and app that got taken off the store after a month or so. That was bad for sooo many reasons. I was always working in a rush, skipping unit tests, making silly mistakes, writing poor code, and I didn't get almost any free time to relax or to work on personal projects, every thing for a product that just a couple of thousands UK iPhone users downloaded, and that's not even online anymore.
At the edge of the community
I've been at the edge of the community. I've lived for one year in a city like London, where there's a meetup every night and a hackthon every weekend, but I've attended only a few of those. I've also produced little open source software, just a couple of not really maintained iOS libraries, and a handful of PR.
Late iOS 7 adoption
I've started looking into the iOS 7 SDK news at the end of August, joining the party late and having, still now, to work hard to catch up.
Not enough TDD
I've let the hurries of my CEO drive the development of my projects, rather than the tests and a clear roadmap.
Haven't learned any new language!
Nor even tried something new! I realized this only now writing this blogpost, and I feel really bad about it.
I put aside swimming and gym to focus on work... That's not really healthy and I'm starting to feeling and seeing the consequences of 6 month of almost sedentary life style already.
After having looked back at the 2013 with a critical eye, I can say that on 2014 I'll set the bar low, but jump higher. I'm not gonna say or write something like "I'm gonna write a blogpost every week", or "I'm gonna wake up at 6 every morning to do pushups, like Bruce Waine". I'll set the bar low, "I'm gonna write a blogpost every month", and I'm gonna try to jump higher than it every time. I'm also not gonna be a slave of my daily job, and be sure to have enough free time to both work on my own things and just chill. I'll try to expand my technical knowledge both deeper and wider, deeper in what I work on daily, and wider towards new tools. Finally I'm going to be more involved in the community, because those few time I've been at a conference or a meetup I've always came home with something new to try out and with new friends to talk to.
Here's some goals:
- 5 tweets sharing tech articles I've read a week.
- 3 days of exercise, or at least 7 minutes workout, a week.
- 1 original tech blogpost per month.
- 1 social event for developers a month.
- 1 tech book every quarter.
- 1 PR per quarter
- 2 decent (> 100 stars on GitHub) open source softwares during the year
- 1 new programming language learned during the year.
That's it, as always in the first days of January I feel energetic and unbeatable. I'll try to keep up to those resolution, we'll see how it went in 12 month.