Dead Code: Evaluating beliefs that are no longer useful
Back in college, one of my friends convinced me to do National Novel Writing Month (NaNoWriMo) with her. The premise is to write 50k words in November to get a first draft, however bad, completed. The thought of making up that much intimidated me. So instead I wrote a pseudo-memoir of the events of Freshmen year.
I recently found it. I didn't make it to 50k words, but at 43k I made a valiant effort as I captured the absurd events of my life as a naïve 18/19-year-old.
I cringed reading it. I was instantly back, smelling stale beer and cafeteria food, feeling the awkward tension of making friends, noticing how hard I tried to be funny.
And I found myself not recognizing that girl, too young to know she knew nothing. That girl who stated things with absolute certainty even without having experienced it. Cliché, but I've changed a lot since I was 18. I've gone back on things I said I'd never do and it got me wondering, where do I need to refactor my system? Update my internal image of myself to clean up the dead code. What am I carrying that no longer serves me?
Dead code happens as features and systems get more complex. Eventually pathways and functions are no longer called, whole pages are made obsolete. If you're not cleaning up as you go, you're left with lines of code eating up space and memory that serve absolutely no value.
I used nicknames for everyone in that memoir. They were not kind for anyone not my friend. I'd justify my attitude as not caring what other people thought—even though I desperately cared. That's why I'd reject before I could be rejected.
That's dead code. The judgment. The performative independence. The certainty that I knew exactly how life should work.
But underneath all that 18-year-old posturing, I kept noticing patterns. I couldn't stand being told what to do—even when I'd follow along anyway because I was too afraid to say no. I needed to feel competent at things. And I had to be authentic, not performing for someone else's approval—even though I was constantly performing.
Were those values? Or just more dead code from a life that no longer existed?
At work, I know the difference between dead code and dormant code. Dead code will never be called again—it's obsolete, vestigial, safe to delete. Dormant code looks inactive but powers critical functions under specific conditions. Delete it, and the whole system breaks in unexpected ways.
I needed to figure out which parts of who I was before kids were truly dead—and which were just dormant, waiting to crash my entire system if I deleted them.
That 18-year-old wasn't exactly the model of self-direction. I kept ending up in situations I didn't want to be in. Making out with guys I didn't like because I didn't know how to say no. Going to parties where I felt uncomfortable because I was too scared to be alone. What I had wasn't autonomy—it was resistance to control. A constant push against being told what to do without the actual ability to direct myself toward what I wanted instead. Maybe the question wasn't whether these values were dead or alive. Maybe it was whether they'd ever been fully operational to begin with.
I exclusively breastfed my daughter for 8 months. No bottles. I only stopped because I couldn't handle it once teeth were involved. I worked remotely when she was born and I was in a job I'd worked for over 7 years—I was comfortable in it. My daughter could literally be with me all the time. I didn't question it.
But I didn't like breastfeeding.
I cried, exhausted and in pain during the beginning cluster feeds. There'd be a ten-minute break before needing to latch again, and I'd flinch every time. Eventually it got easier—it was convenient to never need to wash a bottle, worry about formula recalls. I was locked in. Where I went, she went.
With my son, everything was different.
I breastfed him for two weeks. I was crying in bed trying to muscle through the pain again, hearing my daughter call for me and being unable to go because I was locked in, feeding. My boyfriend took one look at me bawling and said stop it, let's just do formula.
It felt like failing.
I knew formula was fine—I had plenty of friends who never breastfed. I fundamentally knew it wasn't a bad thing. But I still judged myself for it.
I needed permission to quit. Not because I didn't know formula was fine. I did. But because I'd internalized that being a good mom meant ignoring my own needs. That wanting agency over my own body was selfish. That if I wasn't suffering, I wasn't trying hard enough.
And there it was, that same pattern from 18. Unable to say no even when I was miserable. Performing what I thought I should be instead of what I actually needed. Breastfeeding stripped away everything I'd been trying to build—the ability to set boundaries, the right to feel competent, the space to be authentic instead of performing for someone else's approval.
Your body isn't fully yours. Your time isn't yours. Your sleep, your pain tolerance, your physical comfort—all negotiable in service of someone else.
And I'd convinced myself that's just what motherhood was. That the "old me" who hated being controlled was dead code.
I'd been treating myself like a sloppy developer in a legacy system. "This looks old and unused—delete it."
I was about to delete core functions because they'd gotten harder to access during a period of high system load. Temporary disruption is not the same as obsolescence.
The regression testing proved it. When I ignored those needs—breastfeeding when I hated it—I became someone I didn't recognize, just like 18-year-old me pretending not to care while desperately caring. When my boyfriend gave me permission to honor them, switching to formula, my systems stabilized. I could be present for my daughter. I could enjoy feeding my son instead of resenting it.
Dead code and dormant code aren't the same thing. Neither is dormant code and code that was never fully built out in the first place.
My dead code is the performance and judgment—trying to adhere to what I should be. The nicknames in that memoir, the defensive posturing, the need to reject before being rejected. That code served a purpose once, protection and belonging, but it's obsolete now. Safe to delete.
The resistance to being controlled, the need for competence, the drive to be authentic instead of performing? That's not dead code. That's barely-written code that's been running in low-power mode my entire adult life.
I spent my twenties thinking I'd already built those functions—agency, boundaries, self-direction. But reading that memoir showed me the truth: I'd written the stub functions and never finished the implementation.
I had the resistance to control without the ability to actually direct myself. I had the desire for authenticity without knowing how to stop performing. I had the drive for competence without the confidence to trust it.
Becoming a mom didn't delete working code. It revealed that the code was never fully operational to begin with.
And if I can quit carrying around all that dead code—all the performance, all the need for external permission—maybe I can finally finish building the functions I started at 18.
The dead code isn't who I was before kids.
It's the belief that those barely-built functions were too broken to be worth completing.
Are you struggling to know which parts of yourself to keep and which to let go? Test in production with me.
Bug reports: Tuesdays & Thursdays | Essays: Saturdays
Subscribe to never miss an issue.
