We are hiring for a position in the Network Planning team, that builds tools for designing our global network of vessels and optimizing our flow of containers on the vessels. The team consists of a mix of software developers and data scientists. We are placed together with our end users to ensure close collaboration with the business. The team is responsible for developing our Flow Planner application and deliver core analyses of our vessel network.
We offer an exciting and attractive career in an ambitious environment with the possibility of continuous professional and personal development. In Maersk Technology, we actively engage the business to deliver on its needs while undergoing our own transformation. We aim to be a world-class software delivery unit that delivers business value through automation, standardization, increased forecasting capabilities and proactive handling of the market.
You will be a principal software engineer in your Scrum team, share technical knowledge, mentor developers and collaborate with the other teams in the program. Your tasks will among other things include the following:
• writing and maintaining secure, robust, scalable and efficient code that turns business concepts into tangible solutions, products and user experiences
• driving the modernization of the deployment setup, code base and architecture, with the aim of migrating to a cloud-based solution.
• driving automated tests and practices like TDD, BDD, DevOps and CI/CD
• participating in Scrum ceremonies, e.g. sprint planning, backlog refinement and task estimation
• setting and ensuring high software development and code quality standards in the team
• driving software architecture and design patterns (microservices, hexagonal architecture), dissecting business requirements into small implementable tasks
• monitoring of the agreed code quality metrics and ensuring quality of Unit Tests ensuring corrective actions when necessary
The ideal candidate will have a proven track record in most of the following skills and experiences:
• Hands-on experience with object-oriented software design and development using C#, Python and/or C++
• At least 1 year of hands-on experience with cloud-native software development using the Azure PaaS offerings (Event Hub, Service Bus, API management, Application Insights)
• Database development using T-SQL (MS SQL, Azure SQL)
• Experience with Test-Driven Development and Behavior-Driven Development
• Experience developing microservices and understanding of the Domain Driven Design approach
• Understanding of IaaS, PaaS and Serverless (Azure Functions) concepts
• Understanding of containerization principles, e.g. Docker, Kubernetes
• Practical knowledge of source code management tools (Git)
• Good all-round knowledge of Visual Studio Code and CI/CD pipelines using VSTS
• Excellent verbal and written communication in English
• Practical knowledge of the Lean software development, e.g. Scrum, pair-programming, prototyping.
Furthermore, one or more of the following skills will be considered an advantage:
• Working experience with Linux.
• Experience with front-end development (Angular 4, transpilers, linters, HTML5)
• Experience with Infrastructure-as-Code scripting (e.g. Terraform)