Senior Java Developer

Posted Feb 26

Worldwide, Remote

As a Senior Java Developer you will perform research, analysis, and evaluation of existing or new software applications and operating system needs, and deal with the design, development, testing, and maintenance of software solutions that meet these needs.

Required activities and tasks:

  • research, analysis, and evaluation of software applications and operating system needs; and capturing of that research in GitLab repository
  • logging of all work in NXLog work tracker
  • research, design, and development of NXLog Manager code
  • daily committing of code into Gitlab repository
  • evaluation of the interface between hardware and software in consultation with other developers and lead developer
  • code review of other developers’ software according to NXLog manager coding standards and style, using Gitlab
  • daily estimation and update of development activities via Gitlab
  • daily communication of activities planned and achieved to the project manager and their teammates via e-mail
  • estimation and collaboration in planning sessions via digital video conference facilities
  • testing both manual and unit tests of software developed by yourself and your teammates
  • modifying existing software to fix bugs, adjust to new hardware, or improve performance
  • management of software programming and documentation development; where required discussion with technical writers to explain work that has been completed
  • discussions with the product manager and project manager regarding the development and maintenance of software systems

Further activities:

  • participation in development and testing – through the writing of code, unit tests of your own work, as well as code review of teammates' work
  • develop code in accordance with NXLog Managers coding style and guidelines
  • active participation in teamwork – contributing to discussions and estimations
  • daily communication with the team project manager and teammates
  • close cooperation and communication with all development team members and other product teams.
  • awareness and tracking of work achieved
  • planning of work and leave to ensure that the project timelines are not jeopardized
  • discussion with support staff to troubleshoot client problems
  • ensure code and issues are committed and up to date
  • provide input to technical writers where documentation is required
  • delivering assigned tasks according to constraints
  • communicating where constraints will be missed i.e. timings or technology stack
  • continuous learning on new networking technologies and software products, technologies
  • continuous strives to develop innovations that serve the company strategy and overall team performance

Requirements:

  • Knowledge to write web services (SOAP, REST, AJAX, Spring WS, etc. + JAXB2/JSON)
  • Experience with Java web application development (Spring MVC/Webflow/ WebSecurity + Servlet/JSP API)
  • Knowledge of middleware technologies (JTA/Spring Transaction API, Spring Security (RBAC/ACL), JMS/ActiveMQ)
  • Knowledge of Java persistence technologies (Hibernate5/JPA2 + Criteria API)
  • Scripting languages: javascript, shell, perl or python
  • Documentation skills
  • Crypto, SSL/TLS, PKI
  • Network protocols on user and programming level
  • Secure coding practices
  • Development experience with distributed systems
  • Qualification: Degree in Computer Science or similar
  • Professional experience (years): minimum of 10
  • Language: fluent English skills (oral and written)
  • PC knowledge: Developer experience with exposure to multiple operating systems, Windows and Linux