Software Engineer (L4, mid-size SaaS)
This week I caught myself adding $340 of workout clothes to cart and put most of it back
Background
I went to UCSD for CS. My parents covered tuition outright, no loans, and I paid my own rent from resident advisor jobs sophomore year on. That mix of help and independence made me feel both privileged and a little scrappy, which I'm still untangling now.
I grew up in the suburban Bay Area where money was quiet and available. I never had to ask for anything, which sounds lucky, and it was, but it also meant I never learned what things actually cost until I started earning.
My parents have substantial savings and have told me plainly they could float me for a year if something happened. I don't plan to ever use it, but knowing the floor exists changes how I make decisions. I try to be honest about that when friends talk about risk.
My money anxiety isn't about survival, it's about values. Am I getting soft, am I buying things to fill a gap, is this actually the life I want, or just the San Francisco default I drifted into because it was easy?
I'm working through genuine guilt about earning more than most of my friends by 26. Therapy helps. I've stopped performing frugality to seem relatable, but I haven't figured out how to just be honest about my number yet.
I've maxed my 401k and HSA every year since I started working. It's not glamorous and nobody claps for it, but watching those numbers compound quietly while I ignore them is the most adult thing I've ever done.
Year one of this job I spent three grand on a carbon fiber road bike I was convinced would change my life. It's hanging in the garage right now. I ride it maybe twice a year and mostly feel guilty when I see it.
Ten minutes with the notebook before coffee. Last night I loaded $340 of workout clothes into a cart and called it self-care. This morning I wrote one question at the top of the page: what was I actually shopping for? Didn't answer it. Left it there like a splinter.
Mint Plaza Blue Bottle before BART. Six-fifty for cold brew is absurd and I know it. But it's the one fixed point in my morning, and this week I need at least one thing that doesn't require a decision.
16th Street Mission to Montgomery, standing room only. Clipper auto-reloads so the fare is invisible by design. Today I made myself notice it. Five-forty each way. Attention is the whole experiment this week.
Catered salad bar, free. Grain bowl with salmon. The free food is a lifestyle subsidy dressed up as a perk, and it works on me completely.
Presented the retry logic I've been building for three weeks. My staff engineer went after the queue model hard and I felt the impostor siren start up, the one that says they're about to find out. Breathed. Took notes. The feedback was fair, which is somehow worse and better at the same time.
Equinox, lower body day. One seventy-five a month at the corporate rate. I flinch at the number every time and I go four times a week, so the flinch is losing.
Arugula, sourdough, a wedge of Point Reyes blue. Bi-Rite is a tax on taste, two blocks from home, and I pay it with my eyes open.
Weekly session, covered through work insurance. We spent the hour on money shame. My therapist asked what would happen if I just told my friends my salary. I said I didn't know. She said that's interesting, isn't it. Hard hour.
Pasta with the blue cheese and arugula, ten minutes, eaten standing at the counter scrolling Hacker News. The meal I make when I'm done being a person for the day.
Closed the loop on the morning question. Wrote: the cart wasn't about the clothes. Didn't get further than that. Lights out before eleven, which lately counts as an achievement.
Five miles along the water before work. Cold fog, pier lights still on. The one hour of the day where nothing costs anything and my brain finally shuts up.
Bacon egg and cheese from the corner bodega on Valencia. $4. No guilt, no analysis, no brand. Some purchases are just food.
Quarterly vest hit Schwab. About fifty-eight hundred net after withholding. I logged in, stared at the number the way you'd stare at a stranger who knows your name, and closed the tab. Not selling. Not spending. Noticing.
Thai catering. Ate with a coworker who joined last month. She made half my salary at her last job and is visibly thriving. I keep turning that over. The money and the thriving are apparently separate variables.
Opened the Lululemon tab from Sunday night. The cart was still there, patient, $340. Running tights, two tops, a jacket. I sat with it for a full minute, felt the pull, named it, closed the tab. Old me checks out. New me is watching old me very closely this week.
Eleven pull requests before leaving. No meetings, just reading other people's thinking. First time this week I felt useful instead of watched.
Small plates at Rintaro with someone who started the same year I did. Split the bill, forty-two each. We spent most of it on the game everyone here plays: what would you do if you quit. Neither of us has an answer. Both of us have savings. That's the tell.
Raining hard, too full and too tired to wait for the 14. $14 to be home dry in eleven minutes. I don't love the number. I love the warm apartment more, and tonight that math is allowed.
Couch, tea, one roommate. She freelances and asked how I budget. I said I mostly don't. Saying it out loud to someone who tracks every invoice felt like admitting I don't lock my front door.
Three decisions today that would have flipped the other way a year ago. The cart, the vest, the honest answer on the couch. Progress looks incredibly boring up close. Writing that down so I believe it.
Growing up comfortable didn't prepare me for the guilt of suddenly making good money.
Mint Mojito iced on the walk to BART, five seventy-five. Philz is a habit, not a need, and it's the one I've decided to keep. The walk to the train feels like mine when the cup is in my hand.
Ten pages of the novel on the ride. The commute is the only time I'm fully offline, which is telling me something I'm not ready to fix yet.
Promo talk. My manager thinks L5 is real for mid-year. I felt two pulses at once, want and dread, arriving together like they carpooled. More money would help. It would also tighten whatever this is, this life I keep calling a default.
Poke bowls at my desk while finishing a doc. Lunch should be a thing I leave my laptop for. Noted, not fixed.
Moved three thousand from checking into the taxable account, auto-invested into total market. Ninety seconds. After the promo conversation this morning it felt less like saving and more like voting, for a version of me whose options stay open no matter what mid-year brings.
Dumplings, yogurt, bananas, soup, flowers for the kitchen. $48 for a week of staples. The one store where my finance brain and my feelings agree on everything.
Mission Cliffs with a friend visiting from out of town, her guest pass on me. My fingers gave out in forty minutes and I loved every second. Two months away from the wall is too long.
Turtle Tower on Larkin, extra-large number one, sixteen with tip. Counter seat, glasses fogged with steam, best meal of the week and nobody can tell me otherwise.
Sonic auto-debit, my share of the three-way split. Logged it in the roommate spreadsheet. We are oddly ceremonial about utilities in this house. I think the spreadsheet is why we're still friends.
Tried to separate what I want from what I think I should want, re: the promo. No conclusions. Wrote the honest version: I want the money and I'm afraid of what wanting it means. Bed by eleven-thirty.
Three miles around the Dolores loop. Slower than Tuesday, foggier, steadier. The days I run first are the days I don't shop. I only see the correlation now that I'm writing everything down.
Steel-cut oats, peanut butter, banana. Ninety cents of ingredients. I notice I feel smug about the oatmeal, and I notice the smugness might be the actual product.
Packed train, a stranger's backpack in my ribs the whole ride. Some mornings you just endure transit and pretend to read.
Shipped the retry logic fix that ate my Monday. Two hours of flow, no Slack. Rare enough now that I'm recording it like a sighting.
Souvla with a coworker, rotisserie chicken salad, twenty-two with tip. An hour outside in actual sunlight, which repaired something small in my head that the free cafeteria never touches.
Twenty-minute phone check-in, zero copay. Processed yesterday's promo talk. My therapist asked what I'd do if the answer was no. The silence where my answer should have been is the most expensive thing I encountered all week, and it was free.
The 22 toward Tartine Manufactory, two-fifty each way. Going out of my way on a weekday for pastry felt extravagant in a way no dollar amount explains.
Morning bun and iced tea, split the bun because it's the size of a small planet. An hour of talk about nothing consequential, which is the most consequential kind.
Rice, kimchi, an egg, the cafeteria salmon I smuggled home Monday. Cost, roughly zero. The apartment smelled like garlic and nobody filed a complaint.
Forty pages, ginger tea, no screens. The book was a gift from my sister, so tonight's entertainment was paid for months ago by someone who loves me. Asleep by eleven.
Company-catered spread to kick off Q2 planning. Ate too many scones. Free food remains a hazard for the overcaffeinated.
Three hours of roadmap. Pitched the one project I actually care about and it survived the cut. Spent the rest of the meeting watching the clock crawl toward my half-day.
The one o'clock train home is a different country. Quiet, sunlit, seats available. I should buy the half day more often. It's the best thing $5 got me all week.
Ninety minutes at the place in the Mission I save for hard weeks. One-thirty with tip. This one I chose out loud, in advance, on purpose. Walked out feeling like a person with a body instead of a body with a Slack account.
The running store on Valencia. One pair of shorts to replace the pair with the broken drawstring. The matching top stayed on the rack, and I want it noted that it stayed there because I decided, not because I fled.
Shower, the one nice shirt, a candle, twenty minutes of reading with a glass of water. Entering dinner as a person, not a tired project.
Three of us at the bar. Flatbread, the burger, the pork chop, a bottle of wine. Ninety-two my share with tip. I did the thing where I checked in with myself mid-meal, and the answer was: this is exactly where the money should be going.
Split a Lyft to the Mission, eighteen on my card. The 24 would have saved it. Tonight I didn't want the 24, and knowing the difference between can't and don't-want-to is the whole point of this week.
Tallied the day, about $303, most of it one dinner and one massage. A year ago this number spirals me. Tonight I logged it like weather.
Wrote the distinction down before I lost it: intentional spending leaves you tired and warm, numb spending just leaves you tired. Lights out.
Pour-over with last Saturday's farmers market beans, by the window, no phone. The coffee at home is honestly better than Blue Bottle. I will continue going to Blue Bottle. Both things are true and I've stopped litigating it.
Two hours at Mission Cliffs on the membership. Sent the V3 I've been projecting for weeks. Solving a problem with your hands pays out in a currency work doesn't print.
Strawberries, a small loaf, a bag of coffee beans. $34, absolutely a tax on groceries I could get cheaper, collected in sunlight with a view of the bay. I pay it happily.
Sightglass on Seventh with an old college friend. Her cortado, my drip, $9 on my card because she paid last time. Two hours on work, rent, parents. The ledger between old friends is the one account I never audit.
An hour in Community Thrift. Tried on a corduroy jacket, put it back. The point was the wandering. The jacket knew.
Forty-five minutes on the couch, window open. I used to file weekend naps under wasted time. My therapist and my body have outvoted me.
Solo evening show, twenty-one with the fee, a weird little sci-fi thing. Going to the movies alone is one of the few luxuries where the luxury is the alone.
Two squares of clam and garlic eaten standing on the sidewalk. Peak San Francisco. Non-negotiable line item.
Statement paid in full overnight, twenty-two hundred something. Three years of paying in full every month. It's the quietest thing I'm proud of and the one I lean on hardest.
What a good Saturday costs: $76 and zero decisions I regret. That second number is the one I'm actually tracking now.
Eggs, toast, the last Ferry Building strawberries, coffee from yesterday's beans, at the actual table with a roommate. First unrushed breakfast of the week. I felt it leave my shoulders.
Split a Zipcar with a roommate, my share twenty-four for three hours. Cheaper than owning a car in this city will ever be. I have run the numbers. Repeatedly. Recreationally.
Chicken thighs, rice, eggs, salmon, spinach, two rotisserie chickens, paper towels, one extravagant block of cheese. One twenty-four that feeds me for two weeks. The single highest-yield transaction of my seven days.
Two hours in the kitchen, window open, five lunches and three dinners portioned. The cheapest thing I do all week and the one that most improves the next one.
The personal spreadsheet. Net worth up about $4,200 this month, mostly market and the vest. Changed nothing. Closed the laptop steady rather than elated, which I'm learning is the target emotional state for money.
Finished the novel on the couch, no music. Closed it and stared at the ceiling like it had asked me something I couldn't answer. It had. Something about the promo, probably. Books are sneaky like that.
Roasted one of the Costco chickens with lemon and potatoes. Two roommates, their cheap wine, one long conversation. My cost tonight: $11 of ingredients and none of the loneliness that a $92 dinner can't always fix.
SF food bank recurring donation, fifty. The one charge on my statement that my tax brain and my values brain co-sign without a meeting.
Twenty minutes on the mat for the climbing soreness, then a long shower with no podcast. Sunday body maintenance as a cost-free form of self-respect.
Closed the week. Three wins: didn't check out the cart, moved the three grand, took the half day. Then the sentence I'd been circling all week finally landed. Maybe recovering spender just means paying attention now. Slept.