We offer an exciting and attractive career in an ambitious environment with the possibility of continuous professional and personal development. Maersk IT has embarked on a transformation journey, focusing on a long-term strategy to remain best in class in an industry that is increasingly volatile. At the very core of this strategy lies our IT strategy and digital transformation.
In Maersk Software Development, 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, standardisation, increased forecasting capabilities and proactive handling of the market. These are levers that our leadership rely on to maintain a strong and stable presence in the market.
As a starting point you will be placed at the core of the Dynamic Net program looking to optimise the container flow by using live data and on-the-fly decisions. The program is divided into several Scrum teams each consisting of up to 7 developers and you will join one of these teams.
You will be a contributing developer in your Scrum team and collaborate with the other teams in the program. You will be reporting directly to the Development Manager of the department. 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 software architecture and design patterns (microservices, hexagonal architecture), dissecting business requirements into small implementable tasks
• 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
• monitoring of the agreed code quality metrics and ensuring quality of Unit Tests ensuring corrective actions when necessary
• adopt modern technologies and accelerate innovation in the development department by driving cloud-native approach, PaaS paradigm, T-shaped people mindset, DevOps, etc.
The ideal candidate will have a proven track record in most of the following skills and experiences:
• Strong hands-on experience with object-oriented software design and development using GPL like C#
• Some hands-on experience with cloud-native software development using the Azure PaaS offerings (Event Hub, Service Bus, API management, Application Insights)
• Working experience with Microsoft .NET Core (ASP .NET Web API + API versioning, Entity Framework, MVC)
• Profound knowledge of Unit Testing frameworks (xUnit.net)
• Experience with Test-Driven Development and Behavior-Driven Development
• Good all-round knowledge of Visual Studio Code and VSTS
• RDBMS development using T-SQL (MS SQL, Azure SQL)
• Understanding of containerization principles, e.g. Docker, Kubernetes
• Understanding of code instrumentation principles
• Practical knowledge of source code management tools (Git)
• Excellent verbal and written communication in English.
Furthermore, one or more of the following skills will be considered an advantage:
• Practical knowledge of CI/CD pipelines using VSTS
• Experience developing microservices and understanding of the Domain Driven Design approach
• Experience with Terraform Infrastructure-as-Code scripting
• Working knowledge of non-relational (NoSQL) databases (Azure Cosmos DB)
• Knowledge of Static Code Analysis tools and metrics (SonarQube, Coverity)
• Experience with BDD test automation (Cucumber, SpecFlow, Protractor, Selenium/Chrome driver).