Intermediate Software Engineer

EllisDonMississauga, ON

About The Position

Connect with us LinkedIn, Instagram, Facebook, Twitter. Thinking about a change? We recognize that the construction industry is changing at a rapid pace and we continually strive to be at the forefront. Our core values empower people to deliver great careers to one another and develop creative solutions for complex problems on some of the most exciting projects. It doesn’t matter what your expertise and craft is – there are no boundaries. We are a group of professionals with a variety of expertise within pre-construction, construction, and post-construction. To learn more, check out our Cradle to Grave services and hear from our team directly about what a career at EllisDon could look like for you. As you can see, we are a diverse bunch. Above all, we are a group of individuals with unique experiences and at EllisDon, we choose to celebrate the strength in our differences, every day. EllisDon’s commitment to Inclusive Diversity is to work together to create an environment where every employee feels safe to be their true and authentic self. Ultimately, EllisDon’s purpose is to provide people with similar values the opportunity to achieve to their full potential; to deliver that opportunity for great careers to one another; and to contribute meaningfully to the community we share with others. In case you’re curious, here’s what the industry thinks of us and some of the impacts we've made to the communities we work in and our latest Impact Report, highlighting how we're putting our values into practice in areas such as the climate & environment, inclusive diversity, indigenous relations, and health and safety. EllisDon uses AI tools to assist in screening and assessing applicants for this position.

Requirements

  • You have a minimum 3-5 years of professional software development experience
  • You have a Bachelor's degree in Computing Science, Software Engineering, or related field.
  • Strong understanding of core programming concepts: variables, control structures, data structures, object-oriented and procedural programming.
  • Practical experience with programming languages such as Python, C#, JavaScript, Java, and HTML; ability to learn new languages and frameworks as needed.
  • Familiarity with front-end frameworks such as Angular and React.
  • Experience with version control systems, particularly Git.
  • Working knowledge of virtualization and containerization technologies (e.g., VMs, Docker).
  • Experience deploying, configuring, and troubleshooting client and server operating systems, including Windows and Linux.
  • Understanding of networking fundamentals.

Nice To Haves

  • Experience with Ractive.js (front-end framework), knowledge of the Fantom programming language and non-relational (NoSQL) database is an asset.

Responsibilities

  • Contribute to the design, development, deployment, and maintenance of software solutions that support advanced electronic controls and sensor systems. This includes applications, servers (physical and virtual), and network components that together form interoperable, integrated solutions.
  • Investigating issues, evaluating system performance, and ensuring seamless interaction between software, hardware, and data systems.
  • Design, build, and deploy software solutions that integrate controls, sensors, and analysis systems, applying modern development practices and tools.
  • Write clean, efficient, and maintainable code across the full stack (front-end, back-end, APIs, and database layers).
  • Troubleshoot, debug, and resolve technical issues in development and production environments, ensuring reliability and performance.
  • Collaborate with internal teams and external stakeholders to gather requirements, define system interfaces, and deliver integrated solutions.
  • Test, validate, and commission developed applications and deployed systems to meet functional and performance requirements.
  • Research, prototype, and evaluate new technologies, frameworks, and integration methods to enhance project outcomes.
  • Continuously grow technical expertise by maintaining relevant certifications and staying current with emerging trends in software engineering.
  • Oversee implementation work by partners and vendors to ensure solutions meet technical requirements.
  • Guide junior developers and team members through code reviews, knowledge sharing, and best practices.
  • Coordinate with internal teams and external partners to support smooth project delivery.

Benefits

  • continuous learning
  • opportunity for growth
  • competitive compensation package
© 2026 Teal Labs, Inc
Privacy PolicyTerms of Service