What are the responsibilities and job description for the Java Developer position at The Brixton Group?
Job Details
Note : Coding test in person, Mt. Laurel (candidates unwilling to take the test in person)
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 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 "
"Strong skills in the following areas:
- Languages: Java
- Frameworks: SpringBoot
- Big Data: Kafka, Spark
- NoSQL: Cassandra
- Automation: Gradle, Concourse, Ansible
- OS: Linux, Shell Scripts