Engineer, Robotic Process Automation
Royal Caribbean Group
The Senior Software Engineer reports to an engineering/product manager. She/he has a working knowledge of software engineering principles and best practices, is able to implement a solution design using design patterns and latest technologies, is able to troubleshoot technical issues, and application testing and DevOps. In addition, the role requires strong interpersonal and collaboration skills. The Senior Software Engineer is responsible for implementing engineering solutions and supporting technology selections for software systems and applications within the Royal Caribbean product portfolios. The role is expected to drive the delivery of one or more solution components from project inception through its delivery in close collaboration with cross-team members. The role contributes solution options for review / approval and produces technical designs that are aligned with software engineering practices/principles. She/he is responsible for documenting solution decisions across impacted applications.
Essential Duties and Responsibilities:
- Implement solution designs from inception through delivery to production
- Implement for operational excellence including engineering resiliency, performance, availability, and scalability of her/his applications
- Responsible for estimation activities in collaboration with the product teams
- Coach and mentor other engineers on solution engineering and promote a culture of innovation
- Ensure solution design and implementation is in compliance with corporate standards and policies
- Verify accurate documentation and communication of products/applications implementation decisions
- Remain current with industry trends in order to advise and advocate solution approaches for systems and applications to meet growing business needs
- Perform other duties as required. This job description in no way states or implies that these are the only duties to be performed by the employee occupying this position. Employees will be required to perform any other job-related duties assigned by their supervisor or management
- Understanding of technical estimation activities
- Responsible for defining optimization opportunities to manage cost
- Tracks effort hours by activity in time management tool
- Bachelor or Master of Science in Engineering, Computer Science, Information Technology, Math, or equivalent
- 5+ years of experience in Software Engineering or related area
- Preferred experience working in large, cross-functional teams in a globally diverse model
Knowledge and Skills:
Possesses extensive proficiency, experience, and understanding of the core competencies outlined below.
Knowledge of delivering software products using appropriate methodologies, knowledge of algorithms and technologies, ability to design, write, test and debug computer programs.
- Works with development or delivery of a software package or component
- Identifies considerations for product integration with multiple platforms and systems
- Full understanding of algorithms and computer science fundamentals of applications, systems and/or platforms to build parts of basic software units
- Participates in solution design and improvement by collaborating with subject matter experts
- Writes programs in a specific language and for a specific platform
- Assists in developing successful applications and performing related testing
Knowledge of software technology, solutioning and the ability to design regional and local software products and infrastructure components.
- Identifies software solution pattern evolution paths and contingency plans related to own function
- Demonstrates planned software solution changes on a single product and environment
- Analyzes the local software solution components and products
- Tests key features for the entire software product and its environment
- Reports software solution challenges and its improvement paths
Software Product Technical Knowledge
Knowledge of and experience with the technical aspect of a software product; knowledge of software architecture, configurations, integration and technical implementation options.
- Participates in defining and conducting technical acceptance tests
- Solicits customer feedback and monitors/reports bugs and implementation issues
- Participates in creating technical requirements for software development and deployment
- Maintains and utilizes data related to install base configurations and environments
- Explains basic environment and product configuration options
Knowledge of technical troubleshooting approaches, tools and techniques, and the ability to anticipate, recognize, and resolve technical (hardware, software, application or operational) problems.
- Analyzes code, logs, and current systems as part of advanced troubleshooting
- Discovers, analyzes, and resolves hardware, software or application problems
- Handles calls related to product features, applications, and compatibility standards
- Records and reports specific technical problems, solving processes and tools that have been used
- Works with vendor-specific diagnostic guides, tools and utilities
Knowledge of and ability to design, plan and execute application testing strategies and tactics to ensure software quality throughout all stages of application development.
- Prepares and analyzes defect-tracking reports on existing applications
- Assists in performing volume and load testing during the alpha testing phase
- Participates in the testing of applications at various stages of development
- Performs ad hoc testing on recently developed applications or application components
- Maintains and references a dictionary of common issues and typical fixes
Experience and Skills:
- Experience with BluePrism, UIPath, or similar RPA technology.
- Experience programming with Java, C++, C# / .NET, C.
- Experience with data structures (containers) and algorithms
- Experience with RDBMS / NOSQL databases, stored procedures, and SQL/similar.
- Understanding of AI and ML concepts; exposure to ChatGPT or similar.
- Strong analytical, problem solving, and creative thinking skills.
While performing job functions the employee is regularly required to sit, stand, write, review and type reports, compile data, operate a pc, communicate, listen, and assess information. The employee may move about the office complex, may travel to other office locations and may lift, push, pull or move 10 to 15 pounds. Visual requirement includes distant, close and color vision, and ability to adjust focus.
The role will primarily function within the professional IT and business office environments located in South Florida; some occasional business travel is required. The space is in compliance with safety, environment, health, and accessibility requirements. The work environments are maintained to reinforce collaboration, motivation, and innovation to help maintain a vibrant and distinctive culture and a diverse workforce.