RQ10036 - Specialized IT Consultant - Senior (APIs)
5-month contract
Onsite / 21 College Street, Toronto
Justice Technology Services - Ministry of Public and Business Service Delivery and Procurement
Security Level: CRJMC
Scope
-
The project will deliver a secure, user-friendly notification platform that provides real-time updates and clear instructions related to court appearances. The solution will ensure that accused individuals receive accurate, timely, and actionable information to reduce no-shows and improve adherence to court requirements.
-
The Notify App project aims to improve and streamline communication for accused individuals within the judicial process, specifically targeting the first court appearance stage. This initiative addresses two critical issues:
-
Missed court appearances due to lack of timely notifications.
-
Insufficient understanding of court protocols, leading to procedural delays and non-compliance.
Assignment Deliverables
-
Detailed design and specification documents for RESTful APIs, including endpoints, request/response models, authentication, and error handling.
-
Clean, scalable, and secure REST APIs built using Java and Spring Boot, adhering to best practices and company standards.
-
Modular and decoupled microservices, designed and deployed independently, with clear inter-service communication protocols.
-
Using APIs to develop application based on the business requirement to transform and route data.
- Comprehensive test coverage using tools like JUnit, Mockito, or Test Containers to ensure code reliability and prevent regressions.
-
Efficient relational database schemas designed and implemented to support API data storage and retrieval.
-
Profiled and optimized APIs for response time, memory usage, and throughput, ensuring high performance under load.
-
Secure API calls with proper authentication (e.g., OAuth2, JWT), authorization, input validation, and protection against common vulnerabilities (OWASP).
-
Dockerized applications with configuration files, docker-compose scripts, and Kubernetes manifests (if applicable) for smooth deployment.
-
Integrated monitoring (e.g., Prometheus, Grafana) and logging (e.g., ELK stack, Logstash, or Splunk) for operational visibility.
-
Produce clear documentation for developed systems such as design, deployment instructions, and operational guides.
-
Regular code reviews, feedback sessions, and mentorship to junior developers, ensuring code quality and knowledge sharing.
-
Weekly or sprint-based status updates on development progress, blockers, and delivered functionalities.
-
Timely resolution of production issues, regression fixes, and performance improvements based on user feedback and testing.
-
Available for any on-call on weekend for production issues.
Desired Skills and Experience
-
Strong proficiency in object-oriented programming and functional programming with modern Java features.
- Strong expertise in Java and the Java development ecosystem, including experience with Spring Boot.
-
In-depth knowledge of microservice architecture and experience building scalable, highly available systems.
-
Expertise in designing, building, and consuming REST APIs; knowledge of HTTP methods, status codes, and REST best practices
- In-depth knowledge of integration patterns and best practices, including experience designing and building integration solutions using Spring Integration
-
Experience with enterprise integration technologies, such as JMS, AMQP, or REST, and an understanding of how to use them in a Spring Integration context.
-
Strong knowledge of XML and experience working with XML-based integration solutions, such as XSLT and XPath.
-
Knowledge of data transformation techniques, such as mapping and normalization, and experience using them in a Spring Integration context.
-
Experience with message-oriented middleware and enterprise service buses, such as Azure Service Bus
- Experience on Event Driven architecture, experience on Azure Event Hub, etc.
- Strong skills in SQL and experience working with relational databases, such as SQL Server, or Oracle.
-
Understanding of security best practices and experience implementing authentication, authorization, and encryption.
-
Strong experience with writing automated tests, including unit, API test, and a deep understanding of the testing process.
-
Familiarity with Kubernetes, Helm, or other container orchestration tools.
-
Familiarity with Agile software development methodologies, such as Scrum or Kanban, and experience participating in sprint planning and retrospectives.
-
Excellent communication skills, both written and verbal, and the ability to work effectively with both technical and non-technical stakeholders.
-
A passion for staying up-to-date with the latest industry trends and technologies, and a desire to continuously learn and improve your skills.
-
Strong problem-solving and debugging skills, and experience diagnosing and resolving complex issues.
-
A track record of delivering high-quality, robust, and scalable solutions in a fast-paced, deadline-driven environment.
- Strong analytical and troubleshooting abilities for complex systems.
-
Clear verbal and written communication for technical and non-technical stakeholders..
-
Capable of mentoring junior developers and contributing to architectural decisions.
-
Ability to prioritize tasks, manage deadlines, and handle multiple responsibilities.
Must-haves:
-
REST APIs — Extensive experience with REST API design, development, documentation, and testing.
-
Java + Spring Boot — Strong expertise in Java and the Spring Boot ecosystem.
-
Integration Patterns — Strong knowledge of integration patterns and best practices; hands-on experience with Spring Integration.
-
Messaging / Middleware — Experience with Azure Service Bus or similar message-oriented middleware/enterprise service bus.
-
Event-Driven Architecture — Practical experience designing and implementing event-driven systems.
-
Microservices — In-depth knowledge and hands-on experience building scalable, highly available microservice-based systems.
-
Security Standards — Extensive experience with OAuth, OpenID, and SAML 2.0, including implementing authentication, authorization, and encryption.
Nice to Have:
- Containerization & Orchestration — Experience with Docker, Kubernetes, OpenShift, and containerized deployments in Azure.
- SQL Server — Strong SQL skills specifically with Microsoft SQL Server (beyond general RDBMS experience).
- Data Transformation — Experience with mapping/normalization and transforming between JSON, XML, CSV within integration contexts.
- Public Sector Experience — Prior work in government or public sector environments.