Explore
Close

Associate Principal, Software Engineering

What You'll Do

This role will work alongside team of diversely skilled team of talented engineers working on building foundational components required by our risk platform, all while enriching and advancing the platform providing sound technical decisions around design, architecture and development. This role must be able to solve problems creatively, communicate effectively within and outside the team and proactively engage in technical decision making to achieve desired objectives. Strong technical and architecture skills, technical leadership and development, Agile expertise, and the ability to effectively execute on multiple fronts are baseline expectations for this role. This role will be a team player and work well with business, technical and non-technical professionals in agile environment. This role, most critically, will support change and improve processes.

Primary Duties and Responsibilities:

  • Design & Develop software employing object oriented techniques & functional programming paradigm in Java8 or higher versions
  • Collaborate with other departments to deliver complex projects which may involve multiple systems
  • Review and understand business and technical requirements; translate those into flexible, scalable, resilient design proposals
  • Review architecture proposals with tech leads in the firm as well as senior business partners
  • Drive strategies and transition plans to deliver target state architectures
  • Drive and support development of solutions to complex technical challenges while coding, testing, troubleshooting, debugging, and documenting the systems
  • Drive various enterprise level architecture initiatives covering Risk Platform interactions at enterprise level and help flush out reference architecture with POC/Designs
  • Drive development of solution / solution architecture on Renaissance Risk Platform project team
  • Lead architecture & design tasks supporting development of core infrastructure services for risk platform
  • Analyze, document, refine, and maintain architectures that are developed within the team
  • Drive team that optimizes application performance through analysis, code refactoring, and system tuning

Supervisory Responsibilities:

  • NA

Qualifications:

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.

  • [Required] Excellent oral and written communication skills
  • [Required] 8+ years of Java-based software development experience and must have good to deep knowledge of internal working of Java
  • [Required] Spring framework based software development experience
  • [Required] Fluent in object-oriented design, industry best practices, software patterns, and architecture principles
  • [Required] Strong testing experience with developing test plans, automated test cases, and working with test frameworks; must have development experience where code coverage exceeds 85%
  • [Required] Deep understanding of performance issues and multi-threaded development
  • [Required] Experience documenting design proposals through clear and comprehensive diagrams, uses cases, and written documents
  • [Required] Experience defining and documenting architecture strategies, designs, and requirements across all enterprise architecture domains – business, information systems (applications & data), and technology
  • [Required] Good understanding of architecture design mechanisms and steps including logical/conceptual, business and physical architectures
  • [Required] 'Get stuff done’ and flexible mindset for greater good of the organization
  • [Preferred] Experience with high speed distributed computing frameworks involving MapReduce technologies like Apache Spark, Kafka Streams, Apache Flink etc. is desirable.
  • [Required] Experience in developing cloud native applications running on containers. This experience should include usage of cloud technologies and services like VPCs, Security groups, EC2, RDS, S3 ACLs, KMS, AWS CLI and IAM etc.
  • [Required] Experience following Git workflows & working knowledge of DevOps tools. Eg Jenkins, Kubernetes, Helm and CI/CD pipeline, while exposure to Terraform, Ansible written infrastructure code is desirable
  • Familiarity with monitoring related tools and frameworks like Splunk, ElasticSearch, Prometheus, AppDynamics

Technical Skills:

  • [Preferred] Experience with high speed distributed computing frameworks involving MapReduce technologies like Apache Spark, Kafka Streams, Apache Flink etc. is desirable.
  • [Required] Experience in developing cloud native applications running on containers. This experience should include usage of cloud technologies and services like VPCs, Security groups, EC2, RDS, S3 ACLs, KMS, AWS CLI and IAM etc.
  • [Required] Experience following Git workflows & working knowledge of DevOps tools. Eg Jenkins, Kubernetes, Helm and CI/CD pipeline, while exposure to Terraform, Ansible written infrastructure code is desirable
  • Familiarity with monitoring related tools and frameworks like Splunk, ElasticSearch, Prometheus, AppDynamics

Education and/or Experience:

  • [Required] BS degree in Computer Science, similar technical field, or equivalent practical experience
  • [Required] 8+ year of work experience
  • [Preferred] Work experience in capital markets industry

Certificates or Licenses:

  • OCP Java SE 8 Programmer Certification is a plus
  • AWS Certified Solutions Architect – Associate Level is a plus

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-2589
  • Chicago - 125 S Franklin
  • Full Time Regular
  • Posted: May 03, 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