Job Description:
Technical/Functional Skills:
- Languages: Java, C/C++
- Frameworks: SpringBoot
- Big Data: Kafka, Spark
- NoSQL: Cassandra
- Automation: Gradle, Concourse, Ansible
- 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
Additional Desired Experience:
- Experience in Python, Scala
- Experience with relational databases such as MySQL
- Experience with MongoDB
- Experience in AngularJS
- Experience in Kubernetes and Docker
- Experience developing and deploying applications to AWS
- Experience troubleshooting, analyzing and diagnosing JVM runtime problems
- Experience with TCP/IP, networking technologies, and protocols, particularly DHCP, TFTP, SNMP, DOCSIS
- Knowledge of Cisco Prime Cable Provisioning and Cisco Prime Network Registrar products
Roles & Responsibilities:
- 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
- Generic Managerial Skills
- Education Engineering