Software Engineer - Yeezy
Portland | United States | Information TechnologyPurpose & Overall Relevance for the Organization
- Develops information systems by designing, developing, and installing software solutions.
Key Responsibilities
Specialist advice
- Actively maintains knowledge in one or more identifiable specialisms.
- Provides detailed and specific advice regarding the application of their specialism(s) to the organisation's planning and operations.
- Recognises and identifies the boundaries of their own specialist knowledge.
- Collaborates with other specialists, where appropriate, to ensure advice given is appropriate to the needs of the organisation.
Emerging technology monitoring
- Supports monitoring of the external environment and assessment of emerging technologies to evaluate the potential impacts, threats and opportunities to the organisation.
- Contributes to the creation of reports, technology roadmapping and the sharing of knowledge and insights.
Requirement and Definition Management
- Defines and manages scoping, requirements definition and prioritisation activities for small-scale changes and assists with more complex change initiatives.
- Follows agreed standards, applying appropriate techniques to elicit and document detailed requirements.
- Provides constructive challenge to stakeholders as required.
- Prioritises requirements and documents traceability to source.
- Reviews requirements for errors and omissions.
- Provides input to the requirements base-line.
- Investigates, manages and applies authorised requests for changes to base-lined requirements, in line with change management policy.
Software design
- Designs software components and modules using appropriate modelling techniques following agreed software design standards, patterns and methodology.
- Creates and communicates multiple design views to identify and balance the concerns of all stakeholders of the software design and to allow for both functional and non-functional requirements.
- Identifies and evaluates alternative design options and trade-offs.
- Recommends designs which take into account target environment, performance security requirements and existing systems.
- Reviews, verifies and improves own designs against specifications. Leads reviews of others’ designs.
- Models, simulates or prototypes the behaviour of proposed software to enable approval by stakeholders, and effective construction of the software.
- Verifies software design by constructing and applying appropriate methods.
Programming/software development
- Designs, codes, verifies, tests, documents, amends and refactors complex programs/scripts and integration software services.
- Contributes to selection of the software development approach for projects, selecting appropriately from predictive (plan-driven) approaches or adaptive (iterative/agile) approaches.
- Applies agreed standards and tools, to achieve well-engineered outcomes.
- Participates in reviews of own work and leads reviews of colleagues' work.
Testing
- Ensure Test coverage on the written code is high.
- Identifies and reports issues and risks associated with own work.
- Address Testing errors reported as per priorities.
- Work with QA to enhance the quality of the deliverables.
System Integration and Build
- Support for E2E testing and addressing the issues reported in a timely fashion.
- Well integrated development process for CI/CD.
Operational Activities
- Uses the tools and techniques for specific areas of release and deployment activities.
- Support daily releases and ensure this process is not broken.
- Identifies and resolves issues with applications, following agreed procedures.
- Ensure traceability and troubleshooting is easy.
- Proactive problem identification using monitoring tools.
Release and deployment
- Uses the tools and techniques for specific areas of release and deployment activities.
- Administers the recording of activities, logging of results and documents technical activity undertaken.
- May carry out early life support activities such as providing support advice to initial users.
Application support
- Identifies and resolves issues with applications, following agreed procedures.
- Uses application management software and tools to collect agreed performance statistics.
- Carries out agreed applications maintenance tasks.
If required:People Management / Resource Management
- May be involved and gives some input on hiring Transition decisions
- Ensures appropriate leadership skills are present at every level through creating a motivational and supportive work environment in which employees are coached, trained and provided with career opportunities through development
- Allocates the different work to the respective employees considering experience, complexity, workload and organizational efficiency
- Continuously monitors and evaluates team workload and organizational efficiency with the support of IT systems, data and analysis and team feedback and makes appropriate changes to meet business needs.
- Provides team members/direct reports with clear direction and targets that are aligned with business needs and GIT objectives
Key Relationships
- Global IT
- Respective business function (GOPS, Finance, HR, Brand Marketing, Wholesale/Retail)
- HR Management
- Controlling
Requisite Education and Experience / Minimum Qualifications
- Four-year college or university degree with focus on Business Administration or IT or related areas, or equivalent combination of education and experience
- Proficient spoken and written command of English
- At least 5-year experience in IT
- 2 years of experience in relevant area
- 1 year of experience in team management
- Understanding of different culture
- Participated in projects with people from other functions/markets