Argentina
·
Fully Remote
Automation Software Engineer III
The Role:
The Automation Software Engineer III is a position withing the development team responsible for designing, developing, and executing automated tests to ensure the quality and reliability of the proprietary Platform Software. You will collaborate closely with cross-functional teams, including software developers, QA engineers and product owner, to identify test requirements and develop effective test strategies.
Key Responsibilities:
- Design, develop and maintain automated test scripts.
- Execute automated tests and analyze test results to identify defects, inconsistencies, and performance issues.
- Design, develop and maintain automation framework
- Drive root cause analysis and fix software defects found.
- Provide guidance and support to other Automation Software Engineers.
- Review other´s designs, code changes and test scripts
- Collaborate with other engineers to improve testing processes, tools, and methodologies.
- Collaborate with product owner to understand requirements, identify test scenarios, and define acceptance criteria.
- Ensure on-time delivery of agreed milestones and deliverables.
- Be a quick learner of the internal framework.
Requirements:
- 5+ year experience automation developing using Python or Java.
- Experience with Behavior Driven Development
- Experience with Object Oriented Design, database interaction and services communication.
- Experience as a senior developer with design responsibilities.
- Advanced Oral communication skills both in Spanish and English.
- Advanced Written communication skills both in Spanish and English.
Preferred Experience:
- Experience in software development using C++ or C#.
- Experience with Pytest or similar testing framework.
- Experience in gRPC as a way to communicate services
- Experience with CI/CD pipelines for test automation.
- Experience in the Retail industry, electronic payment systems, and/or Point-Of-Sale systems.
- Familiarity with Agile/Scrum methodologies.
Skills / Abilities:
- General
- Requires in-depth knowledge and experience.
- Uses best practices and knowledge of internal or external business issues to improve products or services and processes.
- Solves complex problems; takes a new perspective using existing solutions.
- Works independently, receives minimal guidance, and can guide the work of small groups of other Software professionals.
- Acts as a resource for colleagues with less experience.
- Does coding of solutions as per design guidelines, independently.
- Does propose designs for modules and sub-modules for solutions under guidance from Architect.
- Learns to understand the customer needs and system solution capability to solve customer needs.
- Proposes changes needed in the system.
- Functional Knowledge
- Requires conceptual and practical expertise in own discipline and basic knowledge of related disciplines.
- Understands and works with other SW professionals to integrate work.
- Extensive experience working in an Agile SW development lifecycle and can function as a Scrum Master or lead daily stand-ups, Sprint Planning, and Sprint Retrospectives.
- Understands how to work across Scrum teams to deliver a project, may Lead a Scrum of Scrums if needed, and can mentor other team members.
- Implement and recommend best coding practices, understands to minimize bugs and errors in implementation.
- Propose standardized way to implement, platform capabilities, design principals, put standard work around it.
- Business Expertise
- Has knowledge of best practices and how own area integrated with others.
- Is aware of the competition and the factors that differentiate them in the market.
- Leadership
- Acts as a resource for colleagues with less experience.
- May lead small projects with manageable risks and resource requirements.
- Problem Solving
- Solves complex problems; takes a new perspective on existing solutions; exercises judgment based on the analysis of multiple sources of information.
- Interpersonal Skills
- Explains difficult or sensitive information in a way that is understandable by all stakeholders.
- Works to build consensus.
- Specification/Design
- Partner with product management, product owners, and architects to create software specification and design artifacts.
- Ability in UX design, designing for medium to large projects independently.
- Ability to design or enhance automation frameworks for SW components and ensure SW design is adapted to enable automation.
- Understand sub-systems in the overall architecture and interaction between various sub-systems. Leverage that deep knowledge to ensure designs are designed for quality, performance, reliability, and scalability.
- Implementation
- Ability to Implement Test-driven development (TDD) approach and coach the team.
- Ability to develop rest apis and SQL queries (Complex queries)
- Ability to create cloud services and coach the team.
- Ability to use a CI/CD pipeline to deploy applications on cloud (AWS, pcf, azure....)
- Ability to implement authentication methods. (LDAP, OAuth, OAuth2.0 etc....)
- Ability to adhere to coding standards and create software documentation.
- Ability to work without guidance on medium to high complexity algorithms features, and non-functional requirements.
- Ability to develop or maintain new automation to align with SW architecture and design.
- Establish code repository and integrate with continuous build environments.
- Verification
- Design and implement unit and functional test framework for the SW component or project.
- Verify code quality for all the modules. Knowledgeable about automated testing tools and procedures.
- Integrate automated tests to the CICD pipeline to enable continuous integration and testing.
- Work across teams to enable CI/T for the project.
- Participate in the selection of new development and automation tools.
- Should be able to review own work without PRTI and do unit testing.
- Should be able to do performance testing of the software.
- Technical Support
- Should be able to identify and fix issues in multiple modules and their interfaces.
- Should be able to identify root cause of complex issues that impact functionality and performance.
- Architecture
- Understands principles of Software architecture including Embedded platforms, IoT and cloud.
- Support preparation and implementation of technical architecture with guidance from Architects and Experts. Ability to apply knowledge acquired through training in new technology.
- Project Leadership
- Drives Sprint planning with the team, involved in backlog refinement with Product Owners, task assignments and provides leadership to the team.
- Supports Program Increment / release planning and management, participates in Scrum of Scrums.
- Strategic Thinking
- Understanding of current capabilities and architecture.
- Understanding business needs and market trends.
- Work with Product Owners and Product Management to suggest new features for the product roadmap and how we might leverage new technologies.
- Customer Touch Points
- Ability to interact with internal customers. Understand pain points, device solutions and engage in customer training.
- Work with Product Owners to review and gather external VOC via demos and customer lab support.
- Analyze trends to improve user story refinement, design reviews, backlog prioritization, and acceptance criteria.
- Mentoring
- Coach team members on software solutions and processes.
- Locations
- Argentina
- Remote status
- Fully Remote
- Employment type
- Full-time
Argentina
·
Fully Remote
Automation Software Engineer III
Loading application form