A growing market leader in gaming development is hiring a Senior Software Engineer is accountable for a variety of web services and applications that run on GNU/Linux. These services and web applications include account management, authentication, entitlement, commerce, social, game patching, and other aspects of the gaming infrastructure. Some of these services are customer-facing while others are strictly back-end services. All the services do get large volumes of traffic.
This position requires the individual to help maintain legacy systems as well as refactor these systems to the current architecture. The ability to learn and work across teams and help provide new solutions is needed. This position will work with limited supervision and be able to handle concurrent tasking.
This position can be based in San Diego, CA, TX, WA, CO, NY
Technologies:
Java, Hibernate, JPA, JMS, Spring, Spring Boot, Netty, SQL, Postgres, Redis, MongoDB, REST, XML, JSON, JavaScript, HTML/CSS, Thymeleaf, Velocity, Servlets, Struts2, Tomcat, Python, C#, Maven, ANT, Gradle, Perforce, Eclipse, IntelliJ, Visual Studio
Technologies We are Moving towards:
Public Cloud technology. Efficient and scalable protocols and related domain-specific languages. Continuous Integration, Development, build and deployment systems (CI/CD). Monitoring and alerting systems with trend analysis. Highly available and scalable fulfillment systems
Accountabilities
What you will be doing:
- Maintain and expand existing systems
- Develop and integrate new product flows
- Adding new functionality to existing systems as well as new web services, microservices
- Refactoring Code into current technologies
- Providing feedback to the team on technology direction.
- Monthly on-call to support services developed after familiarity is achieved.
Education & Experience
- Ph.D. in Computer Science or Related Field AND One Year Software Engineering Professional Experience
- M.S. in Computer Science or Related Field AND Three Years Software Engineering Professional Experience
- B.S. in Computer Science or Related Field AND Six Years Software Engineering Professional Experience
- A.S. in Computer Science or Related Field AND Eight Years Software Engineering Professional Experience
- Ten Years Software Engineering Professional Experience
Required Qualifications
- Java Programming with strong data structure, design, and algorithm principles, including Object-oriented analysis and design (OOAD), Design Patterns, Architecture Patterns, Refactoring and best practices
- Strong Spring Framework, Spring Boot experience. Experiences with Java Web Frameworks (e.g. Apache Struts 2)
- Experience with various networking protocols (HTTP, TCP, UDP) and related domain-specific languages (SOAP, XML, JSON) Multithreading and Serialization
- SQL Programming and familiarity with one or more NoSQL databases.
- Experience investigating, designing, and delivering scalable systems with high concurrency and availability on the Linux platform
- Web services/micro-services API design and development
- Experience with Linux security, network security, and web security such as OWASP Top Ten
- Experience troubleshooting and debugging production environments. Use of Linux tools and scripting langs.
- Experience with various build systems and tools
- Excellent written and verbal communication skills, ability to communicate effectively to both technical and non-technical audiences
Additional Qualifications
Development experiences with one or more of the following
- Web APIs: Facebook, YouTube, Twitch, PayPal
- NoSQL databases: MongoDB, Redis, Elasticsearch, Snowflake
- Cloud technologies: AWS, GCP, Docker, Kubernetes, Helm, Chef, Ansible, Apache Kafka
- Web and network security: SSL, TLS, OAUTH, MFA, TFA, Central Authentication Service (CAS)
- Network technologies: Protobuf, gRPC
- Web technologies: NodeJS, Vue/Angular/React
- Languages: C++, C#, Python, PHP
- Continuous integration and continuous delivery CI/CD systems: Jenkins, GitLab, GitHub
- Ecommerce systems, Game systems, or Enterprise systems
#LI-AS2