Ainsworth Game Technology is a leading provider of high-quality casino systems to customers around the world. We are passionate about creating innovative gaming solutions that push the boundaries of what is possible.
We are seeking a talented and experienced C++ System Developer III to join our team and help us achieve this mission.
Position Summary:
This position reports to the systems engineering management team and will participate in a team responsible for creating / maintaining frontend and backend systems used to operate gaming hardware to play and manage slot games across worldwide jurisdictions. The daily primary responsibilities will be using C++ and the C# programming language to implement projects required by the Ainsworth organization.
What You'll Do:
In this position, the Software Developer Level III will be responsible for the following primary functions:
- Design, develop and maintain complex software applications using multiple programming languages, including but not limited to C++, C#.
- Demonstrate expert-level knowledge and proficiency in multiple technologies related to computer science, such as web development, mobile application development, cloud computing, artificial intelligence, or data analytics.
- Independently lead software development projects with 2-3 team members from conception to deployment, ensuring adherence to project timelines, project specifications, and quality standards.
- Create, manage, and produce detailed software designs, including architecture diagrams, data models, and component specifications.
- Solid understanding of memory management with in0depth knowledge of how to identify and remove memory leaks.
- Utilize advanced concepts of multi-threading, asynchronous programming, and parallel processing to build high-performance, scalable software solutions.
- Conduct comprehensive testing, including unit testing, integration testing, and performance testing, to ensure robustness, reliability, and scalability of the software.
- Collaborate with cross-functional teams, including software architects, project managers, and quality assurance engineers, to define technical requirements and drive successful project outcomes.
- Mentor and provide guidance to Level I and Level II software engineers, fostering their professional growth and development.
- Stay up to date with emerging technologies, industry trends, and best practices in software development, and evaluate their potential application to propose innovative solutions.
- Continuously improve software development processes, tools, and methodologies to enhance productivity and quality.
- Ability to provide estimated dates of completion of assigned projects of multiple team members with the simultaneous objective of having high quality output.
- Prepare and deliver technical presentations and documentation to effectively communicate software designs, development strategies, and project updates.
- Other duties, as assigned.
Education and Experience:
- Bachelor’s degree in Computer Science, Software Engineering preferred.
- 3+ years of relevant experience in software development, with a track record of successfully delivering complex projects.
Skills and Requirements:
This position will require:
- Proficiency in multiple programming languages, such as C++, C#, and others, with a deep understanding of object-oriented programming principles, design patterns, and best practices.
- Strong foundation in memory management techniques and experience optimizing software performance.
- Demonstrated expertise in designing and implementing software solutions in diverse areas, backed by successful project implementations, certifications, or relevant experience.
- Solid understanding of concepts related to multi-threading, asynchronous programming, and parallel processing.
- Experience working with web technologies, databases, APIs, frameworks, or platforms relevant to the chosen area of expertise.
- Excellent problem-solving and analytical skills, with the ability to approach complex issues in a systematic and logical manner.
- Strong written and verbal communication skills, with the ability to effectively convey technical information to diverse audiences.
- Proven ability to work independently, take ownership of projects, and deliver high-quality results within defined timelines.
- Extensive knowledge of software development methodologies, such as Agile, Scrum, or Kanban.
- Proficiency in version control systems, such as Git or SVN, and familiarity with continuous integration/continuous deployment (CI/CD) pipelines.
- Strong understanding of software testing methodologies and experience in implementing comprehensive testing strategies.
- Ability to mentor and provide guidance to Level I and II software engineers, supporting their professional growth and development.
- Knowledge of the software principles, including KISS, DRY, YAGNI, and SOLID required.
At Ainsworth Game Technology, we believe in fostering a culture of growth, collaboration, and excellence. As a C++ System Developer III, you will join a team of talented professionals who are dedicated to delivering high-quality casino systems to customers around the world.
What is in it for you?
Ainsworth is committed to growing its business in Australia and in the USA. When you join us on this journey to success, you will have access to:
- Onsite parking and public transport within walking distance
- Hybrid work environment
- Exposure to ASX listed environment and reporting requirements
- Recently renovated, modern office space and facilities
- Walking distance to Newington marketplace, nature reserve, parks and walking tracks
How to Apply
If you are a talented and experienced C++ System Developer III with a passion for creating innovative solutions, we encourage you to apply today and become a part of our dynamic team at Ainsworth Game Technology.
Your application for this position must include a cover letter and resume to **************@agtslots.com or click on the apply now button.
Only candidates that progress to the next stage of the recruitment process will be contacted directly.