Job Details
Skills And Tools:
Job Description
About the Job
We are looking for a Node.Js Developer to be responsible for managing the interchange of data between the server and the users. Your primary focus will be the development of all server-side logic, definition and maintenance of the central database, and ensuring high performance and responsiveness to requests from the front-end. You will also be responsible for integrating the front-end elements built by your co-workers into the application. Therefore, a basic understanding of front-end technologies is necessary as well.
Responsibilities
- Developing applications using Node.Js
- Creating database schema that represent and support business processes
- Creating self-contained, reusable, and testable modules and components
- Handle multiple projects and competing deadlines
- Build and maintain code repository/organized release schedule
- Creating database schemas that represent and support business processes
- Integration of multiple data sources and databases into one system
- Implementing automated testing platforms and unit tests
- Assist in scoping and provide support to ensure the successful of deliveries and projects
- Provide technical expertise to support peer developers, quality team and customer service team
Core Skills:
Coding - Handles coding responsibilities including the ability to:
- Understand code at their level independently
- Properly document code
- Follow coding standards
- Engineer sections of code independently and subsystems with guidance
- Create tools to be used by the team
- Refactor code at a sub-system level
Ownership -Takes accountability and ownership for work:
- Being responsible for understanding work before commencing
- Following through on a task to completion
- Handling responsibility beyond the explicit for his/her own tasks, bugs, and designs
- Being proactive in addressing unforeseen issues
Technical Design - Designs/develops effective technical designs that:
- Are written to the level of expectation of code responsibility
- Accurately estimate times for his/her tasks
- Include resource maps and optimization plans on a sub-system level
- Assess risks for tasks on a system level
- Identify missing aspect of a design, particularly at the sub-system level
- Identify missing aspects of someone else’s design
- Apply techniques of object oriented design and meta-programming
- Anticipate problems in their own area of code
- Include the interface design with some guidance
- Take into account methods of automatic testing
- Identify the need for tools ahead of time
Debugging - Fully debugs familiar and unfamiliar areas of his/her own code, other’s code (of similar level), and higher-level code (with limited guidance).
- Debugging responsibilities include:
- More consistent use of exception handlers to track down problems
- Basic understanding working with and debugging assembly
- Use of profiling as a standard step
Time Management - Looks for ways to save time, including:
- Multitasking
- Helping the broader team identify high risk tasks so they can be scheduled early
- Effectively prioritizing tasks
Job Requirements
- Experience in developing object-oriented code for database-backed websites or web and mobile applications.
- Demonstrated work experience of js and frameworks available for it such as Express with strong proficiency with JavaScript
- Understanding of MVC design patterns and a good understanding of server-side templating languages, and server-side CSS preprocessors
- Understanding the nature of asynchronous programming and its quirks and workarounds
- API development experience with proficiency in developing RESTful API
- Conduct the design and implementation of back end server database and APIs
- Experience in designing and building scalable backends with distributed databases
- Work experience with SQL/NoSQL databases such as mySQL / Redis and their declarative query languages
- Understanding fundamental design principles behind a scalable application
- Proven architecture designs for large scale distributed systems
- Strong familiarity with Web 2.0 websites and Basic understanding of front-end technologies, such as HTML5, and CSS3
- Understanding accessibility and security compliance, user authentication and authorization between multiple systems, servers, and environments
- Proficient understanding of code versioning tools, such as Git