Client : Metrolinx
Requisition ID : RQ00098
Job Title : Software Developer ETL Intermediate
Office Location : 277 Front Street West Toronto Ontario
Start Date : End Date :
Location : Hybrid 2 times per week onsite
Business Days : 65.00
No of openings : 3
Must Haves :
- 5 years experience with Microsoft Azure Synapse Analytics
- 5 years experience with Databricks
- 5 years working experience with data quality and data ingestion within the Azure platform
Description
Education :
Knowledge of computer science field with particular emphasis on software design normally attained through completion of a fouryear degree in computer science or equivalent combination of education and related experience with training in the Microsoft Azure Databricks and other software development technologies.
Experience / skills required :
To implement maintain and support Azure data pipelines working with the Data Platform Cloud Infrastructure team project team and architecture teamTo implement and validate Azure project enhancements including design solutions optimization etc.To develop and automate data pipelines in Azure Synapse ADF and Databricks.To automate devops and CICD pipelines in GithubA minimum of six (6) years of direct work experience as an enterprise Software Developer with a minimum of two (2) years experience working with cloud technologies providing a solid background in the analysis and development of corporate systems. Demonstrated experience in implementation of creative and effective solutions to business needs by means of both purchased and developed solutions.Excellent knowledge of the principles and practices of systems development with the ability to promote a coherent corporate approach to Enterprise application delivery using a multitiered architectureUnderstands concepts of Containers MicroServices Continuous IntegrationUnderstands Cloud computing concepts and how to build Cloud deployable applicationsStrong programming skills with experience in Python Java SQL REST API and Github actionsUnderstanding of multithreaded and asynchronous application designStrong automated testing discipline; familiarity with continuous integration and testdriven development is a plus.Excellent interpersonal skills as well as written and oral communication skills are essential.Responsibilities may include but are not limited to :
Provides input to detailed specifications from which programs will be written based on an understanding of the business or functions for which the application is designedUses the latest concepts in application architecture and standard Software Development Life Cycle (SDLC) processes to determine technical design develop and test code and document and implement software solutions at the application levelDevelops and implements integrated web applications using industry standards such as web services and ServiceOriented ArchitecturePerforms the technical analysis coding testing debugging and documentation with full technical knowledge of all phases of applications systems analysis and programmingPrepares or provides input to technical documentation for all development items; supports analysis development and testing for enterprise solutionsReviews all programs prior to implementation to verify consistency and conformance with established departmental guidelines policies and practices as well as industry standard guidelinesPerforms the development testing to verify that the programs function correctly and to ensure that modifications have not caused errors in other parts of the program interfacing programs and interfacing systems Supports and provides artifacts and inputs to program implementation activities for all assigned systems and / or projects Supports data population installation training technical and acceptance testing and postimplementation refinements for all customdeveloped objects Follows established ITIL processes in troubleshooting fixing configuring upgrading testing implementing or deploying fixes / patches / upgrades to webbased enterprise applications Works with user departments to advise on or resolve specific problems or make changes in systems applications capabilities alternative programming approaches limitations etc.