Job Description
About Us
At IHS Markit, we are building a software solution that connects data in revolutionary ways, illuminating answers that were previously impossible to find and empowering our clients to envision the future, so they can determine the best course of action in the present. We are disrupting the current digital transformation landscape with state-of-the-art AI developed by a passionate team explore and push the boundaries of digital transformation technologies.
Our development team architect and design high-availability, scalable, and fault tolerant systems that are decoupled and easy-to-maintain. A core part of our development philosophy revolves around microservices and the DevOps model. All our new products are developed using a microservice architecture, are containerized, and are then deployed on container management systems such as Kubernetes. The developers on our teams subscribe to a DevOps model where time-to-market functions as a vital measure of our performance, productivity, and success. We are committed to stay ahead of the curve and we are always looking at new technologies that can enhance our product offerings.
Position Summary
IHS Markit is seeking an experienced, driven, Senior Software Engineer based in Denver, CO who will report to the Assistant Director of Software Development for our currently unreleased digital transformation solution. This role will be responsible for full stack development activities in one of our scrum teams. The Senior Software Engineer is engaged with development, IT and project owner teams to build strategic architectures and frameworks to tackle complex business initiatives and deliver global commercial software releases. The candidate should be able to demonstrate strong working knowledge in several of the following technologies: .NET Core, Entity Framework, Angular or React, JavaScript, HTML, CSS/Bootstrap, REST Services, Docker, Azure Cloud Services. The candidate should also be able to deploy and work with different types of repositories such as MS SQL, SQLite, Cassandra, and Elastic. The candidate should have a passion for learning new tools, technology, and software design patterns as needed in as we grow our architecture and technology stack.
Job Responsibilities
- Responsible for developing cutting-edge, web-based applications are deployed as microservices that run on Kubernetes and emphasize usability, ease of deployment, performance, and scalability.
- Assume a leadership role in developing solutions using the Microsoft .NET technology stack. The candidate should possess experience deploying to Azure Cloud services, Automated Testing, and Continuous Integration.
- Organize software development process as defined by the Agile Scrum process. This includes participating in the requirements gathering process and architecture of dedicated parts of the system. Experience with Rally Software is a plus.
- Work with the project team and internal customers to establish and understand requirements.
- Take on a championship role in on-time, high quality delivery of products through the entire application lifecycle.
-
Promote knowledge-sharing across product development teams.?
Desired Qualities
- Degree in Computer Science, related field or equivalent experience.
- Four (4) or more years of increasing responsibility in technical roles, with 1 or more years of experience in guiding a development team.
- Experience in microservice architecture and development including REST based APIs.
- Passion for software development – enthusiasm for new technologies and their potential to make an impact.
- A bias to action – a willingness to “jump right in” with an emphasis on producing results.
- Highly collaborative – an affinity for solving complex problems through dialog with team members.
- Curiosity – always seeking the “why’s” and “how’s” in the interest of continuous learning and the mastery of a craft.
- Innovation – the courage to challenge prevailing assumptions and suggest better ways of doing things to achieve business value.
- Comfortable with ambiguity – can begin to explore and solve complex problems even when the problem and solution are not always well-defined.