Associate Principal, Software Engineering: Scala

What You'll Do

We are looking for an individual who is experienced with AGILE project management techniques, has worked with and truly understands the process and processes for our platform based on distributed ledger and Scala. Application Developer should possess deep understanding of technical troubleshooting approaches, tools and techniques, and the ability to anticipate, recognize, and resolve technical (hardware, software, application or operational) problems. Develop solutions to complex technical challenges while coding, testing, troubleshooting, debugging, and documenting the systems you develop. The Application Developer will be a team player and work well with business, technical and non-technical professionals in a project environment. He should be involved in recommending technologies and tools that improve the efficiency and quality of OCC’s systems and development processes.   

Primary Duties and Responsibilities:

To perform this job successfully, an individual must be able to perform each primary duty satisfactorily.

  • Actively participates in design of highly performing, scalable, secure, reliable and cost optimized solutions.

  • Primarily responsibility is application design and development of next gen clearing system for business requirements in agreed architecture framework and Agile environment

  • Thoroughly analyzes requirements, develops, tests, and documents software quality to ensure proper implementation.

  • Follows 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.

  • Performs thorough code-reviews based on high engineering standards
     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

  • Communicates in a clear and concise manner all time delays or defects in the software immediately to appropriate team members and management

Supervisory Responsibilities:

  • None


The requirements listed are representative of the knowledge, skill, and/or ability required.  Reasonable accommodations may be made to enable individuals with disabilities to perform the primary functions.

  • 3+ years of functional-based software development experience with Scala.

  • Experience (including internal workings of Java) in Java 8+ is required.

  • Experience developing software using Object Oriented Designs, advance patterns (like AOP) and multi-threading is required.

  • Experience with distributed message brokers like Kafka, Amazon Kinesis, etc. is desirable.

  • Experience with cloud technologies and migrations. Experience preferred with AWS foundational services like VPCs, Security groups, EC2, RDS, S3 ACLs, KMS, AWS CLI and IAM etc.

  • UI development experience using JavaScript, React JS, Angular, or equivalent frameworks.

  • Must be able to write good quality code and perform unit, integration, and performance testing. Experience with testing frameworks like Junit, Cucumber is desirable. 

  • Experience working with Relational and NoSQL databases.

  • Experience following Git workflows is required

  • Experience with CI/CD tools and technologies. Good to have Terraform, Ansible, Jenkins, Kubernetes, Helm and CI/CD pipeline etc. is desirable.

  • Familiarity with monitoring related tools and frameworks like Splunk, AppDynamics.
     Intellectually curious and eager to learn.

  • BS degree in Computer Science, similar technical field required. Masters preferred

Technical Skills:

Scala, Java, Akka/similar, React/similar framework, Kafka, MQ, Redis, PostgreSQL, Docker, AWS, Kubernetes, Jenkins, JIRA, Artifactory, GIT, Harness, Rancher K8/EKS

Education and/or Experience:

  • 8+ years of experience in building large scale, compute and event-driven solutions.

  • BS degree in Computer Science, similar technical field required. Masters preferred

Certificates or Licenses:

AWS, Scala preferable

Who We Are

The Options Clearing Corporation (OCC) is the world's largest equity derivatives clearing organization. Founded in 1973, OCC is dedicated to promoting stability and market integrity by delivering clearing and settlement services for options, futures and securities lending transactions. As a Systemically Important Financial Market Utility (SIFMU), OCC operates under the jurisdiction of the U.S. Securities and Exchange Commission (SEC), the U.S. Commodity Futures Trading Commission (CFTC), and the Board of Governors of the Federal Reserve System. OCC has more than 100 clearing members and provides central counterparty (CCP) clearing and settlement services to 19 exchanges and trading platforms. More information about OCC is available at www.theocc.com.

What We Offer

A highly collaborative and supportive environment developed to encourage work-life balance and employee wellness. Some of these components include:

A hybrid work environment, up to 2 days per week of remote work

Tuition Reimbursement to support your continued education

Student Loan Repayment Assistance

Technology Stipend allowing you to use the device of your choice to connect to our network while working remotely

Generous PTO and Parental leave

Competitive health benefits including medical, dental and vision

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-3083
  • Chicago - 125 S Franklin
  • Full Time Regular
  • Posted: Dec. 22, 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