At Learnlight we empower our clients' talent to excel in a complex and demanding business world. Our solutions include global language training programs, specialized language courses, professional soft skills workshops, intercultural training and competency assessment tools.
We are looking for a developer/DB engineer with real-world experience building scalable applications in Node.js. The developer will join our growing and multicultural engineering team in Barcelona, Spain.
We want you to help us transition our architecture from a traditional ASP.NET monolithic application server to a modular collection of Node.js GraphQL API micro apps and services.
The Learnlight Platform is a Learner Management System (LMS) that manages many all aspects of language a skills training by all the actors involved: learners, trainers, content creators, corporate clients, and administrators.
The current platform was created in 2007 using the best practices at the time and has been updated along the years. It is currently a monolithic application divided into 3 tiers: web front-end (HTML5, JS, CSS), application server (ASP.NET MVC5 + API 2), database server (PostgreSQL 9.5).
We are currently starting a full redesign of the platform architecture which will break it into several smaller applications and micro-services. Key changes include moving into a Single Page Application (SPA) model in the front-end, driven by React and using accessible and reactive layout frameworks, all interacting with a pure GraphQL API server implemented in Node.js.
- Code, test, document and maintain the Learnlight Platform, mainly as an application server developer (ES6 on Node.js, Express, GraphQL) and database developer (PostgreSQL, SQL, plSQL), but occasionally as a front-end developer (HTML, CSS, ES6, React).
- Support the development team in various disciplines that go beyond programming, as needed, including creating ad-hoc reports, participating in deployments, or helping the QA team.
- Participate, as required, in the design and planning of future functionality of the platform.
Desired Skills and Expertise Culture and Language
- Able to work 100% of the time en English. Spanish and other languages an optional plus.
- Experience abroad or in multicultural environments preferred.
- Enthusiasm, initiative, commitment, with the ability to learn independently.
- Ability to legally work in Spain.
- Experience with the design and development of modern web applications, including the general concepts of authentication, authorization, encryption, transactions, state, logging and serialization.
- Extensive real-world experience building scalable applications in Node.js and related technologies.
- Extensive experience with relational database technologies, concepts and languages, including creating and updating schemas and writing optimized queries and stored procedures.
- Familiarity with fundamental Windows and/or Linux server concepts, including command-line scripting, networking, firewall management, security patching, resource monitoring, logging, etc.
- Experience with other programming languages, frameworks and programming paradigms.
- Experience with PostgreSQL and its ecosystem.
- Experience with GraphQL and its ecosystem.
- Familiarity with C# and .NET framework fundamentals, including the CLR, BCL, ASP.NET MVC/API and ADO.NET.
- Familiarity with DevOps disciplines (building, testing, packaging, committing, continuous integration, configuration, deployment, monitoring, etc.) and popular tools.
- Familiarity with project management and agile practices and methodologies.
- Either a computing degree or 2+ years of experience in the areas of responsibility mentioned above.