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.
Technology Background 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.
Key Responsibilities - 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.
Technology (required) - 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 JavaScript and its idiosyncrasies using ES6 syntax and
idioms, particularly with regards to asynchronous programming.
- 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.
Technology (preferred) - 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.
Education
- Either a computing degree or 2+ years of experience in the areas of responsibility mentioned above.