Every year I set a few goals and review them at the end of the year. Last year I wrote 2018 Lookbehind, Lookahead 2019. This year I'll follow the same format. So before talking about my goals for 2020, let's look back at 2019.
✅ Redesign Blog
This was a pretty easy one. I do this on purpose. It allows me to start off the year with some momentum from immediately achieving a goal.
I switched from Jekyll to Jigsaw. This made the static site generator a little more familiar by using not only using PHP, but Blade templates. In addition, it came with a nice starter theme which used Tailwind.
✅ Less talks, more workshops
I definitely gave less talks in 2019. Really only speaking at conferences I personally attended or hosted in cities I wanted to visit. Of course, I try my best to speak at all the Laracons to reach my target audience. So speaking at Laracon AU checked all the boxes.
In addition to speaking, I hosted a series of online workshops on various technologies. Mostly Laravel, but others on Regular Expressions, Git, and Testing. While these didn't have a lot of attendees, they have lead to other opportunities. So I'll likely do these again in 2020.
✅ Contribute to open source projects
I really nailed this one. Last year I contributed to:
In addition, I created a few open source projects of my own:
- Laravel Test Assertions – a handful of helpful assertions when testing Laravel applications.
- Blueprint - a human readable, rapid application development tool.
- Shift Console - artisan commands to keep your Laravel apps fresh.
➖ Improve frontend technologies
I'll call this one a scratch. I started working exclusively with Tailwind in 2019. However, the original goal was to do more with single page apps (SPAs) using Vue or React or whatever the hotness was.
The hard truth is, I just didn't need these technologies. Most of my applications behave fine with full page refreshes. So this is no longer a goal. I'll wait and learn these one of these technologies when I actually need to use them.
❌ Build Optionality
I started out the year making a series of videos to create this new product. But there wasn't much traction. Although there was a brief opportunity to partner with an existing platform, nothing ever materialized.
I still have some internal tools I use, but don't think these are the right ones to productize. Maybe they'll take another form in the future, but for now this is on pause, indefinitely.
Expand the Shift Platform
I love the Laravel community, and I hope it continues its growth. However, from a business perspective this is shortsighted. The Shift platform has matured enough to branch out to other technologies. So why not try?
In the past I tried to create Shifts for PHP. These we're really used. While a few remain, I discontinued the PHP version Shifts. Since PHP should have been an easy leap coming from Laravel, it was discouraging to see it fail. So I didn't carry this goal forward into 2019.
I think sticking with a framework would be the right approach. So I plan to write a Shift for upgrading to the latest version of Rails to try a new market again.
In addition, I think Tailwind would be a good cross-over between the Laravel community and frontend technologies. I know I'd love to convert my old Bootstrap projects to Tailwind. Jess Archer also expressed an interest in a Bootstrap to Tailwind converter. So having her help developing these new platforms also mitigates my time investment.
Write another book
Although BaseCode wasn't as successful from a financial perspective as I hoped, it was successful from a personal perspective. Many readers continue to reach out to me to say how the practices helped them improve the code they write. It also led to numerous talks, training, and pairing.
Writing code is an area I have a lot of experience. Over 20 years. So I'd like to write another book in a similar format with practices and real-world examples, but a little more specific to overall application development.
Increase savings by 50%
I made a deal with myself when going full-time on my own projects in 2019. I had to maintain my savings. Without a steady, higher salary from a day job, I've done well to honor this. As I continue to work full-time on my own projects in 2020, I want to set a financial goal to build my savings.
This is effectively a goal to grow my business without putting pressure on any one aspect. While I don't have many expenses as a digital business, this does mean generating more income. But that income could come from anywhere - writing a book, expanding Shift, wood-working projects, or stock market investments.
Achieving this goal would give me confidence that continuing into future years would be more financially viable than returning to the day job.
I read thousands of lines of code and dozens of blog posts a week. But I don't read a whole lot of books. Maybe 2 or 3 a year.
When we remodeled our house, I build-in a bookshelf across an entire wall. These are all books we own, but many of which I've never read. This feels a bit phony to me, and wasteful when I go to buy a new book.
So in 2020, I plan to pick up a few of the books I never got around to reading, and finally read them. There's no quantitative goal here. More about reestablishing the habit of reading and using the things I own.
Increase social activities
Going full-time on my own in 2019 means I don't have coworkers or people I interact with on a daily basis. So in 2020, I want to make an effort to get out of the house at least once a week. This might be a coffee shop, library, co-working space or even do remote pairing with another developer.
You might notice most of these goals aren't technical. In fact, really only one of them is - to expand Shift. Arguably that is more of a business goal than a technical goal.
This wasn't intentional. In fact, I only really noticed it after proofreading this post. Yet, it make sense. As much as I love programming, it's not something I think I'll do forever. Each year I get a bit older and a bit farther away from the code. So I think my goals align a bit more with life than programming.
Find this interesting? Let's continue the conversation on Twitter.