At the beginning of each new year set goals. While I split them between personal and professional goals, I find the lines can blur. I like what I do. So, even though these are my goals as a professional developer, they are personal goals too.
Here are my goals for 2018:
- Write a book
- Learn Python
- Expand Shift services
- Speak at 5 conferences
- Reach 10k Twitter followers
I’d like to go through them. Not just to explain the goals, but the motivation behind them. In doing so, they may help you set a few goals of your own.
Write a book
I never planned on writing a book. Despite writing hundreds of blog posts, dozens of magazine articles, and several talks I never thought I had enough material to fill a whole book. I love sharing my experiences. It’s the motivation for all the writing I do.
Back in November I started sharing code cleanup tips on Twitter. Each week, I’d share a tip to cleanup your code. Each week, the tweets received more retweets and more likes. Some well into the hundreds. It’s funny as the whole thing started as a bit of a challenge. I was bored in a meeting and asked developers to send a code snippet they wanted cleaned up.
Even with all these positive responses and ensuing discussion, I still never thought I had material to write a book. After all, how do you take a bunch of tweets and turn them into a book. I mean you don’t. What you can turn them into is a field guide - a short book with pragmatic practices to improve the code you write every day.
With my birthday at the end of the month, I realized that I've been programming for 20 years. It was this realization that was actually the deciding factor. In the developer world, that’s a lifetime of experiences working with dozens of development teams, developing hundreds of projects, and writing thousands of lines of code. Combining my experience with my tweets to provide backstory and motivation for writing cleaner code in the real world felt like enough. So I am writing BaseCode - a field guide to lasting code.
Learn Python
Learning a new language a year was actually suggested to me as a good routine by a TA in college.
However, development has changed. Especially web development. When I first started knowing HTML was enough. Then it was HTML, CSS, and JavaScript. Now it's so much more. You have to learn languages, frameworks, APIs, and all the tools in between.
Technically speaking, the last language I learned was Swift. That was a few years ago. So I’m overdue. This year, I chose Python. There’s no requirement for me to learn Python. At least not for my career. I chose it because it seems to have a place in data analytics.
Investing is my second passion. I’m always looking for ways to combine my two passions of programming and investing. What better way than to analyze my trading habits with a few Python scripts. Who knows, maybe I’ll end up with an algorithm that outperforms the market and I'll start an investment firm. That's pretty unlikely, but at least I know Python.
Expand Shift Services
Two years ago I created Laravel Shift. It provides automated and human services for upgrading Laravel, Lumen, and PHP projects between major versions.
Shift has been a great side project. But I’m at a critical point where it needs work to get to the next level. Otherwise, it will likely stagnate, rot, and die. An all too common tale and one that I’ve lived before with another side project.
I don’t want to see that happen to Shift. The goal this year will be to focus the core platform by cutting some of the services that don’t generate revenue and instead put that effort into expanding to new markets - either other sub communities within PHP or even other languages like JavaScript or Ruby.
Speak at 5 conferences
Over the past few years I’ve been fortunate to make the transition from a conference attendee to a conference speaker. As I mentioned before, I love sharing my experiences. Seeing an audience engage, share, and grow during one of my talks has been incredibly rewarding.
This year I hope to increase the number of conference engagements. I’m well on the way to achieving my goal as my talks have already been accepted to 3 conferences. I expect to reach this goal, so I created a sub goal - I’d like to be a keynote speaker or speak at a new conference. Maybe one that is not even tech related.
Reach 10k Twitter followers
This goal is pretty straightforward. However, the motivations are not. It’s a means to an end. That end, for me, is reach. I’m not talking about being popular. Again, it's about sharing my experiences in an effort to teach. Every teacher needs an audience.
Reaching 10,000 followers on Twitter accomplishes two things. First, it’s positive feedback that people find value in what I am sharing. Second, it allows me to reach an audience more directly. Let me elaborate on this a bit.
Unless you’re inherently famous or virally fortunate, you have to grow your audience. You have to write blog posts, speak at conferences, and make things. Then you have to share all that carefully and meticulously. You have to ask people to share your stuff. It’s an awkward, relentless push. All that might get you a few thousand followers.
Maybe at 10k followers it might be a little easier to my experiences with a large enough core audience to make an impact.
I hope these insights into my own goals help you create some of your own. Tech is constantly in motion. Keeping up is the minimum requirement. Goals are a great way to ensure you’re not just keeping up, but accelerating.