- Salary
- C$70 – C$85/hr
- Location
- Toronto, Ontario
- Workplace
- Hybrid
- Type
- Contract
- Department
- IT
- Experience
- 8+ years
- Closing date
- Today
Description
Senior Java Modernization Developer (Contract, Hybrid, Toronto)
A large Toronto university needs a hands-on senior Java developer to review its 15-year-old, high-traffic student portal, find what’s slowing it down, and build a practical plan to modernize it. Up to 6 months, hybrid, with possible extension.
What you’ll do
- Review the Java back end and the Angular / AngularJS front end, including the Java services that connect it to the core student records system
- Trace key transactions from the portal through its APIs and Db2 database to find bottlenecks
- Find and fix performance problems using profiling and load testing
- Plan the upgrade from Java 8 and AngularJS to current versions
- Design how to break out the first services from the existing app
- Build a small prototype and measure the results
- Coach the internal development team as you go
What you’ll deliver
- A code review of the Java and Angular / AngularJS code, with each problem ranked by severity and a prioritized fix plan
- A map of how key transactions flow through the system, including database and API calls and where business rules live
- A performance report with measured transaction times and profiling results, separating proven findings from theories
- Upgrade options for Java 8 and AngularJS, with a recommended order and how old and new can run side by side
- Detailed designs for selected modules or services: interfaces, data access, error handling, testing and deployment
- Repeatable load tests using realistic student data and transaction mixes, with baseline and target results
- A working prototype or controlled refactoring test (where access allows), with documented results
- Ready-to-build work packages with effort estimates, dependencies, acceptance criteria and risks
- Hands-on knowledge transfer: editable documents, scripts, code samples and walkthroughs for the internal team
Must haves
- 8+ years of professional Java development
- 3+ projects upgrading old Java apps (Java 8 or older) to a current version
- 2+ AngularJS to Angular migrations in production, including running both side by side during the switch
- Code reviews of very large systems (500,000+ lines) with a prioritized fix plan
- Breaking services out of a large existing app while it stays live
- Speeding up high-traffic apps: removing repeated calls, fixing slow queries, adding caching
- Diagnosing live production problems with profiling, tracing, memory and thread analysis, SQL query plans and load tests, with measurable results
- Spring / Spring Boot, JPA / Hibernate, and older tech such as EJB, JSP or Struts
- REST services in Java (JAX-RS), Maven and Gradle
- Db2 or a similar database, including business logic stored in the database
- Code quality, security scanning and test coverage tools (e.g., SonarQube)
- Java profiling tools (e.g., Java Flight Recorder, YourKit) and load testing tools
- REST API design, Docker and Kubernetes, CI/CD, automated testing
- Secure coding (OWASP Top 10) in Java and Angular
- Experience working alongside in-house developers and teaching through pairing, code reviews or workshops
- Ability to explain technical issues in plain business terms and back recommendations with data
- Bachelor’s in computer science or software engineering, or equivalent experience
Nice to haves
- Db2 specifically, and IBM integration or application tools
- Spring Boot upgrades and building microservices
- Java apps on Microsoft Azure
- Student, registration or payment systems
- Accessibility (AODA / WCAG 2.x) on front-end screens
- Coaching teams on Docker and test automation
- Oracle Java SE, Spring Professional or secure coding certification
Skills
JavaAngularSpring BootAzureDockerKubernetesCI/CDSQLOracleRESTMicroservices