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 front-end developer with real-world
experience building scalable applications in the React JavaScript
library. The developer will join our growing and multicultural
engineering team in Barcelona, Spain.
We want you to help us transition from a traditional multi-page web app to a React single-page web app.
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 (custom-made HTML5, JS,
CSS), application server (ASP.NET MVC5 + API 2), and 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 new Learnlight Platform, mainly as a front-end developer
(HTML, CSS, ES6, React, GraphQL) but occasionally as database developer
(PostgreSQL, SQL, plSQL) and a back-end developer (ES6 on Node.js,
Express, GraphQL).
- Maintain the current Learnlight Platform
until the new Learnlight Platform supersedes it. This will include
applying small functionality enhancements and bug fixes to the current,
traditional HTML5, JS & CSS front-end.
- Support the development team in various disciplines that go beyond programming, as needed, including 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 - Proficient in English 100% of the time. Spanish and other languages an optional plus.
- Experience abroad or in multicultural environments preferred.
- Enthusiasm, initiative, commitment, with the ability to learn independently.
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 responsive web applications in HTML, CSS, JS, React and related technologies.
- Extensive
experience with JavaScript and its idiosyncrasies using ES6 syntax and
idioms, particularly with regards to asynchronous programming.
- Familiarity with fundamental Windows and/or Linux server concepts.
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 relational database technologies, concepts and languages, including writing queries and stored procedures.
- 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