Description
About Green Man Gaming
Green Man Gaming is a multi-award-winning global retailer, publisher, and technology business in the video games industry. Working with the world’s leading gaming brands, Green Man Gaming sells games to millions of customers across 195 countries via its market-leading eCommerce platform. Green Man Gaming’s Publishing division offers more choice to independent studios as they navigate their route to market. The Digital Partners Program enables developers to opt for a mixture of publishing services, providing more flexibility to access the expertise and channels they require. Green Man Gaming continues to expand, increasing their service offering and reinforcing its footprint in global markets including LATAM, SE Asia &China.
ROLE OVERVIEW:
Central to everything Green Man Gaming does, is engineering. The company's roots came from an engineering solution to allow people to sell used digital games back to the retailer. Things have come a long way and our vision has changed slightly, but engineering is still a major factor on what drives us.
Oh big wow, you’re a shop, where is the challenge in that? Even seemingly simple operations may become a challenge at scale, and we deal with steep traffic spikes all the time. Have you ever thought about how you distribute hundreds of thousands of keys to pre-purchased customers? It needs to be fast as every gamer wants their key yesterday, each key is obviously single use so you need to ensure the same key doesn't go to two customers. Our engineers have, and we have patents around this.
We are an e-commerce site but with our growth come exciting challenges. Our code is service driven;we have services for identity, key distribution, etc., and on top of that sits our front end website. Come join us!
Requirements
KEY DELIVERABLES:
- Working in an agile fashion to maintain and deliver new features in the backend stack that powers the customer-facing website.
- Writing reliable, performant, scalable and testable code.
- Participate in retrospectives where the team will look back on the sprint and look at ways things went well and not so well to improve our practices.
- Investigate and raise cards to support new features.
WE NEED:
Must have:
- Object-oriented and/or functional programming skills in Python and/or Go.
- Version control and issue tracking experience (eg. Git, Github or Gerrit)
- Good understanding of algorithms and data structures.
- Some understanding of application design-patterns, web services, etc.
- Flexibility, lateral thinking and problem-solving skills.
- Database knowledge: relational databases (eg. Postgres, MySQL, etc.) and/or NoSQL (eg. MongoDB, DynamoDB, etc.)
- Curiosity to learn new programming languages.
Nice to have and/or willing to gain:
- Experience with CI/CD pipelines (AWS Codepipeline)
- RESTful API design and implementation and messaging system experience
- Knowledge of TCP/IP networking and network protocols
- Bash scripting skills.
- Experience with JavaScript.
- Experience with multithreading and asynchronous processing
- Understanding of data-intensive computing and distributed system design
- Experience with provisioning infrastructure in Amazon Web Services (AWS) and Google Cloud Platform
- Any data analytics experience including but not limited to Hadoop, R, MapReduce, BigQuery is highly regarded
- Understanding of DevOps technology landscape such as Docker, AWS CloudFormation, Micro-services.
- Experience with machine learning and data mining.