Senior Software Engineer
Job Description Title: Senior Full Stack Software Engineer
Summary: This role will be part of a strategic project to implement Portfolio Optimization capability for Wealth Management clients. The role requires extensive experience in developing distributed processing, high throughput software.
Responsibilities:
- Work under minimal supervision to analyze, design, develop, test, and debug medium to large software enhancements and solutions within Charles River’s business and technical problem domains
- Collaborate with Team Lead, Business Analysts and Product Managers to turn complex business requirements into working and sustainable software
- Provide thought leadership in the design of product architecture within the team’s scope of responsibility
- Write unit and automation tests to ensure a high quality end product
- Conduct manual tests to ensure a high-quality end product
- Contribute to written design and API documentation
Education:
- B.S. degree (or foreign education equivalent) in Computer Science, Engineering, Mathematics, and Physics or other technical course of study required.
- MS degree strongly preferred.
Experience:
- 8+ years of progressively responsible professional software engineering experience in a financial services product delivery setting
- At least 4 years of experience developing software in the area of portfolio rebalancing, model ? management, optimization and/or portfolio analytics
- Extensive experience in server side Java with specific focus in developing multi-threaded, distributed processing and high throughput software
- Experience in writing complex and high performing SQL on Oracle and SQL Server databases
- Experience in C#, WinForms and DevExpress, highly preferred but not required
- A minimum of 2-5 years working with an Agile development methodology strongly desired
Position Overview: Independently develops and maintains software applications. Works on complex analytical and programming tasks, requiring knowledge of programming languages and data communications and general knowledge of the business operations/customer supported. Leads development and maintenance efforts supporting software application. May function as a Project Manager on smaller projects.
Key Skills
1. Extensive experience and skills in server side JAVA developing multi-tier, multi-threaded and high throughput software
2. Expert level knowledge in Oracle and SQL-Server
3. Prior experience in C# with focus on UI development highly preferred but not required
4. 8+years experience in software development
5. Prior experience in the financial domain with specific focus in portfolio management, portfolio analytics and optimization or rebalancing