Associate Principal, Software Engineering: Java
This role supports and works collaboratively with business analysts, team leads, and development teams. A contributor in developing scalable and resilient hybrid and Cloud-based data solutions supporting critical financial market clearing and risk activities; collaborate with other developers, architects, and product owners to support enterprise transformation into a data-driven organization. The Specialist, Application Developer will be a team player and work well with business, technical, and non-technical professionals in a project environment.
Responsibilities:
- Support the application development of big data applications for business requirements in an agreed architecture framework and Agile environment
- Thoroughly analyze requirements, develop, test, and document software quality to ensure proper implementation
- Follow agreed upon SDLC procedures to ensure that all information system products and services meet explicit and implicit quality standards, end-user functional requirements, architectural standards, performance requirements, audit requirements, security rules, and external facing reporting
- Perform application and project risk analysis and recommend quality improvements
- Assist Production Support by providing advice on system functionality and fixes as required
- Communicate in a clear and concise manner all time delays or defects in the software immediately to appropriate team members and management
Supervisory Responsibilities: None
Qualifications & Experience:
- (Required) 5+ years of experience in building high speed, data-centric solutions
- (Required) Java 5+ years experience
- (Required) Experience with high speed distributed computing frameworks like FLINK, Apache Spark, Kafka Streams, etc
- (Required) Experience with distributed message brokers Kafka, RabbitMQ, ActiveMQ, Amazon Kinesis, etc
- (Required) 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
- (Required) Experience developing and delivering technical solutions using public cloud service providers like Amazon, Google
- (Required) Experience writing unit and integration tests with testing frameworks like Junit, Citrus
- (Required) Experience working with various types of databases like Relational, NoSQL, Object-based, Graph
- (Required) Experience following Git workflows
- (Required) Working knowledge of DevOps tools. Eg Terraform, Ansible, Jenkins, Kubernetes, Helm and CI/CD pipeline etc
- (Required) Familiarity with monitoring related tools and frameworks like Splunk, ElasticSearch, Prometheus, AppDynamics
Technical Skills & Background:
- (Required) Java-based software development experience
- (Required) Fluent in object-oriented design, industry best practices, software patterns, and architecture principles
- (Required) Strong testing experience which includes developing test plans, automated test cases, and working with test frameworks
- (Required) Deep understanding of performance issues and multi-threaded development
- (Required) Experience working with two or more of the following: web/mobile application development, Unix/Linux environments, event-driven systems, transaction processing systems, distributed and parallel systems, large software system development, security software development, public-cloud platforms
- (Required) Hands-on experience with Java version 8 onwards, Spring, SpringBoot, Microservices, REST API
Certifications:
- (Preferred) OCP Java SE 8 Programmer Certification
- (Preferred) AWS Certified Solutions Architect – Associate Level
- (Required) BS degree in Computer Science, similar technical field required
Education & Training:
Sr. Streaming Engineer in Remote at Unknown Company
This position is listed as full time and hybrid.