I Went LIVE this week! 🚀

At the start of my livestream, I was nervous, questioning my decision to code in the open. But once I started, the nerves faded and it was me, the code and my audience.

A warm WELCOME to my newest subscribers! 🎊

This week, I completed my first coding livestream! 💃🏽 At first I was nervous, questioning my decision to code in the open. But once I started, the nerves faded and it was me, the code and the audience. 😄

Rounding out the issue is how my work-life balance has improved since being remote, and nuances in code-testing. Enjoy!

PS If you’re enjoying my newsletter, do share with your contacts and encourage them to subscribe. I’d appreciate it! 💚


Hitting the Testing Bullseye

#Work&Career

In my most recent pull request, my teammate Michael Kohl left a comment on one of my specs. My spec tested that when the Forem app invoked the rake task called navigation_links:create, the task would create 5 navigation links:

CODE BEFORE

Michael asked whether we cared about the number of navigation links increasing from 0 to 5, or if we rather wanted to check that 5 links were created, regardless of the links that existed already. He suggested the following modification (note the change from .from(0).to(5) to .by(5)):

CODE AFTER

Being a developer for 2+ years now, I’m discovering how much of “tech seniority” lies within these nuanced areas. When we start out as developers, it’s all about getting the code to work, and DRYing it up as much as possible. 😅

The more experience we gain however, we begin to think more deeply: about the actual goals of the code, optimization & performance, coding and design patterns, simplicity, abstractions, etc. I feel myself slowly gaining these competencies, and asking questions that take me beyond the face value of my code.


Multitasking so I can really rest

#NonTechLife #WholeCare

Oh, the very-desired but mostly-elusive work-life balance, especially for those of us who carry the majority of domestic and/or care-giving duties. When I started my first developer job, I was chronically exhausted. My commute was an hour one-way, and after work it was all I could do to feed and care for my children before they went to bed (and I too, soon after). Weekends were then for shopping, cooking, laundry, cleaning, before it was Monday again and I was back on the road. It felt like I never had a real substantial break.

With my second (remote 🎉 ) job, I saw an opportunity to change my routine up. During the workweek, as I code and attend meetings, I also do my chores - cook a pot of beans, complete 2 loads of laundry, sweep the kitchen as a work-break, swing by the store on my way to pick my children from daycare.

My multi-tasking has resulted in weekends that are ACTUAL weekends! I literally do nothing but feed the kiddos. I’m able to rest, enjoy family, watch TV (love those British shows! 🇬🇧), create content for Arit Developer, catch up with friends on the phone.

It’s one of the major ways that becoming a developer has improved my life, and I’m deeply grateful! 🙏🏽


My first Successful Livestream

#TechCommunity

I tweeted about my first attempt at coding live:

Well, well! The second try was the charm! I recently completed a live-stream of my work at Forem. 🎉

I shared my implementation of some feedback on my recent pull-request at work; namely, refactoring and DRY-ing up some code. The recording is at the end of this piece.

In software development, DRY stands for “Don’t Repeat Yourself” - a practice where you utilize variables, functions, constants and other constructs to avoid repeating code-blocks several times. One of the major benefits of DRY is avoiding typos and mistakes in the repeated code. DRY code can also improve performance, especially when it reduces the number of queries being made against your databases.

While I do not have a set schedule in mind, I plan to do more live coding. I’m coining these streams Code & Tell. Eventually, I would like to have other early-career developers on the stream, showing and telling us about their code.

CODE & TELL with Arit Developer