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 IT 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 be set to lead one of these teams as far as technology and development is concerned.
You will be a technical lead of 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
• coaching junior developers through pair-programing and code review
• adopt new 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:
• 7+ years of hands-on experience with object-oriented software design and development using GPL like 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)
• 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
• Knowledge of Static Code Analysis tools and metrics (SonarQube, Coverity)
• Good all-round knowledge of Visual Studio Code and VSTS
• Practical knowledge of CI/CD pipelines using VSTS
• RDBMS development using T-SQL (MS SQL, Azure SQL)
• 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
• Understanding of code instrumentation principles
• Practical knowledge of source code management tools (Git)
• Excellent verbal and written communication in English
• Team leadership focusing on value-first and fail-fast principles
• Drive end-to-end responsibility and T-shaped people mindset in development team(s)
• Practical knowledge of the Lean software development, e.g. Scrum, pair-programming, pretotyping.
Furthermore, one or more of the following skills will be considered an advantage:
• Working knowledge of non-relational (NoSQL) databases (Azure Cosmos DB)
• Experience with BDD test automation (Cucumber, SpecFlow, Protractor, Selenium/Chrome driver)
• Experience with front-end development (Angular 4, transpilers, linters, HTML5)
• Hands-on knowledge of Azure container services, e.g. ACS, AKS
• Understanding of SOA architecture to interact with legacy systems
• Formal team leadership experience