Job Title: Principal Core Java
Location: Chicago, Hybrid
Primary Duties and Responsibilities:
To perform this job successfully, an individual must be able to perform each primary duty satisfactorily.
Support the application development of big data application for business requirements in agreed architecture framework and Agile environment
Thoroughly analyzes requirements, develops, tests, and documents software quality to ensure proper implementation
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
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
Experience with resolving security vulnerabilities
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.
5+ year of experience in building high speed, data-centric solutions
5+ years of experience in Java
Experience with high speed distributed computing frameworks like FLINK, Apache Spark, Kafka Streams, etc
Experience with distributed message brokers like Kafka, RabbitMQ, ActiveMQ, Amazon Kinesis, etc.
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 developing and delivering technical solutions using public cloud service providers like Amazon, Google
Experience writing unit and integration tests with testing frameworks like Junit, Citrus
Experience working with various types of databases like Relational, NoSQL, Object-based, Graph
Experience following Git workflows
Working knowledge of DevOps tools like Terraform, Ansible, Jenkins, Kubernetes, Helm and CI/CD pipeline etc
Familiarity with monitoring related tools and frameworks like Splunk, ElasticSearch, Prometheus, AppDynamics
Technical Skills:
Java-based software development experience, including deep understanding of Java fundamentals like Memory Model, Data structures, Concurrency and Multithreading
Fluent in object-oriented design, industry best practices, software patterns, and architecture principles
Strong testing experience which includes developing test plans, automated test cases, and working with test frameworks
Deep understanding to troubleshoot performance and multi-threaded issues
Experience with performance optimization and profiling
Experience working with two or more of the following: Unix/Linux environments, event-driven systems, transaction processing systems, distributed and parallel systems, large software system development, security software development, public-cloud platforms
Hands-on experience with Java version 8 onwards, Spring, SpringBoot, Microservices, REST API
Education and/or Experience:
BS degree in Computer Science, similar technical field required
MS in Computer Science
Certificates or Licenses:
OCP Java SE 8 Programmer Certification
AWS Certified Solutions Architect – Associate Level