profile

🥷🏽 Notes From an Imposter Programmer

🧐 A Strange Thing Happened When I Told Myself To Shut It

Published about 1 month ago • 5 min read

In my last post I mentioned that I have been reading a lot of personal growth and business books, which I enjoy. Finance, emotional health, non-slimy marketing, etc.

A few weeks ago I started listening to listening to Take Control of Your Life by Mel Robbins because my niece recommended it. To be honest: I didn't really want to listen to this. The title is too broad and, if I'm being extremely honest, I highly doubt a single book is going to enable me to feel like I've gained "control" of my life.

What does that even mean, anyway?

Either way, I got it and gave it a listen because my niece can be very persuasive. I'll be honest and say I loathe Mel's style. She's pushy and, ironically, damned controlling in her dealings with her coaching clients (the book is a set of conversations with her clients). That said, hearing the message (for the 100th time from one of these books) that taking small actions will free you was evidently what I needed to hear, because I did just that.

I stopped thinking, stopped telling myself "no", and started playing. With Rails.

I know, believe me, I know...

Rails. Seriously. I Made a Rails App.

I rebuild my main business site annually and I love/hate it. I don't plan on this: it just happens because I watch a video/read a post/see a tweet about something new and interesting, and in order to try it out, I build something of consequence to me rather than a stupid to-do list. That something of consequence would be my side hustle, bigmachine.io.

Anyway, Three weeks ago I dabbled with a Rails app. Yesterday I deployed it as the latest incarnation of my business. I couldn't be happier about this fact because it's something I've wanted to do for the longest time: consolidate all the nonsense (I had 5 or so different sites to support my modest business, which is silly).

I'm as surprised as anyone by this. I've been using nothing but Vue and Nuxt for the last... forever. I like working with frontend frameworks and was even considering using Astro a few months ago.

WTF? How did I end up with a Rails app?

I Followed The Happy

I still visit Twitter from time to time and this tweet popped into my timeline:

A "rails rewrite" is a term I hadn't heard in a very, very long time so I dug in and found out that Josh is helping build out a personal finance app called Maybe. They did the startup thing, got funding, hired some people, built everything in React and then went under. A year or so ago, they decided to rebuild everything in Rails and open source it all.

I found that to be fascinating. I hadn't used Rails in years and I know it's up to version 7, so I figured WTH? I wasn't doing anything (it was a rainy Saturday) so I followed the Rails guide and kicked up a new Rails app.

3 hours later and my head was spinning. I had scaffolded all of my models (without migrations and turbo/stimulus nonsense) and had a complete suite of tests for controllers and models, as well as forms for the data.

With some slight tweaking... I wondered if I could... oh my god! I forgot how easy and fun this is!

Rails is fun. Yes, it's challenging, yes it can be frustrating - but far, far less than the frontend things I was doing. Overall, I would say that 80% of the time I spent was happy. I wouldn't have done it otherwise!

Also: not to hate on JavaScript unduly but my god it was nice working with something that wasn't JavaScript. We could argue about Ruby opinions all day, but I happen to really like it, and it made all the difference.

What am I doing! I have a book to finish! I'm trying to get the next Imposter book out the damned door (which I'm calling The Imposter's Playbook for self-taught people wanting to move up) and I'm 3 chapters (out of 24 or so) away from finishing the draft!

Stop this nonsense! Get to writing!

I Didn't Want to Do This. Every Day Was a Battle.

My nights and weekends are the only time I get to create content, so I absolutely did not want to spend that time rebuilding my site yet again. I would wake up, have a talk with myself while having coffee, and then completely ignore myself and start writing more Rails code.

That, friends, is how much fun I was having.

I decided to let go and just do, which is the entire point of Robbins' book, Take Control of Your Life. Oddly, "taking control" meant losing control and actively ignoring myself. Not sure what that means, but I'll just pretend it's a positive. Brains are so weird.

This isn't the first time this has happened to me. I'll get an idea or inspiration, tell myself to shut up, start working on that idea, get mad at myself, keep going, get madder... and then just give up and finish the thing that I can't stop working on. The idea sometimes turns into something good - it's how I came up with The Imposter's Handbook. I didn't want to write that book and I fought myself every day. Good thing I lost.

Is This Interesting To You?

I've been seeing variations of the phrase "ditched [React | Vue | Svelte] and redid everything in [Rails | ASP | Django] and so, so happy. We have tests again!"

It's true. I have a lot of tests and it makes me happy. I wrote tests for my frontend stuff, too, mind you, but not to the extent of my current app.

And no. Ruby isn't slow and it scales just fine, at least for my needs. As they say: "it's not a problem until it's a problem" and if it does, indeed, become a problem, I'll be sure to let you know after my next rewrite using Elixir Phoenix :).

I had a lot of fun building out this application. I added a CMS gem called Spina which is one of the main reasons I went ahead with this project, I was able to plugin authentication exactly as I want, and monitoring with New Relic is amazing because it's so compatible with Rails. Testing is super snappy with RSpec and tracking traffic with the Ahoy gem is brilliant.

My old platform, Ghost, was just fine and I have no complaints! Just want to be clear on that. It wasn't quite enough for what I needed, however (viewing videos, more flexible membership, better stats tracking).

I've been thinking of kicking up a video about the experience and how I put everything together. There are some parts of Rails that bug me, but thankfully I was able to ignore that and keep moving. I would imagine the whole thing being about 2 hours - let me know if you're interested! Just reply to this note and let me know what you think.

Rails is fun, there's no escaping that. It reminded me of why I like programming, and that's enough reason for me!

🥷🏽 Notes From an Imposter Programmer

Hi! I'm Rob Conery and I help self-taught programmers like me overcome doubt and build their career. Join me and over 15,000 other programmers who are learning new things, every day.

I taught myself to code in 1998 and within 7 years had a client list that included Google, Microsoft, Starbucks, Ameritech, KLA-Tencor, PayPal, and Visa. In 2014 I decided that I really needed to understand core Computer Science concepts, so I dove in, using the free resources from MIT and Stanford. In 2016 I shared what I learned with The Imposter's Handbook.

Read more from 🥷🏽 Notes From an Imposter Programmer

Most people aren't aware of the power of constraints in a database. They're there to enforce data rules, and you're probably familiar with a few of them, including: The null constraint, which won't allow null values. The unique constraint, which ensures a record is always unique. The primary key constraint, which I don't need to explain. Assuming you've used these before, let me ask you a question: is this business logic? I think it's fair to say that some logic is being used here in the form...

1 day ago • 4 min read

The subject of this email is a quote from Steve Martin, one of my favorite people. I grew up in the 70s, listening to Wild and Crazy Guy religiously. I could quote just about every joke from that album, and I was only 12, which caused problems for my parents. One of my favorite jokes was about meeting a lady and falling for her cat... I won't repeat it here but I didn't stop laughing for hours. Here's a link, but volume down and be wary of little ears. Anyway, I just finished watching the...

23 days ago • 4 min read

Retirement is one thing, being where you want to be and doing what you want to do when your current job is finished in another thing entirely. What’s your exit strategy? It doesn’t matter if you work for yourself, at a startup, or in a massive enterprise environment: knowing what you’re going to do when it’s over is incredibly important to your career. I work at Microsoft currently and before I started there in 2018 I pondered my “end game” – where do I want to be when it’s over and what do I...

about 2 months ago • 5 min read
Share this post