• Build and maintain full stack applications using React/Next.js (frontend) and Spring Boot/Java or Node.js (backend), deployed on AWS
  • Implement cloud-native, event-driven solutions using Lambda, ECS, API Gateway, DynamoDB, S3, EventBridge, and IAM
  • Own DynamoDB data modeling decisions — partition key design, GSI strategy, single-table vs. multi-table tradeoffs, capacity planning
  • Set up and maintain sandbox environments and testing automation pipelines
  • Take architecture decisions and design inputs and drive them to implementation outcomes — close the gap between ADR and working code
  • Produce and maintain technical documentation — architecture notes, runbooks, data models, API contracts — so knowledge isn't locked in one person's head
  • Participate in client-facing technical discussions; comfortable presenting progress, risks, and options to VP and C-suite audiences when needed

Required Skills
  • 6+ years overall experience; 5+ years building and shipping production systems on AWS
  • Hands-on full stack development — React/Next.js on the frontend, Spring Boot (Java) or Node.js on the backend
  • Deep AWS serverless and event-driven expertise — Lambda, DynamoDB, S3, EventBridge, SQS, SNS, Step Functions, API Gateway, Cognito, Secrets Manager, SSM Parameter Store; comfortable reasoning about cold starts, concurrency limits, and event source mappings
  • Strong debugging instincts across the full stack — can trace a bug from a React component through an API Gateway integration, into a Lambda or a backend , and down to a db read without needing someone to hand-hold the layers
  • Security-first development mindset — OWASP Top 10 applied in practice (input validation, injection prevention, auth/authz patterns, secrets handling, least-privilege IAM); not just checkbox compliance but baked into how they write code
  • Code quality and design pattern fluency — can review a PR and identify structural problems, not just bugs; understands when to apply SOLID, event-driven, CQRS, or repository patterns and when not to; writes code the next engineer can read without a tour
  • Can take an ADR or architecture decision and drive it to an implementation outcome — reads the design, asks the right clarifying questions, flags gaps before they become production issues, and delivers without needing the solution re-explained at every step
  • Comfortable contributing to design discussions — not just consuming specs but proposing data models, API contracts, or flow adjustments; knows the difference between "this works" and "this is the right design for scale"
  • Strong written and verbal communication — can document what they build, explain it to non-engineers, and hold their own in a client call
  • Experience working in a consulting or client-embedded delivery model — understands that communication, documentation, and stakeholder visibility are part of the job, not afterthoughts; has operated in environments where they represent both their employer and the client's best interests simultaneously