Technical Lead : Elekta
- Full Time
The Technical Lead in the Platform Group will be working on delivery of a new software platform designed according to service-oriented architecture with web UI in a container-based environment. The Technical Lead will be skilled and experienced in delivering solutions on a Digital platform with good understanding of distributed programming in an event-driven service architecture, working with versioned APIs and services, using web protocols such as REST and cloud utilities such as Docker and Kubernetes. The Technical Lead will be skilled in general software engineering, full stack development, as well as digital specialities, and will be experienced working successfully and accountably within a scrum team, delivering good quality solutions. Will have leadership skills to successfully organize and direct a small engineering team and work with distributed teams. He or she will be a confident and supportive guide and mentor for more junior team members and will participate as a thoughtful, credible technical advisor in general technical discussions.
The Elekta Platform Group is a newly formed global function driving delivery of the Elekta Software Platform. The Platform will have its first delivery this year and then will continue to be the foundational software suite for all Elekta products. Software delivery in Elekta follows SAFE Agile practice
- Develop and enhance a suite of components and Services within a Domain-based service-oriented platform hosted on Containers for cloud and on premises deployment. Components and Services will be used by other development teams to build Elekta products. The platform will include utilities for identity and access, service mesh, logging, messaging, monitoring, composable UI, administration, storage management etc.
- Design and implement APIs according to architectural guidelines. For this a clear understanding of micro services architecture and RESTful API design would be useful, along with good understanding of strategies for API backward compatibility and versioning.
- Help to enhance our CI/CD pipeline to make all aspects of product development, deployment and maintenance fast and efficient. Useful experience here would be with Docker, Kubernetes and their associated deployment utilities, APIs, and CLI tooling, configuring and working with CI/CD pipelines in Azure DevOps, Jenkins or similar suites
- Full stack development from web-based UI development down to messaging and storage solutions, using preferred specialist skills and knowledge wherever appropriate, but also performing generalist tasks within the scrum team to ensure timely delivery of effective and high-quality solutions
- Incorporate open-source tools into the foundations of the Elekta Platform for functions with good industry solutions - such as message passing or event management.
- Test solutions before handing them off to QA teams, enhancing and using automated unit, integration, functional, and performance tests.
- From time to time apply skills to refactoring or reworking legacy software solutions to run on the new Elekta Platform. For this some experience of Microsoft desktop architectures and conventions would be useful.
- Collaborate closely with multi-disciplinary teams on planning, designing, testing and documenting standards.
- Take personal accountability for the timeliness and quality of deliverables, working on assigned tasks as part of a team, but understanding when it is necessary to ask for help to overcome blockers
- Share design, process, and architecture learnings with other developers. Assist colleagues in an open way and guide more junior team members.
- Take opportunities for training and learning to keep up to date with industry trends and standards in the healthcare industry and the wider software engineering domain
- Use personal skills and ingenuity to deliver valuable innovations which will make a difference for healthcare professionals and patients who depend on our solutions.
Accountable · To provide technical leadership for a globally visible platform solution with internal and wider Elekta Engineering · To deliver good quality software solutions in a timely manner according to agreed project plans and Agile stories, adhering to Elekta architectural directives and guidelines and industry best practice. · To be a positive and engaged team member, advising and collaborating with colleagues to make Elekta solutions as good as possible · To keep skills and knowledge up to date with self-learning as well as attending courses provided by Elekta · Keeping in mind most engineering details of a project or system. · Answering the technical questions that team or stakeholders have. · Reviewing the decisions the team makes to ensure consistency and alignment with the vision. · Coaching and mentoring engineering team members and some line management duties such as appraisal. Responsible · Deliver software solutions on the Elekta Platform for Elekta products, following Agile and SW best practices · Execute tasks and stories as required to deliver good user experience and high quality, robust software solutions · Participate positively and actively in the team and in the technical community at Elekta, sharing expertise and collaborating with colleagues across the business to deliver excellent products · Follow industry developments and innovation and contribute insight and expertise to keep Elekta products up to date · Maintaining the project technical vision clear for everyone, from beginning to end. · Helping the team resolve difficult engineering problems.
RELEVANT KNOWLEDGE, SKILLS AND COMPETENCIES
- Bachelor's degree in Computer Science or a related field
- 8+ years of relevant experience, preferably for medical applications.
- Significant .NET Platform (C#, .NET Core)
- Back end: Microservices, REST APIs (openAPI, Swagger), MS SQL Node, Rabbit MQ, Kafka
- Infrastructure: Docker, Kubernetes, Terraform, gRPC, VMware, Azure DevOps, CI/CD, Sonarqube
- Understanding and experience of version management, with knowledge of API Gateways
- Familiarity with Familiarity with various design patterns such as Domain Driven Design, CQRS and Event Sourcing
- Confidence with asynchronous programming and event driven systems using Message queues
- Proficient with Shell Scripting using Linux Shell / Bash and/or Windows Powershell.
- Experience of working with Agile delivery processes– understanding of SAFE agile practices
- Excellent understanding and experience of the overall SDLC for application development
- Experience of working in a strongly regulated industry – preferably healthcare
- Strong technical communication skills, and the ability to influence others with articulation and insight
- Beyond technical skills, we are looking for strong team members who are motivated to apply their skills to delivering valuable innovations that will make a difference for healthcare professionals and patients who depend on our solutions
ADDITIONAL LOCAL INFORMATION
Travel: Must be able to travel up to 20% of the time.