We are building a leading international learning platform (Lecturio) for medical video education, serving students as well as universities and medical institutions. It is our mission to make high-quality education available to as many people as possible, and spread specialized knowledge around the world.
We have hundreds of corporate and educational clients around the world as well as millions of end-users. The sun never sets for our applications – people all over the globe create continuous usage loads. We develop and run a high-stakes environment in which universities and companies run tests and certification programs. We focus the learning experience around core principles of Learning Science and the system adaptively guides the users.
The system we build has an API core and three client-side learning applications – Web, Android and iOS.
Web – this is where you fit in! The server-side technology is based on PHP, living in an AWS cloud environment. The client side is React JS. Fullstack developers in our teams design solutions and program them on both the server and the ReactJS client side. Since the other platforms (iOS and Android) also consume those API the Fullstack developers work in close collaboration with the corresponding mobile teams.
What matters on the PHP side is not an experience with a specific framework, but a deep understanding of how a Dependency Injection works in modern frameworks, how ORM works, ability to work with Request and Response abstractions, sanitizing parameters and code that is clean and covered by passing unit tests. Experience with Symfony is a great bonus, but any other modern framework would make you understand our whole architecture.
What you need to be good at:
Problem solving – every decision made has to be based on a root cause analysis;
Holistic thinking – the server side components serve the Web, Android and iOS platforms, they need to be designed with all these in mind;
Test Driven Development – designing the solutions based on test cases (towards a known end state) and not trial and error;
Clear Communication – the decisions made have to be explained clearly and as much as possible documended with supporting artefacts like diagrams, etc.
Object Oriented and Functional Programming – both are instrumental and you need to have a very good grasp of them to be able to contribute;
Defensive Programming – validation, sanitization and concepts like ACL, black-listing and white listing should be present with every decision made and code produced
You have to have:
Excellent ability to analyze problems and present suggestions
3-5 years of programming experience
Identify as a senior developer in your own self-assessment
Thrive in a collaborative environment
Have fun while coding 🙂
We need you to grow our Product and our junior developers. We will help you grow professionally in the process.