Job Description
As a Senior Software Engineer, you will use your vast experience in full stack software development to implement complex solutions, improve existing features and code maintainability, and deliver digital products needed to access most of our core research and data products. You will be working together with a team of talented and results oriented individuals and take part in the constant development and improvement of our digital products. You will be responsible for managing the implementation, delivery, and improvement of our digital product, while increasing the team’s skills and performance.
Job Responsibilities:
- Works with a team of developers who work with various technologies across our software environment (.Net, Angular, Databases).
- Collaborate with product management team to establish product-related tasks and schedules.
- Collaborate with Software Architects, Product Managers, and Head of Software Development Team to make technical stack and architecture decisions.
- Act as the business expert on technical and functional components.
- Develop solutions using the best technology available for each scenario.
- Review code and give feedback to help development sub-team grow and embrace efficient and sustainable development practice.
- Ensure the development team adheres to established coding standards and embraces efficient and robust engineering practices.
- Ensure the solution is implemented, involving other development teams as needed, focusing on coordinating their activities.
- Using Agile methodology, lead the development through various stages of App lifecycle.
- Build/maintain the relationship with other software development teams, act as a point of contact and continuously assess the interdependencies, communicate changes and plans across the organization.
- Work within an Agile software development framework setting including developers, and QA to release functionality on a regular basis.
- Ensure the development team adheres to established coding standards and embraces efficient and robust engineering practices
- Partner with Software Architects, Product Management team to contribute to the technical direction of the product team;
- Contribute and develop solutions based on requirements using the best technology available for each scenario and in the estimated timeframe.
- Implement unit and integration tests.
Qualifications
- 7+ years work experience, 5 years relevant experience developing solutions and managing development teams.
- 4+ years’ of experience with: .NET, database domain models, n-layered design, OOP; experience with ASP.NET Core 3.1, .NET Core 3.1.
- 2+ years’ of experience with Angular 2+ and TypeScript.
- Experience with IdentityServer4, Microservices, Docker, Serilog.
- Preferable experience with Node Package Manager, Nuget, Xunit, MOQ.
- Good business acumen and business process knowledge.
- Good project management and communication skills (SCRUM experience is a plus).
- Strong data related skills (relational data sets, queries).
- Excellent English written and verbal communication skills.
- Good time management and customer relationship skills.
- Solid understanding of software development life cycle.
- Proven ability to appreciate and understand technical environments in a business context.
- Experience in working with complex interdependent processes and departments.
- Strong collaboration, time-management, and prioritization skills are critical to the success of this role.
- Self-motivated, excellent work ethic, strong interpersonal and English communication skills, ability to work in a team environment.
- Experience supporting and maintaining live software applications that supports a global user base as well as working experience debugging unfamiliar code
- Experience with Agile methodology and tools like Jira would be a plus.
- Working experience with Git and AWS
- Experience working with large datasets and various relational DBMS platforms (PostgreSQL, MS SQL – SQL / PL-SQL) and ETL tools.
Morningstar is an equal opportunity employer.
Morningstar's hybrid work environment gives you the opportunity to collaborate in-person each week as we've found that we're at our best when we're purposely together on a regular basis. In most of our locations, our hybrid work model is four days in-office each week. A range of other benefits are also available to enhance flexibility as needs change. No matter where you are, you'll have tools and resources to engage meaningfully with your global colleagues.