We are looking for a developer
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.
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.
- Real-world experience building scalable applications in Node.js and related technologies.
- Experience
with JavaScript and its idiosyncrasies using ES6 syntax and idioms,
particularly with regards to asynchronous programming.
- Experience
with relational database technologies, concepts and languages,
including creating and updating schemas and writing optimized queries
and stored procedures.
- Fundamental Windows and/or Linux server
concepts, including command-line scripting, networking, firewall
management, security patching, resource monitoring, logging, etc.
- Knowledge of C# and .NET framework fundamentals, including the CLR, BCL, ASP.NET MVC/API and ADO.NET.
Technology (preferred)
- Experience with other programming languages, frameworks and programming paradigms.
- Experience with PostgreSQL, GraphQL and their ecosystems.
Education
- Either a computing degree or 2+ years of experience in the areas of responsibility mentioned above.
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