-
Écrire du code front-end et back-end hautement maintenable à grande échelle pour la plateforme éducative HMH utilisée par les auteurs de contenu, et des millions d'élèves et d'enseignants, en utilisant des technologies modernes (Node.js, React, Java Spring Boot).
-
Communiquer professionnellement avec les équipes transversales en anglais et travailler efficacement dans les priorités en communiquant clairement et succinctement les progrès à la direction et à l'équipe.
-
Contribuer avec un leadership technique et prendre en charge la livraison de la conception, du développement et de la maintenance des composants logiciels sur des projets complexes.
-
Examiner le code de l'équipe et rendre votre propre code disponible pour examen par les pairs dans le contrôle de version Git.
-
Travailler en collaboration au sein d'une équipe de développement agile et transversale pour résoudre des problèmes, livrer de manière incrémentale, transférer des connaissances et contribuer à l'architecture globale du produit.
-
Contribuer à notre culture d'ingénierie et à notre concept en constante amélioration des meilleures pratiques d'ingénierie.
-
Posséder une compréhension approfondie des modèles de conception et de leur application appropriée (par exemple, Module, Factory, Observer, Facade, Adapter, MVC).
-
Contribuer à l'amélioration des pratiques technologiques, des normes et des méthodologies au sein de l'équipe.
-
6 ans ou plus d'expérience pertinente en développement logiciel, mettant en œuvre des solutions robustes orientées client avec un fort accent sur la réutilisabilité, la performance et la sécurité.
-
Expérience avec JavaScript, HTML, CSS, Webpack, Node.js, NPM et autres technologies front-end.
-
Expérience dans le développement d'API REST backend dans AWS en utilisant Node.js, NPM, et une exposition à l'architecture microservices.
-
Expérience avec des applications basées sur Java Spring Boot.
-
Expérience dans le développement de composants d'interface utilisateur hautement réactifs en utilisant React (la familiarité avec d'autres frameworks JS comme Angular est un plus).
-
Expérience avec les technologies AWS telles que Lambda, S3, DynamoDB, CloudWatch, CloudFormation, EC2, etc.
-
Familiarité avec les outils de conteneurisation et de déploiement tels que Docker et Kubernetes.
-
Expérience dans l'assurance que le code se construit et se déploie via un pipeline CI/CD construit dans Jenkins et Concourse CI.
-
Expérience de travail avec des méthodologies modernes de développement logiciel Agile (Kanban, Scrum, Test Driven Development, etc.).
-
Expérience avérée de travail à travers plusieurs niveaux d'une application.
-
Connaissance approfondie de plus d'un langage de programmation ou stack technologique.
-
Vous êtes indépendant(e), autodirigé(e), énergique et aussi désireux(se) de contribuer à votre équipe que de progresser sur votre propre chemin vers l'artisanat logiciel.
-
Compétence dans la livraison de produits de qualité en utilisant les dernières technologies Web avec une capacité à livrer dans une large gamme d'environnements et à apprendre à être productif(ve) rapidement, même avec des outils/technologies inconnus.
-
Une solide compréhension du cycle de vie du développement logiciel et des outils, y compris le contrôle de source, le prototypage rapide, l'intégration continue.
-
Excellentes compétences en conception et programmation orientées objet, y compris l'application de modèles de conception et l'évitement des anti-modèles.
-
Bonne compréhension des modèles de conception et d'architecture.
-
Diplôme ou Master en informatique ou discipline pertinente ; ou une combinaison équivalente d'éducation et d'expérience sera considérée en lieu et place d'un diplôme.
-
Write front-end and back-end highly maintainable code at scale for the HMH education platform used by content authors, and millions of students and teachers, using modern technologies (Node.js, React, Java Spring Boot).
-
Communicate professionally with cross-functional teams in English and work effectively within priorities by clearly and concisely communicating progress to leadership and the team.
-
Contribute with technical leadership and take ownership of the delivery of software component design, development, and maintenance on complex projects.
-
Review team code and make your own code available for peer review in Git version control.
-
Work collaboratively within a cross-functional, agile development team to solve problems, deliver incrementally, transfer knowledge, and contribute to overall product architecture.
-
Contribute to our engineering culture and ever-improving concept of engineering best practices.
-
Possess a deep understanding of design patterns and their appropriate application (e.g., Module, Factory, Observer, Facade, Adapter, MVC).
-
Contribute expertise aimed at improving technology practices, standards, and methodologies within the team.
-
6 or more years of relevant software development experience implementing robust client-facing solutions with a strong focus on reusability, performance, and security.
-
Experience with JavaScript, HTML, CSS, Webpack, Node.js, NPM, and other front-end technologies.
-
Experience developing backend REST APIs in AWS using Node.js, NPM, and exposure to microservice architecture.
-
Experience with Java Spring Boot-based applications.
-
Experience developing highly responsive user interface components using React (familiarity with other JS frameworks like Angular is a plus).
-
Experience with AWS technologies such as Lambda, S3, DynamoDB, CloudWatch, CloudFormation, EC2, etc.
-
Familiarity with containerization and deployment tools such as Docker and Kubernetes.
-
Experience ensuring code builds and deploys through CI/CD pipeline built in Jenkins and Concourse CI.
-
Working experience of modern Agile software development methodologies (Kanban, Scrum, Test Driven Development, etc.).
-
Proven experience working across multiple tiers of an application.
-
Deep knowledge of more than one programming language or technology stack.
-
Independent, self-directed, high energy, and eager to contribute to your team as well as progress on your own path to software craftsmanship.
-
Skilled in delivering quality products using the latest Web technologies with an ability to deliver in a wide range of environments and learn to be productive quickly, even with unfamiliar tools/technologies.
-
A solid understanding of the Software Development lifecycle and tools including Source Control, Rapid Prototyping, Continuous Integration.
-
Excellent object-oriented design and programming skills, including the application of design patterns and avoidance of anti-patterns.
-
Good understanding of design and architecture patterns.