Job Title: Software Developer Senior (API)
Location: Toronto
Work Model: Onsite
Duration: 8 months
Extension: Yes
Security Clearance: CRJMC
Must Haves
- Extensive experience in designing, building, and consuming REST APIs, including API documentation and testing, as well as in-depth knowledge of integration patterns and best practices, with experience designing and building integration solutions using Spring Integration.
- In-depth knowledge of microservice architecture and experience building scalable, highly available systems using various Azure Services, including hands-on experience with messaging queuing, event-driven architecture, and asynchronous communication/multi-threading.
- Strong skills in SQL and experience working with relational databases such as SQL Server or Oracle.
- Knowledge of integration with OAuth2, JWT, SAML, and related authentication/authorization technologies.
- Knowledge of data transformation techniques, such as mapping and normalization, with experience applying them in a Spring Integration context.
- Ability to transform data between different formats, including JSON, XML, and CSV.
Description / Responsibilities / Skills
Description
- The Courts Digital Transformation (CDT) initiative is a key modernization initiative for the Ministry of the Attorney General (MAG), Superior Court of Justice (SCJ) and Ontario Court of Justice (OCJ).
- CDT will replace legacy technology, increase standardization of processes, and achieve integration of systems between courts and business lines.
- CDT is centered around the procurement and implementation of an end-to-end digital justice solution to support e-filing, document management and sharing, case management, scheduling, a public portal.
- CDT will modernize the way that justice is delivered and administered in Ontario, by providing justice participants with accessible online options.
Scope
- A senior API Software Developer with 8+ years of experience will be responsible for creating and using APIs to translate functional specifications into working and tested applications.
- This includes developing detailed programming specifications, user interface designs, prototypes, writing and/or generating code, compiling data driven programs, conducting unit tests and debugging code.
Assignment Deliverables
- Clean, scalable, and secure REST APIs built using Java and Spring Boot, adhering to best practices and company standards.
- Comprehensive test coverage using tools like JUnit, Mockito, or Test Containers to ensure code reliability and prevent regressions.
- Dockized 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.
- Regular code reviews, feedback sessions, and mentorship to junior developers, ensuring code quality and knowledge sharing.
- Support Assist with troubleshooting production issues (24/7) and support day-to-day operations
Deliverables
- Detailed design and specification documents for RESTful APIs, including endpoints, request/response models, authentication, and error handling.
- Modular and decoupled microservices, designed and deployed independently, with clear inter-service communication protocols.
- Profiled and optimized APIs for response time, memory usage, and throughput, ensuring high performance under load.
- Produce clear documentation for developed systems such as design, deployment instructions, and operational guides.
- 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.
- Code & Documentations of all type assigned for this role.
Experience & Skill Set Requirements
Criteria 1: Technical Design - 30 Points
- Strong expertise in Java and the Java development ecosystem, including experience with Spring Boot.
- In-depth knowledge of microservice, Event Driven architecture and experience building scalable, highly available systems.
- Extensive experience with REST API design and development, including experience with API documentation and testing.
- Practical knowledge in applying various design patterns and standards to the technical design and development.
- Strong skills in SQL and experience working with relational databases, such as SQL Server.
Criteria 2: Integration - 30 Points
- In-depth knowledge of integration patterns and best practices, including experience designing and building integration solutions using Spring Integration
- Hands-On experience in messaging queuing (Azure Service Bus) and event driven architecture.
Criteria 3: Technical Framework and Middleware - 25 Points
- In-depth knowledge of microservice architecture and experience building scalable, highly available systems using various Azure Services.
- Must have prior experience in working with containerized environments such as Azure, OpenShift, Docker, Kubernetes, Microservices, etc.
- Experience with message-oriented middleware and enterprise service buses, such as Azure Service Bus.
- Experience on Event Driven architecture.
Criteria 4: Security - 10 Points
- Experience with Security and Web Services Security standards and frameworks. Must have extensive working experience in OAuth, OpenID, SAML 2.0, etc.
- Understanding of security best practices and experience implementing authentication, authorization, and encryption.
Criteria 5: Public Sector Experience - 5 Points
- Previous experience working in Government or Public Sector organization.
Nice-to-Have Requirements
- Knowledge and experience in Criminal Justice Business and System
Desired Skills and Experience
- Strong proficiency in object-oriented programming and functional programming with modern Java features.
- 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.
- Experience on Event Driven architecture, experience on Azure Event Hub, etc.
- 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.