
It was Thursday night. Day 26. I opened freeCodeCamp and found myself staring at this:
"In this example, 5 became -6 because by applying the ~ operator to 5, you get -(5 + 1), which equals -6 due to two's complement representation."
I am an MBA who works with numbers in my career every single day, but this particular lesson Did. NOT. Compute.
Binary math is foreign to me and it could stay that way for all I care.
Week 4
Bitwise operators are a category of JavaScript operators that manipulate numbers at the binary level. I understand that they exist because computers process information in ones and zeros, and sometimes you need to talk to a computer in its native tongue.
However, I’m about as fluent in that language as I am in Hindi. I am building Homer, a transformation documentation tool. Claude assures me that I will never need bitwise operators in practice. But freeCodeCamp includes them because the curriculum is comprehensive.
By nature, I have a tendency to want to take the hard road. I want to learn the entire JavaScript curriculum at a developer level of proficiency, even though for my purposes I just need a broad understanding of the basics. I need to get to a place where I can use Cursor and other tools that I don’t understand yet to help me build. A place where I am the supervisor of a vastly more talented employee that does the heavy lifting.
So throughout the past month (why does it feel so much longer?) I have fought my instinct to eschew shortcuts, and focused on making steady progress on my course. I have fought the ever present urge to let the perfect be the enemy of the good to focus on learning “just enough”. I innately understand that my goal is delivering an awesome product, not getting hired as a programmer. And that many of the lessons are not going to completely resonate.
None of that made Thursday night easier.
I sat there reading about AND operators and OR operators and left shifts and right shifts and two's complement and binary representations and I genuinely could barely process a single word. Every other lesson in the past four weeks clicked very quickly. Theory, confusion, practice, click. That's been the pattern.
This one just didn't click. And it wasn't going to.
I failed the quiz three times. Googled the answers. Passed. Moved on.
Honestly, it drives me nuts that I didn’t immediately grasp bitwise operators. I know I could eventually with a bit more focus and energy. But for me, right now, sometimes surviving the lesson needs to be enough.
And in fact, failing to understand bitwised proved something useful. It proved that not everything in coding is going to immediately make sense to me. I am a complete newbie, afterall. Some things require a foundation I don't have yet. Binary math requires understanding binary. I don't understand binary. That's fine. I don't need to.
What I needed to do was get to the other side. I got there.
And the rest of Week 4 was much more satisfying.
Type coercion (what happens when you try to do math with strings and numbers mixed together). Operator precedence (the order JavaScript uses to evaluate expressions. Increment and decrement operators).
Compound assignment. Comparison operators. Boolean logic. Two debug labs where I found and fixed broken code.
And then if/else statements, which are exactly what they sound like. If this is true, do this. Otherwise, do that.
I built a Logic Checker app. Timmy is 14, unemployed, and apparently not a gamer. His if/else logic is sound. He cannot drive.
This is the stuff that makes sense to me. Real decisions. Real logic. Programs that think the way humans think, just faster and without second guessing.
Here's the honest part. Every night this week I logged my energy as near zero.
I've been sick several times since the holidays. Chronic congestion, coughing, grossness. I had to leave work on Monday with coughing fits. And it has been a brutal week with constant hacking and very little sleep.
I was also just diagnosed with pretty severe sleep apnea. This comes as no surprise whatsoever. I have likely been suffering with this for my entire adult life based on the, ahem, feedback I have received for over two decades. During my sleep study, I stopped breathing an average of fifteen times per hour. That’s pretty eye-opening (pun intended).
I've been severely oxygen deprived for at least 20 years. In other words, I've been running on a broken engine this whole time. This week alone, I was prescribed a CPAP machine, and referred to an immunologist and an ENT specialist. Fun times, these late 40s.
The stack right now is real: demanding day job with genuine burnout, active job search, 5am gym sessions, a toddler, this project every single night, and a body that seems to be shutting down on a pretty regular basis.
I love my full life and I wouldn’t have it any other way. I chose all of this. But it does seem like maybe something's gotta give. I don't know what yet.
However right now here I find myself, 28 days in. I’m about halfway through the Booleans and Numbers unit. Variables and Strings unit is completed. With any luck, the bitwise operators are behind me forever.
Only 337 days to go.
