Cloud Software / Senior Software Engineer
Our Clients Solutions & Technology group is seeking the best and the brightest to help transform how the world connects. You will be responsible for building and bringing innovation to market, in a customer-driven, high accountability, and high trust environment.
They architect their systems to be highly available, fault-tolerant and distributed from the ground up. As a software developer you will advance not only the functionality of the platform but also keep a strong focus on the operational challenges around keeping solutions reliable as they evolve.
· Works to become a subject matter expert in one or more areas of software engineering
· May have a specific focus in one or more of the following:
· Design, deploy and support best in class software, development processes and software development tools; develop tasks including module/micro-service design and coding, debugging, and documentation of codebase;
· Conducts systems programming and systems support activities;
· Contributes to design, development and test tasks to ensure software meets specified performance, scalability and reliability requirements;
o Defines model interfaces/formats for performance simulation;
· Defines the module-specific requirements for software development projects;
· Defines APIs in collaboration with technical and business stakeholders
· Investigates new technology to determine best patterns to address design challenges.
· Develops technical solutions to complex problems that require regular use of creativity.
· Review and ensure designs and implementations follow fault-tolerance and security best practices.
· Experience building business-critical large-scale system with extreme availability.
· Care about agility as much you care for scalability and availability. Continuous deployment keeps us focused on incremental releases. Even our biggest technical achievements roll out piece by piece, feature flagged out of sight.
· Ability to program across the core project language Java
· Bachelor's degree in Computer Science or equivalent.
· Experience working as part of team adhering to agile principles
· Experience to micro-services architecture and reactive architecture principles, with API first development practical experience an advantage
· Strong Java development experience in real-time distributed computing environments; Multi-threading and performance optimization.
· Experience working on products that deploy to on-premise VMWare based environments through to exposure and experience of working on product deployed as a Service.
· Staple technology employed for which experience is required - Kubernetes, Docker, Kafka, Istio, SpringBoot, Asynchronous, HttpClient libraries, Websockets, Postgres