Senior full stack developer that likes testing

Replay Poker • Posted April 21st

Location
REMOTE ONLY
Position
Category
Software Development
Replay Poker logo

Our core values

We’re big on our company culture, and keen on hiring like-minded people. So it’s important you share our values: 
  • We put the needs of our players and community first
  • We act with humility and treat others with respect 
  • We voice our opinions, but we’re open to new ideas
  • We believe in taking ownership of ourselves and our work
  • We recognise time is precious and not to be wasted
  • We strive for excellence, but we’re not perfectionists
  • We value a positive and flexible work life

The role 

We are a small, but growing team, of highly technical and experienced developers. The small team means you’ll have a huge impact on the decisions and the work being done. The expertise means you’ll get to learn a lot from other great developers. We all work remotely, 100% of the time, and are currently spread out across Europe and North America.

You’ll be responsible for maintaining and creating new features on all of our systems. These include the poker game client/server, poker lobby and just-as-important auxiliary services, like scheduling and player statistics etc.

We have a huge array of interesting problems to solve such as: clearing a lot of technical debt, preparing the platform for scaling, adapting our product to run in geographically distributed datacenters while supporting a high speed, low latency game servers, optimising server to client communications, making the client run on new platforms and a lot of others. You will own the product as much as any of us and take collective responsibility in maintaining and improving it over time.

We look for smart and independent people who work best in a team where everyone pulls their weight and collaborates with each other. Proactivity is key so we can improve and expand our systems without micromanagement. You will be given freedom to manage your own work, and with that comes responsibility (insert Spider-Man quote here).

We are not afraid of using new technologies when we have to, but know that often boring technology is the best solution. Using the best tools for the job is taken seriously and we expect everyone to be flexible enough to learn and use them while not shying from new perspectives or suggestions.

Our stack 

  • Poker lobby: Rails 4, a single page application with Backbone.js that is about to get replaced with a new system
  • Poker game server: Ruby, recently rewritten from scratch
  • Poker game client: React/JS
  • Other technologies used: MySQL, Postgres, Sidekiq, Redis, NodeJS, Go, Kubernetes and many more

You must

  • Have expert knowledge of Ruby and its surrounding ecosystem
  • Have expert knowledge writing automated tests, be it BDD, TDD, etc
  • Have very good knowledge of modern JavaScript (ES6+, React, Redux etc)
  • Have very good knowledge of HTML5 and modern CSS (Less/Sass)
  • Have very good knowledge of SQL and relational databases
  • Have very good knowledge of Linux/shell
  • Have experience working with job queues, server side caching etc
  • Have a good understanding of HTTP and REST-ful APIs
  • Have worked with Websockets/SSE
  • Be confident working with git, code review and pull requests
  • Be eager to learn and able to express your thoughts, arguments, and ideas clearly and effectively
  • Have a deep interest in code quality and testing, we need someone to own that layer on our team
  • Have excellent english language skills (fluent speaking)

Ideally you should

  • Have experience with older Javascript frameworks, like Backbone
  • Have expert knowledge in another language except for Ruby
  • Have experience with Docker and Kubernetes
  • Have professional experience working remotely
  • Have contributed to open source projects
  • Enjoy playing poker!

What we offer

  • Plenty of autonomy for you to work the way you think you're most productive
  • A flexible process with the focus on efficiency of working with minimal bureaucracy
  • A mixture of fun and challenging projects working on a real-time game
  • Competitive salary (negotiable and depending on experience/skills)