Today officially concludes the first week of my new job. I know it’s only Thursday, but I started last week on Thursday, so technically it’s been a full week. At least, I think it has but I’m not good with elapsed time. I digress…
I’m working for btwb, a company that connects CrossFit gyms across the US and provides workout programs, trackers, and analytics for both athletes and gym owners. For now, I’ll be working on their web app, using Rails and Bootstrap 5.
I haven’t gotten to know any of my coworkers very well yet, but they seem cool. It feels weird to call them coworkers, honestly. They’ve all been doing this for probably more than 10 years (not trying to offend anyone but they’re all at least 30, I’m pretty sure). I feel more like a kid on a soccer team, except I’m the only person on the soccer team and I have like 4 different coaches. And I only just started playing soccer and I’m terrible at it because I’m an asthmatic nerd (true story).
A flawed analogy, maybe, but that’s what I could think of in the moment. Honestly, my brain is fried from trying to get my machine set up for work.
It’s been a saga…
First, I downloaded the source code to my machine and tried to set up my dev environment with all the gems and tools I’d need. A couple gems in particular (first it was idn-ruby then solr) weren’t playing nicely with the M1 chip on my new laptop, so it took an entire day of reading error messages, looking up pull requests and Stack Overflow posts, trying commands that returned new errors, rinse and repeat. The senior engineer who’s basically mentoring me—Corey—did most of the legwork, of course. At one point, we had to go into the solr bin files and delete a bunch of VM options.
I could write a blog post going in-depth into what the actual errors were and how we fixed them, but it’s too soon to revisit the trauma…
On Tuesday, one of the backend devs—Ben—made a devcontainer for the dev environment, so I spent the rest of the week setting it up. In my efforts to get that working, I learned about
git stash , discovered Cmd+Shift+G in Finder, and poked through the mysql folder on my machine in search of the
my.cnf file. Fun Fact: it’s not provided in the mac OS installation of mysql.
Aside from technical stuff, I’ve also learned to ask stupid questions. When I was setting up my machine that first time, I deliberated for a good 10 minutes whether or not to send a message in the Slack channel. I thought that I was asking a super obvious question and my boss would figure out how dumb I was and fire me. You could say I’m a bit of a catastrophizer.
Turns out my question wasn’t that dumb, seeing as it took me and Corey (and Ben, a little) an entire day (and then some) to figure it out. If I hadn’t asked, I would be completely stuck. Kudos to the dev team for being super welcoming and willing to answer my questions; that definitely mitigates the apprehension to ask for help.
Other than trying to get my environment up and running, I’ve just been reading docs and attending meetings. I don’t have much to contribute at the moment since I’m still getting my bearings, so I mostly listen and take notes. I’m trying to absorb as much knowledge via osmosis as I can.
As for learning outside of work, I bought Justin Weiss’ book—Practicing Rails. I’ve gone through two chapters, so far, and I’ve already gotten some valuable insights.
For one, Justin suggests having a list of app types that you refer to whenever you need to quickly spin up an app to test a concept. That way, you have a list of apps that you’re familiar with (because you’ve used them to practice over and over again) so you know exactly what features you need and how to build them. He also emphasizes writing exactly the code you need for whatever feature you’re working on right now and nothing more.
The book’s overall philosophy on learning is very hands-on, which works well with my brain.
I’m also working through UCSD’s Data Structures and Algorithms specialization on Coursera—slowly, but surely.
All in all, it’s been a good first week and I’m excited for what comes next.