Software Developer
MUST HAVE SKILLS: • Software development experience including design, development, debugging and support, building scalable software systems and software infrastructure. • Experience with programming languages (Java, Python, Go) and software debugging tools ( jdb, jmx) • In-depth understanding of scale out infrastructure, distributed systems and web services technologies. • Experienced in designing and applying data structures, algorithms, and object-oriented concepts to solve challenging problems • Experience working with ODL, REST, RESTCONF and RPC services and other client/server models • Building and delivering mission critical, 24x7 production quality software systems • Transforming the monolithic software systems into micro service-oriented software systems • Experience in Linux environments with Linux automation scripting and/ or software development (Ansible, Python, Bash) • Experience with Linux networking & virtualization environments/technologies (KVM, containers) and container scheduling/management platforms (Docker, Kubernetes) • Open-Source tools development, implementation, and/or collaboration experience DESIRED SKILLS: • Experience using source code tracking and version control systems (Stash/GIT/GitLab) • Experienced in integrating and developing messaging infrastructures (kafka, thrift, proto-buf) • Experience with open source logging and reporting solutions (Logstash, Elasticsearch, Kibana, Grafana, Splunk) • Database development experience (MongoDB, Redis, Cassandra, SQL/NoSQL) • Open API (REST/RESTCONF/NETCONF) and data modeling (YANG) verification and development EDUCATION/CERTIFICATIONS: BS/MS degree in Computer Science/Computer Engineering or equivalent engineering discipline/experience