Senior Software Engineer at Morningstar
At Morningstar, helping investors is what brings us together and drives our work. We are looking for a senior software engineer to join our Data Product group who specializes in Java and the JVM platform to join our team, grow with us, introduce us to new ideas and develop products that empower our users. You will have product ownership and responsibility for ensuring process and quality adherence through peer reviews, code reviews, test coverage and best practices. You will act as the software guardian, owning non-functional requirements, architectural direction, and the quality of the code while addressing technical debt. Every day, you’ll work with team members across disciplines developing products for investors. You’ll interact daily with our product managers to understand our domain and create technical solutions that push us forward. We want to work with other engineers who bring knowledge and excitement about our opportunities. This position is based in our Chicago office.
• Build well designed, well-engineered, stable, scalable products across a variety of markets
• Develop highly scalable Java based API’s using REST principles.
• Implement SQL based data analytics solutions.
• Enforce good Agile practices (using JIRA) including test-driven development and continuous integration.
• Apply DevOps practices in area of continuous and automated deployment.
• Analyze and remediate production issues, and build instrumentation and operational readiness into the systems architecture.
• Solve investors’ problems with technology, understanding market chaos at work and crafting technically appropriate interactive experiences to communicate effectively with individual investors.
• Be passionate about quality, process, programming, and investing in general, seeing opportunities for improvement, seizing them, and then sharing your findings with others.
• Familiarity or desire to become an AWS certified developer
• Take ownership of the success of the team with a "gets things done" attitude; the ability to understand and leverage new technologies, potentially wearing many hats including business analyst, DBA, QA, and project manager.
• A bachelor's in Computer Science or related
• At least 5 year of object-oriented experience (Java or C++) in a commercial application or commercial service environment.
• Experience scaling web-based software applications and services to 100M monthly requests.
• Experience with functional programming concepts & reactive design.
• Experience with Agile methodology and tools like JIRA.
• An understanding of how to protect web applications from common security vulnerabilities.
• Be organized and able to remain productive even when you have multiple deliver.
• Experience with Java, Linux, and Tomcat, as well as experience with full-stack web development.