Senior Software Development Engineer - Java, Spring, JUnit
CME Group is the world's leading and most diverse derivatives marketplace. But who we are goes deeper than that. Here, you can impact markets worldwide. Transform industries. And build a career shaping tomorrow. We invest in your success and you own it, all while working alongside a team of leading experts who inspire you in ways big and small. Joining our company gives you the opportunity to make a difference in global financial markets every day, whether you work on our industry-leading technology and risk management services, our benchmark products or in a corporate services area that helps us serve our customers better. We're small enough for you and your contributions to be known. But big enough for your ideas to make an impact. The pace is dynamic, the work is unlike any other firm in the business, and the possibilities are endless. Problem solvers, difference makers, trailblazers. Those are our people. And we're looking for more.
To learn more about what a career at CME Group can offer you, visit us at www.wherefuturesaremade.com .
The Senior Software Development Engineer will be working on a mission critical Java-based Web Application which is used to manage markets with trillions in value, the capacity to seamlessly facilitate the busiest trading days in the world economy, and rock-solid reliability and integrity, all while undergoing rapid release cycles.
Achieving these goals will require an understanding both the underlying technology and the development, testing, and deployment life-cycle of the applications. The candidate must be able to solve problems creatively, communicate effectively, and possess the ability to lead others to achieve the critical mission of the team.
The ideal candidate is an accomplished software engineer that's code focused and experienced in performance-based framework development. Review and development of code migration, requirement testing to enhance application functionality and production support. You'll build a critical partnership with other Software Engineers, Business Analysts, QA's and peers in the Agile environment to do planning, developing and testing. Our focus is on continued improvement of existing application and testing framework to meet the rigorous demands placed on our trading technology platforms every day.
Our environment moves at a fast pace and is blended between manual and automated testing. We would like to bring someone into this role who is accustomed to working in a similar software development culture. Expertise with best practices, techniques, tools and language expertise is required. Principal Accountabilities:
Requirements: 10+ years of Software Engineering Experience (7+ in Java)
- Focus on performance-based framework development & design implementing core functionalities independently
- Building, customizing, deploying, and managing main applications
- Participate in code reviews to provide/take feedback from your peers
- Improve the architecture of an existing automated testing frameworks
- Support testing framework along with your own applications; Write unit tests to achieve a full coverage
- Developing code for quality automation and ensuring extensive unit test coverage of the code
- Checking for product scalability, reliability, consistency, and performance
- Ensure code quality through mentoring and leading by example and follow the best practices
- Work with different teams to deliver the project in a timely manner
- Mentor junior developers and is influential with the team
- Help troubleshooting production issues when required
- Bring in new ideas to make improvement; Contributes to architecture discussions
- Focus mainly on Back-End design/implementation
- Core Java & Spring
- AJAX, JSON
- JUnit, JMock, JTest and Mockito
- Git, Maven
- Design patterns, Data structures
- Test Driven Development
- Linux / Unix Environment
- Experience creating modular applications. OSGi is a big plus
- Knowledge of DevOps and Cloud computing preferred.
- At least five years of experience designing and developing Java applications
- BS or MS degree in a technical field
- SQL, NoSQL, JDBC
- Ability to work in a fast pace environment
- Ability to handle multiple projects simultaneously and eager to learn new technologies.
- Commented to building quality applications that deliver
- Must have an excellent written and verbal communication skills to achieve the business requirements.
- Financial/Futures/FinTech industry experience is a plus