



As an intern at Guerrilla, you will immerse yourself in the world of game development. From collaborating with industry leaders to working on cutting-edge projects, you'll gain hands-on experience in various aspects of game creation. OUR ONLINE SERVICE TEAM Our Online Services team builds reliable, maintainable, and high-performance online systems with a focus on low-latency delivery. We work with various other disciplines to create tools needed to build online game features. We deliver the networking and replication layers for both game client and server, integration with online platform services (e.g., PSN), authentication, matchmaking, inventory, store, server allocations, and more. The team works in close collaboration with our Online Infrastructure team, which designs and maintains the build and deployment environments for our services, servers, and tools. OUR TECHNOLOGY Our services use industry-standard web technologies built on modern frameworks: Java 21 and Spring Boot 3.5.x (with migration to Java 25 and Spring Boot 4 coming soon), Kotlin, Hibernate, and OpenAPI. We leverage Redis for caching and pub/sub, Amazon SQS for queuing, and PostgreSQL for persistence. The services are designed around domain-driven architecture with a hybrid approach between microservices and domain services, and we share as little state as possible between services. We host our services on Kubernetes backed by Amazon EKS and use other AWS services like S3, DynamoDB, and RDS. Our deployment pipeline uses GitHub Actions and ArgoCD for continuous delivery. Some of our DevOps tooling is built with Golang. WHAT YOU WILL DO As an Online Tech Programmer Intern, you will receive dedicated mentorship and you will work on meaningful projects that directly impact our live games while developing your skills in high-performance online systems. * Build internal tooling for dynamic configuration management across our live services; * Broaden your skills by working on frontend development, backend services, and cloud infrastructure; * Gain hands-on experience with developing, testing, and maintaining services in a zero downtime environment; * Implement instrumentation for monitoring and logging the health and availability of services; * Collaborate with multiple internal stakeholders to understand requirements and deliver practical solutions; * Work together with engineers in the Online Infrastructure team to learn about Kubernetes, scalability, and other best practices; * Explore modern Java ecosystem practices and technologies used in production game services; * Participate in code reviews and the full software development lifecycle in a high-scale production environment.