Share this job
MSDE Engineering Specialist
Montreal, QC
Apply for this job

Position: MSDE Engineering Specialist


Level: Senior


Location: Montreal


Job Description:


The MSDE (Our Company Development Environment) Engineering team is responsible for all aspects of managing and maintaining a set of enterprise hosted developer enablement tools that are used throughout our company global IT development community.


These include both open source and 3rd party vendor tools hosted on prem within our company infrastructure and in externally hosted cloud environments. We run high available, mission critical services that are used by over 20,000 developers daily. These services include Bitbucket, Jira, Jenkins, TeamCity, Sonar, Artifactory and many more. This role is for the MSDE CI/CD squad which runs Jenkins as a central service for the entire firm.


The engineering team is responsible for deploying these tools into our company environment, and integrating them with our infrastructure. Team members manage and maintain these products, tuning them for high performance, upgrading them to the latest releases, introducing additional functionality, handle vendor engagement and provide engineering and escalation support. To do this, we release frequently, write sufficient unit/integration tests, use feature toggles to steadily roll out changes and monitor services using Splunk.



Some of the tasks within the Jenkins team includes:

• Bringing in the latest LTS Jenkins release and deploying it to production (Java)

• Upgrading and deploying the 200+ OSS plugins that we use in Jenkins

• Maintain our existing 4 Jenkins plugins which will involve learning the Jenkins Java API

• Writing unit/integration tests for your changes to ensure no surprises on production releases

• Ensuring our automated deployments work as intended

• Integrating with other dev tooling (Bitbucket/Jira/Artifactory) where necessary (Java/Python)

• Handling scalability issues for a plant with 16 instances and 500+ windows/linux build nodes

• Realtime monitoring (Splunk) and alerting (python) to ensure high availability

• Influencing architectural decisions, using the best and most suitable technologies available

Your primary focus will be more on the Developer activities, to ensure the CI services are scalable, maintainable, well-documented and has a reasonable test coverage. You will coordinate with the rest of the team working on different layers of the infrastructure. Members of the team will be expected to work closely with the development community on day to day usage of the products, our SRE team, and the offshore support team that provide first line support.


A successful candidate will have sufficient technical skills required to support these products on a Linux platform. As an engineer, you will need to have a strong focus on automation to speed up delivery and help build scalable systems with high reliability. Some of the tasks completed by the squad in the last year were:

• Use configuration as code to reliably maintain a fleet of Jenkins instances

• reducing weekend automated deployment time from 3.5 hours to 15 minutes

• added support for feature toggles to test new features with a subset of users.

• added realtime monitoring for the entire Jenkins plant by writing a plugin for Jenkins


Required Qualifications / Skills

- Minimum 5+ years’ relevant experience required.

- Strong knowledge of Linux OS (working knowledge on windows would be beneficial)

- Strong programming skills in at least one major object oriented programming language (java)

o A keen drive to have working knowledge of other languages

- You have an automation driven mindset using Python or another scripting language

- Experience with writing unit tests or similar TDD

- Experience using Git

- You have a degree in Computer Science or similar subject

- You have experience of integrating development and operation processes that add value

- Ability to write detailed technical documentation


Desired Skills


- Experience of CI / CD systems such as Jenkins or Teamcity

- Experience in writing plugins for Jenkins

- Agile Development (Kanban)

- Excellent communication skills in English, including preparing presentations and presenting to peers/developer community.

- Continual learner who is constantly seeking improvements

- Identifies, assesses, and manages risks to ensure successful achievement of deliverables

- Proven analytical and problem resolution skills

- Strong interpersonal and leadership skills


Our Company is an equal opportunities employer and is committed to fair treatment, regardless of background.


Apply for this job
Powered by