Purpose
An exciting consumer experience is key for the success of adidas. With our mobile retail platform, we provide tailored solutions for store employees to make the consumer journey a unique shopping experience and to automate in-store processes with the goal to reduce operational efforts.
The role as lead developer for mobile retail solutions will ensure the provisioning of sustainable and scalable mobile apps for adidas stores across all markets globally.
Key Accountabilities
* Alignment of activities with the Product Owner and application stakeholders across all markets
* Cover functional and technical responsibility to support the development team
* Contribute to the agile setup of mobile development team and the appropriate DevOps model
* Drive continuous integration
* Ensure a joint definition of the overall landscape together with Solution Architecture
* Definition of integration scenarios with upstream and downstream systems
* Maintain compliance within adidas Global IT security standards for the entire environment
* Ensure end-to-end application testing with focus on continuous quality improvements
Advice, Guidance & Technical planning
Technical Specialism
* Maintains an in-depth knowledge of specific specialisms, and provides expert advice regarding their application. Can supervise specialist consultancy. The specialism can be any aspect of information or communication technology, technique, method, product or application area.
Emerging Technology Monitoring
* Maintains awareness of opportunities provided by new technology to address challenges or to enable new ways of working.
* Within own sphere of influence, works to further organisational goals, by the study and use of emerging technologies and products.
* Contributes to briefings and presentations about their relevance and potential value to the organisation.
Business change implementation
Requirements Definition and Management
* Facilitates scoping and business priority-setting for change initiatives of medium size and complexity.
* Contributes to selection of the most appropriate means of representing business requirements in the context of a specific change initiative, ensuring traceability back to source.
* Discovers and analyses requirements for fitness for purpose as well as adherence to business objectives and consistency, challenging positively as appropriate.
* Obtains formal agreement by stakeholders and recipients to scope and requirements and establishes a base-line on which delivery of a solution can commence.
* Manages requests for and the application of changes to base-lined requirements.
* Identifies the impact on business requirements of interim (e.g. migration) scenarios as well as the required end position.
Systems Development & Integration
Systems Design
* Recommends/designs structures and tools for systems which meet business needs and takes into account target environment, performance security requirements and existing systems.
* Delivers technical visualisation of proposed applications for approval by customer and execution by system developers.
* Translates logical designs into physical designs, and produces detailed design documentation.
* Maps work to user specification and removes errors and deviations from specification to achieve user-friendly processes.
Database Design
* Develops and maintains specialist knowledge of database concepts, object and data modelling techniques and design principles and a detailed knowledge of database architectures, software and facilities.
* Analyses data requirements to establish, modify or maintain object/data models.
* Evaluates potential solutions, demonstrating, installing and commissioning selected products.
Programming / Software Engineering
* Designs, codes, tests, corrects and documents complex programs and scripts from agreed specifications, and subsequent iterations, using agreed standards and tools, to achieve a well-engineered result.
* Takes part in reviews of own work and leads reviews of colleagues' work.
Testing
* Accepts responsibility for creation of test cases using own in-depth technical analysis of both functional and non-functional specifications (such as reliability, efficiency, usability, maintainability and portability).
* Creates traceability records, from test cases back to requirements.
* Produces test scripts, materials and regression test packs to test new and amended software or services.
* Specifies requirements for environment, data, resources and tools. Interprets, executes and documents complex test scripts using agreed methods and standards.
* Records and analyses actions and results, and maintains a defect register.
* Reviews test results and modifies tests if necessary.
* Provides reports on progress, anomalies, risks and issues associated with the overall project.
* Reports on system quality and collects metrics on test cases.
* Provides specialist advice to support others.
Systems Integration
* Defines the integration build, accepts software modules from software developers, and produces software builds for loading onto the target environment.
* Configures the hardware environment, produces integration test specifications, and conducts tests, recording details of any failures and carrying out fault diagnosis.
Porting / Software Configuration
* Configures software and equipment and tests platform-specific versions of one or more software products.
* Reports the outcome of testing and identifies potential improvements to the process and to the software products according to agreed designs and standards.
Service Design, Transition & Operations
Availability Management
* Contributes to the availability management process and its operation and performs defined availability management tasks.
* Analyses service and component availability, reliability, maintainability and serviceability.
* Ensures that services and components meet and continue to meet all of their agreed performance targets and service levels.
* Implements arrangements for disaster recovery and documents recovery procedures.
* Conducts testing of recovery procedures.
Release and Deployment
* Assesses and analyses release components.
* Provides input to scheduling.
* Carries out the builds and tests in coordination with testers and component specialists maintaining and administering the tools and methods – manual or automatic - and ensuring, where possible, information exchange with configuration management.
* Ensures release processes and procedures are maintained.
Application Support
* Maintains application support processes, and checks that all requests for support are dealt with according to agreed procedures.
* Uses application management software and tools to investigate issues, collect performance statistics and create reports.
Stakeholder & People Management
Relationship Management
* Implements stakeholder engagement/ communications plans, including, for example; handling of complaints; problems and issues; managing resolutions; corrective actions and lessons learned; collection and dissemination of relevant information.
* Uses feedback from customers and stakeholders to help measure effectiveness of stakeholder management.
* Helps develop and enhance customer and stakeholder relationships.
Key Relationships
* Alignment of activities with Product Owner and application stakeholder across all markets
* Functional and technical support of development team
* Joint Definition of the overall landscape together with Solution Architecture
* Definition of integration scenarios with upstream and downstream systems
* Support the appropriate DevOps model
Knowledge, Skills and Capabilities
* Strong knowledge in (micro-) service oriented backend-architecture
* Optional Spring Boot and GO
* Strong knowledge in Jenkins, Docker and Kubernetes
* Advanced knowledge in AWS
* Advanced knowledge in iOS mobile app development
* Strong knowledge in documentation and scrum frameworks like Confluence or Jira
* English language (fluent)
* Acquiring a proper understanding of a problem or situation by breaking it down systematically into its component parts and identifying the relationships between these parts, selecting the appropriate method/tool to resolve the problem and reflecting on the result, such that learning is identified and absorbed
* Maintaining focus on agreed objectives and deliverables whatever the circumstances.
* Understanding the needs, objectives and constraints of those in other disciplines and functions.
* Working co-operatively (rather than competitively) with others to achieve a common goal.
Qualifications
1. 5+ years’ experience in Software Engineering
2. 2+ years’ experience in Technical / Software Architecture
3. 5+ years’ experience in application development