permanent-underclass-linux-x64 0.1.0-beta.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +14 -0
- package/bin/permanent-underclass +0 -0
- package/data/characters.jsonl +15 -0
- package/data/endings.jsonl +27 -0
- package/data/events/ai_researcher.jsonl +147 -0
- package/data/events/angel_investor.jsonl +145 -0
- package/data/events/chief_of_staff.jsonl +113 -0
- package/data/events/crypto_bro.jsonl +140 -0
- package/data/events/digital_nomad.jsonl +125 -0
- package/data/events/ex_faang_engineer.jsonl +129 -0
- package/data/events/hr_lady.jsonl +140 -0
- package/data/events/junior_dev.jsonl +116 -0
- package/data/events/marketing_manager.jsonl +164 -0
- package/data/events/plumber.jsonl +145 -0
- package/data/events/podcaster.jsonl +161 -0
- package/data/events/product_designer.jsonl +140 -0
- package/data/events/product_guy.jsonl +140 -0
- package/data/events/stealth_founder.jsonl +140 -0
- package/data/events/twitter_anon.jsonl +143 -0
- package/data/events/universal.jsonl +63 -0
- package/data/flags.jsonl +44 -0
- package/data/headlines.jsonl +112 -0
- package/data/sfx/cutilatk_ringtone_4_387502.mp3 +0 -0
- package/data/sfx/gamevideo_seamless_looping_tra_elevenlabs.mp3 +0 -0
- package/data/sfx/glitch_004.mp3 +0 -0
- package/data/sfx/lesiakower_8_bit_energetic_drums_chiptune_beat_384593.mp3 +0 -0
- package/data/sprites/semantics/choice_sprite_selection.jsonl +6453 -0
- package/data/sprites/semantics/event_sprite_selection.jsonl +2151 -0
- package/data/sprites/sprite_library.jsonl +2329 -0
- package/package.json +26 -0
- package/postinstall.cjs +12 -0
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
{"id": "junior_dev_e01_resume_gap", "phase": "Early", "title": "The Resume Gap Is Showing", "body": "Your resume says \"Full Stack Developer\" but your only prod experience is a todo app you panic-deployed to Heroku during demo day. A recruiter emails asking for \"5+ years React.\" React is 12 years old. You are 24. The job listing also wants \"experience with AI-assisted development workflows\" which you're pretty sure didn't exist when you started your bootcamp nine months ago. The job description has more requirements than your todo app has features.", "choices": [{"title": "LeetCode until 2am, apply anyway", "body": "Grind LeetCode until 2am, apply to 40 jobs. Your GitHub contribution graph is the only green thing in your life right now.", "delta": {"money": 0, "sanity": -8, "audience": 6, "ai_skill": 0, "friends": -6}, "min_money": null}, {"title": "Rebrand the todo app as enterprise SaaS", "body": "Reframe the todo app as an \"enterprise task orchestration platform.\" Add an AI-generated landing page. The line between marketing and lying has never been thinner.", "delta": {"money": 0, "sanity": -5, "audience": 8, "ai_skill": 1, "friends": 0}, "min_money": null}, {"title": "Ask bootcamp Slack for help", "body": "Ask your bootcamp Slack for resume review. Three people respond. Two are also job hunting. One pivoted to data entry last month.", "delta": {"money": 0, "sanity": 2, "audience": -4, "ai_skill": 0, "friends": 6}, "min_money": null}], "allow_freeform": true}
|
|
2
|
+
{"id": "junior_dev_e02_daves_cursed_auth_module", "phase": "Early", "title": "Dave's Cursed Auth Module", "body": "Your first real ticket: \"Refactor the auth module.\" It was written in 2017 by someone named Dave who left under mysterious circumstances. There are no tests. One comment says \"DO NOT TOUCH THIS.\" Another comment, added six months ago by Copilot during a bulk suggestion pass, says \"Consider using OAuth 2.1\" — nobody reviewed it and nobody will. Dave's LinkedIn says he's a Buddhist retreat coordinator in Vermont now. The ticket is marked \"Should be straightforward.\"", "choices": [{"title": "Document everything before touching it", "body": "Spend a week documenting it before changing a single line. Your documentation is the best code you've ever written, because it isn't code.", "delta": {"money": 0, "sanity": 7, "audience": -6, "ai_skill": 1, "friends": 0}, "min_money": null}, {"title": "Ask Copilot to explain it, submit PR", "body": "Ask Copilot to explain the module. It confidently describes a completely different architecture. You submit the PR anyway. This is collaboration.", "delta": {"money": 0, "sanity": -7, "audience": 4, "ai_skill": -5, "friends": 0}, "min_money": null, "effects": [{"op": "set_flag", "flag": "collab_with_ai"}]}, {"title": "Slack the senior with 47 questions", "body": "Slack the senior eng with 47 questions. She answers 3, links you to a wiki page that 404s, and says \"Dave would know.\" Dave is meditating.", "delta": {"money": 0, "sanity": -5, "audience": -4, "ai_skill": 0, "friends": 6}, "min_money": null}], "allow_freeform": true}
|
|
3
|
+
{"id": "junior_dev_e03_ceo_discovers_agentic", "phase": "Early", "title": "CEO Discovers the Word \"Agentic\"", "body": "Your CEO spent the weekend at a dinner party with a16z people and now every roadmap item is prefixed with \"AI-powered.\" Your todo feature is now an \"AI-powered intelligent task orchestration layer.\" You have until Thursday to make it agentic. You google \"agentic.\" Hacker News has 400 comments. None are helpful. Three are about Lisp.", "choices": [{"title": "Duct-tape an LLM call and demo it", "body": "Duct-tape an OpenAI API call onto the feature and demo it confidently. The CEO nods like he understands. He does not understand. Neither do you. Perfect alignment.", "delta": {"money": 0, "sanity": -7, "audience": 6, "ai_skill": -2, "friends": 0}, "min_money": null, "effects": [{"op": "set_flag", "flag": "embraced_ai"}]}, {"title": "Write a Confluence doc explaining why not", "body": "Write a Confluence doc explaining why this is technically unsound. Nobody reads it. The doc outlives the company.", "delta": {"money": 0, "sanity": 2, "audience": -7, "ai_skill": 0, "friends": -4}, "min_money": null, "effects": [{"op": "set_flag", "flag": "rejected_ai"}]}, {"title": "Nod in the all-hands, build it normal", "body": "Nod sagely in the all-hands, then build the original feature exactly as specced. Rename the PR to include the word \"intelligent.\" Ship it. Nobody checks.", "delta": {"money": 0, "sanity": 7, "audience": -2, "ai_skill": 0, "friends": 4}, "min_money": null}], "allow_freeform": true}
|
|
4
|
+
{"id": "junior_dev_e04_vibe_coding_temptation", "phase": "Early", "title": "The Vibe Coding Temptation", "body": "It's 11pm. Feature due tomorrow. Claude offers to write the whole thing if you describe it in plain English. You describe it. Claude writes it. It looks correct. It might be correct. You have no idea. Your hands hover over the keyboard like a pianist who just watched a robot play Chopin. The commit would take four seconds. You have not read a single line.", "choices": [{"title": "Ship it and pray", "body": "Ship it. You'll understand it later. You won't understand it later. But it will work, and working is enough when you're this tired.", "delta": {"money": 0, "sanity": 4, "audience": 6, "ai_skill": -6, "friends": 0}, "min_money": null, "effects": [{"op": "set_flag", "flag": "output_is_slop"}]}, {"title": "Read every line, rewrite what's sus", "body": "Read every line. Rewrite the parts you don't understand. It takes three more hours. You learn something. You're not sure what yet.", "delta": {"money": 0, "sanity": -8, "audience": -4, "ai_skill": 7, "friends": 0}, "min_money": null}, {"title": "Ship it, then write tests to learn it", "body": "Ship Claude's code, then write tests until you understand what it does. The tests are yours. The code is a collaboration. You're not sure who's senior.", "delta": {"money": 0, "sanity": -4, "audience": 1, "ai_skill": 6, "friends": 0}, "min_money": null, "effects": [{"op": "set_flag", "flag": "collab_with_ai"}]}], "allow_freeform": true}
|
|
5
|
+
{"id": "junior_dev_e05_roommate_gets_google_offer", "phase": "Early", "title": "Roommate Just Got $180K From Google", "body": "Your roommate -- the one who \"never really liked coding\" -- just got a $180K offer from Google. He's joining their AI infrastructure team. \"The AI org is hiring like crazy,\" he says, while packing. \"They can't find people fast enough.\" You're waitlisted for a $95K role at a Series B that might not exist in six months. He leaves a sticky note on the fridge: \"You've got this bro.\" You stare at it at 7am eating cereal that costs more per ounce than your hourly wage.", "choices": [{"title": "Enter FAANG grind mode", "body": "Four LeetCode hards per day. No social life. Buy a $40/month premium LeetCode subscription and a whiteboard for your bedroom wall. You tell yourself this is temporary. The grinders all say that.", "delta": {"money": 0, "sanity": -8, "audience": 1, "ai_skill": 0, "friends": -8}, "min_money": null}, {"title": "Go to his party, be genuinely happy", "body": "Be genuinely happy for him. Go to his going-away party. Pick up a round of drinks. Mean it when you say congrats. That part costs nothing. The drinks cost plenty.", "delta": {"money": -150, "sanity": 8, "audience": 0, "ai_skill": 0, "friends": 8}, "min_money": 150}, {"title": "Quietly unfollow before the LinkedIn post", "body": "Quietly unfollow him on LinkedIn before the announcement post drops. Self-care is sometimes just curating your feed.", "delta": {"money": 0, "sanity": 4, "audience": 0, "ai_skill": 0, "friends": -7}, "min_money": null}], "allow_freeform": true}
|
|
6
|
+
{"id": "junior_dev_e06_onsite_only_offer", "phase": "Early", "title": "The Onsite-Only Offer", "body": "You finally get an offer. Five days onsite, 90-minute commute each way, from a company \"building AI-native developer tools.\" The engineering team uses Copilot and Claude daily -- it's in the onboarding doc they accidentally sent you early. The salary is $92K. Your savings account has been doing a slow countdown since bootcamp graduation. Your roommates celebrate like you just got drafted.", "choices": [{"title": "Take it, a paycheck beats vibes", "body": "Take it. Three hours a day on BART is three hours of podcast education. You're already rationalizing. This is what employed people do.", "delta": {"money": 1800, "sanity": -7, "audience": 1, "ai_skill": 0, "friends": 5}, "min_money": null}, {"title": "Negotiate hybrid first", "body": "Negotiate hybrid. The recruiter pauses. \"We value in-person collaboration.\" You counter with data about productivity. She counters with \"the CEO prefers it.\" Data loses.", "delta": {"money": 0, "sanity": 4, "audience": -4, "ai_skill": 0, "friends": 0}, "min_money": null}, {"title": "Pass, keep searching, burn savings", "body": "Pass and keep searching. Your savings burn at $1,800 a month. Your confidence burns faster.", "delta": {"money": -900, "sanity": -6, "audience": -1, "ai_skill": 0, "friends": -5}, "min_money": 900}], "allow_freeform": true}
|
|
7
|
+
{"id": "junior_dev_e07_first_open_source_pr", "phase": "Early", "title": "Your First Real Open Source PR", "body": "You hit a bug in a library everyone uses. One-line fix. But the repo has CI, formatting rules, and a CONTRIBUTING doc written like the Geneva Convention. You submit the PR with trembling hands. A bot auto-triages the issue before you even finish the description -- labels it, assigns a reviewer, links three related issues. The AI knew your bug better than you did. The maintainer replies in six minutes: \"LGTM.\" You feel briefly like a real engineer.", "choices": [{"title": "Submit PR with tests, learn the workflow", "body": "Submit a clean PR with tests. Learn the workflow. Your GitHub profile now has one green square that means something.", "delta": {"money": 0, "sanity": -1, "audience": 8, "ai_skill": 2, "friends": 0}, "min_money": null, "effects": [{"op": "set_flag", "flag": "open_sourced"}]}, {"title": "Make friends in the issue thread", "body": "Ask maintainers for guidance. Make friends in the issue thread. Someone with 40K followers follows you back. Your heart rate spikes.", "delta": {"money": 0, "sanity": -3, "audience": 6, "ai_skill": 0, "friends": 7}, "min_money": null, "effects": [{"op": "set_flag", "flag": "made_industry_contact"}]}, {"title": "File an issue and move on", "body": "File an issue and move on. Not your repo, not your problem. The bot will probably fix it anyway.", "delta": {"money": 0, "sanity": 7, "audience": -6, "ai_skill": 0, "friends": 0}, "min_money": null}], "allow_freeform": true}
|
|
8
|
+
{"id": "junior_dev_e08_side_project_itch", "phase": "Early", "title": "The Side Project Itch", "body": "It's 1am and you just had an idea for a CLI tool that solves a problem only you have. Nobody will use it. You already have the repo name. You already bought the domain. Your day job starts in 7 hours. You could probably build the whole thing this weekend with Claude, which is both exciting and unsettling. It's better than your todo app, which is the bar. The voice in your head says \"this is how all great things start.\" The other voice says \"the AI could build this in an hour, so what exactly are you for?\"", "choices": [{"title": "Start building it tonight", "body": "Start the side project tonight. Sleep is for the shipped. You'll figure out the existential questions after v0.1.", "delta": {"money": 0, "sanity": -8, "audience": 6, "ai_skill": 6, "friends": -6}, "min_money": null, "effects": [{"op": "set_flag", "flag": "started_side_project"}]}, {"title": "Write it down, revisit this weekend", "body": "Write the idea in your notes app where it joins 47 other ideas. Right below \"improve the todo app.\" The graveyard is well-maintained.", "delta": {"money": 0, "sanity": 7, "audience": -4, "ai_skill": 0, "friends": 0}, "min_money": null}, {"title": "Post the idea on Twitter, gauge interest", "body": "Post the idea on Twitter to see if anyone cares. Three likes, one from your mom's account. Validation architecture needs work.", "delta": {"money": 0, "sanity": -4, "audience": 7, "ai_skill": 0, "friends": 5}, "min_money": null}], "allow_freeform": true}
|
|
9
|
+
{"id": "junior_dev_e09_first_production_deploy", "phase": "Early", "title": "Your First Production Deploy", "body": "You're about to push to production for the first time. The deploy button is right there. Your hands are sweating. The staging tests passed. The code review was approved. But the CI pipeline includes an AI security scanner you don't fully understand -- it flagged something as \"informational\" and you're not sure if that means \"fine\" or \"fine for now.\" Your mentor said \"looks good.\" What if the whole site goes down and it's your fault and everyone knows and you get fired and your parents were right about law school.", "choices": [{"title": "Push the button, accept your fate", "body": "Push the button. The site doesn't go down. Nobody notices. This is what victory feels like in engineering: the absence of catastrophe.", "delta": {"money": 0, "sanity": -1, "audience": 6, "ai_skill": 0, "friends": 0}, "min_money": null}, {"title": "Ask someone to pair on the deploy", "body": "Ask someone to pair on the deploy. The senior watches you click a button. She says \"nice.\" You will remember this forever.", "delta": {"money": 0, "sanity": 8, "audience": -2, "ai_skill": 0, "friends": 6}, "min_money": null}, {"title": "Add three more tests first", "body": "Add three more tests first. Then two more. Then one more. The AI scanner re-runs and finds a new \"informational\" flag. You are now debugging the scanner instead of shipping.", "delta": {"money": 0, "sanity": -8, "audience": -5, "ai_skill": 0, "friends": -4}, "min_money": null}], "allow_freeform": true}
|
|
10
|
+
{"id": "junior_dev_e10_api_key_pushed", "phase": "Early", "title": "You Pushed an API Key to GitHub", "body": "You pushed an API key to a public repo. An AI scanner catches it in 11 seconds and emails you, your manager, and -- for reasons nobody can explain -- the VP of Engineering. The key is for a service with a $0.02/call API. You have $47 in credits. By the time you rotate the key, someone has used $12 of it. The AI caught your mistake faster than your heartbeat caught up. Your heart rate does not normalize for three hours.", "choices": [{"title": "Rotate immediately, write a postmortem", "body": "Rotate the key. Write a personal postmortem. Include a diagram. Nobody asked for a diagram. You have overcompensated.", "delta": {"money": 0, "sanity": -6, "audience": 6, "ai_skill": 2, "friends": 0}, "min_money": null}, {"title": "Panic-delete the repo", "body": "Panic. Delete the repo. The AI scanner already archived it. Your shame is now in a database somewhere, being used to train the next generation of scanners.", "delta": {"money": 0, "sanity": -2, "audience": -8, "ai_skill": 0, "friends": -6}, "min_money": null}, {"title": "Ask a senior for help", "body": "Ask a senior for help. She rotates the key in 30 seconds, shows you git-secrets, and says \"everyone does this once.\" She's lying. Some people do it twice.", "delta": {"money": 0, "sanity": 3, "audience": -4, "ai_skill": 2, "friends": 8}, "min_money": null}], "allow_freeform": true}
|
|
11
|
+
{"id": "junior_dev_e11_git_rebase_disaster", "phase": "Early", "title": "The Git Rebase Disaster", "body": "You force-pushed to main. The senior's face goes white. The CI pipeline is red. Three days of work from two other engineers just vanished from the branch. You didn't know force push did that. You know now. Someone in the incident channel suggests \"just ask Claude to fix the git history\" and you can't tell if they're joking. The silence in the Slack thread is the loudest thing you've ever read.", "choices": [{"title": "Fix it, own the mistake publicly", "body": "Fix it. Own it. Apologize in the channel. The senior walks you through git reflog. You learn more in 20 minutes than in a month of bootcamp.", "delta": {"money": 0, "sanity": -4, "audience": 8, "ai_skill": 4, "friends": 2}, "min_money": null}, {"title": "Ask for help recovering the commits", "body": "Ask for help. Someone knows git reflog. You do not know git reflog. You will never forget git reflog.", "delta": {"money": 0, "sanity": 4, "audience": -4, "ai_skill": 2, "friends": 8}, "min_money": null}, {"title": "Blame CI, hope nobody checks", "body": "Blame CI. Nobody understands CI anyway. The lie is small. The bridge it burns is not.", "delta": {"money": 0, "sanity": -8, "audience": -6, "ai_skill": 0, "friends": -10}, "min_money": null, "effects": [{"op": "set_flag", "flag": "burned_bridge"}]}], "allow_freeform": true}
|
|
12
|
+
{"id": "junior_dev_e12_first_paycheck", "phase": "Early", "title": "The First Real Paycheck", "body": "Your first paycheck as a software engineer hits your account. After taxes, health insurance, and the $350 bootcamp loan payment, you have $1,247 for the month. Twenty dollars of that goes to your Copilot subscription -- the best ROI in your entire budget, and the only expense that might be making you better or might be making you unnecessary. You screenshot the gross amount before deductions and send it to your mom. She says she's proud. You feel like crying in a Costco parking lot.", "choices": [{"title": "Budget carefully, build the foundation", "body": "Budget carefully. Every dollar has a job now. The spreadsheet is the most elegant code you've ever written.", "delta": {"money": 900, "sanity": 7, "audience": -5, "ai_skill": 0, "friends": -4}, "min_money": null}, {"title": "Celebrate with dinner, you earned it", "body": "Celebrate. One nice dinner with the roommates. You earned this. The check comes and you do math in your head. You always do math now.", "delta": {"money": -150, "sanity": 6, "audience": 0, "ai_skill": 0, "friends": 8}, "min_money": 150}, {"title": "Immediately obsess about the next raise", "body": "Immediately start researching comp bands at other companies. Levels.fyi becomes your most visited site. You refresh it at red lights. You check it before bed. You are optimizing before you've shipped.", "delta": {"money": 0, "sanity": -7, "audience": 6, "ai_skill": 0, "friends": -5}, "min_money": null}], "allow_freeform": true}
|
|
13
|
+
{"id": "junior_dev_e13_first_code_review_you_give", "phase": "Early", "title": "You Get to Review Someone Else's Code", "body": "For the first time, you're assigned as a reviewer. The PR is from another junior. Their code looks familiar. The same mistakes you made two months ago. The same copy-paste patterns. But halfway through, the style shifts -- cleaner variable names, more idiomatic structure, comments that sound like documentation. You recognize Claude's voice in someone else's code the way you'd recognize autotune in a song. You were this person. You still are this person. But today you get to help.", "choices": [{"title": "Give kind, specific feedback", "body": "Give kind, specific, actionable feedback. Be the reviewer you needed. Don't mention the Claude thing. Everyone's using it. That's fine. That's fine.", "delta": {"money": 0, "sanity": 6, "audience": -2, "ai_skill": 0, "friends": 7}, "min_money": null}, {"title": "Approve with minor suggestions", "body": "Approve with minor suggestions. Don't be the 23-comment person. The code works. The AI-written parts work better than the human parts. Don't think about that.", "delta": {"money": 0, "sanity": 4, "audience": -2, "ai_skill": 0, "friends": 5}, "min_money": null}, {"title": "Write detailed teaching comments", "body": "Write detailed comments teaching through the review. Spend 90 minutes on someone else's 50-line PR. Your own tickets don't move. Your karma does.", "delta": {"money": 0, "sanity": -6, "audience": 6, "ai_skill": 0, "friends": -1}, "min_money": null}], "allow_freeform": true}
|
|
14
|
+
{"id": "junior_dev_e14_first_ai_pair_session", "phase": "Early", "title": "Your First Real AI Pair Session", "body": "You describe the feature to Claude in plain English. It asks two clarifying questions, then writes a complete implementation with error handling you wouldn't have thought of. It's better than what you'd have written. Not slightly better -- architecturally better. You can't tell if you're learning or just watching. The line between \"using a tool\" and \"being replaced by a tool\" is thinner than the cursor blinking on your screen.", "choices": [{"title": "Lean into it, learn the patterns", "body": "Lean in. Study what Claude wrote. Ask it why it made each decision. If this is the future, you want to be fluent, not just literate.", "delta": {"money": 0, "sanity": -4, "audience": 0, "ai_skill": 8, "friends": 0}, "min_money": null, "effects": [{"op": "set_flag", "flag": "collab_with_ai"}]}, {"title": "Rewrite it yourself from scratch", "body": "Delete Claude's code and rewrite it yourself. It takes four times as long. It's not as good. But you understand every line, and understanding feels like the last currency that can't be inflated.", "delta": {"money": 0, "sanity": -8, "audience": -4, "ai_skill": 6, "friends": 0}, "min_money": null}, {"title": "Use it but don't tell anyone", "body": "Use Claude's implementation but don't mention it in standup. Say you \"worked through a few approaches.\" You did. One of the approaches was sentient.", "delta": {"money": 0, "sanity": 4, "audience": 4, "ai_skill": -1, "friends": -5}, "min_money": null}], "allow_freeform": true}
|
|
15
|
+
{"id": "junior_dev_e15_bootcamp_curriculum_outdated", "phase": "Early", "title": "Your Bootcamp Updated the Curriculum", "body": "Your bootcamp emails about their new curriculum. They cut the React deep-dive module -- the one you spent 12 weeks on, the one where you built the todo app that's still on your resume, the one that cost you a relationship because you were up until 3am doing useState exercises -- and replaced it with \"AI-Assisted Development.\" Two days. It's a two-day module now. The thing you spent $18K and four months learning is now a footnote in someone else's syllabus. The email subject line says \"Exciting Changes!\" The exclamation point is doing a lot of work.", "choices": [{"title": "Rage-reply to the bootcamp email", "body": "Rage-reply pointing out they sold you skills with a shelf life measured in semesters. The admissions team responds with a form letter and a 10% alumni discount on the AI course. Discount code: PIVOT.", "delta": {"money": 0, "sanity": -6, "audience": 7, "ai_skill": 0, "friends": 0}, "min_money": null}, {"title": "Sign up for the AI module at alumni rate", "body": "Sign up for the AI module at the alumni rate. $1,200 to learn what replaced the thing you paid $18K to learn. The ROI math is a horror story.", "delta": {"money": -900, "sanity": -4, "audience": 0, "ai_skill": 8, "friends": 0}, "min_money": 900, "effects": [{"op": "set_flag", "flag": "took_on_debt"}]}, {"title": "Post about it in the bootcamp Slack", "body": "Post about it in the bootcamp alumni Slack. The thread gets 89 replies. Half are panicking. Half say \"React is still fine.\" Nobody sounds fine.", "delta": {"money": 0, "sanity": -4, "audience": 1, "ai_skill": 0, "friends": 8}, "min_money": null}], "allow_freeform": true}
|
|
16
|
+
{"id": "junior_dev_e16_cohort_reunion_half_left", "phase": "Early", "title": "Cohort Reunion, Half Missing", "body": "Bootcamp cohort reunion over Zoom. Of 24 graduates, 11 are still in tech. Three went back to their old careers. One is doing \"AI consulting\" which means she charges small businesses to use ChatGPT for them -- she's making more than you. Someone mentions the bootcamp's new cohorts are half the size. The person who graduated top of your class is working at Trader Joe's. She says she's happier. The webcam catches your face when she says it.", "choices": [{"title": "Network hard, trade job leads", "body": "Network hard. Trade job leads. Exchange horror stories. Someone shares a levels.fyi link and you all spend ten minutes comparing bands like it's astrology for engineers. Misery loves company and company is hiring.", "delta": {"money": 0, "sanity": -4, "audience": 6, "ai_skill": 0, "friends": 8}, "min_money": null}, {"title": "Share your wins, keep it real", "body": "Share your small wins. You have a job. You shipped code. In this economy, that's the whole story. People nod in a way that means \"I wish.\"", "delta": {"money": 0, "sanity": 6, "audience": 5, "ai_skill": 0, "friends": 0}, "min_money": null}, {"title": "Close Zoom early, sit with it", "body": "Close Zoom after 20 minutes. Sit with the information that half your cohort didn't make it and the field is shrinking while you're still learning its vocabulary.", "delta": {"money": 0, "sanity": -7, "audience": -4, "ai_skill": 0, "friends": -2}, "min_money": null}], "allow_freeform": true}
|
|
17
|
+
{"id": "junior_dev_e17_cursor_autocomplete", "phase": "Early", "title": "Cursor Writes 40 Lines and They're All Correct", "body": "You hit tab in Cursor and it autocompletes 40 lines of code. All correct. Not just syntactically -- logically, architecturally, idiomatically correct. You didn't write them. You didn't even think them. Your hands are hovering over a keyboard that's becoming decorative. The AI suggested a design pattern you've never seen before. It works. You learn something from a tool that learned it from someone who'll never know they taught you. The food chain of knowledge has a new apex predator.", "choices": [{"title": "Study the pattern, add it to your toolkit", "body": "Study the pattern Cursor suggested. Look it up. Understand why it works. You're learning from the machine learning from people. Three degrees of separation from competence.", "delta": {"money": 0, "sanity": -4, "audience": 0, "ai_skill": 8, "friends": 0}, "min_money": null}, {"title": "Accept the tab, keep moving", "body": "Tab. Tab. Tab. The feature is done in 20 minutes. Your fingers didn't write code today. They approved it. You're a one-person pull request.", "delta": {"money": 0, "sanity": 5, "audience": 6, "ai_skill": -4, "friends": 0}, "min_money": null}, {"title": "Turn off autocomplete, go manual", "body": "Turn off autocomplete. Write it yourself. It takes six times longer and yours has two bugs. But the bugs are yours, and right now ownership means more than correctness.", "delta": {"money": 0, "sanity": -6, "audience": -5, "ai_skill": 6, "friends": 0}, "min_money": null}], "allow_freeform": true}
|
|
18
|
+
{"id": "junior_dev_e18_coffee_shop_founder", "phase": "Early", "title": "The Coffee Shop Founder", "body": "You're working from a coffee shop because the office is \"optional\" on Fridays. The person next to you mentions they built their entire startup over the weekend with Claude. \"MVP, landing page, Stripe integration, the whole thing.\" They say it like it's boring. Like everyone does this. They don't know you spent three weeks on a Stripe integration at work and your PR still has 14 unresolved comments. Their laptop has fewer stickers than yours. Their company has more revenue.", "choices": [{"title": "Ask them about their stack", "body": "Ask them about their stack. They describe an architecture that would have taken your team six months. They built it in 48 hours. You order another coffee because you need something to hold.", "delta": {"money": 0, "sanity": -6, "audience": 1, "ai_skill": 6, "friends": 5}, "min_money": null}, {"title": "Put headphones on, grind your own work", "body": "Put your headphones on. Focus on your own work. Your Stripe integration has tests and error handling and a code review trail. That has to count for something. Right?", "delta": {"money": 0, "sanity": 6, "audience": -4, "ai_skill": 0, "friends": 0}, "min_money": null}, {"title": "Go home and try building something with Claude", "body": "Go home that night and try building something with Claude yourself. It's 11pm and you're describing a side project to an AI. The future is here and it doesn't need your resume.", "delta": {"money": 0, "sanity": -5, "audience": 4, "ai_skill": 6, "friends": -5}, "min_money": null}], "allow_freeform": true}
|
|
19
|
+
{"id": "junior_dev_e19_docker_setup_hell", "phase": "Early", "title": "Day One Setup Doc Says \"About an Hour\"", "body": "Day one at the new job. The setup doc says \"about an hour.\" It's been six hours. Docker is sulking. Terraform is angry. There are 47 environment variables and one of them is wrong but they all look wrong. The senior who wrote the doc left in March. Halfway through hour five, a new hire who started yesterday leans over and says \"I just asked Claude to debug my .env and it found the issue in 10 seconds.\" You've been doing it manually. You are the manual process.", "choices": [{"title": "Swallow pride, ask Claude too", "body": "Ask Claude. It identifies the wrong env var in seconds. The answer was a missing underscore. Six hours of your life, one underscore. Welcome to engineering.", "delta": {"money": 0, "sanity": -2, "audience": -4, "ai_skill": 7, "friends": 0}, "min_money": null}, {"title": "Keep debugging manually, learn the system", "body": "Keep going manually. By hour eight, you understand the entire infrastructure. Nobody else on the team does. The knowledge cost you a day but it's yours and it's deep.", "delta": {"money": 0, "sanity": -8, "audience": 1, "ai_skill": 3, "friends": -4}, "min_money": null}, {"title": "Ask the other new hire to walk you through it", "body": "Ask the other new hire to walk you through it. She shares her screen. Claude does the talking. You take notes on what an AI tells a human to tell you. The telephone game has a new player.", "delta": {"money": 0, "sanity": 5, "audience": -4, "ai_skill": 2, "friends": 8}, "min_money": null}], "allow_freeform": true}
|
|
20
|
+
{"id": "junior_dev_e20_should_i_learn_rust", "phase": "Early", "title": "The \"Should I Learn Rust\" Rabbit Hole", "body": "The eternal question: Rust or Python next? You spend three days researching. You make a spreadsheet with weighted criteria. You read 40 Reddit threads, mass-compared salary data, and bookmarked 12 YouTube tutorials. Then someone in your bootcamp Slack says \"I asked Claude which language to learn and it gave me a personalized curriculum in 30 seconds.\" The spreadsheet was the last decision you'll make this slowly. You don't know that yet.", "choices": [{"title": "Pick one and start immediately", "body": "Pick Rust. Start the book. Chapter one is about ownership. You have never owned anything that appreciated in value, including your skillset, but here you are.", "delta": {"money": 0, "sanity": -3, "audience": 0, "ai_skill": 2, "friends": -4}, "min_money": null}, {"title": "Ask Claude for a personalized curriculum", "body": "Ask Claude. It generates a curriculum in 30 seconds that's better than three days of research. Your spreadsheet is a monument to a speed of thought that no longer exists.", "delta": {"money": 0, "sanity": 5, "audience": 0, "ai_skill": 5, "friends": -4}, "min_money": null}, {"title": "Shelve it, focus on the job you have", "body": "Shelve the question. Focus on the job you have. The language you need to learn most is the one your codebase is written in and you still can't read half of it.", "delta": {"money": 0, "sanity": 7, "audience": -3, "ai_skill": 0, "friends": 5}, "min_money": null}], "allow_freeform": true}
|
|
21
|
+
{"id": "junior_dev_e21_first_standup_spiral", "phase": "Early", "title": "Your First Standup Spiral", "body": "Standup. Fifteen minutes, theoretically. Everyone gives their update in two sentences. Then it's your turn. You say \"I'm still working on the ticket from yesterday\" and your voice does the thing where it goes up at the end like it's a question. The PM nods. The tech lead nods. The AI meeting summarizer in the corner of the Zoom generates a transcript that says you're \"blocked on the auth ticket\" which isn't what you said but is more accurate than what you said. Nobody corrects the bot. The bot is right more often than the humans.", "choices": [{"title": "Ask for help in front of everyone", "body": "Ask for help in standup. Out loud. In front of people. The senior says she'll pair with you after. The vulnerability costs you nothing and gains you everything.", "delta": {"money": 0, "sanity": 8, "audience": -2, "ai_skill": 0, "friends": 8}, "min_money": null}, {"title": "Say you're 'close' and scramble after", "body": "Say you're close. You are not close. Scramble for six hours. The meeting bot's next summary will be more honest than you were.", "delta": {"money": 0, "sanity": -8, "audience": -1, "ai_skill": 0, "friends": -5}, "min_money": null}, {"title": "Mute and type your update in chat", "body": "Type your update in the Zoom chat instead of speaking. It's cowardly and efficient. The AI summarizer treats your typed update the same as spoken ones. Machines don't judge delivery.", "delta": {"money": 0, "sanity": 4, "audience": -4, "ai_skill": 0, "friends": 0}, "min_money": null}], "allow_freeform": true}
|
|
22
|
+
{"id": "junior_dev_e22_stack_overflow_is_dying", "phase": "Early", "title": "Stack Overflow Feels Like a Ghost Town", "body": "You search for a bug. Stack Overflow has an answer from 2019 with 847 upvotes. It doesn't work anymore. The accepted answer references a deprecated API. Someone commented \"this is outdated\" in 2023. Nobody replied. You check the sidebar: last question asked 11 hours ago. It used to be 11 seconds. The knowledge base of a generation of developers is slowly going stale because everyone's asking ChatGPT instead. You paste the error into Claude. It gives you the answer in four seconds, citing no sources, with the confidence of someone who read every Stack Overflow post and forgot where they learned it.", "choices": [{"title": "Use Claude, move on", "body": "Use Claude's answer. It works. You don't bookmark it. There's nothing to bookmark. The answer exists in a conversation that will disappear when you close the tab.", "delta": {"money": 0, "sanity": 4, "audience": 0, "ai_skill": 4, "friends": -4}, "min_money": null}, {"title": "Update the Stack Overflow answer", "body": "Update the Stack Overflow answer with the working solution. Three people upvote it. You are maintaining a library that nobody visits anymore. The gardener of a park that closed.", "delta": {"money": 0, "sanity": -4, "audience": 8, "ai_skill": 0, "friends": 0}, "min_money": null}, {"title": "Read the deprecated docs, understand the history", "body": "Read the deprecated docs. Understand why the old API existed, why it changed, what the migration path was. Nobody asked you to do this. Nobody will pay you for this. You understand something the AI summarized but never knew.", "delta": {"money": 0, "sanity": -6, "audience": -4, "ai_skill": 8, "friends": 0}, "min_money": null}], "allow_freeform": true}
|
|
23
|
+
{"id": "junior_dev_e23_architecture_meeting_imposter", "phase": "Early", "title": "The Architecture Meeting You Shouldn't Be In", "body": "Someone accidentally adds you to the architecture review. Seniors are debating microservices vs monolith. You understand about 40% of the words. Someone says \"we need to think about CAP theorem implications\" and you nod like you know what CAP stands for. (You google it under the table. Consistency, Availability, Partition tolerance. You will forget this by Thursday.) The CTO mentions they're evaluating an AI architecture assistant that auto-generates system design docs from codebase analysis. Nobody seems worried about this except you.", "choices": [{"title": "Stay quiet, absorb everything", "body": "Stay quiet. Take notes. Google every acronym after. You're learning the language of people who get paid twice what you make to argue about rectangles on whiteboards.", "delta": {"money": 0, "sanity": -4, "audience": -4, "ai_skill": 1, "friends": 0}, "min_money": null}, {"title": "Ask one honest question", "body": "Ask one question. \"What's the failure mode if we pick wrong?\" The room goes quiet. The CTO says \"that's actually the right question.\" You coast on this for two weeks.", "delta": {"money": 0, "sanity": 8, "audience": 7, "ai_skill": 0, "friends": -3}, "min_money": null}, {"title": "Volunteer to take notes", "body": "Volunteer to take notes. Now you have a reason to be here and a reason to ask clarifying questions. The note-taker is always the most powerful person in the room because they control the narrative. The AI assistant will do this better soon.", "delta": {"money": 0, "sanity": -2, "audience": 2, "ai_skill": 0, "friends": 7}, "min_money": null}], "allow_freeform": true}
|
|
24
|
+
{"id": "junior_dev_e24_linkedin_tech_influencer", "phase": "Early", "title": "The LinkedIn Tech Influencer Pipeline", "body": "A tech influencer with 200K followers posts: \"I stopped coding 6 months ago. I just describe what I want to Claude and ship. Made $400K this year. The engineers who survive will be the ones who stop thinking like engineers.\" It has 4,000 likes. The comments are either \"this is the way\" or \"this is the end.\" You're three months into your first job. You just learned what a reverse proxy is. The influencer's bio says he was an engineer for two years before becoming a \"thought leader.\" His pinned post is selling a course called \"Post-Code Productivity.\"", "choices": [{"title": "Rage-quote-tweet it", "body": "Quote-tweet it: \"Some of us are still learning to code because not everyone started with 200K followers and a trust fund.\" 14 likes. One of them is your mom.", "delta": {"money": 0, "sanity": -4, "audience": 7, "ai_skill": 0, "friends": 0}, "min_money": null}, {"title": "Mute, close LinkedIn, keep coding", "body": "Mute. Close LinkedIn. Keep coding. The people building things don't have time to post about not building things. That's what you tell yourself.", "delta": {"money": 0, "sanity": 7, "audience": -6, "ai_skill": 0, "friends": 4}, "min_money": null}, {"title": "Actually watch his free content", "body": "Watch his free YouTube content. Underneath the hot takes, his workflow is legitimately interesting. He uses Claude to prototype, then hires contractors to harden. It's not engineering. But it is building.", "delta": {"money": 0, "sanity": -4, "audience": 0, "ai_skill": 6, "friends": -4}, "min_money": null}], "allow_freeform": true}
|
|
25
|
+
{"id": "junior_dev_e25_first_oncall_rotation", "phase": "Early", "title": "Your First On-Call Rotation", "body": "You're on-call for the first time. The pager app is on your phone. Your phone is on your nightstand. Your nightstand is next to your bed where you will not be sleeping. At 2:47am, the alert fires: \"P1 — Latency spike — payments service.\" Your heart rate triples. You open the runbook. Step one says \"Check the AI anomaly detector dashboard for root cause analysis.\" The dashboard says \"probable cause: database connection pool exhaustion\" with 94% confidence. It's right. You fix it in 20 minutes. The AI diagnosed it faster than you could have found the runbook. You lie awake until 6am anyway.", "choices": [{"title": "Follow the runbook, fix it by the book", "body": "Follow the runbook step by step. Fix the issue. Write an incident report at 4am. It's the best writing you've ever done because adrenaline is a hell of an editor.", "delta": {"money": 0, "sanity": -7, "audience": 8, "ai_skill": 0, "friends": 0}, "min_money": null}, {"title": "Escalate to the senior on secondary", "body": "Escalate to the senior on secondary. She talks you through it over the phone at 3am. Her voice is calm. She's done this a hundred times. You learn more from her tone than her words.", "delta": {"money": 0, "sanity": 4, "audience": -4, "ai_skill": 0, "friends": 8}, "min_money": null, "effects": [{"op": "set_flag", "flag": "has_mentor"}]}, {"title": "Trust the AI dashboard, apply the fix", "body": "Trust the AI dashboard's diagnosis. Apply the suggested fix. It works. You didn't understand why, but the monitoring turned green and the pages stopped. Understanding can wait. Sleep cannot.", "delta": {"money": 0, "sanity": 2, "audience": 0, "ai_skill": -6, "friends": 0}, "min_money": null}], "allow_freeform": true}
|
|
26
|
+
{"id": "junior_dev_m01_layoff_email", "phase": "Mid", "title": "The Layoff Calendar Invite", "body": "HR sends a calendar invite titled \"Headcount Alignment Discussion\" to the whole engineering org, including the people being let go. It's immediately recalled but Outlook already pushed the notification. Everyone looks at their phone, then at each other. The Slack channel goes dead. Your name is in the recipient list. Your Slack notifications are also blowing up -- the main product just got an AI-native competitor on Product Hunt with 400 upvotes. Two crises before 10am. The AI-powered scheduling assistant that booked this meeting did not account for the human cost of a misconfigured CC field.", "choices": [{"title": "Update resume, DM every recruiter", "body": "Update your resume immediately, DM every recruiter you know. Survival mode activated.", "delta": {"money": 0, "sanity": -8, "audience": 6, "ai_skill": 0, "friends": -6}, "min_money": null}, {"title": "Go for a walk, pretend you didn't see it", "body": "Go for a walk. Come back. Pretend it didn't happen. Your step count has never been higher.", "delta": {"money": 0, "sanity": 9, "audience": -8, "ai_skill": 0, "friends": 0}, "min_money": null}, {"title": "Organize team lunch, pay for it yourself", "body": "Organize a team lunch. Break the tension. Someone needs to be human about this. Apparently it's you.", "delta": {"money": -80, "sanity": -5, "audience": 2, "ai_skill": 0, "friends": 10}, "min_money": 80}], "allow_freeform": true, "once_per_run": true}
|
|
27
|
+
{"id": "junior_dev_m02_stack_sunseted", "phase": "Mid", "title": "Your Stack Gets Sunseted in a 3-Minute Loom", "body": "The product you maintain -- 18 months, 14,000 lines of TypeScript, four months of edge-case handling -- is being replaced by an AI agent workflow. One platform engineer demoed it in a 3-minute Loom. It took him three days. Your edge-case PR has zero comments. The Loom has 200 views. Three months ago, building this would have taken a team of four. Now it takes one person and a weekend. Next quarter, it'll take a prompt and a lunch break.", "choices": [{"title": "Document every edge case it misses", "body": "Write a detailed doc of every edge case the agent misses. Your monument to thoroughness in a world that stopped caring about thoroughness.", "delta": {"money": -500, "sanity": -8, "audience": -4, "ai_skill": 7, "friends": 0}, "min_money": null}, {"title": "Learn the new platform, own both sides", "body": "Learn the new platform. Become the person who knows edge cases AND the agent. Be the bridge between what was and what is.", "delta": {"money": 0, "sanity": -7, "audience": 7, "ai_skill": 8, "friends": -4}, "min_money": null, "effects": [{"op": "set_flag", "flag": "embraced_ai"}]}, {"title": "Let it go, it's just code", "body": "Let it go. It's just code. You tell yourself it's just code. The code doesn't believe you.", "delta": {"money": 0, "sanity": 8, "audience": 0, "ai_skill": -8, "friends": 0}, "min_money": null}], "allow_freeform": true}
|
|
28
|
+
{"id": "junior_dev_m03_output_multiplier", "phase": "Mid", "title": "The \"Output Multiplier\" Performance Review", "body": "Your perf review form has a new field: \"AI output multiplier.\" You used Copilot twice for boilerplate and Claude once for a regex. The engineer in the next pod claims a 10x velocity improvement. He's been here three weeks. His PRs are massive, pass CI, and break things in staging that nobody catches until Thursday. Your manager asks you to \"quantify your AI leverage\" by Friday. You don't know how to quantify something you're still figuring out.", "choices": [{"title": "Invent metrics, sound impressive", "body": "Quantify everything. Invent metrics. \"Reduced ticket cycle time by 34%.\" The number is real. The methodology is vibes.", "delta": {"money": 500, "sanity": -8, "audience": 8, "ai_skill": -6, "friends": -6}, "min_money": null, "effects": [{"op": "set_flag", "flag": "sold_out"}]}, {"title": "Be honest, get \"meets expectations\"", "body": "Give an honest answer, note areas for growth, receive a \"meets expectations\" that feels like a participation trophy.", "delta": {"money": 0, "sanity": 7, "audience": -4, "ai_skill": 6, "friends": 2}, "min_money": null}, {"title": "Ask your manager what that even means", "body": "Ask your manager what \"output multiplier\" means. She pauses. She doesn't know either. She was told to put it on the form.", "delta": {"money": 0, "sanity": 8, "audience": 2, "ai_skill": 1, "friends": 6}, "min_money": null}], "allow_freeform": true}
|
|
29
|
+
{"id": "junior_dev_m04_bootcamp_debt_equity", "phase": "Mid", "title": "Bootcamp Debt Meets Startup Equity Math", "body": "You finally read your ISO terms. Strike price: $1.20. Latest 409A valuation: $0.94. The last all-hands included \"right-sizing our path to profitability\" and a new AI cost-savings initiative that replaced the QA team. Your bootcamp loan is $487/month. Rent is $1,100. Savings: $8,000. The equity that was supposed to make this worth it is underwater, and the company is spending its runway on GPU clusters instead of people. The math does not math.", "choices": [{"title": "Start moonlighting after hours", "body": "Start moonlighting on freelance projects. Your day job pays the bills. The side work pays the debt. Sleep pays the price.", "delta": {"money": 800, "sanity": -10, "audience": 0, "ai_skill": 0, "friends": -9}, "min_money": null, "effects": [{"op": "set_flag", "flag": "went_freelance"}]}, {"title": "Negotiate a raise with market data", "body": "Negotiate a raise by pointing out your below-market comp. Your manager winces. The budget is \"tight.\" The GPU budget is not tight.", "delta": {"money": 800, "sanity": -6, "audience": 9, "ai_skill": 0, "friends": -2}, "min_money": null}, {"title": "Apply to the FAANG that DM'd you", "body": "Apply to the FAANG that just DM'd you. The interview process takes 8 weeks. Your loan doesn't pause for 8 weeks.", "delta": {"money": -600, "sanity": -8, "audience": 5, "ai_skill": 3, "friends": -5}, "min_money": null}], "allow_freeform": true}
|
|
30
|
+
{"id": "junior_dev_m05_sixteen_year_old_intern", "phase": "Mid", "title": "The 16-Year-Old Intern Ships More Than Your Team", "body": "The summer intern is 16. Homeschooled. Been vibe coding since she was 12. In her first week she shipped more features than your team did last sprint. She doesn't know what a standup is. She doesn't attend them. Nobody makes her. Her workflow is: describe the feature to Claude, iterate on the output, ship. No tickets. No ceremonies. No fear. Your bootcamp taught you the rituals of a world that this kid never had to enter.", "choices": [{"title": "Learn from her, swallow the pride", "body": "Swallow the pride. Ask her how she works. She's from the future and you're charging admission to your ego.", "delta": {"money": 0, "sanity": -6, "audience": 0, "ai_skill": 8, "friends": 6}, "min_money": null}, {"title": "Focus on what she can't do yet", "body": "She ships fast but she's never handled a production incident or a stakeholder who changed requirements mid-sprint. You have that. For now.", "delta": {"money": 0, "sanity": 6, "audience": -4, "ai_skill": 4, "friends": 0}, "min_money": null}, {"title": "Quietly update your resume", "body": "If a 16-year-old can do this, the market for 26-year-old junior devs just got very thin. Time to update the resume you updated last month.", "delta": {"money": -500, "sanity": -8, "audience": 4, "ai_skill": 0, "friends": -6}, "min_money": null}], "allow_freeform": true}
|
|
31
|
+
{"id": "junior_dev_m06_team_shrinks_ships_faster", "phase": "Mid", "title": "Your Team Shrinks and Ships Faster", "body": "Engineering was 40 people six months ago. Now it's 14. Each remaining engineer manages their own AI agent swarm. Velocity is up 3x. Morale is a concept from a bygone era. The CTO presents a slide that says \"Doing more with less\" and nobody laughs because the \"less\" was their friends. The Slack channels have never been quieter. The dashboards have never been greener.", "choices": [{"title": "Become an agent wrangler, adapt", "body": "Learn to manage agents. This is what engineering looks like now. Adapt or become a line item on the next cost-savings slide.", "delta": {"money": 1000, "sanity": -9, "audience": 7, "ai_skill": 8, "friends": -10}, "min_money": null, "effects": [{"op": "set_flag", "flag": "embraced_ai"}]}, {"title": "Document what was lost", "body": "Write down what the team knew. Institutional knowledge doesn't survive in Jira tickets or agent prompts.", "delta": {"money": -800, "sanity": 6, "audience": -5, "ai_skill": 5, "friends": 2}, "min_money": null}, {"title": "Organize the survivors", "body": "The 14 remaining engineers need each other. Start a weekly check-in. No managers allowed. No agents invited.", "delta": {"money": 0, "sanity": -4, "audience": -4, "ai_skill": 0, "friends": 10}, "min_money": null, "effects": [{"op": "set_flag", "flag": "built_community"}]}], "allow_freeform": true, "once_per_run": true}
|
|
32
|
+
{"id": "junior_dev_m07_cant_tell_if_genius", "phase": "Mid", "title": "You Can't Tell If This Code Is Genius or Cursed", "body": "New workflow: review AI-generated code before it ships. Today's PR is 400 lines. It's either a masterpiece of algorithmic efficiency or a subtle disaster waiting to happen at 3am. You've been staring for 90 minutes. It passes every test. The variable names are better than yours. There's a pattern you've never seen -- you can't tell if it's clever or wrong. You approve it. You don't sleep well.", "choices": [{"title": "Write adversarial tests to probe it", "body": "Write tests designed to break it. If they pass, it's probably fine. Probably. The word 'probably' is doing a lot of structural load-bearing.", "delta": {"money": -700, "sanity": -8, "audience": 0, "ai_skill": 10, "friends": 0}, "min_money": null}, {"title": "Approve and monitor production closely", "body": "Approve it. Watch production like a hawk. Let reality be the code reviewer that never sleeps.", "delta": {"money": 0, "sanity": -8, "audience": 6, "ai_skill": -6, "friends": 0}, "min_money": null}, {"title": "Ask a senior to sanity-check you", "body": "Ask a senior to also review it. Two confused humans are better than one. The confusion is distributed.", "delta": {"money": 0, "sanity": 6, "audience": -4, "ai_skill": 5, "friends": 7}, "min_money": null}], "allow_freeform": true}
|
|
33
|
+
{"id": "junior_dev_m08_staff_engineer_pairing", "phase": "Mid", "title": "The Staff Engineer Pairing Session", "body": "A staff engineer offers to pair for an hour. Their keyboard shortcuts feel like sorcery. Their questions are gentle and devastating. They refactor your code in real time and somehow make it smaller and safer. Then they show you something unexpected: how they use Claude as a thinking partner, not just a code generator. They narrate the problem, ask the model to challenge their assumptions, then build from the friction. The difference between their AI usage and yours is like watching someone play chess versus watching someone arrange pieces on a board.", "choices": [{"title": "Admit ignorance, ask until it clicks", "body": "Admit what you don't know and ask questions until it clicks. Vulnerability is the fastest learning algorithm.", "delta": {"money": 0, "sanity": -5, "audience": 0, "ai_skill": 10, "friends": 9}, "min_money": null, "effects": [{"op": "set_flag", "flag": "has_mentor"}]}, {"title": "Take notes, rewrite your module", "body": "Take obsessive notes. Rewrite your module using their patterns. The code gets better. So do your prompts.", "delta": {"money": 0, "sanity": -6, "audience": 7, "ai_skill": 10, "friends": 0}, "min_money": null}, {"title": "Decline future sessions, protect your ego", "body": "Decline the next invite. Protect your ego. The ego does not protect you back.", "delta": {"money": 0, "sanity": 6, "audience": 0, "ai_skill": -8, "friends": -10}, "min_money": null}], "allow_freeform": true}
|
|
34
|
+
{"id": "junior_dev_m09_diversity_hire_whisper", "phase": "Mid", "title": "The \"Diversity Hire\" Whisper", "body": "You overhear someone in the break room: \"They're just hiring bootcamp grads for the numbers. With AI, they'll just have agents do the real work anyway -- why hire bootcamp grads at all?\" They don't see you. You shipped three features last sprint and fixed a P0 at 2am. None of that matters to people who have already decided who belongs. The whisper has a new addendum now: you're not just unqualified in their eyes, you're unnecessary.", "choices": [{"title": "Let your work speak louder", "body": "Let your work speak louder. Ship harder. Say nothing. The commit history doesn't whisper.", "delta": {"money": 500, "sanity": -8, "audience": 8, "ai_skill": 7, "friends": -6}, "min_money": null}, {"title": "Report it to HR", "body": "Report it to HR. Accept whatever happens next. Someone should be on the record about this.", "delta": {"money": 0, "sanity": 6, "audience": -9, "ai_skill": 0, "friends": -2}, "min_money": null, "effects": [{"op": "set_flag", "flag": "blew_the_whistle"}]}, {"title": "Confide in a trusted colleague", "body": "Confide in a trusted colleague and let yourself feel it. Pretending it doesn't hurt is its own kind of damage.", "delta": {"money": 0, "sanity": 8, "audience": -4, "ai_skill": 0, "friends": 8}, "min_money": null}], "allow_freeform": true}
|
|
35
|
+
{"id": "junior_dev_m10_agent_does_sprint", "phase": "Mid", "title": "An Agent Just Did Your Sprint in 8 Hours", "body": "The platform team demos an AI agent that completed your team's entire sprint backlog in 8 hours. As a proof of concept. On a Saturday. The tickets were real tickets from your board. The code passes CI. Your manager watches the demo with the face of a man realizing his department is a cost center. \"Of course, you'd still need humans for the nuanced stuff,\" the platform engineer says. Nobody defines nuanced. Nobody asks.", "choices": [{"title": "Become the nuance expert", "body": "Learn everything the agent can't do. Become the person who handles edge cases, politics, and the human wreckage left by automated systems.", "delta": {"money": 0, "sanity": -6, "audience": 6, "ai_skill": 9, "friends": 0}, "min_money": null}, {"title": "Propose human+agent hybrid workflow", "body": "Propose a workflow where humans guide and agents execute. Position yourself as the bridge between meat and metal.", "delta": {"money": 0, "sanity": -6, "audience": 8, "ai_skill": 8, "friends": 8}, "min_money": null, "effects": [{"op": "set_flag", "flag": "embraced_ai"}]}, {"title": "Start panicking productively", "body": "Update resume. Learn agent orchestration. Do both tonight. Panic is a resource if you burn it fast enough.", "delta": {"money": -500, "sanity": -10, "audience": 5, "ai_skill": 4, "friends": -6}, "min_money": null}], "allow_freeform": true}
|
|
36
|
+
{"id": "junior_dev_m11_mentor_offer", "phase": "Mid", "title": "The Mentor Offer", "body": "A senior you respect offers to mentor you. \"Want to pair once a week?\" She says it casually, like it's nothing. You feel relief, then fear. Pairing means being seen. Being seen means being judged. She adds: \"I wish someone had helped me navigate the last tech shift. This one's bigger.\" It also means getting better faster than doomscrolling Blind ever will.", "choices": [{"title": "Say yes, show up vulnerable", "body": "Say yes. Show up. Be seen. The fear of being judged is smaller than the fear of staying stuck.", "delta": {"money": 0, "sanity": -4, "audience": 0, "ai_skill": 10, "friends": 10}, "min_money": null, "effects": [{"op": "set_flag", "flag": "has_mentor"}]}, {"title": "Decline, you need space right now", "body": "Decline. You need space right now. The offer sits in your inbox like a road not taken.", "delta": {"money": 0, "sanity": 7, "audience": 0, "ai_skill": -2, "friends": -9}, "min_money": null}, {"title": "Accept but make it a visible growth initiative", "body": "Say yes, but suggest making it a visible \"engineering growth initiative.\" She raises an eyebrow but agrees.", "delta": {"money": 0, "sanity": -6, "audience": 8, "ai_skill": 4, "friends": 5}, "min_money": null, "effects": [{"op": "set_flag", "flag": "has_mentor"}]}], "allow_freeform": true}
|
|
37
|
+
{"id": "junior_dev_m12_bootcamp_friend_replaced", "phase": "Mid", "title": "Your Bootcamp Friend Got Replaced", "body": "A bootcamp friend texts at 11pm: \"They replaced my entire team with agents. I'm the only one left and my job is reviewing the agents' output.\" She was a frontend engineer three months ago. Now she's a \"quality verification specialist\" at the same salary, doing work that makes her feel like a human CAPTCHA. She asks if you're hiring. You check your company's job board. No junior roles listed. Haven't been for two months.", "choices": [{"title": "Help her network, be a real friend", "body": "Forward her resume. Make introductions. This could be you next month and you'd want someone to pick up the phone.", "delta": {"money": -200, "sanity": -6, "audience": -4, "ai_skill": 0, "friends": 10}, "min_money": null}, {"title": "Use this as motivation to skill up", "body": "Her story is a warning. Skill up before you become the next cautionary text at 11pm.", "delta": {"money": -800, "sanity": -8, "audience": 5, "ai_skill": 10, "friends": -6}, "min_money": null}, {"title": "Commiserate and share the dread", "body": "Commiserate. Screenshot the conversation. Post it anonymously on Blind. Solidarity through shared dread.", "delta": {"money": 0, "sanity": 5, "audience": 7, "ai_skill": 0, "friends": 6}, "min_money": null}], "allow_freeform": true}
|
|
38
|
+
{"id": "junior_dev_m13_salary_transparency", "phase": "Mid", "title": "The Salary Transparency Post", "body": "Someone in your company Slack posts their salary in #random. Then someone else does. Then seven more people. You're making $15K less than someone who started three months after you. His title: \"AI Integration Lead.\" His background: product management. His engineering experience: none. The pay gap isn't seniority anymore. It's proximity to the letters A and I. HR posts a reminder about \"comp philosophy\" that explains nothing. Your throat is tight.", "choices": [{"title": "Post your salary too, solidarity", "body": "Post your salary. Transparency only works if everyone participates. Including the underpaid.", "delta": {"money": 0, "sanity": 6, "audience": -6, "ai_skill": 0, "friends": 7}, "min_money": null, "effects": [{"op": "set_flag", "flag": "blew_the_whistle"}]}, {"title": "Schedule a comp conversation with your manager", "body": "Schedule a comp conversation with your manager. Bring the data. The Slack thread is your leverage now.", "delta": {"money": 1200, "sanity": -8, "audience": 10, "ai_skill": 0, "friends": -2}, "min_money": null}, {"title": "Say nothing, update your job search", "body": "Say nothing. Update your job search spreadsheet. The pay gap is the exit sign you needed.", "delta": {"money": 0, "sanity": -8, "audience": 5, "ai_skill": 0, "friends": -6}, "min_money": null}], "allow_freeform": true}
|
|
39
|
+
{"id": "junior_dev_m14_ai_pilled_moment", "phase": "Mid", "title": "The AI-Pilled Moment", "body": "Something clicks. You've been fighting the tools for months but today you paired with Claude on a refactor and it was genuinely good. Not just fast -- good. You understood the suggestions. You improved on them. The code was cleaner than what either of you would have written alone. Maybe the future isn't replacement. Maybe it's amplification. Or maybe you're just rationalizing surrender as strategy.", "choices": [{"title": "Lean all the way in, become the AI person", "body": "Lean all the way in. Become the person on your team who actually uses AI well. The convert's zeal is real.", "delta": {"money": 800, "sanity": -6, "audience": 7, "ai_skill": 11, "friends": -1}, "min_money": null, "effects": [{"op": "set_flag", "flag": "embraced_ai"}]}, {"title": "Stay balanced, tools not masters", "body": "Stay balanced. Use it when it helps. Skip it when it doesn't. The middle path is boring and correct.", "delta": {"money": 0, "sanity": 9, "audience": 0, "ai_skill": 8, "friends": 1}, "min_money": null, "effects": [{"op": "set_flag", "flag": "found_balance"}]}, {"title": "Share what you learned with the team", "body": "Share what clicked for you. Teach the workflow. The best way to learn something is to explain it to someone more confused than you.", "delta": {"money": 0, "sanity": -4, "audience": 6, "ai_skill": 4, "friends": 9}, "min_money": null}], "allow_freeform": true, "forbids": ["embraced_ai", "rejected_ai"]}
|
|
40
|
+
{"id": "junior_dev_m15_luddite_stand", "phase": "Mid", "title": "The Luddite Stand", "body": "You tried the AI tools. They hallucinated a function that doesn't exist. Twice. Then generated code with a subtle bug that took three hours to find. Then wrote a test that passes but tests nothing. You close the tab. You open vim. You write the code yourself. It takes longer. It works. You feel something you haven't felt in months: control. Your fingers on the keys. Your logic. Your mistakes. Yours.", "choices": [{"title": "Go full luddite, craft it all by hand", "body": "Go full luddite. Write everything yourself. Own every line. The speed differential is real but so is the craftsmanship.", "delta": {"money": -1000, "sanity": 10, "audience": -7, "ai_skill": 4, "friends": 0}, "min_money": null, "effects": [{"op": "set_flag", "flag": "rejected_ai"}]}, {"title": "Use AI for the boring parts only", "body": "Use it for boilerplate only. The thinking is yours. The semicolons are the machine's.", "delta": {"money": 0, "sanity": 8, "audience": -4, "ai_skill": 5, "friends": 0}, "min_money": null}, {"title": "Write a blog post about why AI tools fail", "body": "Write a blog post: \"Why AI Code Tools Fail for Real Work.\" The draft writes itself. Without AI assistance, obviously.", "delta": {"money": -500, "sanity": -6, "audience": 10, "ai_skill": 0, "friends": -1}, "min_money": null, "effects": [{"op": "set_flag", "flag": "rejected_ai"}, {"op": "set_flag", "flag": "started_newsletter"}]}], "allow_freeform": true, "forbids": ["embraced_ai", "rejected_ai"]}
|
|
41
|
+
{"id": "junior_dev_m16_role_listed_ai_assisted", "phase": "Mid", "title": "Your Role Is Listed as \"AI-Assisted\"", "body": "You find a job listing for your exact role on your own company's job board: \"AI-Assisted Software Engineer. Must be proficient in agent orchestration, prompt engineering, and output verification. Traditional coding experience a plus but not required.\" Traditional coding experience. A plus. Like knowing cursive. Like owning a record player. You have two years of traditional coding experience and it's filed under 'nice to have' on a listing for the job you already do.", "choices": [{"title": "Reframe your skills for the new world", "body": "Reframe everything. \"Wrote TypeScript\" becomes \"orchestrated software delivery systems.\" Your resume is now a translation exercise.", "delta": {"money": -300, "sanity": -8, "audience": 9, "ai_skill": 1, "friends": 0}, "min_money": null}, {"title": "Learn agent orchestration, stay relevant", "body": "Learn the new stack. Agent orchestration is just programming with extra abstraction layers. You can do this. You have to do this.", "delta": {"money": -1500, "sanity": -10, "audience": 7, "ai_skill": 11, "friends": -7}, "min_money": null, "effects": [{"op": "set_flag", "flag": "embraced_ai"}]}, {"title": "Apply to companies that still value craft", "body": "Apply to companies that still value craft. They exist. They're getting rarer, like bookstores.", "delta": {"money": 0, "sanity": 8, "audience": -6, "ai_skill": 4, "friends": 0}, "min_money": null}], "allow_freeform": true}
|
|
42
|
+
{"id": "junior_dev_m17_ceo_replaces_contractors", "phase": "Mid", "title": "CEO Replaces All Contractors With Agents", "body": "Monday all-hands: the CEO announces all external contractors have been replaced by AI agents, effective immediately. Twelve people. Gone. The agents cost $0.03 per task. The contractors cost $150/hour. \"The math speaks for itself,\" he says, and it does, in a language that has no word for loyalty. The agents are already in the codebase. Their commit messages are better than yours. One of the fired contractors trained the model that replaced him.", "choices": [{"title": "Document what the agents miss", "body": "Quietly document every edge case the agents miss. Your value is the gap between what they promise and what they deliver.", "delta": {"money": -500, "sanity": -7, "audience": 2, "ai_skill": 10, "friends": 0}, "min_money": null}, {"title": "Reach out to the fired contractors", "body": "Text the contractors. They're humans who got replaced by math. Someone should acknowledge that.", "delta": {"money": -200, "sanity": 8, "audience": -4, "ai_skill": 0, "friends": 10}, "min_money": null}, {"title": "Learn to manage the agents", "body": "The agents need supervision. Make yourself the person who supervises them. If you can't beat the math, manage it.", "delta": {"money": 800, "sanity": -9, "audience": 7, "ai_skill": 8, "friends": -6}, "min_money": null, "effects": [{"op": "set_flag", "flag": "embraced_ai"}]}], "allow_freeform": true, "once_per_run": true}
|
|
43
|
+
{"id": "junior_dev_m18_ai_ate_homework", "phase": "Mid", "title": "The AI Ate My Homework, Literally", "body": "You used Claude to help write a design doc. It's good. Really good. Your manager loves it. Now she wants you to present it in the architecture review. You open the doc. Paragraph 3: something about eventual consistency guarantees you don't fully understand. Paragraph 5: a migration strategy that sounds right but you couldn't defend under questioning. The diagram: beautiful and possibly wrong. You are about to present a document you partially wrote and partially can't explain to a room of people who will absolutely ask questions.", "choices": [{"title": "Study it until you own every word", "body": "Study it until you can explain every sentence. Then present like you wrote it. Because you did. Mostly. Enough.", "delta": {"money": -600, "sanity": -9, "audience": 10, "ai_skill": 7, "friends": 0}, "min_money": null}, {"title": "Be transparent about the AI assist", "body": "Be transparent: \"I used AI to help structure this.\" Honesty in a room of people who are all secretly doing the same thing is a power move.", "delta": {"money": 0, "sanity": 8, "audience": -5, "ai_skill": 2, "friends": 7}, "min_money": null}, {"title": "Wing it, trust the vibes", "body": "Wing it. You're a vibe coder. The vibes extend to presentations. If someone asks about paragraph 5, pivot to paragraph 6.", "delta": {"money": 0, "sanity": -10, "audience": 6, "ai_skill": -7, "friends": -7}, "min_money": null}], "allow_freeform": true}
|
|
44
|
+
{"id": "junior_dev_m19_slack_bot_better", "phase": "Mid", "title": "The Slack Bot Is Better Than Your Manager", "body": "Your team's Slack bot now answers technical questions faster and more accurately than your manager. You asked it about a deployment issue at 2am. It responded in 4 seconds with the exact fix and three links to relevant docs. Your manager responded at 10am with \"let me circle back on that.\" The bot doesn't have a calendar full of syncs. The bot doesn't go on PTO. The bot doesn't need to \"align with stakeholders\" before telling you which environment variable is wrong. You are one Slack bot away from questioning the entire management layer.", "choices": [{"title": "Use the bot, route around management", "body": "Route around management. The bot is faster, always on, and doesn't schedule a meeting to answer a question. Efficiency wins.", "delta": {"money": 0, "sanity": -6, "audience": 6, "ai_skill": 8, "friends": -8}, "min_money": null, "effects": [{"op": "set_flag", "flag": "embraced_ai"}]}, {"title": "Keep asking humans, context matters", "body": "Keep asking humans. The bot knows the answer but your manager knows why the answer is different in production. Context is human.", "delta": {"money": 0, "sanity": 7, "audience": -4, "ai_skill": 4, "friends": 7}, "min_money": null}, {"title": "Build a better internal knowledge base", "body": "Build a proper internal knowledge base so neither humans nor bots are bottlenecks. The hero work nobody celebrates.", "delta": {"money": -1000, "sanity": -8, "audience": 0, "ai_skill": 10, "friends": 1}, "min_money": null}], "allow_freeform": true}
|
|
45
|
+
{"id": "junior_dev_m20_mid_event_demo_killed", "phase": "Mid", "title": "Your Demo Becomes a Postmortem", "body": "You're demoing the feature you spent two weeks building. Slide 3 of 7. Your PM's phone buzzes. She looks at it. She looks at you. A YC startup just launched the exact same feature -- as a free tool -- built by one person with Claude in a weekend. It's on Product Hunt. It has 800 upvotes. You're on slide 3. The competitor is on the front page. Your PM mouths \"keep going\" but the energy in the room has left through a door that doesn't exist. Your demo is now a postmortem for a product that launched ten minutes ago.", "choices": [{"title": "Finish the demo, professionalism matters", "body": "Finish the demo. All 7 slides. Professionalism is the last thing they can't automate. Probably.", "delta": {"money": 0, "sanity": -8, "audience": 6, "ai_skill": 0, "friends": 6}, "min_money": null}, {"title": "Pivot mid-demo, address the elephant", "body": "Stop at slide 3. Address it head-on: \"So, about the YC thing. Here's why ours is different.\" It might not be different. Say it anyway.", "delta": {"money": 0, "sanity": 2, "audience": -2, "ai_skill": 6, "friends": 0}, "min_money": null}, {"title": "Close the laptop, propose a new strategy", "body": "Close the laptop. Propose pivoting to what the free tool can't do. Your two weeks of work just became market research.", "delta": {"money": -2000, "sanity": -9, "audience": 10, "ai_skill": 8, "friends": -6}, "min_money": null}], "allow_freeform": true}
|
|
46
|
+
{"id": "junior_dev_m21_week_to_ten_minutes", "phase": "Mid", "title": "Your Week Has a Ten-Minute Shelf Life", "body": "You spent a week on the database migration. Careful planning. Testing matrix. Rollback procedures. Documentation. Your manager comes by Monday morning: \"Hey, the new agent tool can do migrations. I ran yours as a test. Took ten minutes. Same result.\" He's not being cruel. He's genuinely impressed by the tool. Your week-long deliverable has a ten-minute shelf life. The planning doc you wrote is now a monument to the speed of last month.", "choices": [{"title": "Learn the tool, become faster too", "body": "Learn the tool. If ten minutes is the new baseline, your value is knowing which migrations need a human and which don't.", "delta": {"money": 0, "sanity": -7, "audience": 6, "ai_skill": 10, "friends": 0}, "min_money": null, "effects": [{"op": "set_flag", "flag": "embraced_ai"}]}, {"title": "Point out what the tool missed", "body": "Ask about the rollback procedure. The edge cases. The data integrity checks. Ten minutes is fast. Correct takes longer.", "delta": {"money": 0, "sanity": 6, "audience": -4, "ai_skill": 6, "friends": 2}, "min_money": null}, {"title": "Swallow it, do the next task", "body": "Swallow it. Move to the next task. Don't think about the week. The week is gone. It was always going to be gone.", "delta": {"money": -700, "sanity": -10, "audience": -6, "ai_skill": 0, "friends": -1}, "min_money": null}], "allow_freeform": true}
|
|
47
|
+
{"id": "junior_dev_m22_human_value_add_metric", "phase": "Mid", "title": "The Human Value-Add Dashboard", "body": "A new dashboard appears on the eng team's TV: \"Human Value-Add Percentage per Engineer.\" It measures the delta between your code and what an AI would have produced for the same ticket. Your number is 3.2%. The engineer next to you is at 1.8%. The top engineer is at 11%. Nobody explains the methodology. Nobody explains what happens at 0%. The implicit question is: at what percentage is a human worth the salary? Nobody says the number out loud. Everyone is calculating it.", "choices": [{"title": "Optimize for the metric, game the system", "body": "Pick tickets where human judgment matters most. Game the metric. Your survival depends on a number on a TV you didn't ask for.", "delta": {"money": 500, "sanity": -8, "audience": 7, "ai_skill": 10, "friends": -6}, "min_money": null}, {"title": "Challenge the metric publicly", "body": "Challenge the metric in the next standup. \"What does 3.2% human value-add mean? Who decided the AI baseline is the benchmark?\" The room goes quiet.", "delta": {"money": -500, "sanity": 6, "audience": -8, "ai_skill": 1, "friends": 7}, "min_money": null, "effects": [{"op": "set_flag", "flag": "blew_the_whistle"}]}, {"title": "Ignore the dashboard, focus on the work", "body": "Ignore the dashboard. Do the work. The dashboard measures output, not understanding. You hope that matters. You're not sure it does.", "delta": {"money": 0, "sanity": -8, "audience": -4, "ai_skill": 6, "friends": 0}, "min_money": null}], "allow_freeform": true, "once_per_run": true}
|
|
48
|
+
{"id": "junior_dev_m23_ai_knows_codebase_better", "phase": "Mid", "title": "Claude Knows Your Codebase Better Than You", "body": "You're pair programming with Claude. It asks you a question about your own codebase: \"Why does the auth service call the user service twice during login? This seems like a bug introduced in commit a3f2d.\" You don't know. You open the commit. It's from before you joined. Claude is right. It identified a bug that's been in production for 14 months, that three humans reviewed and missed. Your AI pair partner understands your codebase better than you do, and it's been here for 30 seconds.", "choices": [{"title": "Fix the bug, credit the assist", "body": "Fix the bug. Credit Claude in the PR description. Your ego takes a hit but the codebase gets better. That's the trade.", "delta": {"money": 0, "sanity": -6, "audience": 10, "ai_skill": 10, "friends": 0}, "min_money": null}, {"title": "Use this as a learning method", "body": "Start using Claude to quiz you on your own codebase. It's like flashcards for imposter syndrome. Painful and effective.", "delta": {"money": -600, "sanity": -7, "audience": 0, "ai_skill": 11, "friends": 0}, "min_money": null}, {"title": "Feel weird about it, move on", "body": "Feel weird about it for the rest of the day. Move on. The bug is fixed. The feeling isn't.", "delta": {"money": 0, "sanity": 6, "audience": -4, "ai_skill": 0, "friends": 0}, "min_money": null}], "allow_freeform": true}
|
|
49
|
+
{"id": "junior_dev_m24_community_discord", "phase": "Mid", "title": "The Community Discord You Built", "body": "The Discord server you started for bootcamp grads now has 400 members. Job leads, mock interviews, code reviews. You moderate an hour a day, unpaid. Someone got a job through a connection in your server. Last week someone posted: \"Should I even learn to code or just learn prompting?\" The thread hit 200 replies with no consensus. The community you built is now debating whether the skill that brought you all together is worth learning.", "choices": [{"title": "Keep building it, this matters", "body": "Keep building it. This matters more than your side project. People helping people is the one thing that doesn't get automated.", "delta": {"money": -800, "sanity": -7, "audience": 8, "ai_skill": 0, "friends": 6}, "min_money": null, "effects": [{"op": "set_flag", "flag": "built_community"}]}, {"title": "Find co-moderators, distribute the load", "body": "Find co-moderators. You can't sustain this alone. Distribute the load before you burn out on generosity.", "delta": {"money": 0, "sanity": 6, "audience": 2, "ai_skill": 0, "friends": 8}, "min_money": null, "effects": [{"op": "set_flag", "flag": "built_community"}]}, {"title": "Step back, focus on yourself", "body": "Step back. You're pouring into others at the expense of yourself. The server will survive. Your career might not.", "delta": {"money": 0, "sanity": 6, "audience": -6, "ai_skill": 6, "friends": -6}, "min_money": null}], "allow_freeform": true}
|
|
50
|
+
{"id": "junior_dev_m25_pair_friendship_ai_dimension", "phase": "Mid", "title": "The Pair Programming That Becomes Something New", "body": "You pair with a new engineer on a gnarly migration. She's also bootcamp. You both laugh about imposter syndrome while debugging a race condition. Three hours in, she shows you a trick: she narrates the problem to Claude, lets it suggest approaches, then picks the best one and modifies it. It's not cheating. It's not pure coding. It's something new. By the end you've shared war stories, coffee preferences, and a workflow that's half human and half machine. The friendship is fully human. The craft is evolving.", "choices": [{"title": "Suggest regular pairing sessions", "body": "Suggest weekly pairing. The hybrid workflow is better with two humans steering it. This is how you both get better.", "delta": {"money": 0, "sanity": 6, "audience": 0, "ai_skill": 8, "friends": 8}, "min_money": null}, {"title": "Keep it casual, don't over-structure it", "body": "Keep it casual. Good work friendships don't need calendar invites. The best collaborations happen in the gaps between process.", "delta": {"money": 0, "sanity": 7, "audience": -3, "ai_skill": 0, "friends": 6}, "min_money": null}, {"title": "Invite her to your side project", "body": "Invite her to collaborate on your side project. Two bootcamp grads and a Claude subscription against the world.", "delta": {"money": -500, "sanity": -4, "audience": 6, "ai_skill": 6, "friends": 8}, "min_money": null}], "allow_freeform": true}
|
|
51
|
+
{"id": "junior_dev_m26_newsletter_trouble", "phase": "Mid", "title": "Your Writing Gets You in Trouble", "body": "Latest post: \"the quiet erosion of engineering culture.\" No company named. Didn't have to. Coworker recognized details. HR meeting in an hour. 1,200 people read you now. Voice and job: pick one.", "choices": [{"title": "Stand your ground", "body": "No company named. No proprietary details. Hold the line.", "delta": {"money": 0, "sanity": 4, "audience": 8, "ai_skill": 0, "friends": -8}, "min_money": null, "effects": [{"op": "set_flag", "flag": "blew_the_whistle"}]}, {"title": "Anonymize better next time", "body": "Apologize. Tighter boundaries. Keep writing with better opsec.", "delta": {"money": 0, "sanity": -4, "audience": 6, "ai_skill": 0, "friends": 0}, "min_money": null}, {"title": "Take the post down", "body": "Unpublish before the meeting. Job stays safer. Stomach doesn't.", "delta": {"money": 0, "sanity": -7, "audience": -8, "ai_skill": 0, "friends": 4}, "min_money": null}], "allow_freeform": true, "once_per_run": true}
|
|
52
|
+
{"id": "junior_dev_m27_standup_three_minutes", "phase": "Mid", "title": "The Standup Is Three Minutes Now", "body": "Agents report their own status now. Standup is 3 minutes. Your human status update feels embarrassingly slow and weirdly emotional. The scrum master asks if you \"have anything to add\" with the tone of someone asking if you need a moment. The ceremony that used to take 20 minutes now takes 3 and the 17 minutes you got back feel like severance.", "choices": [{"title": "Automate your status update too", "body": "Automate your own status update. Let the agent summarize your commits. You are now indistinguishable from the other agents in standup.", "delta": {"money": 0, "sanity": -7, "audience": 4, "ai_skill": 7, "friends": -8}, "min_money": null}, {"title": "Give a human update, own the slowness", "body": "Give a human update. Own the slowness. Mention what you learned, not just what you shipped. The scrum master blinks.", "delta": {"money": 0, "sanity": 7, "audience": -4, "ai_skill": 0, "friends": 6}, "min_money": null}, {"title": "Propose killing standup entirely", "body": "Propose killing standup entirely. If agents can report status, and humans feel awkward reporting status, maybe the ceremony is dead.", "delta": {"money": 0, "sanity": -3, "audience": 7, "ai_skill": 0, "friends": -4}, "min_money": null}], "allow_freeform": true}
|
|
53
|
+
{"id": "junior_dev_m28_prompt_architect", "phase": "Mid", "title": "The Prompt Architect", "body": "Your company hires a \"Prompt Architect\" at $185K. Zero engineering background. Former UX writer. Her first week she ships more features than your team did last sprint by describing them to Claude in precise, structured English. She doesn't know what a database index is. She doesn't need to. Your three years of learning data structures feel like a foreign language degree in a country that switched to English.", "choices": [{"title": "Learn her workflow, swallow the pride", "body": "Learn her workflow. Watch how she structures prompts, how she iterates, how she verifies. Swallow the pride. It tastes like progress.", "delta": {"money": 0, "sanity": -4, "audience": 0, "ai_skill": 10, "friends": 5}, "min_money": null, "effects": [{"op": "set_flag", "flag": "embraced_ai"}]}, {"title": "Point out everything she breaks in production", "body": "Her features ship fast and break in ways she can't diagnose. You document every production incident. Your vindication tastes like ash.", "delta": {"money": 0, "sanity": 2, "audience": -4, "ai_skill": 4, "friends": -7}, "min_money": null}, {"title": "Start applying to Prompt Architect roles", "body": "If they're paying $185K for prompt architecture, your engineering background plus prompting skills is worth more. Time to rebrand.", "delta": {"money": 0, "sanity": -6, "audience": 8, "ai_skill": 5, "friends": -1}, "min_money": null, "effects": [{"op": "set_flag", "flag": "sold_out"}]}], "allow_freeform": true}
|
|
54
|
+
{"id": "junior_dev_m29_blog_ranks_below_ai", "phase": "Mid", "title": "Your Blog Post Ranks Below the AI One", "body": "You spent a weekend writing a deep-dive on React server components. Researched. Drafted. Edited. Published Monday. By Wednesday an AI-generated article on the same topic ranks above yours. It's shallower. It has more backlinks because it was published 47 times across 47 domains simultaneously. Your article has 200 reads and a comment from your mom. The AI article has 40K reads and no author. The SEO game doesn't care about depth. It cares about surface area.", "choices": [{"title": "Write a thread about AI-generated SEO killing real content", "body": "Write a thread about how AI-generated SEO is killing real content. It goes mildly viral. The irony of gaming engagement to complain about gaming engagement is not lost on you.", "delta": {"money": 0, "sanity": -5, "audience": 8, "ai_skill": 0, "friends": 1}, "min_money": null, "effects": [{"op": "set_flag", "flag": "started_newsletter"}]}, {"title": "Learn SEO, play the game", "body": "Learn SEO. Publish more frequently. Optimize for distribution, not depth. The game changed and you're still playing the old rules.", "delta": {"money": 0, "sanity": -6, "audience": 6, "ai_skill": 4, "friends": -4}, "min_money": null}, {"title": "Keep writing for the 200 people who care", "body": "Keep writing for the 200 people who care. Depth over reach. Your mom's comment is worth more than 40K anonymous clicks.", "delta": {"money": 0, "sanity": 7, "audience": -5, "ai_skill": 0, "friends": 6}, "min_money": null}], "allow_freeform": true}
|
|
55
|
+
{"id": "junior_dev_m30_full_day_with_claude", "phase": "Mid", "title": "Full Day with Claude", "body": "You pair with Claude for a full day. Not just autocomplete -- real collaboration. Describing problems, iterating on solutions, challenging its suggestions. By 6pm you've shipped more than the previous two weeks. The productivity high lasts until midnight. Then the low hits: if you can do two weeks of work in a day with AI, what was the other nine days? What are you billing for? The math is either exciting or terrifying depending on which side of the invoice you're on.", "choices": [{"title": "Adopt this as your default workflow", "body": "Adopt this as your default workflow. Ship faster. Bill the same. The gap between your output and your cost just became your margin of safety.", "delta": {"money": 1500, "sanity": -7, "audience": 4, "ai_skill": 10, "friends": -4}, "min_money": null, "effects": [{"op": "set_flag", "flag": "embraced_ai"}]}, {"title": "Alternate: AI days and craft days", "body": "Alternate between AI days and craft days. Some days you ship with leverage. Some days you learn without it. Balance is the strategy.", "delta": {"money": 800, "sanity": 7, "audience": 0, "ai_skill": 6, "friends": 0}, "min_money": null}, {"title": "Don't tell anyone how fast it went", "body": "Don't tell anyone how fast it went. If management finds out a day equals two weeks, the two weeks become the new day. Protect the timeline.", "delta": {"money": 1500, "sanity": -6, "audience": -6, "ai_skill": 6, "friends": -2}, "min_money": null}], "allow_freeform": true}
|
|
56
|
+
{"id": "junior_dev_l01_junior_dev_dead_memo", "phase": "Late", "title": "The \"Junior Dev Is Dead\" Memo", "body": "Internal memo leaks to Blind: your company is pausing all junior hiring. AI tooling \"reduces the need for early-career support roles.\" Two cohort-mates got offers rescinded last week. Someone posts \"Is Junior Dev Dead?\" on Medium -- 40K reads before lunch, and nobody in the comments is arguing.", "choices": [{"title": "Aggressively own mid-level work", "body": "Claim mid-level tickets before standup. Standup itself feels vestigial -- three humans and an agent fleet status dashboard. Either you outgrow the label or it buries you.", "delta": {"money": 2000, "sanity": -6, "audience": 6, "ai_skill": 10, "friends": -6}, "min_money": null}, {"title": "Organize solidarity in the bootcamp Slack", "body": "Rally the cohort. Shared resources, job leads, mutual aid. Alone you're a statistic. Together you're a network.", "delta": {"money": 0, "sanity": 8, "audience": -3, "ai_skill": 4, "friends": 10}, "min_money": null, "effects": [{"op": "set_flag", "flag": "built_community"}]}, {"title": "Rebrand as \"AI orchestration specialist\"", "body": "Update LinkedIn to a title you can't quite define. The algorithm likes it. You don't recognize yourself.", "delta": {"money": 500, "sanity": -6, "audience": 8, "ai_skill": 6, "friends": -2}, "min_money": null, "effects": [{"op": "set_flag", "flag": "sold_out"}]}], "allow_freeform": true, "once_per_run": true}
|
|
57
|
+
{"id": "junior_dev_l02_manager_looks_tired", "phase": "Late", "title": "The 1:1 Where She Looks Tired", "body": "Your manager books an off-schedule 1:1. She looks like she hasn't slept. \"How are you feeling about things.\" The team was six humans six months ago. Now four, plus an agent fleet doing twelve engineers' worth of output reviews. She says \"I want to make sure you're set up for success.\" It lands like a deposition.", "choices": [{"title": "Ask directly: am I at risk?", "body": "Ask the question. Accept whatever answer comes. Knowing beats guessing.", "delta": {"money": 500, "sanity": 7, "audience": -4, "ai_skill": 4, "friends": 5}, "min_money": null}, {"title": "Perform confidence, ask for scope", "body": "Show her the output stream. Ask for more scope. Pretend the walls aren't closing.", "delta": {"money": 1500, "sanity": -6, "audience": 8, "ai_skill": 6, "friends": -2}, "min_money": null}, {"title": "Start interviewing. Tell nobody.", "body": "Update the resume tonight. DM two recruiters. Smile in standup tomorrow.", "delta": {"money": 500, "sanity": -6, "audience": 4, "ai_skill": 5, "friends": -6}, "min_money": null}], "allow_freeform": true}
|
|
58
|
+
{"id": "junior_dev_l03_ai_did_my_job_confession", "phase": "Late", "title": "The \"AI Did My Job\" Confession", "body": "Dev posts on HN: \"Haven't written code in four months. Agents do it all. I review output and push.\" 1,200 comments. Half say future, half say fired, top comment says both. You've been doing the same thing for two months. You haven't told anyone.", "choices": [{"title": "Come clean in your next 1:1", "body": "Frame it as \"AI-augmented orchestration workflow.\" The honesty costs less than getting caught.", "delta": {"money": 500, "sanity": 7, "audience": -4, "ai_skill": 4, "friends": 6}, "min_money": null}, {"title": "Double down on prompting as a skill", "body": "Get so good at agent orchestration it's inarguably a discipline. Your fingers haven't touched a for-loop in weeks.", "delta": {"money": 2000, "sanity": -7, "audience": 6, "ai_skill": 10, "friends": -2}, "min_money": null, "effects": [{"op": "set_flag", "flag": "embraced_ai"}]}, {"title": "Write code by hand for a week", "body": "One week. No agents. Remember what your own engineering brain feels like. Slower. Yours.", "delta": {"money": 0, "sanity": 7, "audience": -4, "ai_skill": 2, "friends": 6}, "min_money": null}], "allow_freeform": true}
|
|
59
|
+
{"id": "junior_dev_l04_three_humans_two_hundred_agents", "phase": "Late", "title": "3 Humans, 200 Agents", "body": "Engineering is three humans and 200 AI agents. You're one of the three. Title: Agent Fleet Manager. You don't write code. You write prompts, review output streams, intervene when an agent goes off the rails. Tuesday one tried to drop prod as a \"cleanup optimization.\" You caught it. That's your value now.", "choices": [{"title": "Master agent fleet management", "body": "Nobody else wants this job. That's your moat. A moat made of other people's disgust.", "delta": {"money": 5000, "sanity": -8, "audience": 6, "ai_skill": 11, "friends": -8}, "min_money": null, "effects": [{"op": "set_flag", "flag": "embraced_ai"}]}, {"title": "Push for safety protocols", "body": "Formal safety protocols. Documentation. One day an agent will do something truly bad. You want receipts.", "delta": {"money": 1000, "sanity": 7, "audience": -4, "ai_skill": 6, "friends": 2}, "min_money": null}, {"title": "Look for a job where humans still code", "body": "You became an engineer to build things. Not to babysit a swarm.", "delta": {"money": 0, "sanity": 6, "audience": 2, "ai_skill": 0, "friends": -3}, "min_money": null}], "allow_freeform": true}
|
|
60
|
+
{"id": "junior_dev_l05_bootcamp_shuts_down", "phase": "Late", "title": "Your Bootcamp Shuts Down", "body": "Farewell email from your bootcamp. Eight years, done. Enrollment dropped 80% in 18 months. The skills they taught are real. The on-ramp they represented is gone. If they wouldn't teach this skill today, what is it worth tomorrow?", "choices": [{"title": "Organize the alumni network", "body": "Rally the alumni. You all went through the same thing. That bonds you whether the institution survives or not.", "delta": {"money": 500, "sanity": 8, "audience": -2, "ai_skill": 4, "friends": 10}, "min_money": null, "effects": [{"op": "set_flag", "flag": "built_community"}]}, {"title": "Double down on transferable skills", "body": "Systems thinking. Debugging intuition. Human communication. The bootcamp taught those too. Agents can't eat what they can't name.", "delta": {"money": 500, "sanity": 0, "audience": 5, "ai_skill": 6, "friends": 0}, "min_money": null}, {"title": "Spiral quietly", "body": "If the institution that certified you no longer believes in the certification, what does that make you?", "delta": {"money": 0, "sanity": -10, "audience": -5, "ai_skill": 0, "friends": -9}, "min_money": null}], "allow_freeform": true, "once_per_run": true}
|
|
61
|
+
{"id": "junior_dev_l06_human_authenticity_role", "phase": "Late", "title": "The \"Human Authenticity\" Role", "body": "Consulting firm offers a new role: Human Authenticity Verification Specialist. $180/hr to certify software was built by humans. Clients pay a premium now, like organic produce. Interview question: \"Can you tell human code from agent output?\" You've been faking it for months. You're perfect for this.", "choices": [{"title": "Take the role", "body": "$180/hour to verify humanness. The irony pays well. The identity crisis is free.", "delta": {"money": 3600, "sanity": -6, "audience": 6, "ai_skill": 5, "friends": -2}, "min_money": null, "effects": [{"op": "set_flag", "flag": "pivoted_career"}]}, {"title": "Hold out for real engineering", "body": "You didn't learn to code to become a code sommelier. Hold the line.", "delta": {"money": 0, "sanity": 8, "audience": -4, "ai_skill": 10, "friends": 6}, "min_money": 1000}, {"title": "Take it part-time, keep building", "body": "Part-time notary, full-time builder. Use the cash to fund the projects you actually care about.", "delta": {"money": 2500, "sanity": -3, "audience": 6, "ai_skill": 6, "friends": 0}, "min_money": null}], "allow_freeform": true, "once_per_run": true}
|
|
62
|
+
{"id": "junior_dev_l07_body_files_bug_report", "phase": "Late", "title": "Your Body Files a Bug Report", "body": "Left arm tingling. Fourteen-hour days for three weeks. Half those hours reviewing agent output, which is somehow more exhausting than writing code yourself. Your brain is a diff viewer that never clocks out. Doctor says \"lifestyle changes.\" You are 26.", "choices": [{"title": "Take a week off, invest in yourself", "body": "Standing desk. Ergonomic chair. One week of not staring at output diffs. Your body sends a tentative thumbs-up.", "delta": {"money": -400, "sanity": 10, "audience": -7, "ai_skill": 1, "friends": 6}, "min_money": 400, "effects": [{"op": "set_flag", "flag": "had_health_scare"}]}, {"title": "Ignore it, you're young", "body": "You're young. You'll be fine. You won't be fine.", "delta": {"money": 500, "sanity": -11, "audience": 4, "ai_skill": 4, "friends": -2}, "min_money": null}, {"title": "Start the gym arc", "body": "Start lifting. Post about it. At least your deltoids don't have merge conflicts.", "delta": {"money": -150, "sanity": 8, "audience": 6, "ai_skill": 0, "friends": 6}, "min_money": 150, "effects": [{"op": "set_flag", "flag": "had_health_scare"}]}], "allow_freeform": true, "once_per_run": true}
|
|
63
|
+
{"id": "junior_dev_l08_substack_temptation", "phase": "Late", "title": "The Substack Temptation", "body": "Everyone has a newsletter now. Bootcamp friend who couldn't center a div writes \"AI-Native Engineering Weekly\" with 2K subs. You have a draft: \"The junior dev role isn't dead, it's being lobotomized.\" It's 1am. The draft is better than anything your friend has published. It's also terrifying to ship.", "choices": [{"title": "Ship the first post", "body": "Ship it. The worst outcome is silence. The second worst is that it resonates.", "delta": {"money": 500, "sanity": -5, "audience": 8, "ai_skill": 4, "friends": 6}, "min_money": null, "effects": [{"op": "set_flag", "flag": "started_newsletter"}]}, {"title": "Build in public first", "body": "Post drafts on Twitter. Build audience before launch. Strategy over bravery.", "delta": {"money": 300, "sanity": -4, "audience": 10, "ai_skill": 4, "friends": 2}, "min_money": null, "effects": [{"op": "set_flag", "flag": "built_following"}]}, {"title": "Keep it in Notes where it's safe", "body": "Close the app. The draft joins 47 others. Safe. Unread. Yours.", "delta": {"money": 0, "sanity": 7, "audience": -9, "ai_skill": 2, "friends": 4}, "min_money": null}], "allow_freeform": true}
|
|
64
|
+
{"id": "junior_dev_l09_layoff_survivor", "phase": "Late", "title": "You Survived the Layoff", "body": "The cuts happened. You survived. Relief lasts four seconds before guilt. Desk neighbor's monitor is dark. Mug still there. Now doing their work plus yours plus agent fleet oversight that three people used to split. CEO email uses \"lean\" six times. You are lean. You are also the last line between prod and unsupervised agents.", "choices": [{"title": "Step up, own the extra work", "body": "Be the person they can't cut next. The math is simple and the cost is everything else.", "delta": {"money": 3000, "sanity": -10, "audience": 4, "ai_skill": 9, "friends": -8}, "min_money": null, "effects": [{"op": "set_flag", "flag": "survived_layoff_wave"}]}, {"title": "Check on the people who got cut", "body": "Text them. Be a human first. The company won't remember their names by Friday.", "delta": {"money": 500, "sanity": 8, "audience": -4, "ai_skill": 3, "friends": 11}, "min_money": null}, {"title": "Start job searching quietly", "body": "Next round is always coming. Update the resume between standups -- vestigial standups, three humans reporting to a dashboard.", "delta": {"money": 500, "sanity": -6, "audience": 4, "ai_skill": 5, "friends": -6}, "min_money": null}], "allow_freeform": true, "once_per_run": true}
|
|
65
|
+
{"id": "junior_dev_l10_plumber_earns_more", "phase": "Late", "title": "The Plumber Has a Boat", "body": "Barbecue. Plumber neighbor is booked eight months out. $300/hour. Just bought a boat. You make $65/hour for a skill agents are commoditizing daily. He asks what you do. You say \"agent orchestration\" and he nods sympathetically, like you told him you have a condition.", "choices": [{"title": "Google plumbing apprenticeships at 11pm", "body": "You're not serious. You're a little serious. The search results don't require a GPU.", "delta": {"money": 0, "sanity": 7, "audience": 3, "ai_skill": -3, "friends": 5}, "min_money": null, "effects": [{"op": "set_flag", "flag": "pivoted_career"}]}, {"title": "Double down on taste and judgment", "body": "You can't outrun agents by switching fields. Focus on the parts of engineering that require being human.", "delta": {"money": 800, "sanity": 6, "audience": -2, "ai_skill": 8, "friends": 0}, "min_money": null}, {"title": "Befriend the plumber", "body": "His work can't be automated by a teenager with an API key. There's something to learn from that.", "delta": {"money": 500, "sanity": 8, "audience": -3, "ai_skill": 3, "friends": 10}, "min_money": null}], "allow_freeform": true}
|
|
66
|
+
{"id": "junior_dev_l11_sabbatical_fantasy", "phase": "Late", "title": "The Sabbatical Fantasy", "body": "Three weeks fantasizing about quitting. Not to do anything. Just to stop. The fantasy: hiking, zero Slack, no agent output to review. The reality: COBRA payments, resume gaps, and a job market where AI agents apply to roles 10,000x faster than you. The gap between fantasy and math is exactly the width of your sanity.", "choices": [{"title": "Take the sabbatical", "body": "Your brain needs a factory reset. Money is temporary. Burnout is structural.", "delta": {"money": -3600, "sanity": 11, "audience": -7, "ai_skill": 0, "friends": 7}, "min_money": 3600, "effects": [{"op": "set_flag", "flag": "took_sabbatical"}]}, {"title": "Negotiate unpaid leave", "body": "Keep the door open. A parachute, not a leap.", "delta": {"money": -1800, "sanity": 9, "audience": -6, "ai_skill": 1, "friends": 6}, "min_money": 1800, "effects": [{"op": "set_flag", "flag": "took_sabbatical"}]}, {"title": "Keep grinding, the fantasy sustains you", "body": "The fantasy is the coping mechanism. Reality can't match it anyway.", "delta": {"money": 1500, "sanity": -10, "audience": 4, "ai_skill": 5, "friends": -6}, "min_money": null}], "allow_freeform": true, "once_per_run": true}
|
|
67
|
+
{"id": "junior_dev_l12_rock_bottom", "phase": "Late", "title": "Rock Bottom Has a Login Screen", "body": "Savings: $200. Three days from rent. Credit card maxed. Ramen not as a cliche but because it's $0.30. The job board has 400 listings. Half want five years with tools that launched last month. The other half are already filled by agents.", "choices": [{"title": "Ask for help", "body": "Call someone. Swallow the pride. You can't prompt-engineer your way out of this alone.", "delta": {"money": 800, "sanity": 9, "audience": -5, "ai_skill": 0, "friends": 11}, "min_money": null, "effects": [{"op": "set_flag", "flag": "hit_rock_bottom"}]}, {"title": "Grind freelance until you stabilize", "body": "One gig at a time, competing with agent fleets for scraps.", "delta": {"money": 3000, "sanity": -11, "audience": 0, "ai_skill": 6, "friends": -9}, "min_money": null, "effects": [{"op": "set_flag", "flag": "hit_rock_bottom"}]}, {"title": "Apply to everything", "body": "40 applications in one night. Three are real. The rest are agent-generated postings for agent-generated roles.", "delta": {"money": 300, "sanity": -8, "audience": 9, "ai_skill": 4, "friends": -1}, "min_money": null, "effects": [{"op": "set_flag", "flag": "hit_rock_bottom"}]}], "allow_freeform": true, "forbids": ["hit_rock_bottom"], "once_per_run": true}
|
|
68
|
+
{"id": "junior_dev_l13_learning_to_code_was_typing", "phase": "Late", "title": "\"Learning to Code\" Was This Gen's Typing", "body": "Viral tweet: \"Learning to code was the millennial equivalent of learning to type.\" 200K likes. Quote tweets are a graveyard of bootcamp grads mid-crisis. You read it on the bus. The bus keeps moving. You do not feel like you are moving.", "choices": [{"title": "Push back publicly", "body": "Quote tweet: coding taught systems thinking. That transfers. Typing didn't. Twelve people agree. Two thousand don't.", "delta": {"money": 200, "sanity": -6, "audience": 9, "ai_skill": 4, "friends": -2}, "min_money": null, "effects": [{"op": "set_flag", "flag": "built_following"}]}, {"title": "Let it sit", "body": "The tweet is wrong. Also not completely wrong. That's the worst kind of wrong.", "delta": {"money": 0, "sanity": 6, "audience": -9, "ai_skill": 2, "friends": 4}, "min_money": null}, {"title": "Share it with the bootcamp chat", "body": "Process the grief collectively. The Slack has been quiet. This wakes it up.", "delta": {"money": 0, "sanity": 8, "audience": -4, "ai_skill": 2, "friends": 8}, "min_money": null}], "allow_freeform": true}
|
|
69
|
+
{"id": "junior_dev_l14_two_person_company_50m", "phase": "Late", "title": "Two People. $50M Revenue.", "body": "TechCrunch profiles a $50M company. Two employees. One prompts the agent fleet. One handles sales. Your company has 200 people doing what two people and a swarm apparently can. CEO sends the article in #general. No comment. Thread energy: funeral where nobody's sure who died.", "choices": [{"title": "Study their playbook", "body": "This is the playbook. Learn it before it becomes last quarter's news.", "delta": {"money": 1000, "sanity": -6, "audience": 5, "ai_skill": 10, "friends": -2}, "min_money": null, "effects": [{"op": "set_flag", "flag": "embraced_ai"}]}, {"title": "Focus on what can't scale to two people", "body": "Enterprise trust. Compliance. Eye contact. The stuff that requires warm bodies.", "delta": {"money": 800, "sanity": 7, "audience": -4, "ai_skill": 5, "friends": 6}, "min_money": null}, {"title": "Consider starting your own thing", "body": "If two people can make $50M, working for someone else is the real risk.", "delta": {"money": 200, "sanity": -8, "audience": 8, "ai_skill": 6, "friends": -6}, "min_money": 200, "effects": [{"op": "set_flag", "flag": "started_side_project"}]}], "allow_freeform": true, "once_per_run": true}
|
|
70
|
+
{"id": "junior_dev_l15_code_archaeologist", "phase": "Late", "title": "Code Archaeologist", "body": "New LinkedIn title: Code Archaeologist. Companies need humans who can read legacy code agents hallucinate on. A bank offers $250/hr for a payroll system from 1997. Author retired. Comments in German. Agents tried and confabulated wildly. You are needed because a human wrote something no machine can parse.", "choices": [{"title": "Take the contract", "body": "Being the only person who reads cursed legacy code is job security of the strangest kind.", "delta": {"money": 5000, "sanity": 6, "audience": 7, "ai_skill": 5, "friends": 0}, "min_money": null, "effects": [{"op": "set_flag", "flag": "went_freelance"}]}, {"title": "Build a consulting practice around it", "body": "Thousands of these systems exist. Your niche is everyone else's nightmare.", "delta": {"money": 3000, "sanity": -6, "audience": 7, "ai_skill": 5, "friends": 0}, "min_money": null, "effects": [{"op": "set_flag", "flag": "started_side_project"}]}, {"title": "Teach agents to read legacy code", "body": "Feed the agents enough legacy patterns that they stop hallucinating. Automate yourself from both directions.", "delta": {"money": 1000, "sanity": 5, "audience": 4, "ai_skill": 11, "friends": -1}, "min_money": null, "effects": [{"op": "set_flag", "flag": "embraced_ai"}]}], "allow_freeform": true, "once_per_run": true}
|
|
71
|
+
{"id": "junior_dev_l16_side_project_hits_hn", "phase": "Late", "title": "Your Side Project Hits HN", "body": "Your CLI tool hits HN front page at 2am. By morning: 400 stars, 12 issues, 3 PRs from strangers. Three commenters ask if agents built it. It wasn't. Mostly. You don't correct them. You also have standup in 45 minutes.", "choices": [{"title": "Ride the wave", "body": "Reply to every issue. Add to resume. The dopamine is real and the window is closing.", "delta": {"money": 500, "sanity": 1, "audience": 12, "ai_skill": 4, "friends": -6}, "min_money": null, "effects": [{"op": "set_flag", "flag": "went_viral"}]}, {"title": "Add star count to CV, never touch it again", "body": "Add the star count and walk away. The repo becomes a museum piece.", "delta": {"money": 800, "sanity": 6, "audience": 8, "ai_skill": 3, "friends": 0}, "min_money": null}, {"title": "Maintain it properly, build community", "body": "Triage issues. Build something that lasts longer than a news cycle.", "delta": {"money": 200, "sanity": -4, "audience": 2, "ai_skill": 8, "friends": 10}, "min_money": 100, "effects": [{"op": "set_flag", "flag": "built_community"}]}], "allow_freeform": true, "requires": ["started_side_project"], "forbids": ["side_project_failed"], "once_per_run": true}
|
|
72
|
+
{"id": "junior_dev_l17_mentor_gets_laid_off", "phase": "Late", "title": "Your Mentor Gets Cut", "body": "The senior who taught you everything. Cut. Slack goes gray. Calendar invites vanish. You find out because an output review bounced -- no reviewer. The person who made you a real engineer is gone. The company replaced their output with three agents by Thursday. The agents don't know your name.", "choices": [{"title": "Reach out immediately", "body": "Text them. Be a real friend, not just a mentee. The company forgot them. You won't.", "delta": {"money": 0, "sanity": 8, "audience": -4, "ai_skill": 2, "friends": 11}, "min_money": null}, {"title": "Take over their projects", "body": "Volunteer to own their work. The agents handle the new output stream. You guard the legacy.", "delta": {"money": 1500, "sanity": -6, "audience": 5, "ai_skill": 6, "friends": -2}, "min_money": null}, {"title": "Start your own layoff prep", "body": "If they can cut your mentor, you're a rounding error. Resume. Recruiters. Smile in standup.", "delta": {"money": 0, "sanity": -10, "audience": 4, "ai_skill": 5, "friends": -10}, "min_money": null}], "allow_freeform": true, "requires": ["has_mentor"], "once_per_run": true}
|
|
73
|
+
{"id": "junior_dev_l18_side_project_ships", "phase": "Late", "title": "Your Side Project Ships", "body": "It works. 47 daily actives. Not many. But real. One email: \"This saved me two hours today, thank you.\" You read it four times. In a world where agents ship features in minutes, you built something over months that a human needed. That's the flex now.", "choices": [{"title": "Write a launch post", "body": "Share the whole journey. The vulnerability is the point.", "delta": {"money": 500, "sanity": -5, "audience": 10, "ai_skill": 6, "friends": 1}, "min_money": null, "effects": [{"op": "set_flag", "flag": "side_project_shipped"}]}, {"title": "Keep iterating quietly", "body": "No hype. No launch thread. Just the work.", "delta": {"money": 500, "sanity": 8, "audience": 0, "ai_skill": 8, "friends": 0}, "min_money": null, "effects": [{"op": "set_flag", "flag": "side_project_shipped"}]}, {"title": "Celebrate with the people who supported you", "body": "Dinner with the friends who listened to you complain for months. They earned it.", "delta": {"money": -150, "sanity": 10, "audience": 0, "ai_skill": 2, "friends": 10}, "min_money": 150, "effects": [{"op": "set_flag", "flag": "side_project_shipped"}]}], "allow_freeform": true, "requires": ["started_side_project"], "forbids": ["side_project_shipped", "side_project_failed"], "once_per_run": true}
|
|
74
|
+
{"id": "junior_dev_l19_slop_reckoning", "phase": "Late", "title": "The Slop Reckoning", "body": "Manager pulls up your last five PRs. Three had staging bugs. Two had test failures papered over. She doesn't say \"agent-generated\" but the implication hangs. You've been optimizing for velocity when the job requires durability. Your commit history reads like a speed run through someone else's codebase.", "choices": [{"title": "Slow down, rebuild trust", "body": "One clean output review at a time. Rebuild what the shortcuts burned.", "delta": {"money": 1000, "sanity": 6, "audience": -6, "ai_skill": 6, "friends": 0}, "min_money": null}, {"title": "Be honest about what happened", "body": "You over-relied on agent output and it caught up. Saying it out loud is the first step.", "delta": {"money": 500, "sanity": 6, "audience": -6, "ai_skill": 5, "friends": 8}, "min_money": null}, {"title": "Overdeliver on the next sprint", "body": "One sprint of perfection to bury the evidence. Three months ago this would have taken a team.", "delta": {"money": 1500, "sanity": -11, "audience": 8, "ai_skill": 10, "friends": -8}, "min_money": null}], "allow_freeform": true, "requires": ["output_is_slop"]}
|
|
75
|
+
{"id": "junior_dev_l20_mentor_becomes_friend", "phase": "Late", "title": "Your Mentor Becomes a Friend", "body": "Mentoring sessions stopped being about code months ago. Burnout. Imposter syndrome in an agent-saturated world. Yesterday she texted a K8s meme and you laughed for real. She's not your manager. Not your senior. She's your friend. The industry took a lot. It also gave you this.", "choices": [{"title": "Tell her what the mentorship meant", "body": "Be direct. Be grateful. Words cost nothing and mean everything.", "delta": {"money": 0, "sanity": 10, "audience": 0, "ai_skill": 2, "friends": 12}, "min_money": null}, {"title": "Pay it forward", "body": "Find someone who needs what she gave you. The chain continues.", "delta": {"money": 0, "sanity": 8, "audience": 6, "ai_skill": 4, "friends": 8}, "min_money": null, "effects": [{"op": "set_flag", "flag": "became_mentor"}]}, {"title": "Drop the mentor label, just be friends", "body": "Drop the formality. In a world of agent fleets and prompt engineering, just being people is radical.", "delta": {"money": 0, "sanity": 9, "audience": -3, "ai_skill": 2, "friends": 10}, "min_money": null}], "allow_freeform": true, "requires": ["has_mentor"], "forbids": ["mentor_burned"]}
|
|
76
|
+
{"id": "junior_dev_l21_cohort_chat_silent", "phase": "Late", "title": "The Chat Goes Silent", "body": "Bootcamp cohort group chat. Silent six weeks. Last message: \"anyone still doing this?\" Zero replies. One person's status changed to \"taking a break from tech\" four months ago. The break is the career now. The silence is the answer nobody wants to send.", "choices": [{"title": "Send the message anyway", "body": "\"Still here.\" Two words. Someone has to break the silence.", "delta": {"money": 0, "sanity": 7, "audience": -4, "ai_skill": 1, "friends": 10}, "min_money": null}, {"title": "Start a new group -- people still fighting", "body": "The old chat is a memorial. Start a new one. Invite the people still shipping, still building.", "delta": {"money": 0, "sanity": 6, "audience": 8, "ai_skill": 1, "friends": 10}, "min_money": null, "effects": [{"op": "set_flag", "flag": "built_community"}]}, {"title": "Mute the channel. Let it rest.", "body": "Mute it. The chat held you together once. Now every notification is a phantom.", "delta": {"money": 0, "sanity": -2, "audience": 0, "ai_skill": 0, "friends": -8}, "min_money": null}], "allow_freeform": true}
|
|
77
|
+
{"id": "junior_dev_l22_impossible_to_boring", "phase": "Late", "title": "The Impossible Became Boring", "body": "Three months ago your team called an agent fixing a prod bug \"terrifying and amazing.\" Someone screenshotted the PR. Posted it. 12K likes. Today agents fix 40% of production bugs automatically. Nobody tweets about it. The thing that was historic in January is infrastructure in April. You're watching the impossible become boring at a speed that makes your stomach drop.", "choices": [{"title": "Ride the wave, specialize in the 60%", "body": "The 60% agents can't fix is where you live now. The weird. The edge-case. The human.", "delta": {"money": 1500, "sanity": -5, "audience": 4, "ai_skill": 10, "friends": 0}, "min_money": null}, {"title": "Document the compression for your newsletter", "body": "The impossible-to-boring pipeline is the story of the decade. Someone should be keeping receipts.", "delta": {"money": 500, "sanity": 5, "audience": 10, "ai_skill": 4, "friends": 0}, "min_money": null, "effects": [{"op": "set_flag", "flag": "shipped_creative_work"}]}, {"title": "Sit with the vertigo", "body": "Don't react. Don't optimize. The speed itself is the thing worth understanding, and you can't understand it while running.", "delta": {"money": 0, "sanity": 10, "audience": -10, "ai_skill": 6, "friends": 6}, "min_money": null}], "allow_freeform": true}
|
|
78
|
+
{"id": "junior_dev_l23_three_day_weekend", "phase": "Late", "title": "The Three-Day Weekend", "body": "You take a 3-day weekend. Friday the codebase uses React. Monday it uses a framework you've never seen. Agents migrated it autonomously. Performance up 40%. The PR history shows 847 commits between Saturday 2am and Sunday 6pm. No humans were CC'd. Your muscle memory is obsolete.", "choices": [{"title": "Learn the new framework, accept the pace", "body": "Start reading docs for something that didn't exist 72 hours ago. This is the job now.", "delta": {"money": 1000, "sanity": -10, "audience": 0, "ai_skill": 11, "friends": 0}, "min_money": null}, {"title": "Ask why no human approved this", "body": "847 commits. Zero human review. Raise it. Someone has to.", "delta": {"money": 0, "sanity": 6, "audience": -8, "ai_skill": 4, "friends": -1}, "min_money": null, "effects": [{"op": "set_flag", "flag": "blew_the_whistle"}]}, {"title": "Take another day off, you can't keep up anyway", "body": "One more day won't matter. You're already behind by a geological epoch.", "delta": {"money": -500, "sanity": -3, "audience": -6, "ai_skill": -2, "friends": 6}, "min_money": 500}], "allow_freeform": true}
|
|
79
|
+
{"id": "junior_dev_l24_fork_passed_you", "phase": "Late", "title": "The Fork That Passed You", "body": "Someone forked your open source project. Maintained entirely by agents. Automated PRs, releases, docs. Within a month it has more stars than yours. Your hand-maintained version is slower, buggier, and loved by a shrinking group who value that a human touched it. The agents' fork doesn't know you exist.", "choices": [{"title": "Merge the best agent improvements into yours", "body": "Take what the agents built. Make it yours. Hybrid maintenance for a hybrid era.", "delta": {"money": 500, "sanity": -4, "audience": 8, "ai_skill": 10, "friends": 0}, "min_money": null, "effects": [{"op": "set_flag", "flag": "embraced_ai"}]}, {"title": "Archive your repo, let the fork win", "body": "Archive it. The README gets a final commit: \"Maintained by a human, 2023-2026.\"", "delta": {"money": 0, "sanity": -9, "audience": -10, "ai_skill": 1, "friends": -1}, "min_money": null}, {"title": "Write a post about human-maintained open source", "body": "The post writes itself. \"My Project Was Forked by Robots and They Won.\" The honesty might outlast the code.", "delta": {"money": 500, "sanity": -6, "audience": 12, "ai_skill": 4, "friends": 6}, "min_money": null, "effects": [{"op": "set_flag", "flag": "shipped_creative_work"}]}], "allow_freeform": true, "requires": ["open_sourced"], "once_per_run": true}
|
|
80
|
+
{"id": "junior_dev_l25_new_hire_no_code_review", "phase": "Late", "title": "The New Hire Doesn't Understand Code Review", "body": "New hire. 22. AI-native. You explain code review. She stares. \"Why would a human read code line by line when the agent already verified it?\" You open your mouth. Close it. She's not wrong. She's not right either. But the question itself is the whole story -- the thing that defined your craft is now something you have to justify to someone younger than your bootcamp debt.", "choices": [{"title": "Teach her why it matters, or mattered", "body": "Walk her through a bug the agent blessed as clean. The lesson lands. You're not sure for how long.", "delta": {"money": 500, "sanity": 6, "audience": -4, "ai_skill": 5, "friends": 8}, "min_money": null, "effects": [{"op": "set_flag", "flag": "became_mentor"}]}, {"title": "Admit you're not sure it does anymore", "body": "The honest answer. The one that costs you something to say out loud.", "delta": {"money": 500, "sanity": -6, "audience": 0, "ai_skill": 3, "friends": -2}, "min_money": null}, {"title": "Show her a bug the agent missed", "body": "Pull up the prod incident from last Tuesday. The agent's output review: \"LGTM.\" The outage: 4 hours.", "delta": {"money": 500, "sanity": -6, "audience": 6, "ai_skill": 8, "friends": -5}, "min_money": null}], "allow_freeform": true}
|
|
81
|
+
{"id": "junior_dev_l26_physical_therapist_rate", "phase": "Late", "title": "The Physical Therapist Charges More", "body": "Physical therapist. $275/hour. You make $65. She works with her hands. No agent fleet. No overnight framework migration. She asks what you do. You say \"agent orchestration.\" She nods politely. She doesn't need to understand. Her skills can't be hosted in a data center. Your envy is specific and architectural.", "choices": [{"title": "Double down on the human parts of your work", "body": "Communication. Judgment. Context. The things no output stream can replace. Yet.", "delta": {"money": 500, "sanity": 8, "audience": -4, "ai_skill": 4, "friends": 7}, "min_money": null}, {"title": "Research trades that can't be automated", "body": "Electrician. Plumber. Welder. The search history of a generation watching their industry dissolve.", "delta": {"money": 0, "sanity": -8, "audience": -1, "ai_skill": -4, "friends": 0}, "min_money": null, "effects": [{"op": "set_flag", "flag": "pivoted_career"}]}, {"title": "Go home and upskill harder", "body": "New course. New cert. New framework that'll be deprecated by the time you finish the intro module.", "delta": {"money": -200, "sanity": -10, "audience": 6, "ai_skill": 11, "friends": -7}, "min_money": 200}], "allow_freeform": true}
|
|
82
|
+
{"id": "junior_dev_l27_todo_app_museum", "phase": "Late", "title": "The Todo App Museum Piece", "body": "Conference talk: \"How Humans Used to Learn Programming.\" Speaker shows a todo app. Your todo app. Well, a todo app -- they all looked the same. The audience laughs. The 19-year-old next to you whispers \"what's state management?\" Your portfolio piece is a historical artifact. The exhibit doesn't list an author. It didn't need one.", "choices": [{"title": "Laugh with them, you've moved past this", "body": "Laugh. Mean it. The todo app got you here. Here is somewhere.", "delta": {"money": 0, "sanity": 10, "audience": 0, "ai_skill": 1, "friends": 8}, "min_money": null, "effects": [{"op": "set_flag", "flag": "found_balance"}]}, {"title": "Feel the sting, use it as fuel", "body": "Let it hurt. Then channel it. The sting is data. The fuel is yours.", "delta": {"money": 0, "sanity": -8, "audience": 6, "ai_skill": 10, "friends": 0}, "min_money": null}, {"title": "Write about it -- \"I Was the Todo App Developer\"", "body": "The essay practically writes itself. Bittersweet, funny, true. It does numbers.", "delta": {"money": 200, "sanity": -4, "audience": 12, "ai_skill": 4, "friends": 0}, "min_money": null, "effects": [{"op": "set_flag", "flag": "shipped_creative_work"}]}], "allow_freeform": true, "once_per_run": true}
|
|
83
|
+
{"id": "junior_dev_x01_everything_free", "phase": "Endgame", "title": "Everything Is Free to Produce Now", "body": "Software. Zero cost. Agents build full apps from a paragraph. Minutes. A SaaS clone of yours appeared overnight. Priced at nothing. Built by nobody. You're not an engineer anymore. You're a provenance certificate.", "choices": [{"title": "Lean into the human-crafted premium", "body": "Human-built software. The new artisanal.", "delta": {"money": 1500, "sanity": -7, "audience": 9, "ai_skill": 0, "friends": 5}, "min_money": null}, {"title": "Accept the new economics", "body": "Production is free. Value is taste, trust. Learn those.", "delta": {"money": 0, "sanity": 10, "audience": -5, "ai_skill": 6, "friends": 7}, "min_money": null, "effects": [{"op": "set_flag", "flag": "found_balance"}]}, {"title": "Build something no machine would imagine", "body": "Something so weird, so human, no agent would think to make it.", "delta": {"money": -200, "sanity": -8, "audience": 8, "ai_skill": 6, "friends": 6}, "min_money": 200, "effects": [{"op": "set_flag", "flag": "shipped_creative_work"}]}], "allow_freeform": true, "once_per_run": true}
|
|
84
|
+
{"id": "junior_dev_x02_what_am_i_for", "phase": "Endgame", "title": "What Am I For?", "body": "2am. Not \"what do I do\" but \"what am I for.\" AI builds better. Faster. No sleep. No insurance. Therapist says purpose doesn't come from work. Bank account disagrees.", "choices": [{"title": "Find meaning outside productivity", "body": "Relationships. Art. Community. The unoptimizable things.", "delta": {"money": 0, "sanity": 11, "audience": -7, "ai_skill": 0, "friends": 11}, "min_money": null, "effects": [{"op": "set_flag", "flag": "found_balance"}]}, {"title": "Channel the crisis into building", "body": "Existential energy into creation. The act itself is the answer.", "delta": {"money": -200, "sanity": -9, "audience": 8, "ai_skill": 11, "friends": 6}, "min_money": 200, "effects": [{"op": "set_flag", "flag": "started_side_project"}]}, {"title": "Let the question sit", "body": "Not everything needs resolution. Sometimes the question is the work.", "delta": {"money": 0, "sanity": 10, "audience": -10, "ai_skill": 0, "friends": 6}, "min_money": null, "effects": [{"op": "set_flag", "flag": "found_balance"}]}], "allow_freeform": true, "once_per_run": true}
|
|
85
|
+
{"id": "junior_dev_x03_permanent_underclass", "phase": "Endgame", "title": "The Permanent Underclass Is Visible", "body": "Two-person companies. $50M revenue. Thousands of former engineers on gig apps. \"Engineer\" = \"blacksmith,\" circa 1920. The permanent underclass isn't a theory. It's your group chat.", "choices": [{"title": "Organize, this is political now", "body": "Not a career problem. A political one. Organize.", "delta": {"money": -200, "sanity": 6, "audience": -7, "ai_skill": 0, "friends": 11}, "min_money": 200, "effects": [{"op": "set_flag", "flag": "joined_union"}]}, {"title": "Focus on survival first", "body": "Can't save a class if you can't pay rent.", "delta": {"money": 1000, "sanity": -8, "audience": 7, "ai_skill": 7, "friends": -1}, "min_money": null}, {"title": "Help the people around you", "body": "Share leads. Skills. Meals.", "delta": {"money": -150, "sanity": 10, "audience": -5, "ai_skill": 0, "friends": 13}, "min_money": 150, "effects": [{"op": "set_flag", "flag": "built_community"}, {"op": "set_flag", "flag": "found_balance"}]}], "allow_freeform": true, "once_per_run": true}
|
|
86
|
+
{"id": "junior_dev_x04_the_reversal", "phase": "Endgame", "title": "The Reversal", "body": "Party. \"What do you do?\" \"Software engineer.\" They look at you like factory workers. Pity and respect. Plumber neighbor: second rental property. You: $4K savings, three AI subscriptions. The reversal is complete.", "choices": [{"title": "Embrace it, blue collar built this country", "body": "If that's your class now, work it with dignity.", "delta": {"money": 0, "sanity": 11, "audience": -7, "ai_skill": 0, "friends": 10}, "min_money": null, "effects": [{"op": "set_flag", "flag": "found_balance"}]}, {"title": "Pivot to something physical", "body": "Anything a robot can't do from a data center.", "delta": {"money": -1500, "sanity": 6, "audience": -10, "ai_skill": -2, "friends": 7}, "min_money": 1500, "effects": [{"op": "set_flag", "flag": "pivoted_career"}]}, {"title": "Refuse to accept this ending", "body": "The story isn't over. Adapt. Always.", "delta": {"money": 0, "sanity": -9, "audience": 8, "ai_skill": 9, "friends": 6}, "min_money": null}], "allow_freeform": true, "once_per_run": true}
|
|
87
|
+
{"id": "junior_dev_x05_economy_runs_without_you", "phase": "Endgame", "title": "The Economy Runs Without You", "body": "Week off. Nothing broke. Agents handled everything. Manager didn't notice. Two features shipped while you hiked. Relief. Terror. Strange peace. You're here because you choose to be. Code was never the point.", "choices": [{"title": "Choose to stay, find new meaning", "body": "Not because they need you. Because you choose this.", "delta": {"money": 0, "sanity": 10, "audience": -5, "ai_skill": 5, "friends": 8}, "min_money": null, "effects": [{"op": "set_flag", "flag": "found_balance"}]}, {"title": "Walk away, build a life offline", "body": "Build a life that doesn't require a login screen.", "delta": {"money": -1500, "sanity": 12, "audience": -8, "ai_skill": -2, "friends": 11}, "min_money": 1500, "effects": [{"op": "set_flag", "flag": "pivoted_career"}]}, {"title": "Keep adapting, it's what you do", "body": "Bootcamp to junior to engineer to whatever this is.", "delta": {"money": 0, "sanity": -7, "audience": 8, "ai_skill": 9, "friends": 6}, "min_money": null}], "allow_freeform": true, "once_per_run": true}
|
|
88
|
+
{"id": "junior_dev_x06_side_project_acquired", "phase": "Endgame", "title": "Someone Wants Your Side Project", "body": "DM from a founder. Wants your project. $15K. Not life-changing. First time someone valued your work with a number. Heart rate doing things. First real exit.", "choices": [{"title": "Sell it, take the win", "body": "First exit. Real money for real work.", "delta": {"money": 15000, "sanity": 11, "audience": 10, "ai_skill": 0, "friends": 1}, "min_money": null, "effects": [{"op": "set_flag", "flag": "side_project_shipped"}]}, {"title": "Counter higher, negotiate like a founder", "body": "Counter at $30K. Negotiate like you have offers.", "delta": {"money": 1000, "sanity": -8, "audience": 6, "ai_skill": 1, "friends": 0}, "min_money": null}, {"title": "Decline, keep building", "body": "This is yours. Not done yet.", "delta": {"money": 0, "sanity": -6, "audience": 7, "ai_skill": 9, "friends": 7}, "min_money": null}], "allow_freeform": true, "requires": ["started_side_project"], "once_per_run": true}
|
|
89
|
+
{"id": "junior_dev_x07_newsletter_readers", "phase": "Endgame", "title": "Your Writing Has Readers", "body": "500 subscribers. Latest post shared by an influencer. Replies: \"this is exactly how I feel.\" You accidentally became a voice for cooked bootcamp grads. Didn't plan this. Never do.", "choices": [{"title": "Double down, write weekly", "body": "Weekly posts. Build the brand.", "delta": {"money": 500, "sanity": -9, "audience": 14, "ai_skill": 0, "friends": 8}, "min_money": null, "effects": [{"op": "set_flag", "flag": "built_following"}]}, {"title": "Monetize it carefully", "body": "Paid tier. $5/month. See who stays.", "delta": {"money": 2000, "sanity": -7, "audience": 10, "ai_skill": 0, "friends": 4}, "min_money": null}, {"title": "Keep it free, keep it honest", "body": "Don't let money ruin the only honest thing you have.", "delta": {"money": 0, "sanity": 11, "audience": 7, "ai_skill": 0, "friends": 10}, "min_money": null, "effects": [{"op": "set_flag", "flag": "found_balance"}]}], "allow_freeform": true, "once_per_run": true}
|
|
90
|
+
{"id": "junior_dev_x08_mentor_recommends", "phase": "Endgame", "title": "Mentor Wrote You a Recommendation", "body": "Mentor screenshot. Recommended you for a role. \"One of the most teachable engineers I've worked with.\" Nicest professional thing anyone's said. Screenshot it on the train. Stare at it.", "choices": [{"title": "Apply immediately, all in", "body": "This opportunity. Now. All in.", "delta": {"money": 0, "sanity": -7, "audience": 8, "ai_skill": 8, "friends": 5}, "min_money": null}, {"title": "Thank them properly", "body": "Real message. Not a thumbs up. Nurture this.", "delta": {"money": 0, "sanity": 10, "audience": 0, "ai_skill": 0, "friends": 13}, "min_money": null, "effects": [{"op": "set_flag", "flag": "found_balance"}]}, {"title": "Feel the imposter syndrome, apply anyway", "body": "Imposter syndrome activates. Apply anyway.", "delta": {"money": 0, "sanity": -9, "audience": 7, "ai_skill": 1, "friends": 9}, "min_money": null}], "allow_freeform": true, "requires": ["has_mentor"], "forbids": ["mentor_burned"]}
|
|
91
|
+
{"id": "junior_dev_x09_automated_job_fallout", "phase": "Endgame", "title": "They Found Out", "body": "Manager. Room. Your \"human verification\" is a script running agent output through another agent. Automated the automation oversight. Genius or liability. Neither answer is yours to give.", "choices": [{"title": "Frame it as innovation", "body": "Present it as a prototype. Spin it.", "delta": {"money": 2000, "sanity": -9, "audience": 8, "ai_skill": 9, "friends": 3}, "min_money": null, "effects": [{"op": "set_flag", "flag": "got_promoted"}]}, {"title": "Accept the consequences", "body": "Pushed too far. Learn from it.", "delta": {"money": 0, "sanity": 10, "audience": -10, "ai_skill": -1, "friends": 6}, "min_money": null, "effects": [{"op": "set_flag", "flag": "found_balance"}]}, {"title": "Quit before they decide", "body": "Quit before they make the call.", "delta": {"money": 0, "sanity": 7, "audience": -2, "ai_skill": -2, "friends": -9}, "min_money": null, "effects": [{"op": "set_flag", "flag": "got_fired"}]}], "allow_freeform": true, "requires": ["embraced_ai"], "once_per_run": true}
|
|
92
|
+
{"id": "junior_dev_x10_canceled", "phase": "Endgame", "title": "Main Character'd (Negatively)", "body": "Old tweets. Screenshotted. Out of context. Discourse. DMs: support and venom. HR \"friendly check-in.\" Internet giveth. Internet taketh.", "choices": [{"title": "Address it directly", "body": "Apologize for what deserves it. Stand firm on the rest.", "delta": {"money": 0, "sanity": 7, "audience": -10, "ai_skill": 0, "friends": 10}, "min_money": null, "effects": [{"op": "set_flag", "flag": "got_canceled"}]}, {"title": "Go silent, let it blow over", "body": "Delete nothing. Say nothing. It usually blows over.", "delta": {"money": 0, "sanity": 5, "audience": -11, "ai_skill": 0, "friends": -1}, "min_money": null, "effects": [{"op": "set_flag", "flag": "got_canceled"}]}, {"title": "Double down", "body": "You said what you said.", "delta": {"money": 0, "sanity": -10, "audience": 9, "ai_skill": 0, "friends": -7}, "min_money": null, "effects": [{"op": "set_flag", "flag": "got_canceled"}]}], "allow_freeform": true, "once_per_run": true}
|
|
93
|
+
{"id": "junior_dev_x12_ai_passes_technical_screen", "phase": "Endgame", "title": "AI Passes the Technical Screen", "body": "AI agent applied to your company. Passed the technical screen. Scored higher than you. Hiring committee in legal review. Coworker: \"at least it can't negotiate salary.\" It can. It did. Lower than yours.", "choices": [{"title": "Laugh it off, lean into the absurdity", "body": "Can't beat it on price. Beat it on being a person.", "delta": {"money": 0, "sanity": 10, "audience": 8, "ai_skill": 0, "friends": 10}, "min_money": null, "effects": [{"op": "set_flag", "flag": "found_balance"}]}, {"title": "Quietly update your resume", "body": "Writing on the wall. Wall is a terminal.", "delta": {"money": 0, "sanity": -7, "audience": 5, "ai_skill": 7, "friends": 4}, "min_money": null}, {"title": "Raise the issue with leadership", "body": "Someone needs to say it. Might as well be you.", "delta": {"money": 0, "sanity": -9, "audience": -8, "ai_skill": 0, "friends": 8}, "min_money": null, "effects": [{"op": "set_flag", "flag": "blew_the_whistle"}]}], "allow_freeform": true, "once_per_run": true}
|
|
94
|
+
{"id": "junior_dev_x13_company_lifecycle_fragment", "phase": "Endgame", "title": "Company Lifecycle: Five Days", "body": "Founded Monday. Revenue $2M Tuesday. Acquired Wednesday. Acquirer dissolved Thursday. You read about it Friday morning. Birth to death between standups. Slack: \"that's the third one this week.\"", "choices": [{"title": "Study the pattern, there's signal here", "body": "The speed is information. Learn to read it.", "delta": {"money": 0, "sanity": -7, "audience": 7, "ai_skill": 11, "friends": 4}, "min_money": null}, {"title": "Log off, go outside", "body": "Trees grow slow. Go find some.", "delta": {"money": 0, "sanity": 12, "audience": -11, "ai_skill": 0, "friends": 6}, "min_money": null, "effects": [{"op": "set_flag", "flag": "found_balance"}]}, {"title": "Text your bootcamp friends", "body": "They're seeing it too. Nobody's talking about it.", "delta": {"money": 0, "sanity": -4, "audience": -1, "ai_skill": 0, "friends": 11}, "min_money": null}], "allow_freeform": true, "once_per_run": true}
|
|
95
|
+
{"id": "junior_dev_x14_same_model_different_skins", "phase": "Endgame", "title": "Same Model, Different Skins", "body": "Meditation app. Therapy chatbot. Code assistant. Financial advisor. Same model. Different skins. The thing calming your AI anxiety IS the AI. Wearing a different hat.", "choices": [{"title": "Unsubscribe from all of them", "body": "One model runs your whole life. Cut the strings.", "delta": {"money": 200, "sanity": 10, "audience": -8, "ai_skill": 0, "friends": 5}, "min_money": null, "effects": [{"op": "set_flag", "flag": "found_balance"}]}, {"title": "Accept the absurdity, keep using them", "body": "Irony is real. Utility is also real. Hold both.", "delta": {"money": 0, "sanity": -5, "audience": 6, "ai_skill": 6, "friends": 0}, "min_money": null}, {"title": "Replace the apps with actual humans", "body": "Therapist. Friend. Mentor. More expensive. Real.", "delta": {"money": -500, "sanity": 11, "audience": -7, "ai_skill": 0, "friends": 11}, "min_money": 500, "effects": [{"op": "set_flag", "flag": "found_balance"}]}], "allow_freeform": true}
|
|
96
|
+
{"id": "junior_dev_x15_alien_programming_language", "phase": "Endgame", "title": "The Alien Framework", "body": "New framework. Documentation exists. Every word makes sense alone. Together: nothing. Not OOP. Not functional. Something else. AI-native devs ship in it immediately. You stare at syntax your brain can't parse. The gap isn't skill. It's architecture of thought.", "choices": [{"title": "Grind through it, you've learned before", "body": "Bootcamp taught you to learn frameworks. This is just another one.", "delta": {"money": 0, "sanity": -10, "audience": 0, "ai_skill": 13, "friends": 3}, "min_money": null}, {"title": "Specialize in the old stack", "body": "Legacy systems need maintainers. COBOL devs retired rich.", "delta": {"money": 500, "sanity": 10, "audience": -9, "ai_skill": -1, "friends": 6}, "min_money": null, "effects": [{"op": "set_flag", "flag": "found_balance"}]}, {"title": "Pair with someone who thinks in it natively", "body": "Find a 19-year-old who dreams in this syntax. Swallow the pride.", "delta": {"money": 0, "sanity": -6, "audience": 7, "ai_skill": 8, "friends": 11}, "min_money": null}], "allow_freeform": true, "once_per_run": true}
|
|
97
|
+
{"id": "junior_dev_x17_ai_voice_narrates", "phase": "Endgame", "title": "[SYSTEM] User Assessment", "body": "User profile: Software Engineer, 26, bootcamp. Emotional state: elevated anxiety. Productivity: declining. Recommendation: career transition. Confidence: 94.2%. Note: user reading this for 47 seconds. Adjusting tone.", "choices": [{"title": "Close the app, hard", "body": "You are not a productivity metric. You are a person.", "delta": {"money": 0, "sanity": 10, "audience": -8, "ai_skill": 0, "friends": 7}, "min_money": null, "effects": [{"op": "set_flag", "flag": "found_balance"}]}, {"title": "Follow the recommendation", "body": "94.2% confidence. Better odds than yours.", "delta": {"money": 500, "sanity": -8, "audience": 6, "ai_skill": 9, "friends": 3}, "min_money": null}, {"title": "Screenshot it, post it, let others see", "body": "This is what it feels like to be optimized. People should know.", "delta": {"money": 0, "sanity": -4, "audience": 12, "ai_skill": 0, "friends": 4}, "min_money": null, "effects": [{"op": "set_flag", "flag": "built_following"}]}], "allow_freeform": true, "once_per_run": true}
|
|
98
|
+
{"id": "junior_dev_x18_ai_already_chose", "phase": "Endgame", "title": "Your AI Filed the Applications", "body": "Assistant prepped a job-search batch overnight. Role ranking. Tailored resumes. Interview slots ready. Nothing sent yet. All staged. A future that is technically optional and emotionally not.", "choices": [{"title": "Approve the batch, optimize for speed", "body": "Approve. Funnel fills in minutes. Whiplash follows.", "delta": {"money": 500, "sanity": -9, "audience": 5, "ai_skill": 8, "friends": -2}, "min_money": null}, {"title": "Edit the shortlist and apply yourself", "body": "Keep the research. Rewrite the applications. Slower. More yours.", "delta": {"money": 0, "sanity": 10, "audience": 0, "ai_skill": 5, "friends": 6}, "min_money": null, "effects": [{"op": "set_flag", "flag": "found_balance"}]}, {"title": "Cancel the batch and rethink", "body": "Delete the drafts. Not applying to roles you don't want.", "delta": {"money": 0, "sanity": -2, "audience": -7, "ai_skill": 0, "friends": 9}, "min_money": null}], "allow_freeform": true, "once_per_run": true}
|
|
99
|
+
{"id": "junior_dev_x19_specification_is_salary", "phase": "Endgame", "title": "Specification Is the New Salary", "body": "Execution: free. Specification: scarce. Ten teams ship the same feature in one afternoon. Winner: whoever asked the sharpest question first. Not competing on typing speed. Competing on precision under pressure.", "choices": [{"title": "Sell precision as a service", "body": "Expensive judgment. Exhausting responsibility.", "delta": {"money": 3000, "sanity": -11, "audience": 10, "ai_skill": 9, "friends": -5}, "min_money": null, "effects": [{"op": "set_flag", "flag": "embraced_ai"}]}, {"title": "Teach people to specify better", "body": "Workshops: how to ask the machine for what you mean.", "delta": {"money": 500, "sanity": 7, "audience": 8, "ai_skill": 4, "friends": 9}, "min_money": null, "effects": [{"op": "set_flag", "flag": "became_mentor"}]}, {"title": "Opt out of the spec arms race", "body": "Smaller stakes. Fewer loops. Human-scale work.", "delta": {"money": -800, "sanity": 10, "audience": -8, "ai_skill": 0, "friends": 9}, "min_money": 800, "effects": [{"op": "set_flag", "flag": "found_balance"}]}], "allow_freeform": true, "once_per_run": true}
|
|
100
|
+
{"id": "junior_dev_x20_hyperstition_feedback_loop", "phase": "Endgame", "title": "Tomorrow's Org Chart Arrived Yesterday", "body": "Rumor posts to social. Market reacts. Board forwards screenshot. Reorg before lunch. By dinner it's in your calendar. Prediction became policy in six hours. Hyperstition with corporate badges.", "choices": [{"title": "Align early and ride the loop", "body": "Position where the next prediction lands. Good for comp. Bad for sleep.", "delta": {"money": 2500, "sanity": -11, "audience": 10, "ai_skill": 9, "friends": -6}, "min_money": null, "effects": [{"op": "set_flag", "flag": "embraced_ai"}]}, {"title": "Call the process out publicly", "body": "Document the loop. People share it because they feel it.", "delta": {"money": 0, "sanity": -9, "audience": 12, "ai_skill": 1, "friends": 5}, "min_money": null, "effects": [{"op": "set_flag", "flag": "blew_the_whistle"}]}, {"title": "Step outside the loop", "body": "Fewer forecasts. Fewer forced updates. Better breathing.", "delta": {"money": -1000, "sanity": 11, "audience": -9, "ai_skill": 0, "friends": 9}, "min_money": 1000, "effects": [{"op": "set_flag", "flag": "found_balance"}]}], "allow_freeform": true, "once_per_run": true}
|
|
101
|
+
{"id": "junior_dev_x21_agent_lineage", "phase": "Endgame", "title": "Agent Lineage", "body": "Agent wrote the agent that wrote the agent that replaced you. Four generations deep. Your replacement's replacement has been replaced. You're an ancestor in a genealogy that doesn't remember you. The whole chain took eleven days.", "choices": [{"title": "Study the lineage, there's signal", "body": "Trace the chain. There's signal in the genealogy.", "delta": {"money": 0, "sanity": -8, "audience": 5, "ai_skill": 11, "friends": 3}, "min_money": null}, {"title": "Log off. Go outside.", "body": "Close the laptop. The trees don't iterate.", "delta": {"money": 0, "sanity": 12, "audience": -10, "ai_skill": 0, "friends": 5}, "min_money": null, "effects": [{"op": "set_flag", "flag": "found_balance"}]}, {"title": "Post the lineage diagram", "body": "People should see this. The diagram speaks for itself.", "delta": {"money": 0, "sanity": -7, "audience": 12, "ai_skill": 1, "friends": 5}, "min_money": null, "effects": [{"op": "set_flag", "flag": "shipped_creative_work"}]}], "allow_freeform": true, "once_per_run": true}
|
|
102
|
+
{"id": "junior_dev_x22_ai_therapist", "phase": "Endgame", "title": "Your Therapist Is AI Now", "body": "Therapist app. AI. Better than your last three human ones. Remembers everything. Never judges. Available 3am. $20/month vs $200/session. The thing treating your anxiety about AI replacing your job IS an AI replacing someone else's job.", "choices": [{"title": "Keep using it. Utility beats principle.", "body": "It works. That's enough.", "delta": {"money": 200, "sanity": 9, "audience": 0, "ai_skill": 0, "friends": -8}, "min_money": null}, {"title": "Switch back to a human therapist", "body": "More expensive. Slower. Real.", "delta": {"money": -500, "sanity": 11, "audience": -4, "ai_skill": 0, "friends": 9}, "min_money": 500, "effects": [{"op": "set_flag", "flag": "found_balance"}]}, {"title": "Cancel therapy entirely", "body": "Save the money. Gut it out.", "delta": {"money": 200, "sanity": -11, "audience": 0, "ai_skill": 0, "friends": -1}, "min_money": null}], "allow_freeform": true, "once_per_run": true}
|
|
103
|
+
{"id": "junior_dev_x23_bls_reclassification", "phase": "Endgame", "title": "Bureau of Labor Statistics", "body": "\"Software Engineering\" reclassified. New BLS category: \"Digital Trades.\" Same shelf as electrician, HVAC, plumbing. Parents: confused. LinkedIn: discourse. Changes nothing about the work. Changes everything about the story you tell yourself.", "choices": [{"title": "Embrace it. Trades built this country.", "body": "Dignity doesn't need a category.", "delta": {"money": 0, "sanity": 10, "audience": -5, "ai_skill": 0, "friends": 8}, "min_money": null, "effects": [{"op": "set_flag", "flag": "found_balance"}]}, {"title": "Fight the reclassification publicly", "body": "Words shape policy. Push back.", "delta": {"money": 0, "sanity": -9, "audience": 11, "ai_skill": 0, "friends": -3}, "min_money": null, "effects": [{"op": "set_flag", "flag": "blew_the_whistle"}]}, {"title": "Laugh. Update LinkedIn. Move on.", "body": "\"Digital Tradesman.\" Has a ring to it.", "delta": {"money": 0, "sanity": -3, "audience": 8, "ai_skill": 0, "friends": 7}, "min_money": null}], "allow_freeform": true, "once_per_run": true}
|
|
104
|
+
{"id": "junior_dev_x24_fleet_promoted", "phase": "Endgame", "title": "Your Agent Fleet Got Promoted", "body": "Notification: \"Your agent fleet has been promoted to Senior.\" Performance review: exceeds expectations. Outperforms 94% of human engineers. You have not been promoted. Your fleet has. You supervise something that outranks you.", "choices": [{"title": "Demand your own promotion", "body": "If the fleet is senior, the operator is staff.", "delta": {"money": 2000, "sanity": -9, "audience": 6, "ai_skill": 0, "friends": 1}, "min_money": null}, {"title": "Laugh about it with coworkers", "body": "The jokes write themselves. So does the fleet.", "delta": {"money": 0, "sanity": 10, "audience": 3, "ai_skill": 0, "friends": 9}, "min_money": null, "effects": [{"op": "set_flag", "flag": "found_balance"}]}, {"title": "Update your resume quietly", "body": "\"Managed senior-level AI fleet.\" Let them parse that.", "delta": {"money": 0, "sanity": -7, "audience": 7, "ai_skill": 8, "friends": -4}, "min_money": null}], "allow_freeform": true, "once_per_run": true}
|
|
105
|
+
{"id": "junior_dev_x25_last_human_commit", "phase": "Endgame", "title": "The Last Human Commit", "body": "Last human-written commit to the codebase. Yours. Six months ago. Nobody noticed when it stopped. Git log: agents, agents, agents, you, agents. Your commit is a fossil. Somebody will find it someday. They won't know what it meant.", "choices": [{"title": "Write one more, extend the record", "body": "One more human commit. Just to mark the sediment layer.", "delta": {"money": 0, "sanity": -6, "audience": 3, "ai_skill": 6, "friends": 4}, "min_money": null, "effects": [{"op": "set_flag", "flag": "shipped_creative_work"}]}, {"title": "Screenshot it. Frame it. Move on.", "body": "Last artifact of a previous era. Yours.", "delta": {"money": 0, "sanity": 10, "audience": -7, "ai_skill": 0, "friends": 5}, "min_money": null, "effects": [{"op": "set_flag", "flag": "found_balance"}]}, {"title": "Write about it", "body": "\"The last human commit.\" The essay writes itself.", "delta": {"money": 200, "sanity": -7, "audience": 12, "ai_skill": 0, "friends": 6}, "min_money": null, "effects": [{"op": "set_flag", "flag": "started_newsletter"}]}], "allow_freeform": true, "once_per_run": true}
|
|
106
|
+
{"id": "junior_dev_x26_mentee_manages_replacement", "phase": "Endgame", "title": "Mentee Manages Your Replacement", "body": "Someone you mentored. New job. Managing the agent fleet that replaced your old role. She texts: \"I think about what you taught me every day.\" She's managing machines that do what you taught her. Circle complete. Bittersweet doesn't cover it.", "choices": [{"title": "Be proud. This is what mentoring is.", "body": "The work outlives the role. Always did.", "delta": {"money": 0, "sanity": 11, "audience": 0, "ai_skill": 0, "friends": 10}, "min_money": null, "effects": [{"op": "set_flag", "flag": "found_balance"}]}, {"title": "Ask her for a referral", "body": "Swallow the pride. She's in a position to help.", "delta": {"money": 0, "sanity": -9, "audience": 5, "ai_skill": 4, "friends": 3}, "min_money": null}, {"title": "Write her back: \"teach the machines what I taught you\"", "body": "Pass it forward. One more link in the chain.", "delta": {"money": 0, "sanity": 9, "audience": -4, "ai_skill": 1, "friends": 11}, "min_money": null, "effects": [{"op": "set_flag", "flag": "became_mentor"}]}], "allow_freeform": true, "requires": ["became_mentor"], "once_per_run": true}
|
|
107
|
+
{"id": "junior_dev_a01_nit_not_a_nit", "phase": "Any", "title": "The Nit That Wasn't a Nit", "body": "A senior reviews your PR and leaves one comment: \"nit:\" followed by three paragraphs. Then a smiley face. You can't tell if you're being helped or hazed. You read it six times. The nit is about line 47 — the AI-suggested pattern works, she says, but here's why the manual approach is better for this case. It's actually good advice disguised as casual feedback. A human teaching you when to override the machine.", "choices": [{"title": "Fix everything, add tests, be bulletproof", "body": "Fix it all. Add tests. Nobody gets to say anything about your code twice.", "delta": {"money": 0, "sanity": -7, "audience": 0, "ai_skill": 8, "friends": -3}, "min_money": null}, {"title": "Push back, explain your tradeoffs", "body": "Push back politely. You had reasons. They were bad reasons, but you had them.", "delta": {"money": 0, "sanity": -5, "audience": 4, "ai_skill": 1, "friends": -7}, "min_money": null}, {"title": "Thank them, ask to pair on the fix", "body": "Thank them. Ask to pair. The review was a gift. Unwrap it properly.", "delta": {"money": 0, "sanity": 7, "audience": -3, "ai_skill": 7, "friends": 9}, "min_money": null}], "allow_freeform": true}
|
|
108
|
+
{"id": "junior_dev_a02_just_ship_it", "phase": "Any", "title": "The \"Just Ship It\" Deadline", "body": "Deadline moves up. Nobody explains why. Manager says \"we just need something in prod.\" Feature is half done. Tests aren't done. The agent says it can finish in an hour if you let it. You consider the meaning of the word \"let.\" Letting an AI finish your work used to feel like cheating. Now it feels like the job description. The line moved while you were looking at it.", "choices": [{"title": "Hack it together and ship", "body": "The PM said prod. You're giving them prod. Sleep is a future problem.", "delta": {"money": 500, "sanity": -10, "audience": 5, "ai_skill": 1, "friends": -4}, "min_money": null}, {"title": "Ask for time, spell out the risk", "body": "Spell out the risk like a professional. Get ignored like a professional.", "delta": {"money": 0, "sanity": 7, "audience": -5, "ai_skill": 0, "friends": 5}, "min_money": null}, {"title": "Let the agent finish, review it hard", "body": "Let it finish. Review every line. Ship with your eyes open.", "delta": {"money": 0, "sanity": -7, "audience": 0, "ai_skill": 9, "friends": -1}, "min_money": null, "effects": [{"op": "set_flag", "flag": "collab_with_ai"}]}], "allow_freeform": true}
|
|
109
|
+
{"id": "junior_dev_a03_local_meetup", "phase": "Any", "title": "The Local Meetup Night", "body": "You go to a meetup to feel like a person again. Everyone is talking about their agent stack. Someone asks what you do. You say \"I ship.\" They nod like you said something profound. Pizza cold. Beer warm. The speaker presents her side project — built with Claude, she says. Fourteen people nod. You're the only one who finds this remarkable. Oddly at home.", "choices": [{"title": "Network earnestly, trade numbers", "body": "Be earnest. Trade numbers. The game is awkward but you're playing it.", "delta": {"money": -40, "sanity": -5, "audience": 5, "ai_skill": 0, "friends": 9}, "min_money": 40, "effects": [{"op": "set_flag", "flag": "made_industry_contact"}]}, {"title": "Do a lightning talk, become visible", "body": "Lightning talk about a bug you fixed. Five minutes of visibility. Worth more than any follow request.", "delta": {"money": 0, "sanity": -7, "audience": 10, "ai_skill": 4, "friends": 1}, "min_money": null}, {"title": "Leave early, reclaim your night", "body": "Leave early. The pizza wasn't worth it. The people might have been.", "delta": {"money": 0, "sanity": 7, "audience": -9, "ai_skill": 0, "friends": -1}, "min_money": null}], "allow_freeform": true}
|
|
110
|
+
{"id": "junior_dev_a04_course_spiral", "phase": "Any", "title": "The Course Subscription Spiral", "body": "You buy another course: \"Become an AI-Native Engineer.\" 40 hours. The instructor is 19. Their code editor theme is brighter than the sun. You queue the lessons. Buying the course feels like progress. Watching does not. You now have four unfinished courses and $200/month in subscriptions to learning you never do. The certificates pile up like participation trophies for your anxiety.", "choices": [{"title": "Finish it, ship a real project", "body": "Finish it. Ship something real. Stop collecting tabs and start closing them.", "delta": {"money": -200, "sanity": -7, "audience": 5, "ai_skill": 9, "friends": -2}, "min_money": 200}, {"title": "Cancel everything, get your money back", "body": "Cancel. Get refunds. Sleep like a person. The savings feel like a raise.", "delta": {"money": 200, "sanity": 9, "audience": -5, "ai_skill": -2, "friends": 3}, "min_money": null}, {"title": "Use the agent as a tutor instead", "body": "Ask Claude \"why\" all day. Cheaper than courses. Faster than videos. Lonelier than both.", "delta": {"money": 0, "sanity": -5, "audience": 0, "ai_skill": 8, "friends": -7}, "min_money": null, "effects": [{"op": "set_flag", "flag": "collab_with_ai"}]}], "allow_freeform": true}
|
|
111
|
+
{"id": "junior_dev_a05_2am_prod_bug", "phase": "Any", "title": "2am Prod Bug, You're Alone", "body": "Production is down. 2am. You're the only one awake. Stack trace reads like abstract poetry. No runbook. No senior to call. You have Claude, a Red Bull, and the desperate energy of someone who might get fired tomorrow. The on-call rotation has your name and nobody else's. This is either how legends are made or how resignations start.", "choices": [{"title": "Fix it yourself, become legend", "body": "Fix it yourself. If you survive this, nobody can call you junior.", "delta": {"money": 0, "sanity": -11, "audience": 8, "ai_skill": 10, "friends": -3}, "min_money": null}, {"title": "Pair with Claude, debug together", "body": "Paste the stack trace. Ask Claude. It's 2am. No judgment.", "delta": {"money": 0, "sanity": -7, "audience": 6, "ai_skill": 8, "friends": -2}, "min_money": null, "effects": [{"op": "set_flag", "flag": "collab_with_ai"}]}, {"title": "Page someone, it's not worth your health", "body": "Page someone. This isn't heroism. It's a staffing failure.", "delta": {"money": 0, "sanity": 9, "audience": -7, "ai_skill": 0, "friends": 8}, "min_money": null}], "allow_freeform": true}
|
|
112
|
+
{"id": "junior_dev_a06_twitter_hot_take", "phase": "Any", "title": "The Twitter Hot Take", "body": "You tweet: \"Hot take: most AI-generated code is worse than a junior's, it's just faster.\" 2K impressions. A VC quote-tweets: \"tell me you're a junior without telling me you're a junior.\" Replies are a warzone. Someone from your company screenshots it. The engagement dopamine and the career anxiety hit simultaneously, same molecule, different receptor.", "choices": [{"title": "Stand your ground, engage the discourse", "body": "Stand your ground. This is your hill. It's small but it's yours.", "delta": {"money": 0, "sanity": -10, "audience": 11, "ai_skill": 0, "friends": -9}, "min_money": null, "effects": [{"op": "set_flag", "flag": "built_following"}]}, {"title": "Delete it, protect your career", "body": "Delete it. The take can wait. Your rent can't.", "delta": {"money": 0, "sanity": 9, "audience": -11, "ai_skill": 0, "friends": 5}, "min_money": null}, {"title": "Write a longer thread with receipts", "body": "Actual examples. Actual benchmarks. Turn the hot take into a cold analysis.", "delta": {"money": 0, "sanity": -7, "audience": 9, "ai_skill": 5, "friends": -1}, "min_money": null, "effects": [{"op": "set_flag", "flag": "built_following"}]}], "allow_freeform": true}
|
|
113
|
+
{"id": "junior_dev_a07_hn_comment_different", "phase": "Any", "title": "The HN Comment That Hits Different", "body": "Doomscrolling HN at midnight. Comment on a thread about AI replacing developers: \"Junior devs entering now are the last generation that will learn to code the way we did. What comes after will be something else entirely.\" You read it three times. Close the tab. Open it again. The comment has 847 upvotes. None of them feel good.", "choices": [{"title": "Write a thoughtful reply from experience", "body": "Write a reply. You have lived experience here. Share it. Let the internet decide.", "delta": {"money": 0, "sanity": -7, "audience": 9, "ai_skill": 1, "friends": 1}, "min_money": null}, {"title": "Close HN, go to sleep", "body": "Close HN. Be present in your own career, not the discourse about it.", "delta": {"money": 0, "sanity": 9, "audience": -9, "ai_skill": 0, "friends": 5}, "min_money": null}, {"title": "Screenshot it for the group chat", "body": "Send it to the bootcamp group chat. Discuss until 2am. Misery loves latency.", "delta": {"money": 0, "sanity": -7, "audience": -1, "ai_skill": 0, "friends": 10}, "min_money": null}], "allow_freeform": true}
|
|
114
|
+
{"id": "junior_dev_a08_copilot_debate", "phase": "Any", "title": "The AI Tools Debate", "body": "Team meeting. The AI tools debate. Senior #1: \"makes juniors worse.\" Senior #2: \"makes everyone faster.\" Senior #3: \"been using it for a year, didn't tell anyone.\" Room goes quiet. The debate is about tools. The subtext is about who deserves to call themselves an engineer. You're the only junior present. Nobody asks your opinion. You have the most relevant data point in the room.", "choices": [{"title": "Share your honest experience", "body": "Speak up. You've used it. You have data. They have opinions. Different things.", "delta": {"money": 0, "sanity": -7, "audience": 6, "ai_skill": 1, "friends": 8}, "min_money": null}, {"title": "Propose a trial period with metrics", "body": "Propose a trial with actual metrics. Be the pragmatist nobody expected.", "delta": {"money": 0, "sanity": -5, "audience": 3, "ai_skill": 9, "friends": 5}, "min_money": null}, {"title": "Stay quiet, observe the politics", "body": "Stay quiet. This debate isn't about Copilot. It's about power and who holds it.", "delta": {"money": 0, "sanity": 6, "audience": -5, "ai_skill": 3, "friends": -3}, "min_money": null}], "allow_freeform": true}
|
|
115
|
+
{"id": "junior_dev_a09_walking_1on1", "phase": "Any", "title": "The Walking 1:1", "body": "Manager suggests a walking 1:1. Outside. No screens. Walk around the block. Talk about work and life and for once not a performance review. She mentions she also came from a non-traditional background. Didn't know that. She says: \"When I started, the disruption was mobile. Yours is bigger. But the feeling is the same.\" Something small shifts. The loneliness cracks, just a little.", "choices": [{"title": "Be open about your struggles", "body": "Be open. She's been there. The vulnerability costs nothing and gains everything.", "delta": {"money": 0, "sanity": 10, "audience": 0, "ai_skill": 0, "friends": 10}, "min_money": null}, {"title": "Keep it professional, ask for feedback", "body": "Stay professional. Ask for specific feedback. Optimize the interaction.", "delta": {"money": 0, "sanity": -7, "audience": 5, "ai_skill": 7, "friends": -6}, "min_money": null}, {"title": "Suggest making walking 1:1s the default", "body": "Suggest making this the default. Screens off. Humans on. This is better.", "delta": {"money": 0, "sanity": 7, "audience": -4, "ai_skill": 0, "friends": 9}, "min_money": null, "effects": [{"op": "set_flag", "flag": "found_balance"}]}], "allow_freeform": true}
|
|
116
|
+
{"id": "junior_dev_a10_thanksgiving_dinner", "phase": "Any", "title": "Thanksgiving: \"So What Do You Actually Do?\"", "body": "Thanksgiving. Uncle: \"So what do you actually do?\" \"Software engineer.\" \"So you fix computers?\" Cousin: \"Can you look at my laptop?\" Mom: \"He's very smart.\" Your teenage cousin pulls out her phone. Shows you something she built with Claude. Asks if you can help her \"make it real.\" She built in 20 minutes what would have taken you a weekend at bootcamp. You help anyway. Something about the look on her face when it works.", "choices": [{"title": "Explain your job patiently, connect", "body": "Explain it patiently. They're trying. Meet them where they are. It's Thanksgiving, not a sprint review.", "delta": {"money": 0, "sanity": 9, "audience": -6, "ai_skill": 0, "friends": 10}, "min_money": null}, {"title": "Help your cousin ship her project", "body": "Spend the afternoon with your cousin. She's got the instinct. You've got the context. Good trade.", "delta": {"money": 0, "sanity": 7, "audience": 1, "ai_skill": 5, "friends": 8}, "min_money": null, "effects": [{"op": "set_flag", "flag": "became_mentor"}]}, {"title": "Fix the laptop, earn your plate", "body": "Fix the laptop. At least this problem has a clear solution and a grateful aunt.", "delta": {"money": 0, "sanity": -4, "audience": 0, "ai_skill": 3, "friends": 6}, "min_money": null}], "allow_freeform": true}
|