Intermediate Software Engineer (SDE 2)

About the Job

You are a technologist with oodles of experience with .NET programming, Kubernetes, network/server development and Microservices architecture. You enjoy playing around with Dev Ops technologies like Terraform, Ansible, or Fabric. You are a big fan of software design patterns, and enjoy reading the occasional tech journals and sketching out Cloud Architectural diagrams. You are results-driven, detail-oriented and always seek self-improvement.
You also have an interest in gaming, tinker around with multiplayer games programming and are looking for a friendly game studio filled with like-minded individuals with a team who prizes integrity, transparency and personal growth.
Pocket Pinata Interactive is looking for such an individual to join our game development family as an Intermediate Software Engineer (SDE 2) in beautiful Vancouver, British Columbia.

You will:

  • Design and implement technical specifications for server and client systems to spec and on time according to the studio’s code quality and systems security standards.
  • Troubleshoot system issues and formulate solutions which minimize the risk of side effects
  • Assess visual, technical and design specifications and provide timely constructive feedback and reasonably accurate work estimates with nominal technical supervision
  • Collaborate with artists, producers, designers and other engineers with nominal technical supervision in an agile development environment, effectively communicating technical designs where needed.
  • Work with client and server software teams to improve performance, scalability, durability and security
  • Proactively gets up-to-speed on assigned game projects with nominal technical supervision
  • Actively participate in project and resource planning meetings by offering thoughts and ideas
  • Actively lead technical discussions and encourage engineers to share opinions and incorporate ideas
  • Actively mentor less senior engineers to help grow their technical and tech management skills
  • Conduct code reviews and mentor other programmers
  • Participate in a rotational on-call program to troubleshoot server-impacting issues.

You are a great fit for the position if you have…

  • 5+ years of overall professional software development experience
  • 2+ years of .NET programming experience
  • 2+ years of experience operating/developing Server applications and APIs, solving for scale
  • 2+ years of industry experience working with AWS technology
  • Experience with Unity 3D’s build, Input, GUI and 2D systems
  • Knowledgeable of concepts of data-oriented programming and design
  • Knowledgeable of multithreaded programming and design in .NET
  • Knowledgeable of typical multi-tier architectures: web services, caching, application servers, load balancers, and storage
  • Knowledgeable in software design, Microservices Architecture and REST Web services
  • Knowledgeable with IaaC (infrastructure as code) eg. Terraform
  • Knowledgeable of containerization services (Docker / Kubernetes)
  • Knowledgeable of database technologies, in particular relational databases like MySQL, MSSQL, and ORMs like EntityFramework
  • Knowledgeable with authoritative servers and communications (multiplayer gameplay/stock trading)
  • Experience with Agile Software Development methodologies & DevOps principles
  • Experience administering and deploying services with CI/CD tools
  • A detail-oriented mindset with a strong ability to multitask
  • Knowledgeable in applying Clean Code Principles
  • A proactive, forward-thinking and collaborative with others

Having the following skills is a plus… 

  • Experience shipping games on mobile (Android, IOS)
  • Experience with regulated software (Bank compliance)
  • Have worked with game engines like Unity
  • Core understanding of game development, mechanics and structure
  • Dev Ops experience, specifically with AWS, VMWare and Hashicorp-based utilities
  • Experience with Build pipelines and services deployment with Jenkins
  • Familiarity with cloud networking infrastructure setup and management
  • Knowledge of UML