BACK

Software Engineer - Mobile App Backend

Engineering

Amsterdam, Netherlands

Apply here

Job Description

At Source, we have been developing a mobile app (for iPad) to enable growers to register plant measurements in a user-friendly way. We do this by introducing a digital twin of the plants the growers work with. 

In this role, you will be part of the in-house team that develops the plant registration app and will help us build out this app into a central piece in the grower’s daily workflow that is delightful to use. You'll be working on the core backend systems for this app, where you'll be responsible for all aspects of software engineering, from data modelling, architecture and building the software to actual deployment, operations and support. You’ll design data models for storing data from the app in NoSQL databases, build backend systems for syncing data between different databases, and calculating complex insights from plant measurements. You’ll also be responsible for setting up the required infrastructure using infra-as-code tools, with the help of our Cloud Engineer.

Given the small team size, you'll be wearing many hats and should feel comfortable switching between different aspects of software engineering, architecture, data engineering, and supporting frontend engineering.

What we would like you to get excited about:

  • Work with the Source team and greenhouse growers to develop the product

  • Develop backend components and services

  • Design data model to store data from mobile app

  • Support the Lead Engineer in evaluating and choosing the right technologies for your team

  • Assist the frontend engineers in developing the product frontend

  • Collaborate on designing infrastructure in the cloud and translating that into code

  • Write high quality and maintainable code that is well tested

  • Apply and champion good coding standards and best practices

Requirements


  • 3+ years-experience as a Software Engineer with a proven track record bringing products to production

  • Strong problem solving skills with an emphasis on product development.

  • Bachelor's degree or higher in Computer Science, Software Engineering or other relevant fields

  • Experience with 2 or more programming languages, e.g. Python, Java, Scala, Typescript, etc. (Python or Golang is preferred)

  • Experience with building APIs and knowledge of REST API best practices

  • Experience with databases, both SQL and NoSQL, specifically PostgreSQL and MongoDB

  • Great communication skills, written and spoken (English), and team spirit

  • Experience with automated testing

  • Knowledge of continuous integration/continuous deployment techniques

Bonus points if you have:
  • Experience building backends for offline-first mobile apps

  • Experience with React (Native) development