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.
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
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
Markup Languages such as XML, JSON
Abstract classes and interfaces
Constructors, lists, maps, sets
File IO and serialization
Java Keywords like static, volatile, synchronized, transient, etc
Multithreading and Synchronization
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;