Deadline Date: Wednesday 8 January 2025
Requirement: CQO-ASB Full Stack Developer
Location: The Hague, NL
Full Time On-Site: No
Time On-Site: 75%
Total Scope of the request (hours): 1672
Required Start Date: 24 February 2025
End Contract Date: 31 December 2025
Required Security Clearance: NATO SECRET
Duties and Role:
- Collaborate with the team to analyse requirements and design technical solutions.
- Develop and maintain software applications (mainly) using C#, .NET Core, .NET 8, and Blazor.
- Participate in all phases of the software development lifecycle, including coding, testing, and support.
- Provide 1st, 2nd, and 3rd level support for the applications in exercises and events (from our offices in the Netherlands and occasionally on-site in other NATO countries)
- Continuously improve code quality and maintainability through code reviews and refactoring.
Particular tasks:
- Development of a Modular Monolith: Ensuring our modular monolith architecture can grow efficiently as we adopt more features. This involves managing dependencies and communication between modules and optimizing performance.
- API Design and Maintenance: Balancing the use of REST and RPC style APIs to ensure they are robust, maintainable, and performant. This includes handling versioning, security, and documentation.
- Integration of New Technologies: Continuously integrating new technologies and frameworks, such as .NET 8 and Blazor, while maintaining stability and compatibility with existing systems.
- Code Quality and Maintainability: Maintaining high code quality through rigorous code reviews, automated testing, and refactoring. Ensuring that the codebase remains clean and maintainable over time.
- Performance Optimization: Identifying and addressing performance bottlenecks in the application. This includes optimizing database queries, improving response times, and ensuring efficient resource utilization.
- Support and Troubleshooting: Providing effective 1st, 2nd, and 3rd level support. This involves quickly diagnosing and resolving issues, often under tight deadlines, and ensuring minimal disruption to users.
- Security: Ensuring the application is secure from vulnerabilities. This includes implementing best practices for authentication, authorization, data encryption, and regular security audits.
- Collaboration and Communication: Facilitating effective communication and collaboration within the team, especially when working on complex features or troubleshooting issues. Ensuring that everyone is aligned and working towards common goals.
- Data Management: Efficiently managing and scaling our databases, ensuring data integrity, and optimizing data access patterns. This also includes handling migrations and backups.
- User Experience (UX) Improvements: Continuously enhancing the user interface and experience, especially with Blazor, to meet user expectations.
- Technical Debt: Managing and reducing technical debt accumulated over time. This involves prioritizing refactoring efforts and balancing them with new feature development.
- Compliance and Regulations: Ensuring our application complies with relevant industry and NATO standards and regulations.
Skill, Knowledge & Experience:
- The candidate must have a currently active NATO SECRET security clearance
- Strong full stack developer with proven experience with C#, .NET Core, .NET 8, and Blazor.
- Familiarity with modular monolith architecture.
- Ability to work independently and as part of a team.
- Excellent problem-solving skills and attention to detail.
- Strong communication skills and the ability to collaborate effectively with team members.
- Passion for software and improving existing skills.
- 5+ years of experience with: .NET (6+); C# (11+); ASP.NET Core; Entity Framework Code First, EF Migrations; Microsoft T-SQL; Unit Testing; Design Patterns, Clean Code; HTML, CSS, JavaScript; REST API, API Design
- 2+ years of experience with: Blazor; Modular Monolith and service-oriented architecture; Event driven architecture; Azure DevOps, CI/CD; Kubernetes; Docker
Desired:
- Familiar with the iDesign Method and Volatility Based Decomposition
- Familiar with MediatR and CQRS
- Familiar with TestContainers and integration testing in ASP.Core