We are looking for a Senior level software engineer with expertise in enterprise Java technologies, Relational databases, cloud native application development, Agile methodologies and hands-on experience working in highly transactional, scalable software systems. The engineer will contribute towards new enhancements and maintenance of one or more components as a Senior member of a Front Office Trading team, providing engineering troubleshooting assistance to customer support teams, implementation teams and other development teams within Charles River.
Requirements
- B.S. degree (or foreign education equivalent) in Computer Science, Engineering, Mathematics, and Physics or other technical course of study required.
- 8+ years of progressively responsible professional software engineering experience in core and enterprise java, including collections API, concurrency, multithreading, JDBC and web services.
- 6+ years of experience in designing and developing software solutions in a highly transactional, concurrent, event driven systems.
- 2+ years of Cloud native application development experience in at least one of the cloud native platforms, preferably Microsoft Azure.
- 2+ years of Experience in SpringBoot, Microservices, Kafka, cloud databases.
- Extensive experience in RDBMS(Oracle and SQL Server) with a solid understanding of the transactional database intricacies and expertise in writing complex and high performing SQLs.
- UI development experience in C#, React, Javascript is preferred.
- Solid understanding of data structures and algorithms, object-oriented programming, design patterns.
- Solid ability to write clean, maintainable code with extensive code coverage via unit tests.
- Able to contribute to complex design specs in consultation with senior staff
- Able to work on medium to large projects with no supervision and on more complex tasks with minimal oversight
- Excellent written and verbal communication skills
- Able to work well with peers in a collaborative team environment
- Prior experience troubleshooting and fixing database and application performance issues is preferred
- Great understanding of Agile development methodology and software development practices and principles.
Benefits
- Generous medical care
- Insurance
- Savings plans
- Flexible Work Program
- Development programs
- Educational support
- Paid volunteer days
- Matching gift programs
- Employee networks
- Tools to balance professional and personal life