|Title:||Node. js Developer Trainee|
POSITION: Node. js Developer Trainee
Industry: Non-profit/International Development
Founded in 2004, Build Change is a non‐profit social enterprise whose mission is to save lives in earthquakes and hurricanes. Build Change designs disaster-resistant houses and schools, trains homeowners, builders, engineers and government officials to build them, works with governments to develop and implement building standards, partners with the private sector to improve building materials quality and create jobs, and facilitates access to incentive-based capital for reconstruction and retrofitting by partnering with financing institutions and government subsidy programs. Build Change started its work in Aceh, Indonesia after the 2004 earthquake and tsunami and has since expanded to include programs in China, Haiti, Colombia, Guatemala, Nepal, and the Philippines. Build Change has trained more than 39,380 people on earthquake-resistant design and construction techniques, guided 74 organizations in using homeowner-driven design, created over 16,768 jobs and provided technical assistance for almost 58,328 safer buildings, impacting an estimated 304,440 people.
We are looking for a Node.js Developer 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.
- Integration of user-facing elements developed by front-end developers with server side logic
- Writing reusable, testable, and efficient code
- Design and implementation of low-latency, high-availability, and performant applications
- Implementation of security and data protection
- Integration of data storage solutions may include databases, key-value stores, blob stores, etc.
Skills and Qualifications
- BS degree in Computer Science/Information Technology, Engineering or a related subject (Result waiting can also apply)
- Knowledge of Node.js and frameworks available for it such as Express, StrongLoop, etc
- Understanding the nature of asynchronous programming and its quirks and workarounds
- Good understanding of server-side templating languages such as Jade, EJS, etc
- Good understanding of server-side CSS preprocessors such as Stylus, Less, etc
- Basic understanding of front-end technologies, such as HTML5, and CSS3
- User authentication and authorization between multiple systems, servers, and environments
- Integration of multiple data sources and databases into one system
- Understanding fundamental design principles behind a scalable application
- Understanding differences between multiple delivery platforms, such as mobile vs. desktop, and optimizing output to match the specific platform
- Creating database schemas that represent and support business processes
- Implementing automated testing platforms and unit tests
- Proficient understanding of code versioning tools, such as Git