Full Stack Engineer

Innovyze Waterloo Canada Development
Warning! Vacancy expired

Company Description

We are changing the way utilities manage our most precious resource: water. We provide water utilities with an Artificial Intelligence-driven platform to help their staff make smarter decisions in real-time when operating their critical processes (i.e. water treatment, pumping etc.). In doing so, we’re able to help utilities drive down their costs, enhance reliability and reduce risks to public safety.

We are thinking about the future, too. We are reimagining how the operational staff of the 21st century will interact with their critical infrastructure.

We are looking for impact-minded people – those who are passionate about making the world a better place through Artificial Intelligence. As a Full-Stack Developer at Innovyze, you will be responsible for product development behind billions of dollars in critical water infrastructure for Fortune 500 companies. We are looking for ambitious, energetic, and talented individuals to help us scale up our platform as we embark on a phase of steep business growth. You will have the opportunity to build mission critical systems for global high-profile clients using cutting-edge cloud technologies in an agile environment

Position

As a Full Stack Developer, you play a major role in designing, developing, deploying and supporting Innovyze’s Hybrid Adaptive Real-time Intelligence (HARVI) and Emagin360 applications. You will use and develop skills in data visualization, algorithms, software design/engineering, UI/UX design and developing web technologies. To succeed in the role, you will need to be a well-rounded software engineer, who can adapt to changes in priority and different tasks across our whole technology stack.

  • Build highly reliable and scalable, cloud-based products in JavaScript, Python, Java
  • Develop well-designed applications using technologies such as React, Redux, GraphQL, Graphene, and more
  • Ensure seamless integration among crucial pieces of technology
  • Support software design discussions, backend architecture, and front and back-end implementation
  • Work with large data sets, including time series data
  • Research, design, document, implement, and test computer software systems
  • Advance the cutting-edge of tech by contributing to open-source projects

Requirements

Minimum Requirements

  • Bachelor’s degree in Computer Science, Engineering, and/or other quantitative field of study; or work experience in software engineering in lieu of formal degree
  • 3 years of work experience with developing modern SaaS applications
  • Authorized to work in Canada (onsite in our Waterloo office)

 
Technical Requirements

  • Proficient in TypeScript/JavaScript, Python, and preferably strong skills in languages such as Java, Golang
  • Strong knowledge of React is a must, preferably having worked with Redux, Webpack, Jest/Enzyme
  • Strong knowledge of SQL database
  • Proficient in building, testing (unit, integration, etc.), and deploying production quality front-end applications and APIs
  • Understand the full-stack application lifecycle, and the iterative nature of software development
  • Preferably some experience with front-end data visualization tools/libraries such as D3, Highcharts, Mapbox
  • Familiarity with AWS services such as ElasticBeanstalk, EC2, Lambdas is a plus
  • Familiarity with CI/CD (Travis, Jenkins, CircleCI)
  • Proficient with version control using Git
  • Proficient in third-party integration using REST APIs, SDKS
  • Nice to have:
  • Experience querying data with GraphQL
  • Experience with MaterialUI
  • Practical experience developing web-based multi-tenant applications
  • Experience visualizing data in different manners (charts, scorecards, tables, etc.)
  • Exposure to developing mobile apps