NodeJS / Javascript Developer

We are looking for a highly capable Node.js developer to optimize our web-based application performance. You will be collaborating with our front-end application developers, designing back-end components, and integrating data storage and protection solutions.


To ensure success as a Node.js developer, you should possess extensive knowledge of Node.Js based services and experience in a similar role. An accomplished Node.js developer will be someone whose expertise results in the stable, fast, and secure exchange of data between servers and end-users.

AVN_Mainnet_Gradient - Copy_edited.jpg

Job Duties and Responsibilities

 
  • Designing, implementing, and maintaining Java applications that are often high-volume and low-latency, required for mission-critical systems.

  • Delivering high availability and performance.

  • Contributing in all phases of the development lifecycle.

  • Writing well-designed, efficient, and testable code.

  • Conducting software analysis, programming, testing, and debugging.

  • Managing Java and Java EE application development.

  • Ensuring designs comply with specifications.

  • Preparing and producing releases of software components.

  • Transforming requirements into stipulations.

  • Analyze user requirements to define business objectives

  • Envisioning system features and functionality

  • Define application objectives and functionality

  • Ensure application designs conform with business goals

  • Develop and test software

  • Identify and resolve any technical issues arising

  • Create detailed design documentation

  • Propose changes to current Java infrastructure

  • Develop technical designs for application development

  • Develop multimedia applications

  • Develop documentation to help users

  • Support continuous improvement, investigating alternatives and technologies, and presenting for architectural review

Required Qualifications

An expanded listing of the Required Qualifications which can be used to further determine a person’s ability to be productive and successful in this job.  


These Preferred Qualifications are “nice to have” but are not essential to carrying out the day to day functions of the job.  


If included, the Preferred Qualifications can focus on any or all of the following:  education, experience, knowledge, skills and abilities.

Knowledge, Skills, and Abilities

  • Proficiency in Java, with a good understanding of its ecosystems

  • Sound knowledge of Object-Oriented Programming (OOP) Patterns and Concepts

  • Familiarity with different design and architectural patterns

  • Skill for writing reusable Java libraries

  • Knowhow of Java concurrency patterns

  • Basic Understanding of the concepts of MVC (Model-View-Controller) Pattern, JDBC (Java Database Connectivity), and RESTful web services

  • Experience in working with popular web application frameworks like Play and Spark

  • Relevant Knowledge of Java GUI frameworks like Swing, SWT, AWT according to project requirements

  • Ability to write clean, readable Java code

  • Basic knowhow of class loading mechanism in Java

  • Experience in handling external and embedded databases

  • Understanding basic design principles behind a scalable application

  • Skilled at creating database schemas that characterize and support business processes

  • Basic knowledge of JVM (Java Virtual Machine), its drawbacks, weaknesses, and workarounds

  • Implementing automated testing platforms and unit tests

  • In-depth knowledge of code versioning tools, for instance, Git

  • Understanding of building tools like Ant, Maven, Gradle, etc

  • Expertise in continuous integration

  • JavaServer pages (JSP) and servlets

  • Web frameworks like Struts and Spring

  • Service-oriented architecture

  • Web Technologies like HTML, JavaScript, CSS, JQuery

  • Markup Languages such as XML, JSON

  • Abstract classes and interfaces

  • Constructors, lists, maps, sets

  • File IO and serialization

  • Exceptions

  • Generics

  • Java Keywords like static, volatile, synchronized, transient, etc

  • Multithreading and Synchronization

Preferred Qualifications

  • Basic knowledge of OOP, SOLID principles;

  • Basic knowledge of NodeJS development, at least one NodeJS framework such as Express, Hapi, Meteor;

  • Basic knowledge of web service development (REST);

  • Basic knowledge of Unit Testing;

  • Basic knowledge of security in web development;

  • Basic knowledge of HTML, CSS, JavaScript, Ajax (object oriented with JavaScript, HTML standard compliance, newer HTM5/CSS3);

  • Good to have additional skills:Experience on any JavaScript Front-end framework (Angular/React/Vue).