The Role: As an Associate Software Engineer, you will work to maintain, expand and enhance our financial data aggregation engine using Java. This involves developing and maintaining intelligence that will allow the aggregation engine to interpret data feeds and intelligently crawl various financial web sites to locate and extract data. An ideal candidate is a self-starter who will work with our architecture team to design and implement solutions to be used to perform next generation extraction, parsing, and data collection from external web sites and data feeds. The candidate will use a mix of open-source and internally generated technologies. You will work on a scrum team, collaborating with our senior members, Tech Leads, Product Owners and other talented Engineers to deliver great solutions on an exponentially growing application.
This position is based in our Woburn, MA office.
Design and implement innovative solutions in Java to efficiently process data from complex data sources including Ajax based web sites, Flash, PDF, and web services-based data feeds.
Analysis of production financial data to resolve customer issues
Evaluation of 3rd party web sites to extract customer data. This includes using tools such as fiddler to capture and evaluate web requests to replicate browser activities (Ajax requests, cookie manipulation, etc.) to generate requests for required data.
Work both independently and in a collaboration with other engineers on software solution
Collaborate and exchange ideas within the team to help solve complex problems
Participate in the Scum process to meet sprint objectives
Describe and document system functionality
B.S. in Computer Science, Software Engineering, or an equivalent discipline
1-2 years of object-oriented experience (C++ or Java) in a commercial application or commercial service environment.
Experience with Multi-threaded applications
Regular Expressions/text stream pattern matching
At least one of: HTTP Protocol, File parsing, Relational database/SQL
Test Driven Development
Windows desktop environment
Strong communication skills
Ability to work independently or collaboratively with a team.
Nice to Have:
Financial (Investment) terminology and concepts
Experience working in Headless Chrome
Web presentation technologies
Natural language processing
Experience working with, and optionally contributing to open-source projects
How to Apply for a Job at Morningstar
When you find a position you're interested in, click the 'Apply' button. Please fill out this form completely, attaching your resume and cover letter in the approved format. Read the job requirements carefully and make sure to attach writing or design samples as required. Applicants must submit their resume and other information through our corporate website to be considered for a job at Morningstar. No phone calls, please.
You will receive an email notification to confirm that we've received your application.
If you are called in for an interview, a representative from Morningstar will contact you to set up a date, time, and location. Be prepared for a rigorous interview process. To make sure you're a good fit for Morningstar and we're a good fit for you, we'll schedule time for you to meet with multiple staff members at all levels of the company. Expect to return for multiple interviews as part of the process. A representative from Morningstar will contact you with the results of your intervieweither with a job offer or to let you know our plans for the position.
Applicants With Disabilities Who Need Accommodation
Morningstar is committed to working with and providing reasonable accommodation to individuals with disabilities. If, because of a medical condition or disability, you need a reasonable accommodation for any part of the employment process, please call +1 312 384-3900 or email and let us know the nature of your request and your contact information.
US Applicants: Morningstar is an E-Verify program participant.
Morningstar is strongly committed to creating and preserving equal opportunity for all employees and applicants. We make all employment decisionsincluding recruitment, hiring, compensation, training, promotion, transfer, discipline, termination, and other personnel matterswithout regard to race, color, ancestry, religion, sex, national origin, age, disability, protected veteran status, marital status, sexual orientation, genetic information, citizenship, gender identity and expression, parental status, or other legally protected characteristics or conduct.