Each year I conduct an annual review to help me remember the things that went well, reflect on areas where I can improve, and focus on the future.
Here's a link to last year's.
2016 was an important year for me as a developer.
As a consultant, I got to work on a variety of projects. I pushed myself into an ever-developing technical leadership role, and put effort into building strong client relationships.
As an OSS maintainer, I continued to learn a ton maintaining Today I Learned. As a community we surpassed 1,000 posts, which is crazy to me. My blog post series highlighting the best TILs drew some attention, including a feature on Postgres Weekly's 'Best of 2016'.
Outside of work, I got involved in the Hashrocket Chicago Apprenticeship, helped build our relationships with bootcamps, and organized twelve very fun Vim Chicago Meetups. I spoke eight times around Chicago, on subjects such as TDD and Vim.
My favorite side project was Capybara::Webmock, built in a haze with the incredible Dillon Hafer. This gem solved a real client problem— slow integration tests.
We launched PG Casts, a labor of love that showcases just how awesome my team is.
I completed a personal challenge called '60 Days 60 Contributions'. I haven't figured out how to write or speak about that experience, but a short summary would be that it was hard and I learned a lot about OSS contributing.
Lastly, this year I got into Elixir! The catalyst was reading Seven More Languages in Seven Weeks in early 2016, which featured Elixir. I've written a lot about it, starting here. Elixir is fun. I'm sharing this journey with some of my coworkers at Hashrocket. We are all hungry for an Elixir client project in 2017.
2016 Goals (Last Year)
From last year's review:
My major professional goal in 2016 is to become an expert at learning languages and frameworks. I aim to slash the time it takes me to pick up a new tool by gaining fluency in the full spectrum of major design patterns.
My strategy was to learn Clojure, Go, React.js, and React Native. How did I do? I was successful, despite a flawed strategy.
My time-to-learn a new technology has plummeted. In a few months I went from zero functional experience to a point where I felt comfortable being paid to write Elixir. Using a combination of tutorials, Exercisms, hack nights, and books, I rapidly taught myself a new language. That was cool.
The secret? Brazen experimentation. I learned that there isn't one way to absorb a particular programming subject; it varies based on the tool and my exposure to similar tools. If something isn't working, you have to know when to abort. If you aren't fascinated by a subject (for instance, me and Rust), learning is going to be hard. These were real epiphanies for me.
My strategy for finding them was, however, flawed. Starting off with a survey (Seven More Languages in Seven Weeks) was great. But Clojure, Go, and React are massive, unrelated subjects. That I could learn even two of these (whatever that means), let alone all three, in a year, is laughable to me now. Picking Elixir and giving it my attention was crucial.
2017 Goals (This Year)
Effective goals are said to be S.M.A.R.T: specific, measurable, attainable, realistic, and timely. In this spirit, my professional goal for 2016 is to submit twelve CFP proposals to technical conferences in 2016.
I submitted my first CFP this year, to Windy City Rails 2016. Even after some crazy life experiences, pressing 'submit' on that form was difficult. This fits into my mental model that if something makes me nervous, it's worth doing.
Twelve CFPs is a specific goal because it is asking me to do just one thing— submit twelve talk ideas. It is measurable, because there's a number. It's attainable because all I have to do is fill out a form. It's realistic, as I've already submitted two CFPs in 2016. And it's timely.
I respect the globe-trotting professional speakers in my industry, but don't envy them. It looks pretty hard to me. Writing talks, getting up in front of hundreds of strangers, and travelling the world are all challenges I don't take lightly.
But I have ideas and a voice. Speaking at a technical conference would challenge me, allow me to meet people, and open unique doors.
The goal of submitting, rather than acceptance, is a challenge that I can control. And, according to PaperCall, 1 in 10 CFPs are accepted, so more CFPs means a better chance of getting onstage.
I've already submitted to Elixir Daze 2017, which I'm counting as my January submission. Eleven to go.
I am the beneficiary of a tremendous team of coworkers and mentors. Thank you to:
- All of our clients
- Everyone at Hashrocket
- Followers of @hashrockettil, and everyone who contributed to and forked the project
- My co-organizers and the members of Vim Chicago
- Dorian Karter for taking the lead with Chicago Elixir
- Postgres Weekly, who highlighted my work on multiple occasions
- All the OSS maintainers who are building this wonderful world
- Katrina Owen and the entire team at Exercism
Thanks for reading, and see you in 2017.