Software Engineer Direct to Teams / Teamwear
Area : Sales Tech
Subsidiary / Country : Colombia
Location : Bogota
Purpose & Overall Relevance for the Organization :
As part of Sales Tech, we are a group of highly consumer obsessed and Tech enthusiasts who are responsible for designing, building and
delivering best in class global OmniChannel Tech solutions for our Sports Teams across Sales Channels. We work in collaboration with the Digital Sales Solutions to deliver best services across all consumer touchpoints.
We are consumer obsessed and excited about new technologies and solutions that allow our consumers to get what they want, where they want it and when they want it.
We keep the consumer at the heart of everything we do.
As part of the Software Engineering team, your mission is to deliver high quality software at speed for a new product area Direct-To-Teams aka Teamwear.
You will be working developing and operating our software products, showcasing your creativity and using the latest technologies to bring ideas to life.
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.
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.
Develops and maintains specialist knowledge of database and data warehouse concepts, design principles, architectures, software and facilities.
Assesses proposed changes to object / data structures, in order to evaluate alternative options.
Implements physical database designs to support transactional data requirements for performance and availability.
Implements data warehouse designs that support demands for business intelligence and data analytics.
Reviews requirements and specifications and defines test conditions.
Designs test cases and test scripts under own direction, mapping back to pre-determined criteria, recording and reporting outcomes.
Analyses and reports test activities and results.
Identifies and reports issues and risks associated with own work.
System Integration and Build
Defines the software modules needed for an integration build and produces a build definition for each generation of the software.
Accepts completed software modules, ensuring that they meet defined criteria.
Produces software builds from software source code for loading onto target hardware.
Configures the hardware and software environment as required by the system being integrated.
Produces integration test specifications, conducts tests and records and reports on outcomes.
Diagnoses faults and records and reports on the results of tests.
Produces system integration reports.
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.
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)
Requisite Education and Experience / Minimum Qualifications :
Proficient spoken and written command of English
Solid Background and experience in Programming using Java or Scala or Go
Hands-on experience in developing Scalable Microservices using either SpringBoot or NodeJs or an equivalent platform
Knowledge and hands-on experience of Event Driven Architecture, including using streaming platforms like Kafka (Writing Producers, Consumers)
Experience with latest open source technologies like Containerization (Docker), Container Orchestration (Kubernetes), AWS
Experience of working on Packaged applications like IBM Sterling or SAP Systems is a huge advantage (though not mandatory)
Experience working in agile teams
DevOps mentality and willingness to live the DevOps culture to support services / products that are being built
Eager to look for perfection in your coding through software development best practices, Continuous Integration / Delivery, Unit Test Automation and Everything as Code
Strong interpersonal and communication skills. Fluent in English preferred.
College or university degree with focus on IT or equivalent.
At least 5-years experience in IT