Updated April 2, 2021
We moved to Bellingham, Washington.
Before Bellingham, we spent the second half of the Trump adminstration—and the entire pandemic—in Walla Walla, WA, a rural town in the American West. We moved there for Sarah's job, wanting to experience a new perspective.
It was a shock after a decade in Portland. But the experience was valuable. Nestled in a river valley between the Blue Mountains, the Palouse, and the Columbia Plateau, Walla Walla is a stunning place, geographically. We learned a ton by stepping out of urban life for a while.
My big picture takeaways from the experience are: (1) as much as I hestitate to say it, I'm not sure that reaching across ideological aisles is practically possible in many situations in the U.S. today, (2) diversity is extremely important and communities cannot truly thrive without it, and (3) the natural environment is far more fragile than I appreciated while living in the city.
Anyway, we're excited to explore Bellingham's environs, meet new friends, and bask in the splendor of this amazing place. Overall, the move to Bellingham feels like a very positive change.
The pandemic has made it mostly impossible for me to travel back to Portland. That's been a blessing and a curse. I've been able to spend more time thinking, writing, and working on software projects. Much less time on law, travel, and hustling in general.
One huge upside is that the pandemic has forced me to fully settle into remote work. I've always danced with remote work, but Covid forced me to double down.
Through immigration cases, programming, and other remote-centric legal work, I now spend far more time working with folks scattered all over the globe. This has injected a well-needed shot of diversity into my life and I'm endlessly grateful for that.
This website turns 1 year old on April 10:
My only goal for this website was to start slowly and consistently writing in public. I've needed to retune my mind a bit. I've spent so many years on dense legal / technical prose, often in high stakes / high conflict situations. It was high time to embrace the joys of writing for fun.
I'm proud to have turned out 16 blog posts this year. Mostly longer in-depth, beginner-friendly tutorials. I enjoy trying to share some of the programming-related things I've learned with others you are learning by Googling.
Surprisingly, these posts brought roughly 33,000 visitors to this website over the course of the year. I've also written a metric ton of drafts that may or may not ever see the light of day.
Anyway, I've conquered some fears, learned my weaknesses, and established some habits. I look forward to being even more productive in the coming year, including branching out into other kinds of writing.
So far, my favorite part about blogging has been all the wonderful people I've met. I'm an internet optimist and writing has been karmic gold. One highlight for me was pair programming with a new friend in western Africa who connected with me over a tutorial I wrote.
My blogging would have never happened but for Stew Fortier and Dan Hunt, who warmly welcomed me as an early member of Compound Writing. I can't thank everyone at Compound enough for the inspiration, encouragement, and support. It's been amazing to watch the community grow, make new friends, and hopefully help the internet become a better place for us all. I was proud (and completely unsurprised) when Compound was accepted into the famed Y Combinator accelerator program this year.
The past few months have been an exceptionally busy period for me due to the move and a fellowship with On Deck (see below). Despite my low personal word count, I've been trying to read as much as possible and provide honest thoughtful feedback to the writing friends I've made in the last year. I've learned a ton and look forward to applying those lessons to my writing in the coming year.
Ruby and Rails
April marks my fourth year of consistent Ruby / Rails development.
This time of year always reminds me of my abrupt decision to attend RailsConf 2017 about two months after starting to learn Rails:
That conference was one of my better life decisions. Since then, I've made over 1,800 commits to personal and professional projects:
I suspect that my general success "sticking with it" lies in Ruby's DNA. Many folks start coding with the end goal of making $. And then they flame out. I've been doing it mostly for fun in my free time. In other words, it's not about money, it's about programmer happiness.
However, this year, I need to buckle down and delve into more professional development work. As much as programming for pure fun is...well...fun, it gets tiring coming up with projects just to push my limits.
I'm doing some formal Ruby/Rails mentoring with Joe Masilotti. I'm also working on a couple development projects in team environments (Note: I strongly recommend Tuple for remote pair programming!). Finally, I'm working on nailing down some more sustainable ways to keep working with code.
More on this front in a later update...
I recently finished up my time in On Deck's inaugural No-Code fellowship.
I found the program deeply engaging and inspiring. I was particularly impressed with the fellowship's diversity and overall creative energy. On Deck truly lives up to its hype as a lifelong community. I'm grateful to be in on the ground floor.
I plan on writing much more about no-code, but here are my quick initial takes:
- No-code is really unfortunate branding. It needlessly polarizes. Contrary to the name,
no-code !== anti-code. It just means using technology where the code is entirely or mostly abstracted away. The idea is that you shouldn't need to learn programming languages to build effective systems and processes.
- No-code is much more than just building web/mobile apps without code. Despite all the buzz about full-stack app development without code, the most compelling no-code uses IMO involve automations, integrations, and niche use cases. There's a lot you can offload so you can focus on coding the best parts.
- No-code is not a replacement for learning programming fundamentals. Whether you're pushing code from a command line or using visual development tools, you need to understand how things work (e.g., data structures, performance, scaling, testing, documentation).
- No-code is a trend that's sticking around. As much as coders love to turn their noses up at no-code and dismiss it as a trend, the reality is that coding is not as accessible as it needs to be. I think there's a happy middle ground and that the turf wars are sad waste of time.