Skip to main content

Software engineer

Shane Moyo

Building reliable, full-stack products and excited about software that touches the physical world.

I'm a full stack engineer with 10+ years shipping production systems, most recently at NerdWallet on high-impact user-facing work and platform health. I'm drawn to Stoke Space because aviation and space have been a long-term passion, and I want my craft applied where correctness, performance, and observability map to real hardware.

Why Stoke

Mission fit

Why Stoke

I've had a deep passion for aerospace since I was a kid, alongside an equally strong interest in software development. My long-term goal has always been to bring those two together and work on systems that have real-world impact.

I'm a full stack software engineer with over 10 years of experience building and scaling production systems, most recently at NerdWallet where I've focused on high-impact products and platform reliability. Over the past year, I helped our team transition into a native mobile environment while maintaining fast iteration speed, building systems that reduced production risk in a setting where release cycles are slower and mistakes are costly.

I'm motivated by solving problems under real constraints, where performance and reliability both matter, and I take pride in owning problems end-to-end.

More recently, I've been leaning into modern AI tooling as a core part of how I build. It's expanded the scope of what I can take on and significantly increased my iteration speed, allowing me to build more complex systems while still relying on strong fundamentals and engineering judgment.

Outside of work, I'm a husband and a father to a young daughter, which has strengthened my sense of responsibility and long-term thinking in both my life and work.

Stoke Space is especially exciting to me because it sits at the intersection of everything I care about: aerospace, software, and building systems where correctness and performance truly matter.

Stack

Technologies

Frontend

  • React
  • Next.js
  • TypeScript
  • React Native
  • Redux
  • Vue
  • Angular
  • HTML5
  • CSS
  • webpack

Backend & APIs

  • Node.js
  • Express
  • Nest.js
  • FastAPI
  • Django
  • GraphQL
  • REST
  • WebSockets
  • .NET
  • Java
  • Maven
  • Gradle

Data & platform

  • PostgreSQL
  • MS SQL
  • MongoDB
  • Prisma
  • AWS
  • AWS Lambda
  • Docker
  • Jenkins
  • Datadog

Quality & process

  • Jest
  • Playwright
  • Git
  • Jira
  • Scrum (PSM I & II)

Work

Experience

  1. May 2022 to Present

    Full Stack Software Engineer

    NerdWalletSan Francisco, CA

    • Lead end-to-end development of high-impact features from design through deployment, with a focus on speed, quality, and reliability.
    • Architect config-driven, server-controlled systems (GraphQL + feature flags) to decouple product iteration from native app release cycles and legal review constraints.
    • Build and maintain scalable microservices and APIs using Node.js, Express, NestJS, Prisma, GraphQL, and AWS Lambda.
    • Develop responsive, accessible interfaces across web and mobile using React, React Native, Redux, and TypeScript.
    • Enable parallel development across teams by writing detailed technical specs and breaking work into clear, independent units.
    • Improve production reliability through monitoring, logging, and alerting (Datadog), shifting the team toward proactive system health.
    • Partner closely with Product, Design, and Platform teams to refine requirements, unblock development, and deliver under ambiguity.
    • Mentor engineers through pairing and code reviews, raising team velocity and code quality.
  2. May 2021 to May 2022

    Full Stack Software Engineer

    iFITLogan, UT

    • Owned full development lifecycle from roadmap to release, coordinating across engineering, product, and design.
    • Built and maintained scalable full-stack features across web and connected fitness platforms.
    • Developed and tuned recommendation models using AWS Personalize and SageMaker to improve engagement and retention.
    • Contributed to personalization systems that enhanced user experience through data-driven insights.
  3. May 2020 to May 2021

    Full Stack Software Engineer

    Boulder CarePortland, OR

    • Built HIPAA-compliant healthcare applications using React, Redux, TypeScript, Express, GraphQL, Docker, and MongoDB.
    • Developed patient-facing features focused on usability, engagement, and reliability.
    • Partnered with product and design to deliver user-centered healthcare solutions.
  4. March 2018 to March 2020

    Software Engineer

    CventPortland, OR

    • Led development of redesigned event management UI using React, Ember, and Ruby on Rails.
    • Built scalable front-end architectures with strong test coverage for complex workflows.
    • Migrated legacy asset pipeline to Webpack, improving build performance and deployment efficiency.
    • Developed secure authentication systems using Node.js, Express, MongoDB, and JWT.
    • Mentored junior engineers through pairing and code reviews.
  5. March 2016 to March 2018

    E-Commerce Developer

    Bridge & BurnPortland, OR

    • Developed and maintained Shopify-based e-commerce applications with custom features and integrations.
    • Improved site performance and user experience through front-end enhancements and debugging.
    • Analyzed user behavior and ran A/B tests to optimize conversion flows.
    • Implemented analytics tracking (Google Analytics, GTM) to drive data-informed decisions.

Stories

How I work

Recent examples from my time at NerdWallet. Each one is a real situation — tap to expand.

Quick Start GuideOwnership · velocity

Situation

One of the most impactful projects I worked on recently was building a new onboarding flow called the Quick Start Guide in our native mobile app. We were under a lot of pressure to move quickly because it directly impacted conversion, but we were dealing with two tough constraints. First, our mobile release cycle was every two weeks, and pushing bugs was costly — too many hotfixes could slow down or deprioritize our app in the app store review process. Second, anything user-facing had to go through a fairly lengthy legal and compliance review, and those requirements often changed late in the process.

Task

My responsibility was not just to deliver the feature on time, but to do it in a way that allowed us to iterate quickly after launch without introducing production risk or constantly being blocked by legal approvals.

Action

Instead of working within those constraints, I stepped back and rethought the problem from first principles. The core issue wasn't just building the UI — it was that our system was tightly coupled to the release cycle and legal process. I designed a config-driven architecture using feature flags and GraphQL to decouple the UI logic from the app release, so we could ship the core functionality once and then dynamically update copy, step ordering, or feature inclusion without a new release. I worked closely with product to identify which parts were most likely to change during legal review and made those fully configurable. I also broke the work into detailed, well-scoped tickets with clear acceptance criteria so multiple engineers could work in parallel without stepping on each other. And I made sure experimentation was built into the system from the start so we could safely test variations without introducing risk.

Result

We delivered the feature on time with a high level of confidence and avoided risky post-release hotfixes. More importantly, we fundamentally changed how we could iterate — product and legal could make updates without waiting for a new release, which dramatically increased our speed and flexibility. That approach became a pattern the team reused across other features, so the impact went well beyond this one project.

Portfolio dashboardFull stack · trust

Situation

Another project I'm proud of was a redesign of a core financial dashboard where we introduced an aggregated portfolio view. The challenge was that requirements were still evolving and backend resources were somewhat limited, so there was a real risk that frontend work would get blocked waiting on APIs.

Task

I took on the responsibility of driving the feature forward end-to-end, making sure we could deliver a cohesive experience while enabling the rest of the team to keep moving quickly.

Action

I started by working with stakeholders to define a clear contract between frontend and backend, especially around the aggregated portfolio data. Since we didn't want frontend work to stall, I introduced API stubbing so we could simulate backend responses and build the UI in parallel. I also broke the work into phases with detailed tickets and clear ownership so multiple engineers could contribute without stepping on each other. I stayed involved across the stack — contributing to the frontend, coordinating with backend engineers, and making sure the GraphQL layer aligned with what the UI needed. I also made sure we built quality in from the beginning by coordinating end-to-end testing and adding monitoring.

Result

We avoided the typical bottlenecks you see in cross-functional projects. Frontend and backend moved in parallel, which significantly improved delivery speed. We also ended up with a cleaner, more extensible system because the contracts were well-defined from the start. That project reinforced for me the value of full-stack ownership and building systems that allow teams to move together efficiently, even under uncertainty.

Launch debuggingGrit · ownership

Situation

During a high-priority product launch, we started running into backend integration issues that were impacting a key user flow. At the time we didn't have enough backend support available, so there was a real risk these issues could delay the launch.

Task

Even though I was primarily focused on frontend work, I felt responsible for the overall outcome. My goal was to help resolve the issue and keep the launch on track.

Action

I stepped in and started digging into the backend service directly — getting familiar with parts of the system I hadn't worked in before, tracing how data was flowing through the integration, and identifying where things were breaking down. There were definitely moments where I was outside my comfort zone, but I stayed persistent and approached it methodically: testing hypotheses, validating assumptions, and collaborating with other teams when needed. Once we identified the root causes I helped implement fixes and made sure we tested them thoroughly. I also added monitoring around those areas so we'd have better visibility if similar issues came up in the future.

Result

We resolved the issues in time and kept the launch on schedule, which was critical given how high-visibility the release was. The improvements to monitoring also helped us detect and respond to issues more quickly going forward. That experience shaped how I think about ownership — especially in situations where the path forward isn't clearly defined and you need to step up outside your usual role.

Team velocityTrust · clarity

Situation

Across a few projects, I noticed a recurring pattern where we were losing time due to unclear requirements and frequent back-and-forth between engineers, product, and design. That ambiguity was slowing us down and increasing the risk of rework.

Task

I wanted to improve how the team executed so we could move faster while still maintaining a high level of quality.

Action

I started focusing on improving how we scoped and documented work. For each project I wrote detailed tickets that included full technical context, edge cases, and very clear acceptance criteria — the goal was to remove ambiguity so engineers could trust the work and execute independently without constantly needing clarification. I also structured work to enable parallel development so multiple engineers could contribute at the same time instead of waiting on each other. And I coordinated bug-bashing sessions before release to catch issues early and reduce the likelihood of production bugs.

Result

The team was able to operate much more efficiently. Multiple engineers could work in parallel with minimal friction, which improved delivery speed and reduced regressions. It also built trust within the team because people could rely on the clarity of the work and each other's execution. That experience reinforced for me how important clear communication and integrity are in enabling teams to move fast and deliver consistently.

ObservabilitySkill · humility

Situation

One area I identified as a gap — both for the team and for myself — was observability. We didn't have strong visibility into production issues, especially around integrations, which meant we were often reacting to problems instead of catching them early.

Task

I wanted to improve our ability to monitor system health and proactively identify issues, and I also saw it as an opportunity to grow my own skill set.

Action

I invested time in learning observability tools like Datadog and started applying that knowledge by implementing monitors for key features, improving our logging, and building dashboards that gave us real-time visibility into system health. I also began thinking more systematically about how to standardize telemetry so we could get more consistent insights across the application. Throughout the process I collaborated with teammates to make sure the improvements aligned with how we debug and operate in practice.

Result

We were able to detect issues much earlier and reduce their impact on users. It also helped shift the team toward a more proactive, data-driven approach to reliability, which made our systems more resilient overall. For me, that was a great example of humility — recognizing a gap and then putting in the work to improve in a way that benefits both myself and the team.

Builds

Example projects

  • Boltline RAG demo

    Live

    A retrieval-augmented generation UI showing how I approach LLM-backed tools: clear UX, grounded answers, and pragmatic engineering.

    Open demo
  • Boltline app demo

    Live

    A replica of Boltline-style part management workflows, built as a hands-on proof of what I can ship. Explore the parts catalog and see the product thinking behind it.

    Open demo

Background

Education & certifications

December 2020

B.S. Mathematics

Portland State UniversityPortland, OR

Certifications

  • Professional Scrum Master I & II

    scrum.org · June 2024 · Portland, OR

Reach out

Contact