Software Development Lead, Electrical & Software Engineering
Apply NowCompany: University of Calgary
Location: Calgary, AB T1Y 7M8
Description:
Description
Electrical & Software Engineeringwithin theSchulich School of Engineeringinvites applications for aSoftware Development Lead. This Recurring Part-timeposition is for approximately 8months/year (based on length of grant funding), with the possibility of extension.
The Grid Foresight Lab at the University of Calgary is dedicated to transforming theoretical research into practical applications for modernizing electric energy systems. Reporting to the Principle Investigator, the Software Development Lead will facilitate prototype development and transition research into practical solutions across multiple areas of electric energy systems.
This is a recurring part-time position.Recurring Part-time employees are hourly appointments engaged to perform work on an irregular schedule.
Summary of Key Responsibilities(job functions include but are not limited to):
Technical Leadership & Agile Development
- Guide and mentor team members, fostering collaboration and knowledge sharing.
- Oversee prototype development and iterative testing, ensuring research outputs are implemented in a scalable, maintainable manner.
- Plan and manage sprint planning, backlog management, and Agile estimation using tools like Jira, Azure DevOps, or equivalent.
- Make technical decisions on frameworks, libraries, and software architecture to align with research needs and industry best practices.
- Ensure seamless integration between research models and software systems, translating theoretical models into practical implementations.
- Establish development standards, code review processes, and test automation strategies to ensure quality and reproducibility in research-driven software.
Software Development
- Develop and maintain frontend (React.js/Vue.js, TypeScript, Tailwind CSS, or similar UI frameworks) and backend (Python FastAPI/Django, Node.js, or Java Spring Boot) services.
- Design, develop, and manage RESTful APIs and microservices for integrating various models and applications.
- Oversee database design and management, ensuring compatibility with PostgreSQL, Microsoft SQL, or similar databases.
- Implement message brokers (RabbitMQ, Kafka, or cloud-based alternatives) to support real-time processing and data pipelines.
- Develop automated test suites, including unit tests, integration tests, and end-to-end testing, to ensure system reliability.
- Support cloud deployment strategies using AWS, Azure, or GCP, incorporating Infrastructure-as-Code (Terraform, Pulumi, or similar tools) where applicable.
Qualifications / Requirements:
- 3+ years of hands-on experience in full-stack development.
- Experience leading and mentoring software engineers in an Agile environment.
- Strong background in prototype development, research software engineering, or technology translation.
- Proficiency in backend development using Python (FastAPI/Django), Node.js (Express/Nest.js), or Java (Spring Boot).
- Proficiency in frontend development using React.js, Vue.js, or Angular, with strong skills in JavaScript/TypeScript, CSS (Tailwind, Bootstrap, or similar frameworks).
- Experience with Agile project management tools like Jira, Azure DevOps, or similar.
- Strong understanding of SQL databases (PostgreSQL, Microsoft SQL, etc.).
- Expertise in microservices architecture and event-driven communication using message brokers (RabbitMQ, Kafka, or cloud-based alternatives).
- Familiarity with CI/CD pipelines, Docker, and Kubernetes for cloud-native deployments.
- Experience with test automation, including unit, integration, and end-to-end testing.
- Strong problem-solving skills and ability to optimize system performance.
- Scrum Master certification (PSM, CSM, or equivalent) is preferred.
- Experience working with time-series data or AI/ML models.
- Knowledge of Infrastructure-as-Code (Terraform, Pulumi, CloudFormation, etc.).
- Experience integrating research models into production software.
- Exposure to GraphQL, WebSockets, or real-time data processing.
- Experience with frontend performance optimization and cross-browser compatibility.