Explore
Close

Senior Java Developer

Summary

The Sr. Java Developer (Associate Principal, Software Engineering) will be responsible for the development and delivery of business features in the front end applications, integrating with a variety of upstream data-sources and presenting data through the user interface, all while enriching and advancing the platform. This software must achieve a blend of data-rich presentation, performance, user experience, and the capacity to support the busiest trading days in the world economy with rock-solid reliability. The candidate must be able to solve problems creatively, communicate effectively, and proactively engage in technical decision making to achieve these objectives. This individual will be a team player and work well with business, technical and non-technical professionals in an agile environment


Responsibilities

  • Contribute to design, technical direction and architecture including collaborating with various teams to build fit for purpose solutions
  • Applies expert knowledge of Java, Python, JavaScript, NodeJS, Angular 2.0 or ReactJS and middle-ware technologies in independently designing and developing key services with a focus on continuous integration and delivery
  • Participates in code reviews, proactively identifying and mitigating potential issues and defects as well as assisting with continuous improvement
  • Drives continuous improvement efforts by identifying and championing practical means of reducing time to market while maintaining high quality
  • Must be a willing self-starter, independent and comfortable with a fast paced, dynamic environment
  • A team player who assists the team as required to achieve collective goals & delivery milestones including knowledge-share
  • Embraces and advocates for Agile best practices for software development discipline (be true to Agile Manifesto)
  • Actively participates in creation and review of both business and technical user stories, providing constructive feedback and input on both work effort estimation as well as architecture/design improvements
  • Integrating disparate data from REST and WebSocket services within a cohesive user interface
  • Participating in innovative design and proof of concepts with emerging technologies and solutions
  • Embrace industry best practices like continuous integration, continuous deployment, automated testing, TDD etc
  • Follows agreed upon SDLC procedures to ensure that all information system products and services meet: both explicit and implicit quality standards, end-user functional requirements, architectural standards, performance requirements, audit requirements, security rules are upheld, and external facing reporting is properly represented
  • Writes unit and integration tests based on chosen DevOps frameworks
  • Performs application and project risk analysis and recommends quality improvements
  • Assists Production Support by providing advice on system functionality and fixes as required
  • Assist with departmental and new employee training


Supervisory Responsibilities

  • None


Are the essental duties of this job required to be performed in an OCC office location?No
Qualifications & Experience

  • [Required] 7+ years of Front End, User Experience, development
  • [Required] 5+ years of experience in JavaScript skills
  • [Required] 3+ years of experience in React application development
  • [Required] 5+ years of hands-on HTML5/CSS3 experience
  • [Required] Experience with Java and/or Python
  • [Required] Experience with popular Javascript frameworks such as React, Node JS, Vue, Angular 2.0
  • [Required] Experience of working with websockets, HTTP 1.1 and HTTP/2
  • [Required] Experience with RESTful APIs and JSON RPC
  • [Required] Ability to write clean, bug-free code that is easy to understand and easily maintainable
  • [Required] Experience with BDD methodologies & automated acceptance testing


Technical Skills & Background

  • [Required] 7+ years hands-on experience in Java required, including good understanding of Java fundamentals such as Memory Model, Runtime Environment, Concurrency and Multithreading
  • [Required] Past/Current experience of 3+ years working on a large scale cloud native project (platform: Unix/Linux, Type of Systems: event-driven / transaction processing / high performance computing) as Technical Lead. These experiences should include developing / architecting core libraries or framework used by the platform to support fundamental services like storage, alert notifications, security, etc.
  • [Required] Experience with cloud technologies and migrations using public cloud vendor preferably using cloud foundational services like AWS’s VPCs, Security groups, EC2, RDS, S3 ACLs, KMS, AWS CLI and IAM etc.
  • [Required] Experience with distributed message brokers using Kafka
  • [Required] Experience with high speed distributed computing frameworks such as AWS EMR, Hadoop, HDFS, S3, MapReduce, Apache Spark, Apache Hive, Kafka Streams, Apache Flink etc.
  • [Required] Experience working with various types of databases like Relational, NoSQL, Object-based, Graph
  • [Required] Working knowledge of DevOps tools. Eg Terraform, Ansible, Jenkins, Kubernetes, Helm and CI/CD pipeline etc
  • [Required] Familiarity with monitoring related tools and frameworks like Splunk, ElasticSearch, Prometheus, AppDynamics


Certifications

  • None Required


Education & Training

  • [Required] BS degree in Computer Science, similar technical field
  • [Preferred] Masters degree in Computer Science

Step 1
When you find a position you're interested in, click the 'Apply' button. Please complete the application and attach your resume.  

Step 2
You will receive an email notification to confirm that we've received your application.

Step 3
If you are called in for an interview, a representative from OCC will contact you to set up a date, time, and location. 

For more information about OCC, please click here.

OCC is an Equal Opportunity Employer

Apply About OCC
  • REQ-2614
  • Chicago - 125 S Franklin
  • Full Time Regular
  • Posted: Aug. 10, 2022

How to Apply

Step 1 - When you find a position you're interested in, click the 'Apply' button. Please complete the application and attach your resume.

Step 2 - You will receive an email notification to confirm that we've received your application.

Step 3 - If you are called in for an interview, a representative from OCC will contact you to set up a date, time, and location.

OCC is an Equal Opportunity Employer

Numerous studies have shown that people from groups that are traditionally under-represented in financial services apply to jobs only if they believe they meet 100% of the requirements. We want to break down this mindset to further diversify our workforce.

We encourage you to review our open positions and apply if you think your experience may be a match, even if you do not meet all of the qualifications. Your perspective may be an element we need to continue building innovative solutions to support the markets and market participants we serve.

OCC is a globally recognized entity that clears a multitude of diverse and sophisticated products. We want to reflect this in the diversity of our workforce.

Your acceptance of all cookies will permit robust site functionality. If you don't allow cookies, some features and functionality of OCC's site may not operate as expected. If you do not choose either cookie setting for our site, or if you close this window, this message will continue to display on each page you visit. Cookie settings can be controlled in your Internet browser to automatically reject some forms of cookies. For more details on cookies this site uses, see our OCC Site Cookies page. In addition to using cookies, we retain other information, including your Internet Protocol (IP) address, for the purposes listed in the Privacy Policy. Do not accept analytic cookies Accept analytic cookies