Principal, Software Engineering

OCC · Chicago, IL

Company

OCC

Location

Chicago, IL

Type

Full Time

Job Description

What You'll Do

The Principal, Software Engineering will be responsible for leading the development, delivery and support of business features in the platforms and 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 extreme activity ensuring quality and resiliency. 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.

Primary Responsibilities and Duties

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

  • N/A

Qualifications

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

  • Design and develop features and tests to ensure requirements are fulfilled following secure and resilient coding practices.
  • Develop solutions to complex technical challenges while coding, testing, troubleshooting, debugging, and documenting the systems you develop.
  • Optimize application performance through analysis, code refactoring, and system tuning.
  • Provide constructive code review for other team members’ code contributions.
  • Participate in agile ceremonies to maximize team performance and enable high-quality communication with all stakeholders.
  • Serve as a mentor to other developers.
  • Provide suggestions and leadership to ensure that the team maintains a culture of continuous improvement.
  • Recommend technologies and tools that improve the efficiency and quality of OCC’s systems and development processes.

Technical Skills

  • Java 10+ experience required, including deep understanding of Java fundamentals such as Memory Model, Runtime Environment, Concurrency and Multithreading.
  • Fluent in object-oriented design, industry best practices, software patterns, and architecture principles.
  • Deep understanding of performance issues and multi-threaded development.
  • Working knowledge of DevOps tools - e.g. Terraform, Ansible, Jenkins, Kubernetes, and CI/CD pipeline etc.
  • Familiarity with monitoring related tools and frameworks like Splunk and AppDynamics
  • Intellectually curious and eager to learn.
  • Experience following Git workflows.

Education and/or Experience

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

Certifications

  • N/A

Apply Now

Date Posted

02/17/2023

Views

0

Back to Job Listings Add To Job List Company Profile View Company Reviews
Positive
Subjectivity Score: 0.8