Lead Software Engineer
Job Duties:
Responsible for development of financial data analysis components, products, and APIs for use by customers and for incorporation into other company products and services ( 70% of time). Specifically, this includes: architecting, designing, and implementing highly scalable software systems in the public cloud, based on general programming languages such as Python and Java and on specialized data manipulation languages such as Scala and R (50%); mentoring team members in the development of object-oriented designs and domain modeling (10%); applying DevOps practices in area of continuous and automated deployment; building instrumentation and operational readiness into the systems architecture (5%); and analyzing and remediating production issues (5%).
Act as the project leader, owning non-functional requirements, architectural direction and the quality of the code while addressing technical debt ( 20% of time). Specifically, this includes: serving as Agile "scrum master" for a team of developers, organizing their work and deliverables, and coordinating development activities with other groups within the company (10%); championing good Agile practices (using JIRA) including iterative, test-driven development and continuous integration (5%); ensuring process and quality adherence through peer reviews, code reviews and unit test results (5%).
Work with business owners and customers to identify functional requirements and to ensure that development work addresses those requirements ( 10% of time).
Occasional telecommuting due to weather or special personal circumstances is permitted. Total time spent working via telecommuting is expected to be no more than 20%. This position requires occasional travel to Morningstar office in Woburn, MA, domestic customers, and to conferences/meetings. Total travel and time spent in these locations is expected to be no more than 10%.
Job Requirements:
§ Bachelor’s degree in Electrical Engineering, Electronics Engineering, Software Engineering, Computer Science, or a related field, or foreign equivalent and 5 years of relevant software development experience.
§ In alternative, we will accept Master’s degree in Electrical Engineering, Electronics Engineering, Software Engineering, Computer Science, or a related field, or foreign equivalent and 3 years of relevant software development experience.
§ 3 years of object-oriented software design and programming using Python or Java programming language.
§ 3 years of experience with relational databases and SQL query language, developing and using formal software.
§ 3 years of experience with software testing, including functional and regression testing.
§ 3 years of experience using Agile software development methodology and project management tools such as Jira.
§ Experience scaling software applications and services to handle large data sets (millions of records/requests).
§ Experience with functional programming concepts & reactive design.
§ Experience with Java/JVM ecosystem.
§ Experience developing and delivering end-customer products and services.
Morningstar is an equal opportunity employer.