Job Description
Summary
As Java Developer for the NADEX (North American Derivatives Exchange) Exchange Development group you'll be responsible for the production of high-performance, low-latency software to support the exchange, reporting to the Technical Manager for NADEX. You’ll also be designing new changes - using your experience to design solutions that meet the demanding needs of a high volume, real-time system, with a focus on performance and reliability.
Responsibilities
- Develop, test and maintain high-quality Java applications to serve millions of global users
- Collaborate with product managers, stakeholders and other software developers to design and implement software solutions that meet business requirements
- Analyse, troubleshoot and debug complex Java applications and identify areas for improvement
- Establish a quick turnaround deployable system with automated testing and continuous integration and delivery
- Ensure that software solutions are scalable, reliable and performant
- Develop and maintain technical documentation for applications and processes
- Ensure that software solutions are in compliance with industry and regulatory standards
- Participate in code reviews and provide constructive feedback to other developers
- Keep up-to-date with the latest technologies, trends and best practices in the fieldAnalyze and resolve production issues while documenting and following up on issues.
Requirements
- Bachelor's or Master's degree in Computer Science or a related field
- At least 4 years of professional experience in developing and maintaining Java applications
- Solid knowledge of core Java, Spring Framework, and other relevant frameworks and tools
- Experience in developing and integrating with RESTful APIs and micro services Understanding of software development best practices, including agile methodologies, test-driven development and continuous integration/continuous deployment Excellent problem-solving and analytical skills
- Strong communication and collaboration skills
- Ability to work independently as well as part of a teamKnowledge of low level networking or OS internals (Linux)
- Humble to embrace better ideas from others, eager to make things better, open to challenges and possibilities
Desirable Requirements
- Experience with cloud-based technologies such as AWS or Azure
- Familiarity with DevOps tools such as Jenkins, Ansible or Docker
- Knowledge of financial services regulations and compliance
- Experience with SQL and database design and optimisationExperience with Kubernetes
- Experience with FIX protoco
- lExperience with messaging systems such as Kafka or Artemis/RabbitMQ
Skills
- Analytical Thinking
- Communications Skills
- Development
- Java
- Software Engineering
- Team Collaboration