You are a technologist with experience delivering cloud-based client-server applications, and defining the application tech stack, the systems architecture (microservices and monolithic), and systems security, reliability, availability, and scalability. You enjoy tinkering with Dev Ops technologies like Terraform, Ansible. You have work experience managing and leading a team of up to 10 engineers. You are a big fan of UML, software design patterns, enjoy reading the occasional tech journals and sketching out cloud architectural diagrams. You are results-driven, detail-oriented and always seek self-improvement.
Furthermore, you also have an interest in gaming, tinkering with asynchronous and synchronous multiplayer game 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 (SDE2) - Remote.
- Proactively collaborate with artists, producers, designers and engineers in an agile development environment
- Monitor, mentor and direct engineers under your technical supervision to maximise their potential, their efficiency, and their adherence to the studio’s code quality and system security standard
- Proactively gets up-to-speed on assigned game projects with minimal supervision
- Proactively gets up-to-speed on assigned work or game systems without supervision
- Assess visual, technical and design specifications and provide timely constructive feedback and reasonably accurate work estimates with minimal supervision
- Design and implement features and systems to spec and on time with minimal supervision according to the studio's code quality and security standards
- Own the project systems assigned or touched - its technical design and code quality; fix and improve its design and quality so that it’s aligned with the studio’s code quality and system security standards as needed
- Troubleshoot and fix difficult-to-reproduce and platform-specific technical issues in a reasonable time with minimal supervision
- Communicate and document technical designs and decisions effectively in verbal or written form, via diagrams, documents, and/ir code comments
- Update and expand your technical knowledge and skills to stay ahead of industry developments
- Adhere and promote the studio culture, values, and processes/systems including time and activity tracking
Project responsibilities include:
- Troubleshoot system issues and formulate solutions which minimizes the risk of side effects
- Work with client and server software teams to improve performance, scalability, durability and security
- 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…
- 7+ years of overall professional software development experience.
- 2+ years experience operating/launching web applications for mobile and desktop
- 3+ years of backend development experience with Python, NodeJs and/or .NET
- 2+ years of experience operating/developing Server applications and APIs
- 1+ years of experience developing an application with Unity 3D and/or Unreal Engine
- 1+ years of industry experience working with AWS technology
- Knowledgeable with Unity 3D development work
- Knowledgeable on concepts of data oriented programming and design.
- Knowledgeable on multithreaded programming and design in .NET
- Knowledgeable on typical multi-tier architectures: web services, caching, application servers, load balancers, and storage.
- Knowledgeable on software design, REST backend development and web application web front end development
- Knowledgeable with IaaC (infrastructure as code) eg. Terraform.
- Knowledgeable on containerization services
- Knowledgeable on database technologies such as Redis, CouchDb, MySQL, etc.
- Knowledgeable with authoritative servers and communications (real-time multiplayer game communications / stock trading)
- Knowledgeable with Clean Code Principles and UML
- 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
- A proactive, forward thinking and collaborative with others
Having the following skills is a plus…
- Core understanding of game development, mechanics and structure.
- Development environment setup experience with Vagrant and/or Virtualbox
- Dev Ops experience, specifically with AWS and Hashicorp technologies
- Experience with build pipelines and services deployment with Jenkins.
- Familiarity with cloud networking infrastructure setup and management.