Platform Engineering is the practice of designing, building and operating platforms for application engineering teams to leverage. The main goal of the central platform engineering team is to unlock the potential of the application teams so they spend more time focusing on business functionality, increasing velocity and reducing time to market. Moreover, the enterprise can better scale across its applications with similar platforms and shared microservices, making it easier to staff engineer assignments, as well as access enterprise information.
Because of its holistic charter, the Platform Engineering team requires both infrastructure and development skillsets, people who can architect and design services, and people who can build and run them. Because services are provided for their full lifecycle – and must continuously improve to meet new requirements and priorities the team must manage its services like a product portfolio, support the DevOps transformation of the company, drive the application engineering community and to share and incorporate new concepts and technologies.
Advice, Guidance & Technical Planning
- Maintains knowledge of specific specialisms, provides detailed advice regarding their application and executes specialised tasks. The specialism can be any area 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.
Systems Development & Integration
- 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.
- 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.
- 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.
- Defines the integration build and produces a build definition for generation of the software.
- Accepts software modules from software developers, and produces software builds for loading onto the target hardware from software source code.
- Configures the hardware environment, produces integration test specifications, conducts tests and records the details of any failures.
- Carries out and reports fault diagnosis relating to moderately complex problems.
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
Service Level Management
- Monitors service delivery performance metrics and liaises with managers and customers to ensure that service level agreements are not breached without the stakeholders being given the opportunity of planning for a deterioration in service.
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.
- Domain- and Solution Architects
- Software Engineers
- IT Infrastructure
- IT Security
Knowledge, Skills and Abilities
- English language (fluent)
- Familiar with containerization
- Experience with build automation and CI/CD pipelines
- Proficient in AWS or other cloud provider
- 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.
- 4+ years’ experience in Software Engineering
- 4-year university degree in information technology/computer science
- Mix of experience and degree are interchangeable