home writings thoughts ships

Through the Screen Darkly: 4 Years of Code, Chaos & Christ

Mar 14, 2025

·

5 min read

tl;dr: A pandemic grad's journey from anxious coder to grounded tech lead

Through the Screen Darkly: 4 Years of Code, Chaos & Christ
2020

Thesis Defense

Built telemedicine app with WebRTC & Firebase, becoming real software engineer

2021

Promotion

Senior Software Engineer at Sprout

2023

Leadership

Became Team Lead managing 3+ engineers

2025

Growth

Shipped in total 8+ production apps across domains

Journey still continues but now with God's Grace

Hi There, Fellow Humans & Machines!

Let’s rewind to November 2020. The world smelled like hand sanitizer, my thesis defense Zoom call had frozen twice, and I’d just become a “real” software engineer through a baptism of fire (and several emergency caffeine IV drips). Fast-forward through promotions that felt like out-of-body experiences, production panics worthy of horror films, and profound personal growth that no sprint retrospective could capture - here’s my human story in the machine age.

Chapter 1: Thesis Trauma & Flutter First Love

The App That Started It All

My telemedicine thesis needed video calls between doctors and isolated COVID patients - a technical challenge that became my Mount Everest. What began as simple WebRTC integration became a crash course in divine debugging, where every solved error felt like parting the Red Sea:

Divine Debugging Session

dart
void connectDoctor() async {
  try {
    final answer = await heaven.pray(Lord, have mercy);
    webrtc.initialize(miracle: true);
  } on Error catch (e) {
    thesisAdvisor.scream();
  }
}

The reality? My “production-ready” app survived on three holy trinities:

  • 37 open StackOverflow tabs (my digital Book of Psalms)
  • Google Translated Chinese documentation (the Rosetta Stone of coding)
  • Silent prayer before each demo (with bonus Hail Marys for null safety)

Office Odyssey in Lockdown
While the world Zoomed into oblivion, my company’s “Work From Office” policy became my personal Hero’s Journey:

  • Echoing halls where clack-clack of my mechanical keyboard dueted with squeaky sanitizer dispensers
  • Whiteboard sketches that solved bugs faster than any Slack thread marathon
  • 2 AM bonding with the night cleaning crew - their mops and my keyboard syncopating to the rhythm of sleep deprivation
  • Flutter’s hot reload: digital CPR for both my app and sanity
  • That first deploy high-five ritual (hands sanitized, spirits unsanitized)

Chapter 2: Promotion Panic & Framework Faith

Senior Engineer Surprises

My promotion arrived like a surprise git merge conflict - exciting yet terrifying. Reality checks came faster than npm dependencies:

  1. Mentoring Moments: “How do we avoid getting stuck in code quicksand?” asked eager interns. Our shared mantra became:

    # Plan like an architect, code like a gardener
    $ think --hours 2 --whiteboard \
      && code --simple --modular
    

    “How does Kubernetes work?” asked wide-eyed interns, unaware I’d just Googled that an hour prior. We learned together, my facade of expertise crumbling like a poorly versioned package.json.

  2. Design Translations:
    “Make it pop” became a week-long quest through Figma plugins and CSS filters, culminating in animated gradients that would make a rave organizer blush.

  3. Industry Truth Serum:
    Discovered our CTO’s secret superpower: answering “How’s this possible?” with “Great question!” followed by furious Slack huddles.

Tech Stack Enlightenment

python
# All languages shine when used purposefully
stack_wisdom = {
    'javascript': {
        'purpose': 'Build reactive UIs but also serverless nightmares',
        'lesson': 'Callback hell is a choice, not a requirement'
    },
    'golang': {
        'purpose': 'CRUD APIs that actually survive Black Friday',
        'lesson': 'Simplicity scales better than cleverness'
    },
    'python': {
        'purpose': 'Prototype AI features before they're cool',
        'lesson': 'Readability > Clever one-liners'
    },
    'ruby': {
        'purpose': 'MVP speed over micro-optimization',
        'lesson': 'Developer happiness != production readiness'
    },
    'laravel': {
        'purpose': 'Client-pleasing admin dashboards',
        'lesson': 'Elegance needs infrastructure love'
    }
}

Career Shift Command

bash
$ engineer evolve --level=senior \
  --skills="communication,humility,coffee-consumption=expert"

My framework fanaticism peaked trying to Flutter-all-the-things, until a Python script humbled me:

if simplicity > complexity:
    print("Sanity restored")

Chapter 3: Leading While Learning

Imposter Syndrome Sundays

Becoming team lead felt like hosting a dinner party while learning to cook. Key lessons:

  • Trust as Version Control:
    def manage_team():
        # Default to trust, but verify gently
        if not micro_manager and team.skills_available:
            grant_autonomy()
        else:
            pair_programming_session(reason="knowledge sharing")
    - Vulnerability disarms: "I don't know" became my strongest phrase
    - The quiet dev who shipped flawless code after 3 silent sprints
    - Realizing management isn't control - it's creating space for others to shine
    
    
  • Learned that git blame isn’t a management tool - better to branch out trust first
  • Delegation Discovery: That magical moment when:
    # Instead of:
    $ cargo build --jobs=1 # Solo superhero mode
    # We ran:
    $ make team --jobs=4 --progress=visible
    
    Taught me distributed systems work better than monoliths - both in code and teams

People Puzzles My team taught me:

  • How 1:1 meetings revealed hidden talents better than any CI/CD pipeline
  • That PR comments need more emoji than code reviews (❤️ > LGTM)
  • Why deadlines should bow to human limits (we’re not async functions)
  • Delegation != dumping - it’s pairing responsibility with growth opportunities
  • The quiet power of saying “Show me how you’d approach this” instead of “Do it my way”

Chapter 4: Faith in the Machine

Divine Debugging

That midnight production fire taught me:

async function handleCrisis() {
  const panic = await detectEmergency();
  const solution = await prayPersistently();
  return postMortemGrace();
}

Church & Code Community
My dual support systems:

  • Christ Life Community (Comcell Group) keeping Wednesday standups in perspective
  • Prayer warriors and PR reviewers - different kinds of lifelines
  • Grace-driven development: Shipping imperfect but honest work

Final Byte: Imperfect Progress

Four years taught me:

  • Tech’s beauty lies in human collaboration, not perfect code
  • Your greatest tool isn’t a framework - it’s empathy
  • Growth happens when coffee meets courage

P.S. Still coding (and occasionally praying) through challenges - join my journey on Twitter & Threads! Let’s grow together! 🌱💻