Software Engineer
The team is looking for forward-thinking problem solvers who thrive in a fast-paced environment. In this role, you will collaborate with the team lead, project managers, business analysts, QA, and other developers to build technology solutions for Morningstar's Direct Web application using a variety of technologies including Node.js, Vue.js, and AWS (Fargate, CloudFormation, etc.). You will support existing systems, study their enterprise complexities and develop/implement new systems with modern software development practices. In addition to hands-on development, you will help more junior developers follow best practices, provide in-depth support in your areas of expertise, and help the team continuously improve its development process. As such, you should have a strong understanding of object-oriented principles and design patterns, familiarity with multiple programming languages, and exposure to a variety of architectures.
Responsibility:
- Design, develop, and maintain our software in both traditional and cloud-based architectures. Hands-on development will be an integral part of the responsibilities.
- Help implement software solutions that meet product requirements and quality needs with respect to functionality, performance, scalability, reliability, schedules and adherence to Indexes goals and principles.
- Be a role model to the team, collaborating on good object-oriented designs & domain modeling. Reinforce good development practices like test driven development, and continuous integration.
- Develop areas of continuous integration and automated deployment. Make recommendations for process improvements such as CI/CD and automated testing approaches.
- Introduce and follow good development practices, innovative frameworks, and technology solutions that help business move faster.
- Follow best practices like estimation, planning, reporting, and improvement in everyday work and foster an atmosphere of experimentation and continuous learning.
Requirements:
- Completed Bachelor’s degree in Computer Science or Engineering
- Minimum of 3 years of experience developing software solutions
- Excellent listening, written, and verbal communication skills
- Strong knowledge of Javascript and other web technologies
- Experience with modern development practices in areas of product design, requirement analysis, test driven development, and test automation.
- Ability and willingness to learn new technologies.
Recommended Action:
- Experience with modern web UI frameworks like Vue.js/React/Angular
- Experience with Node.js
- Experience with Docker, Kubernetes, or other containerization platforms
- Experience with CloudFormation, Jenkins, Nexus, or other deployment/CI tools.
- Basic knowledge of capital markets and trading
- Engaged in the open-source development community. Contributing back to open source is a big plus.