Sr. Backend Developer
Location: Toronto
Job ID: 1927
Job Description
Senior Software Developer
We are seeking a Senior Software Developer with great experience and passion for assisting in developing and integrating software components into our informatics platforms. This position is located in Toronto, Canada.
You, our ideal candidate, are looking for a multidisciplinary team of researchers and engineers who work in a dynamic and agile environment. You are prepared to bring your drive, your experience, and your passion to contribute at all levels. We, Indoc Research, are that team. We build and manage complex health research infrastructure for collaborators and clients. We bring together prominent research organizations across the country and internationally. Together we have created large-scale informatics platforms involving diverse and complex data modalities (e.g. imaging, genomics, clinical assessments) across multiple disease areas (e.g. neurodegeneration, depression, cancer).
You will have the opportunity to develop your skills in data handling, software implementation, and system integration. You will primarily help in designing, implementing, deploying, testing, and maintaining essential software components that will aid in growing our informatics platforms. You will work with a group of talented developers and technical staff to develop pipelines that bring multidimensional data from a large variety of sources into the data platforms, and play an active role in evolving our products, processes, and data technology. As a Senior Software Developer, you will help contribute to the software development process, participate in code reviews, and shape system design as well as provide leadership and guidance in all team development efforts for successful project delivery and platform support.
In doing so, you will be responsible for helping create cutting-edge yet realistic systems for use by surgeons in the midst of procedures, researchers accessing remote data across the globe, doctors trying to understand the genetics of their patients even at the bedside, and patients and the public seeking insight into their own maladies and conditions. Your creativity and innovation, combined with the multidisciplinary skills of the rest of our team, will help deal with security and privacy even while enabling the fusion of high-dimensional data across multiple medical modalities as diverse as MR imaging, molecular science, and psychological assessments. Your work will help address critical gaps and fulfill currently unmet and urgent needs in both clinical and research communities, handling data from distributed settings such as critical care units, clinical laboratories, and hospital imaging facilities. And you will be building the future of medical science!
You should have a track record of supporting the implementation of technical solutions and be recognized as a solid contributor with a good grasp of the breadth and depth of your team's code base.
Qualifications:
• 5+ years of professional Software development experience in a diverse set of technology disciplines.
• 5+ years of Python programming experience in an industry context, and a strong RESTful API development experience with either FastAPI or Flask.
• Experience implementing unit and integration tests, tracking code coverage, and familiarity with TDD or BDD.
• Strong working knowledge of microservice architecture and an understanding of domain-driven design.
• Experience with event sourcing (Kafka), distributed transaction strategy, message queues (AMQP/RabbitMQ)
• Solid working experience with data handling processes, including data ingestion, ETL, and data warehousing.
• Good knowledge of object storage, relational (PostgreSQL), and NoSQL (Elasticsearch, Neo4j) database systems.
• Experience with Big Data ecosystem and data lake concept, such as HDFS, Hive, Atlas, and Spark.
• Virtualization and containerization, experience with Kubernetes is highly desired.
• Knowledge of best practices and IT operations in a high-availability environment.
• Understanding CI/CD best practices and solutions
• Experience with workflow or dataflow frameworks is an asset.
Other Skills:
• Strong written and oral communication skills
• Can deal with ambiguity and manage requests for change
• Performs well in a fast-paced, deadline-oriented environment
• Willingness and ability to work on multiple projects at the same time
• Demonstrated ability to work within a collaborative team across multiple disciplines
• Willingness to research and learn new approaches and technologies
Education:
• Bachelor's degree in Computer Science or equivalent.