|
Java Developer multithreading
JOB DESCRIPTION:
Responsible for designing and developing software applications and application extensions using a combination of Java technologies and modern Big Data platforms and streaming technologies. Guides the integration and deployment of a broad range of components, from lab development environments to QA and production. Troubleshoots and analyzes production issues. Documents work activity using a blend of Agile technologies and WIKI based content management systems. Collaborates closely with both senior and junior colleagues. "• Develops production quality code that is thoroughly tested • Designs custom applications using sound architectural and design principles • Conducts performance and scalability testing with customized load generating tools • Automates the integration and delivery of software changes to development, test, and production environments using version controlled playbooks and configuration files • Works with the Quality Assurance team to determine if applications meet technical requirements • Supports the deployment of new software releases • Diagnoses performance issues both in the lab and in production, proposing and implementing code improvements • Analyzes and resolves complex technical problems, particularly pertaining to Big Data products and applications • Analyzes large data sets containing billions of entries • Spark based analysis of large data sets containing billions of entries • Designs, develops, and deploys meaningful metrics for system and application monitoring and alerting • Analyzes and troubleshoots complex coding issues across multiple interrelated components • Understands and identifies underlying Linux platform issues affecting overall system behavior • Participates in on-call rotation" "• Strong skills in the following areas: o Languages: Java o Frameworks: SpringBoot o Big Data: Kafka, Spark o NoSQL: Cassandra o Automation: Gradle, Concourse, Ansible o OS: Linux, Shell Scripts • Strong experience developing large-scale streaming solutions using Kafka and Cassandra • Strong experience in multi-threaded applications and parallel processing, with a strong grasp of concurrency concepts • Strong experience with Linux and Cloud native systems in a DevOps environment • Experience with high volume batch and streaming data processing technologies such as Spark • Experience in performance tuning and testing • Working knowledge of messaging technologies such as JSON and REST • LaaS experience, i.e., ELK stack (Elastic Search, logstash, Kibana) for monitoring • MaaS experience, i.e., Telegraf, Prometheus, Grafana, Alerta • Good verbal and written communication skills • Experience writing technical system admin guides, installation guides and troubleshooting guides" | ||||