As a software engineer at Acres you will be on the forefront of technology innovations for the Casino Gaming industry. The position will require all your expertise and creativity to develop solutions for an industry that has been slow to adopt new technologies. As part of the team you’ll be setting the direction for applications and architecture, using the best available tools. You’ll be asked to constantly experiment and show stakeholders and customers what is possible, and how that impacts their customer’s satisfaction while supporting their bottom line.
At the same time that we are building products, we want to build a culture where engineers can thrive, grow, advance, and excel in the work for which they have a passion. We are not wedded to any methodology, but are always looking for what works best for the team. We value pragmatism over idealism.
- Develop new software products from the ground up, working closely with company stakeholders.
- Produce well written, testable code to ensure a high level of quality.
- Create and automate tests for new and existing code to ensure compatibility and interoperability with 3rd party systems.
- Participate in evaluations of new technologies, platforms, frameworks, and techniques, collaborating with your peers to help shape the direction of the engineering group.
- Design, build and maintain APIs, dashboards, services, and systems that are used by our customers as well as internal teams.
- Develop a variety of integrations with existing legacy systems (hardware and software) to create new revenue opportunities for customers.
- Create clear and comprehensive documentation of systems and applications for internal use, end user training, and to meet regulatory requirements.
- Participate and contribute to improving development processes and best practices.
- Mentor and guide less experienced developers through a combination of open communication, pair programming, code reviews, and any other means available.
- Rapidly develop prototypes and proof of concept applications to enable stakeholder decisions on direction of product development.
- Availability for production support.
- Someone eager to be part of this team as we disrupt this industry yet again. We are shrinking 20 years of technology improvements into a 3 month adoption cycle for our customers. Buckle up.
- Lifelong learner – ability to understand new concepts and technologies.
- Ability to both give and receive feedback in a positive, constructive manner.
- 4-6 years of experience in software development with responsibility in all phases of the SDLC
- Experience in Go (preferred) and C++ with solid understanding of Object-oriented design and programming.
- Experience writing applications connecting to API’s, and using network protocols (protocol buffer experience is a plus).
- Experience with message queue and data streaming technologies (Kafka, RabbitMQ, Redis).
- Proficient in SQL and NoSQL with experience designing schema for both relational and time series databases.
- Understanding of modern data repositories (S3, RDBMS (MySQL / PostgreSQL / MSSQL / etc), NoSQL databases (MongoDB, Redis), TimeSeries databases (InfluxDB, Prometheus, TimeScaleDB, etc.).
- Proficient in at least one scripting language (Bash, Python, PowerShell, etc.).
- Experience creating, deploying, and troubleshooting applications in a Docker container environment (Nomad for orchestration a plus).
- Proficiency with Git and strong understanding of branching strategies (when to use which one).
- Understanding of on-premise software and deployment challenges in closed environments.
- Experience using JIRA and Confluence for work management and documentation.
Gaming Domain Related
- Familiarity with Serial based communication technologies – RS282, RS485, etc.
- SAS protocol knowledge and experience configuring EGMs
- Understanding of AFT transfers and how to configure EGMs to support them
- Understanding of Casino Management System (CMS) landscape
Other Technology Experience
- Experience with embedded systems programming is a plus.
- Proficiency with cloud computing resources (AWS, MS Azure, Google Cloud) including provisioning, management and operations.
- Understanding of and troubleshooting experience of modern data pipelines (websockets, apache kafka, rabbitmq, apache spark, etc.).
- Experience with monitoring and observability of applications and systems using logs and metrics (tools and dashboards). Experience setting up and using Kibana, Grafana, Splunk, DataDog, etc.is a plus.
- Infrastructure as Code Experience (i.e., Puppet / Chef / Ansible / Vagrant + Packer / Terraform).
- Understanding of high-availability, disaster-recovery, monitoring and logging at scale.