Software Engineer II
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 Software Engineer II engineers secure, scalable and reliable technology solutions, with appropriate mentoring to advance CME Group in the global marketplace and serve risk management needs of customers around the world.
- Exhibits intermediate proficiency in Java, C/C++ and scripting languages such as Shell and Python; writes application modules and unit tests with guidance.
- Experience with Python data science packages such as Pandas
- Designs, builds and supports custom monitoring applications / scripts.
- Summarizes development and support efforts in clear, concise status updates.
- Automates manual processes through analysis, design and development.
- Exhibits intermediate knowledge of database SQL as well as basic database modeling and elementary tuning.
- Applies knowledge of version control / build tools such as git, Maven, etc.
- Enables broad testing system-wide without all dependent components in place.
- Optimizes code for key performance metrics. Offers complex insights during code reviews and helps with environmental build deployments, release notes and build notices; identifies source of defects and issues. Reviews code to proactively identify and mitigate potential issues and defects. Troubleshoots own code and helps others find bugs in own code.
- Uses design or analysis patterns periodically, following SDLC process independently.
- Understands network protocols including packet capture and analysis implementing various methods / tools to collect and analyze traffic.
- Demonstrates knowledge of intermediate systems (Linux/Windows), distributed computing architecture, hardware platforms and resources - CPU, memory and virtualization. Configures systems and modifies settings to ensure proper function. Schedules and performs routine maintenance of systems, including but not limited to vulnerability remediation, software and hardware patches and upgrades.
- Possesses the ability to learn quickly and work independently in a dynamic environment.
- Exercises excellent written and verbal communication skills.
- Has the ability to prioritize and work on several independent tasks.
- Demonstrates outstanding troubleshooting capabilities.
- Hadoop / Big data experience.
- Map / Reduce familiarity.
- Collection and representation of application and system performance metrics.
- Familiarity with the need and design of low-latency architecture (software and hardware).
- REST APIs.
- Education: A Bachelor's or Master's degree in Computer Science, Information Systems or other related discipline is required; or equivalent combination of education and relevant proven work experience that is required for the specific job level.
- Experience: Typically 3 - 6 years experience in software development. Financial services industry experience preferred.