Senior Software Engineer
Location: Toronto, Ontario
As a Senior Software Engineer, you would join our team building applications and our healthcare data platform. You will help lay the foundations for designing, building, and running the cloud and on-premise infrastructure, including both backend (Node.js) and front-end services (React) powering this this system. We are looking for an experienced, versatile, software engineer who will bring subject matter expertise, best practices, to wear different hats as needed, from backend and front-end, to DevOps and infrastructure.
Your team will own

  • Design, build, and optimize comprehensive automation systems that operate the application on web, mobile, and data infrastructure platforms
  • Manage big data that power our machine learning models
  • Build automated testing of applications and data ingestion pipelines
  • Design and implement public and internal APIs
  • Design real-time and batch big data pipelines
    About you

    • Care about bringing new ideas from all areas, including information retrieval, distributed computing, large scale system design, data storage, security, artificial intelligence, UI design and mobile
    • Care more about figuring out smarter ways of building, maintaining, and automating infrastructure instead of throwing more code at the problem
    • Comfortable building internal deployment tooling one day, debugging a tricky performance issue the next day, and automating our infrastructure the day after.
    • Can balance multiple concurrent projects to shift gears from backend, DevOps, to frontend
    Requirements

    • Experience running distributed systems
    • Experience automating, testing, and deploying web-based applications, and system configuration management tools like Chef, Ansible, Jenkins, Docker
    • Experience with developing with multiple types of data stores such as SQL, noSQL, cache databases, experience with MySQL, PostgreSQL, Redis
    • Experience and knowledge of best practices in testing: unit, functional, integration testing. Experience with tools like Jest, Jasmine, Karma, Mocha
    • Experience with developing production code in Node.js, with full understanding of event loop, async/sync development. Hands-on experience with at least one of the following languages: Python, Java, Scala
    • Owning installation/configuration, connectivity, operation, and design of our EC2 environments, AWS services, and customized applications
    • Master's degree in Computer Science, Engineering or equivalent discipline and experience

    Bonus
    • Experience with front-end development using a React framework with Redux / CSS3, CSS4 with PostCSS / Webpack
    • Experience with highly visual web applications using D3.js or similar libraries
    • Experience with bootstrapping and maintaining Ignite, Spark, Hadoop clusters
    • TypeScript expert (ES5, ES6, ES2017 + type system)
    • Experience with natural language processing, statistics, or machine learning concepts such as random forests, CRFs, NNs, GBMs, and deep learning

    What we offer

    • Work with awesome people that support and challenge one another to bring out the best in each other
    • Leadership positions as we continue to grow the team
    • Competitive salary and participation in company success through employee stock options
    • Health, dental, and vision benefits
    • Catered/company lunches every Monday and Fridays
    • Retreats and outings to bond with your team
    • Modern office off King and Bathurst
    • Unlimited coffee and snacks
    Knowtions is an equal opportunity employer and values diversity at our company. We do not discriminate on the basis of race, religion, color, national origin, gender, sexual orientation, age, marital status, veteran status or disability status.
    Tilda Publishing