Senior Back-End Developer
As a high-tech research centre that is partially publicly funded, imec carries a responsibility to ensure local impact of the digital technologies it helps develop. The EDiT (“Enabling Digital Transformations”) department plays a leading role in realizing imec’s local impact by conducting demand-driven research & development, in collaboration with several authorities, imec departments, academic & other research institutes, companies, and citizen’s organizations. Our mission is to tackle so-called “wicked problems” in 3 main domains, or “clusters”: (smart) cities, mobility & logistics, and public health. The activities of EDiT are guided by our “Open for Impact” vision, which puts an emphasis on open knowledge, open source, and open data. Examples of our research programmes include City of Things, Mobilidata, Maak dat mee, Internet of Water, and a forthcoming public health initiative (tentative).
What you will do
As a senior member of EDiT’s Mobility & Logistics cluster you will play an important role in the development of demonstrator applications, as well as deployed systems, that will shape the transition from today’s traffic and data flows into connected, “smart” mobility & logistics solutions. You will reinforce the team on the technical front and help them to apply cutting-edge technologies and best practices in software development, testing and deployment.
As an Application Engineer you will also join EDiT’s DEV competence centre, where we will provide coaching, arrange training, evaluate, and fine-tune your role and responsibilities, and plan your path within EDiT/imec together. Additionally, through our EDiT Communities of Practice initiative you will regularly interact with other developers, architects, designers, and user researchers across EDiT.
What we do for you
imec offers its employees a market-competitive compensation and benefits package, engaging career opportunities, and state of the art facilities. The EDiT department is based at the imec offices in the centres of Ghent and Antwerp, but for the time being we all work from home. Once the pandemic allows, you will be able to choose freely at which site you spend most of your time. We have always been, and will remain, flexible about remote working, as most of the team communication takes place online.
In exchange for your talent, passion, and expertise, you will join a multicultural and high-tech company, with challenges there for the taking. Our flexible and informal working environment offers you a range of possibilities to take initiative and show responsibility. This is your opportunity to contribute to the technology that will determine the society of tomorrow. imec supports and guides you in this process, not only with words but with concrete actions. Through imec.academy, and other training initiatives, we are actively investing in the further development of all our employees to assure their technical and personal growth. Your valuable contribution and that of your colleagues make imec a top player in its field.
Who you are
“Must-haves” (essential skills):
- Minimum of 5 years of professional experience in software engineering;
- Able to efficiently, and iteratively translate requirements to software architecture & implementation choices;
- Node.js, for implementation of back-ends & APIs …;
- … deployed as micro-services using Docker/Kubernetes;
- Relational & document-based databases (PostgreSQL, Mongo, etc.);
- Git (duh!);
- Able to quickly learn new paradigms, patterns, languages, frameworks, libraries, …;
- Team player accustomed to Scrum or similar Agile process;
- Willing & able to coach junior team members;
- An interest in research & innovation with societal relevance;
- English (professional proficiency).
“Should-haves” (a great candidate is familiar with most of these):
- TypeScript, as a dialect you like or can live with;
- Design of micro-service/back-end architectures;
- Python as your second or third language;
- Client-server interaction beyond REST: GraphQL, Protocol Buffers, Web Sockets, …;
- Notions of Stream processing, Event-driven systems, Domain-driven development;
- Caching, brokering & queuing technologies such as Apache Kafka, Redis, Azure Event Grid/Hub, etc.;
- MS Azure cloud ecosystem (or equivalent, e.g. AWS, Google Cloud);
- CI/CD & DevOps technologies (e.g. Azure DevOps/Pipelines, Helm, Terraform, etc.);
- Testing methodologies (TDD, Consumer-driven Contract Testing) & frameworks (e.g. Jest, Mocha, Chai, PACT, etc.);
- (notions of) HTML/CSS.
“Could-haves” (it is nice to tick a few of these boxes):
- Experience with (or willing to learn) React, Vue.js or other modern (Web) front-end framework(s);
- Geo-spatial technologies: PostGIS, Mapbox, Leaflet, CesiumJS, etc.;
- Mobile app development experience (Android, iOS or cross-platform);
- AI/ML, Big data, and/or Data science technologies;
- Digital Twin technologies (Azure Digital Twin, Bentley iModel, …);
- Having made contributions to open source projects (please mention in your application!);
- Knowledge of traffic modelling or other mobility-related topics;
- Dutch (notions or intention to learn).