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 engineering team in Barcelona,
Spain. Successful candidates will be expected to help us in our
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, with familiarity of technical and business concepts. 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 5+ years of experience in the areas of responsibility mentioned above