Apple Leisure Group

  • System Team - Senior Test Automation Engineer

    Posted Date 2 months ago(2/28/2018 6:05 PM)
    # of Openings
    Information Technology
  • Overview


    As the nation's only hospitality company possessing a vertically integrated business model, Apple Leisure Group holds a unique niche in the U.S. travel industry. Our robust infrastructure leverages the expertise of six industry innovators to deliver exceptional value and inspired luxury to discerning travelers.


    About You:

    • You are friendly, collaborative, and happily work well with others
    • You are passionate about both travel and technology
    • Your attention to detail is spectacular
    • You are flexible, creative, motivated, and cooperative
    • You hold yourself and others accountable to commitments
    • You are comfortable with continual change and improvement
    • You enjoy working within the fabric of a purpose-built culture and process that respects the individual but values the team


    System Team Responsibilities


    The System Team is a specialized Agile Team that assists in building and using the Agile development environment, including Continuous Integration, test automation and Continuous Deployment.  The System Team supports the integration of assets from Agile teams, performs end-to-end Solution testing where necessary and assists with deployment and release.


    Collocation, Collaboration, and Knowledge Sharing

    The collocation of Agile team members and the blurring of the traditional roles optimizes velocity and quality. It also helps create empowered Agile teams. However, this means that developers no longer operate collectively from a shared resource pool, where one could argue that it was easier to learn, share, and advance collective competencies. To address this, the Agile enterprise must consciously create a culture and environment where best practices and knowledge are shared. This includes new-found Agile skills such as story writing, Continuous Exploration, Continuous Integration, Continuous Deployment, collective code ownership, and automated unit and acceptance testing, which are easily shared across teams. This is often facilitated by Communities of Practice.


    Continuous Delivery

    As implied above, the Dev Team is directly responsible for much of the culture and many of the practices necessary for building the Continuous Delivery Pipeline and implementing DevOps. To this end, their ‘T-shaped’ skill training also includes developing expertise in developing and managing staging and deployment environments and mastering techniques for independently releasing elements of the larger Solution. They assume additional responsibilities for following the code downstream and into production. This further blend traditional siloed responsibilities such that Agile teams, and even individual developers, can master the ability to Release on Demand.


    Design for Testability

    Since all code is tested code, developers design and evolve the system to support testability and test automation. In practice, designing for testability and good design are synonymous and imply modularity, low coupling, and high cohesion of layers, components, and classes. This supports the testability of any separate fragment of logic, as well as the ability to create higher, system-level, integration tests. In a similar manner, the solution should be designed to make it easy to deploy and release.



                 © Scaled Agile, Inc.










    Responsibilities Specific to the Senior Test Automation Engineer


    The Senior Test Automation Engineer is an individual contributor and is a critical member of the System team. They are helping define development infrastructure as it relates to integration and testing.  Mentor and guide agile teams in complex system integration. May perform automated testing duties.


    This includes:

    • Assisting the Agile team in technical decomposition during Sprint Planning
    • Providing estimates for work to be completed
    • Accountable as part of the Agile team in delivering Sprint commitments
    • Assisting in driving continuous improvement within the team
    • Assisting the distributed teams in driving continuous improvement within overall software development lifecycle
    • Work with Principals and Architects on Epic breakdown during Backlog Refinement,
    • Leading solution design within architectural guidelines and oversight
    • Leading technical decomposition efforts during Sprint Planning


    A typical week includes working with Product Managers, agile teams and fellow Engineers to understand new features that support ALG’s business goals and provide a strategy of getting those features into the hands of our customers in the shortest lead time possible with high quality. To accomplish this, you will collaborate with fellow Engineers to build and maintain our Continuous Delivery Pipeline. You’ll primarily be responsible for building test automation framework(s), developing test data strategies, providing guidance on testing methodologies, testing features end-to-end and helping to keep the teams accountable for the quality of work released in all of our environments, but especially staging and production. Finally, you will push new efficiencies with the teams, from promoting test coverage to creating new tools and evangelizing automation best practices. 

    We are looking for self-starters who thrive in a fast-paced, scaled agile environment – which means working with multiple teams, being able to change direction quickly, and showing an eagerness to learn new technologies as the need arises. In this role you work with a cross-functional, collaborative environment – so excellent interpersonal and communication skills are also a must. We also want someone who can help and be able to learn other areas of the Continuous Deployment Pipeline such as infrastructure as code.  And most importantly – we look for people who can deliver value. 


    You will be responsible for designing and implementing test automation frameworks and test automation suites to support the agile teams and ensure compliance throughout the various test cycles.  You will guide and mentor the agile teams to become efficient at using the test automation frameworks and fill in any gaps in order to ensure effective E2E testing.  You should be defining the scope of testing within the context of each cycle / release and help the agile teams execute against that scope.  Performing E2E load testing and maintaining test data across all environments are part of your responsibilities as well.


    What You Need to Have:

    • Several years (7+) of test automation engineering with emphasis on designing and implementing test automation frameworks from the ground up based on best practices and industry standards
    • Expertise with automated test tools and frameworks
    • Expertise building maintainable and efficient tests using Java-based tools like Selenium and Junit
    • Expertise with ATDD/BDD using Cucumber or Fit a plus
    • Expertise in test data management
    • Expert in knowing QA best practices and how to create processes to drive quality in a product
    • Solid understanding of the software development life-cycle and Agile methodologies
    • Solid programming experience with Java (preferable) or other object oriented languages
    • Solid experience using some form of versioning software like Subversion, Git or CVS
    • Understanding of scripting languages, shell scripts, experience with Chef or an equivalent tool a plus
    • Solid experience with VersionOne or similar agile SDLC tool
    • Solid experience in Linux
    • Self-starter who is comfortable taking a task and delivering on it without lots of management
    • Being comfortable working with a cross-functional team of developers and quality engineers to develop innovative automated testing solutions
    • Strong communication skills with the ability to understand and articulate ideas verbally and written
    • Possess excellent analytical, troubleshooting and problem-solving skills
    • CS degree or equivalent experience

    What Would Be Nice for You to Have:

    • Knowledge of the travel industry
    • Experience with Docker
    • Involvement in the local software development or Agile or SAFe community via user groups and conferences a plus



    Sorry the Share function is not working properly at this moment. Please refresh the page and try again later.
    Share on your newsfeed