Job Description:
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 job involves the engineer to contribute towards new enhancements and maintenance of one or more components as a Senior member of a Front Office Trading team. The engineer will also be expected to provide engineering troubleshooting assistance to customer support teams, implementation teams and other development teams within Charles River.
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 Business Analysts and Product Managers to turn moderately complex business requirements into working and sustainable software.
- Participate in the design of product architecture within the team’s scope of responsibility.
- Develop, test, debug, and implement software programs, applications and projects using Java, C#, SQL, JavaScript or other related software engineering languages.
- Provide thoughtful insight and direction in code reviews.
- 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 and participate in customer documentation process.
- Actively participate in the agile software development process by adhering to the CRD Scrum methodology including attending all daily standups, sprint planning, backlog grooming, and retrospectives.
- Participate in cross-team group activities to complete assignments.
- Provide mentoring to junior engineers/interns when required.
Preferred qualifications and 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.
- 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. Financial Trading systems experience is a huge plus.
- 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.
Read Full Description