Senior Software Developer

April 13 2024
Expected expiry date: May 2 2024
Industries Energy
Categories Computer Engineering, Software Engineering, Project, Project management, Planning,
Remote
Pickering, ON • Full time

We are currently requesting resumes for the following position:  Senior Software Developer

Contract Duration: 24 months

Hours of work:  40 per week

Location: 889 Brock Road, Pickering, Ontario (Hybrid, 4 days remote, 1 day on-site)

Employment Type: Incorporated Contractor

Security Clearance is a condition of employment.

Job Overview

Job Title: Senior Software Developer

Department: Enterprise Digital Technology - Digital Innovation & Strategy

Reports To: Lead Software Developer / Senior Manager

Job Summary:

We are seeking a highly skilled and versatile Software Developer to join our team. In this role, you will play a key role in developing innovative software applications, including AI-enabled products, while ensuring security best practices and navigating the challenges of a new codebase. This position is for Full Stack Web development, requiring proficiency across various layers of the technology stack.

Department:

As a developer with Ontario Power Generation's Digital Innovation & AI Team, you will be at the forefront of assessing groundbreaking technologies such as AI, robotics, drones, digital twins, VR/AR, and IoT. You will help to analyze and determine the potential of these innovations for enhancing competitiveness, efficiency, and effectiveness across OPG's diverse departments, including Nuclear Engineering, Finance, HR, IT, Maintenance, and Operations. Your work will drive forward the readiness and fit of new tech advancements within the company, ensuring OPG remains a leader in the energy sector.

Key Responsibilities:

  • Design and architect scalable and maintainable software solutions that meet both technical and business needs.
  • Develop clean, efficient, and secure code from scratch as well as improve existing codebases.
  • Proactively identify and implement security measures throughout all stages of software development to protect against vulnerabilities.
  • Work closely with cross-functional teams to define system architecture, component design, and interaction patterns.
  • Stay abreast of emerging technologies and architectural approaches, and integrate them where appropriate to enhance application performance and maintainability.
  • Translate complex requirements into functional, user-friendly software without sacrificing reliability and performance.
  • Establish and adhere to corporate coding standards and best practices while maintaining the flexibility and innovative spirit of a startup environment.
  • Participate actively in code reviews and collaborate with other developers to ensure code quality and shared knowledge.
  • Address technical debt proactively and refactor code to improve maintainability and performance.

Technical Stack:

Our development environment relies on the following tech stack:

Frontend:

  • Next.js / React: For building interactive UIs with SSR and file-based routing.
  • TailwindCSS: For rapid styling with a utility-first approach.

Backend:

  • FastAPI: For high-performance API development with automatic documentation.
  • Flask: Some of our more simple applications use Flask.
  • Prisma: For type-safe database queries
  • tRPC: For end-to-end type safety in APIs.

Database:

  • MSSQL/SQL Server: As the primary relational database management system.

Caching:

  • Redis: For high-performance data caching and quick access.

Infrastructure:

  • Docker: For containerization and consistent deployment workflows.
  • Azure Kubernetes: For container orchestration and scalability.
  • Azure DevOps: For CI/CD, version control, and project tracking.

Personal Attributes:

  • Innovative and able to drive ideas to completion in a constrained environment.
  • Comfortable with ambiguity and able to navigate complex organizational structures.
  • Committed to continuous learning, open-minded to feedback, and dedicated to personal and professional growth.

Qualifications

Required Skills and Qualifications:

  • Bachelor's degree in Computer Science, Engineering, or a related field.
  • Demonstrable experience in full-stack development with a focus on front end development.
  • Strong understanding of software architecture and design patterns.
  • Advanced knowledge in system security, data protection, and secure coding practices.
  • Ability to adapt to a new codebase and make informed decisions to evolve it effectively.
  • Experience with Agile methodologies, iterative development, and deployment strategies.
  • Strong analytical and problem-solving skills, with a detail-oriented mindset.
  • Excellent communication skills, capable of conveying complex ideas and collaborating in a multidisciplinary team.
  • Ability to work in a fast-paced startup environment while adhering to strict corporate regulations and timelines.

 Preferred Skills and Experience:

  • Experience with cloud architecture, microservices, and distributed systems.
  • Familiarity with CI/CD pipelines, test automation, and DevOps practices.
  • Experience with modern front-end frameworks and a commitment to user-centric design.
  • Prior experience in a startup environment with exposure to corporate governance.
  • Familiarity or experience integrating LLMs / AI into applications is a bonus.
Apply now!

Jobs.ca network