This job might no longer be available.
Principal Software Engineer-- Innovation / AI ML / Robotics
2 years ago
Job Posting Title
Principal Software Engineer-- Innovation / AI ML / RoboticsSummary
Initial focus is on Robotics software engineering.
This role would be within the CTO organization and is involved in the most strategically forward-looking part of Aristocrat’s global technology business. We research, analyze, integrate and use the newest in market technologies to create future solutions across the company. These solutions span from robotics, online video games, social casino games, mobile apps and web platforms. Work with a team of extremely high caliber professionals from a wide range of backgrounds. As an Aristocrat Principal Software Engineer, you must work well within a team environment, be able to work with people from multiple disciplines, effectively integrate with remote teams, be forward thinking, and be easy to work with.
Get in on the ground floor working with a new team chasing exciting new markets of robotics, mobile and web platforms, while capitalizing on the huge potential for growth, experience, and leadership. We offer the stability and opportunity of a multi-billion-dollar global organization with the culture, pace, challenge and ability to make a meaningful impact that comes in a start up!What you'll do
- General
- Initial project involves developing a robotics product with a team of software engineers, hardware engineers and others. The semi-autonomous robotics product will be deployed into locations around the world that interact with consumers. Examples of other future projects can range from online and mobile game systems, gaming platform systems, web management systems, robotics and more.
- Research and evaluate software and hardware tools, vendors and processes as they benefit assigned projects.
- Review verbal and written requirements at varying levels of detail and interpret into new and revised software code.
- Perform hands-on software engineering and software code development tasks.
- Along with the management team, define and build the processes that allow the development team to continually improve productivity and quality, while delivering on business commitments.
- Fully understand and clarify software requirements, working with the product management team and other stakeholders as necessary.
- Work with the Project Manager and development team to produce project and task schedules.
- Participate in the full software development lifecycle for our products; including designing, coding, debugging, and documenting.
- Work closely with game design to gather requirements then accurately implement proof-of-concept games and features to facilitate iteration on new game concepts.
- Work with the development, platform, quality assurance teams, and managers to breakdown various software/platform system requirements. Help forecast individual tasks as well as collaborate with other developers on long term initiatives.
- Collaborate regularly with global teams to achieve deliverables.
- Spearheads new technologies within and across teams.
- Demonstrates knowledge and ability across all levels of software development.
- Provides architectural oversight based on advanced technical and industry knowledge.
- Independently and collaboratively design and architect new large and small scale initiatives.
- All other duties as assigned.
- People
- Able to direct and support other software engineers in requirements, architecture, design, development, defect repair, deployment and support.
- Works well with others in the business from software engineers, mechanical engineers, electrical engineers, business line owners, quality assurance resources, project managers, sales, hr, marketing, vendor staff and more.
- Able and willing to mentor team members.
- Works across teams to identify problems and create solutions.
- Lead technical implementation independently and across teams.
- Collaborates with product and project managements groups as needed.
- Promotes a culture of quality and integrity within and across teams.
- Works with management to plan and deliver solution goals.
- Process
- Provide project and task estimates following a software engineering methodology used for the particular project.
- Responsible for technical aspects of software releases, rollbacks, maintenance and support.
- Creates and communicates designs based on product, service and business needs.
- Review technical designs and plans for internal and external teams.
- Encourages and embraces discussions on technology designs, architecture, standards, regulations and functionality.
- Policy
- Attend and effectively complete corporate policy training modules and events.
- Adhere to corporate policies.
- Tools / Data
- Expert level programming skills. Independently able to research and repair software defects.
- Demonstrated capacity to research, learn and implements new tools and technologies to solve relevant challenges.
- Create reusable tools, software libraries, automation, processes and documentation.
- Experience and effective use of source code control systems, builds and deployments.
- Consistently deliver on assigned tasks, milestones and communicate in advance or risks and mitigation options.
- Able to plan, write and execute against test cases and exceptions for complex design challenges.
- Analyze and scope new initiatives and product features.
- Proficient in writing learning and writing software code.
- Use documentation solutions such as team wiki, document code, UML tools, project management tools, MS Office suite, source code control, shared file repositories, team chat tools and other tools as identified.
- Governance
- Maintain clear and direct communication with the management team, Project Manager, and other stakeholders, escalating issues as appropriate.
- Understand current and planned tasks status and effectively document and communicate such status and plans.
What we're looking for
- Must have:
- Excellent understanding of software engineering and software engineering methodologies.
- Excellent research, discovery and recommendation skills in the field of technology.
- Strong working knowledge of object-oriented development and software engineering project structures.
- Strong working knowledge of C/C++, Python, JavaScript, HTML5, Angular, REST, PHP, 3D Math, Geometry, API’s.
- Bachelor’s degree in Computer Science &/or at least 8 years of work experience.
- Excellent documentation skills for both in-code and in project documentation.
- Excellent oral and written communication skills, strongly team oriented, work closely with in-house & remote teams.
- Comfortable using version control software such as Subversion, Git, Perforce, etc.
- Experience in Agile working environments and processes.
- Able to work in both structured and unstructured team and project environments.
- 8+ years of experience as a Software Engineer using C/C++, Python, HTML5, JavaScript, REST API’s, Web Platforms.
- Nice to have:
- ROS, Arduino, Raspberry Pi, C#, Unity, TypeScript, Assembly, Machine Learning, Artificial Intelligence, Embedded Systems, Mobile Apps, Online Security Standards, Graphics Engines, Video Software Systems, Sound Software Systems.
Why Aristocrat?
- World Leader in Gaming Entertainment
- Robust benefits package
- Global career opportunities
Our Values
- All about the Player
- Talent Unleashed
- Collective Brilliance
- Good Business Good Citizen
The US based roles may require registration with the Nevada Gaming Control Board (NGCB) and/or other gaming jurisdictions in which we operate.
Create Your Profile — Game companies can contact you with their relevant job openings.