Mandatory skills:
· JAVA: Expertise with Core Java (at least 5 years)
· Object Oriented Programming: Knowledge of design patterns such as MVC, MVV, Singletons, Factory, etc.
· Familiarity with JSON using Java, JAXB, Jersey, Spring
· Experience and background in networking protocols is a MUST
· Proficiency in deploying and configuring enterprise switching and routing devices
· Expertise in Layer 2 / Layer 3 protocols and technologies such as 802.3, 802.11, Gigabit Ethernet, IPv6 is a plus.
· Virtualization development (hypervisor, management and provisioning)
· Strong proficiency in networking concepts and good working knowledge of protocols ranging from MAC to Application layers is required (i.e TCP/IP, UDP, FTP, SSH).
· Webservers: Knowledge of tomcat environment.
· OS: Ability to work on a Linux operating system.
· Dynamic languages/Scripting: Knowledge of Bash and Ruby for Linux scripting.
Responsibilities
· Network application development in a server-side enterprise Java environment
· Develop network controller packages involved in advanced networking administration and configuration
· Contribute to open source projects, supporting software-defined networking both internally and upstream
· Work as part of an Agile software development team on enhancing new and existing products
· Participate in software architecture, design, coding, testing, debugging, and maintenance
· Work independently, but also in collaboration with a distributed team
· Write unit tests, review code, and closely work with other developers to l code a solution for critical issues.