Back to Careers

Senior Software Engineer

700 Burlington
Date Posted: 
Employment Type: 
Job ID: 


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.


  • 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


  • 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.


  • 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