Thinking Beyond Limitations
Technical Architect, C#/.NET
Location
United Kingdom
Posted
1 day ago
Salary
0
Seniority
Senior
Job Description
Technical Architect, C#/.NET
Kainos
• As a Technical Architect (Consultant) in Kainos, you’ll be responsible for leading teams and developing high quality solutions which delight our customers and impact the lives of users worldwide. • As a technical leader on a project, you’ll work with customer architects to agree technical designs, advising on estimated effort and technical implications of user stories and user journeys. • You’ll manage, coach and develop a small number of staff, with a focus on managing employee performance and assisting in their career development. • It’s a fast-paced environment so it is important for you to make sound, reasoned decisions. • You’ll do this whilst learning about new technologies and approaches, with room to learn, develop and grow.
Job Requirements
- Experience delivering software designs for multi-tiered modern software applications, with strong experience in C#/.NET
- Experience of technical ownership for a product/software project, including architecture, estimation, product planning and user story/requirement creation.
- Understands non-functional concerns for customers and has experience incorporating these into the application design.
- Has experience with public cloud platforms, such as AWS and Azure, including SaaS and PaaS offerings.
- Able to simply and clearly communicate technical design in conversation, documentation and presentations.
- Able to make effective decisions within fast-moving delivery.
- We are passionate about developing people – a demonstrated ability in managing, coaching and developing junior members of your team and wider community.
Benefits
- Health insurance
- Professional development opportunities
Related Guides
Related Job Pages
More Backend Engineer Jobs
Backend Engineer
Devoted StudiosCreating equal opportunity for talent to work on games of their dreams
Role Description We are looking for an engineer who architects the service, deploys it, monitors it in production, responds when it breaks, and improves it after every incident. Key Responsibilities: - Service Design & Architecture - Design and build scalable, resilient web services in Java and/or Scala that support game client needs across PC, console, and mobile. - Own the data model — choose the right store (MongoDB for flexible document storage, DynamoDB for key-value at scale, Redis for caching and session state) and justify it. - Design REST APIs that game clients actually integrate well against — clear contracts, versioned, documented, forgiving of client-side variation. - Architect for the load profile of a live game: average load, launch spikes, event peaks, and graceful degradation when upstream dependencies fail. - Define and enforce service boundaries — knows where one service ends and another begins, and why. - AWS Infrastructure & Deployment - Build and maintain AWS infrastructure using IaC tooling (CDK, Terraform, or CloudFormation — confirm what's in use on the engagement). - Own the deployment pipeline for services they build: CI/CD configuration, environment promotion, rollback capability. - Right-size AWS resources for cost and performance — does not default to over-provisioning and does not leave obvious cost inefficiencies. - Familiar with the AWS services relevant to game backends: EC2, ECS/EKS, Lambda (where appropriate), API Gateway, ElastiCache, SQS/SNS, CloudWatch, S3. - Understands the network and security posture of services exposed to game clients — VPC design, security groups, IAM least privilege, secrets management. - Live Operation & Observability - Instruments every service for production readiness: structured logging, metrics, distributed tracing, health checks, and alerting before it goes live — not after the first incident. - Monitors services in production: reads dashboards, interprets anomalies, distinguishes noise from signal. - Responds to production incidents in services they own — has on-call responsibilities commensurate with service criticality. - Writes post-mortems and follows through on structural improvements so the same failure mode does not recur. - Understands the difference between a symptom and a root cause — does not fix symptoms. - Cross-Platform Client Integration - Works directly with game client engineers (PC, console, mobile) to define integration contracts, review client-side usage patterns, and debug integration issues. - Understands the constraints of each platform environment: console certification requirements around network usage, mobile data sensitivity, PC permissiveness — and designs service interfaces accordingly. - Owns the integration surface: API documentation that is correct, versioned, and kept up to date as the service evolves. - Participates in client-facing technical reviews where backend service design is on the table. - Quality & Engineering Standards - Writes unit and integration tests as a first-class output — not an afterthought. - Code reviews: gives specific, actionable feedback and receives it without defensiveness. - Maintains service documentation: architecture decisions, operational runbooks, known limitations, dependency map. - Raises technical debt explicitly — names it, quantifies its cost, and proposes a remediation path. Qualifications - 5+ years of professional backend/server-side engineering experience with at least 3 years working on services at live production scale. - Java at a professional shipping level — not just familiarity. Has designed, built, and operated Java services in production. - AWS hands-on ownership — has provisioned, deployed, monitored, and debugged AWS infrastructure, not just used managed services provisioned by someone else. - Polyglot data store fluency: has made deliberate choices between MongoDB, DynamoDB, and Redis for different use cases — not defaulted to one store for everything. - REST API design with real client integration experience — PC, console, or mobile clients consuming services they built. - End-to-end ownership mindset: has been on-call for services they wrote. Has written a post-mortem. Has shipped the fix. Requirements - Experience designing services that handle launch-day spikes: horizontal scaling patterns, queue-based load levelling, circuit breakers. - Familiarity with platform-specific SDK constraints: PlayStation Network, Xbox Live, Nintendo NSO, or Apple/Google mobile — understanding what the platform restricts and what it requires from the backend. - Kafka or SQS/SNS for event-driven service communication. - Kubernetes (EKS) cluster operations experience. - Security-conscious engineering: OAuth/OIDC, rate limiting, input validation, OWASP awareness at service design level. Benefits - Strong and enthusiastic team – you will have the opportunity for knowledge sharing, learning, and professional self-development. - Interesting and challenging tasks – solve diverse and challenging issues, communicate with people within the company as well as with our partners. - Convenient working conditions – remote work, the opportunity to build your own working day with flexible working hours. - A chance to work in a highly professional and dynamic team working with a wide range of International Game Production projects, attractive remuneration package, and opportunities to develop professionally.
• Design, develop, and maintain backend services, APIs, and business logic • Collaborate with front-end engineers, product partners, and other stakeholders • Participate in roadmap execution that balances feature delivery with backend health • Provide technical guidance to junior developers • Participate in code reviews to ensure solutions align with established engineering standards
• Design and build the control plane API: the interface that range orchestration and scenario systems use to drive the internet simulation platform, with strong attention to idempotency, consistent error semantics, and the operational patterns that make a platform API pleasant to build on. • Own the event-driven orchestration layer that coordinates multi-step operations across the platform's subsystems, ensuring that standing up a new range, registering a persona, incorporating a SaaS application, or updating topology propagates correctly and completely across all components. • Build and maintain the platform's persistent storage layer, providing reliable, well-abstracted storage primitives for the services and subsystems that depend on it, across file, object, and container storage as requirements evolve. • Own the deployment model for the internet simulation platform itself: the Kubernetes operators or controllers that manage platform lifecycle, the upgrade and rollout strategy for a service that cannot afford downtime, and the configuration model for integrating new ranges. • Define and own the state model for the platform, what is authoritative where, how components recover from partial failures, and how the platform converges to a correct state after disruption. • Collaborate with the network simulation tech lead on the in-range proxy agent architecture, owning the infrastructure side of that interface: agent deployment, connectivity management, and the handoff model when an agent loses contact with the control plane. • Partner with the SRE team on the operational model for a new platform service, establishing runbooks, incident response procedures, and the observability instrumentation that makes the platform debuggable in production. • Contribute to cross-cutting concerns including configuration management, secrets handling, and the security posture of the control plane.
• Design, develop, and maintain core services for cybersecurity range simulation, focusing on scalability, performance, and fault tolerance. • Lead end-to-end technical projects, from requirements gathering and architecture design to deployment, while setting clear goals and priorities. • Mentor and support engineers on the team, promoting a collaborative culture and guiding them in coding best practices, testing, and architectural design. • Collaborate cross-functionally with Product Managers and UX Designers to translate requirements into technically sound, user-centered solutions. • Conduct code reviews and provide constructive feedback to ensure code quality, performance, and adherence to company standards. • Implement robust monitoring and alerting strategies to maintain high uptime and quick response to potential system issues. • Ensure services meet security and compliance standards by integrating appropriate controls into the development lifecycle. • Contribute to documentation that details technical architecture, system design, and best practices to ensure knowledge sharing and team alignment.



