Senior Site Reliability Engineer
adidas
Bogota, DC, CO
hace 4 días

Purpose & Overall Relevance for the Organization :

Site Reliability Engineering (SRE) combines software and systems engineering to build and run large-scale, massively distributed, fault-tolerant systems.

Key Responsibilities :

Specialist advice

  • Actively maintains recognised expert level knowledge in one or more identifiable specialisms. Provides definitive and expert advice in their specialist area(s).
  • Oversees the provision of specialist advice by others, consolidates expertise from multiple sources, including third party experts, to provide coherent advice to further organisational objectives.
  • Supports and promotes the development and sharing of specialist knowledge within 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.

    Systems development management

  • Defines systems development projects which support the organisation's objectives and plans.
  • Selects, adopts and adapts appropriate systems development methods, tools and techniques selecting appropriately from predictive (plan-driven) approaches or adaptive (iterative / agile) approaches.
  • Ensures that senior management is both aware of and able to provide the required resources. Facilitates availability and optimum utilisation of resources.
  • Monitors and reports on the progress of development projects, ensuring that projects are carried out in accordance with agreed architectures, standards, methods and procedures (including secure software development).
  • Develops road maps to communicate future development activity.
  • Systems design
  • Designs components using appropriate modelling techniques following agreed architectures, design standards, patterns and methodology.
  • Identifies and evaluates alternative design options and trade-offs.
  • Creates multiple design views to address the concerns of the different stakeholders of the architecture and to handle both functional and non-functional requirements.
  • Models, simulates or prototypes the behaviour of proposed systems components to enable approval by stakeholders.
  • Produces detailed design specification to form the basis for construction of systems.
  • Reviews, verifies and improves own designs against specifications.
  • 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.
  • Database design

  • 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.
  • 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.
  • System Integration and Build

  • Provides technical expertise to enable the configuration of software, other system components and equipment for systems testing.
  • Collaborates with technical teams to develop and agree system integration plans and report on progress.
  • Defines complex / new integration builds.
  • Ensures that integration test environments are correctly configured.
  • Designs, performs and reports results of tests of the integration build.
  • Identifies and documents system integration components for recording in the configuration management system.
  • Recommends and implements improvements to processes and tools.
  • 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.
  • Scale systems sustainably through mechanisms like automation; evolve systems by pushing for changes that improve reliability and velocity.
  • Practice sustainable incident response and blameless postmortems.
  • 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.
  • Relationship management

  • Implements stakeholder engagement / communications plan.
  • Deals with problems and issues, managing resolutions, corrective actions, lessons learned and the collection and dissemination of relevant information.
  • Collects and uses feedback from customers and stakeholders to help measure effectiveness of stakeholder management.
  • Helps develop and enhance customer and stakeholder relationships.
  • Leadership

  • Provides mentorship to Junior SREs.
  • Trusted to resolve disputes inside the team.
  • Foster an environment of continuous learning which builds excellent engineering skillsets
  • What you will bring along

  • Strong awareness and experience of working with Site Reliability Engineering principles.
  • Ability to debug, optimize code, and automate routine tasks.
  • Demonstrated understanding of Microservices architecture and best practices
  • Good understanding of public cloud offerings such as AWS components like EC2, IAM, RDS, Cloudwatch etc.
  • Knowledge of server-side technologies such as Kubernetes, NodeJS, Docker, Java
  • Experience with database technologies RDBMS (MySQL, Postgres, Oracle, etc) and NoSQL (Mongo, Cassandra, Couchbase, etc) at scale.
  • Experience programming in at least one of the following languages : Java, JavaScript, TypeScript.
  • Experience with building Rest APIs, API Integration, and Web Services is preferred
  • Hands on experience on enterprise tools set such as Grafana, Instana, Prometheus, ELK Stack etc.
  • Knowledge on Unix shell scripting.
  • Understanding of Linux and Networking systems.
  • Experience operating high-availability, fault-tolerant, scalable, distributed software in production : building monitoring into your code, tweaking dashboards, defining alerts.
  • Previous experience leading an engineering team as a servant-leader.
  • Exposure to ITIL processes.
  • Requisite Education and Experience / Minimum Qualifications :

  • Four-year college or university degree with focus on Computer Science, Software Engineering, or related areas, or equivalent combination of education and experience
  • Proficient spoken and written command of English
  • At least 7-year experience in IT
  • 5 years of experience in relevant area
  • 2 years of experience in team management
  • Strong understanding & knowledge of regional and global market landscape and the respective customer
  • Managed critical elements and cross functional and regional projects
  • Reportar esta oferta
    checkmark

    Thank you for reporting this job!

    Your feedback will help us improve the quality of our services.

    Inscribirse
    Mi Correo Electrónico
    Al hacer clic en la opción "Continuar", doy mi consentimiento para que neuvoo procese mis datos de conformidad con lo establecido en su Política de privacidad . Puedo darme de baja o retirar mi autorización en cualquier momento.
    Continuar
    Formulario de postulación