Director, Software Engineering: Java
This is a director role but they want the person to be hands on with Java/Kafka/AWS background.What You'll Do:Manage a team of highly skilled software engineers in design and development of the new generation highly scalable resilient cloud-based Clearing applications. Mentor and collaborate with developers, architects, and product owners to successfully deliver business and operational functionality for internal and external users. This candidate must be able to solve problems creatively, communicate effectively, and proactively engage in technical decision making to achieve these objectives. A team player and work well with business, technical and non-technical professionals in an agile environment.Primary Duties and Responsibilities:Collaborating with others to deliver complex projects which may involve multiple systemsContinuously thinking about the next steps while improving yourself and others around youManage distributed development team, collaborate, and coordinate with vendorsDeveloping solutions to complex technical challenges while coding, testing, troubleshooting, debugging, and documenting the systems you developLead the efforts to optimize application performance and resilience through analysis, code refactoring, and system tuningRecommending architectural changes and new technologies and tools that improve the efficiency and quality of OCC’s systems and development processes.Supervisory Responsibilities:Build and manage a team of skilled software developersQualifications: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.8-10 years of experience in building large scale, compute and event-driven solutions.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, RabbitMQ, ActiveMQ, 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.Experience with testing frameworks like Junit, Citrus is desirable.Experience working with various types of databases like Relational, NoSQL, Object-based, Graph.Experience following Git workflows is required.Working knowledge of DevOps tools. Eg Terraform, Ansible, Jenkins, Kubernetes, Helm and CI/CD pipeline etc.is desirable.Familiarity with monitoring related tools and frameworks like Splunk, ElasticSearch, Prometheus, AppDynamics is a plus.‘Get stuff done’ and flexible mindset for greater good of the organization.Intellectually curious and eager to learn.Technical Skills:[Required] 8+ years of experience in team building, management, and mentoring[Required] 8+ years of experience in building high speed distributed solutions[Required] Java 8+ years of experience[Required] 8+ years of experience developing software using Object Oriented Design, advance patterns, and multi-threading[Required] Experience with distributed message brokers, like Kafka, Amazon Kinesis, etc.[Preferred] Working knowledge of DevOps tools, Terraform, Ansible, Jenkins, Kubernetes, Helm.Education and/or Experience:BS degree in Computer Science, similar technical field required. Masters preferred.Certificates or Licenses:OCP Java SE 8 Programmer Certification is a plusAWS Certified Solutions Architect – Associate Level is a plus