Software Engineer

  • Engineering
  • Amsterdam, Netherlands

Software Engineer

Job description

At Source we are building an international, multi-disciplinary team consisting of the brightest talents that the fields of computer science, engineering and agronomy have to offer, in order to bring positive change to the global food system. To do so, we are seeking a talented individual who is driven to push the boundaries of the status quo and explore the unknown. In particular, we’re seeking engineers that don’t bet on one single tech stack for their career, but strongly believe in using the right tools to solve a particular problem. We’re looking for people that are curious and constantly want to learn and apply new technologies. Given the small team size, you'll be wearing many hats and should feel comfortable switching between different aspects of software engineering, architecture and data engineering.

As a Software Engineer, you'll be joining one of our product or platform teams, working on the core backend systems of our artificial grower products. You'll be responsible for all aspects of software engineering, from architecture and building the software to actual deployment and operations. You have the chance to work on complex distributed systems, consisting of multiple services with a unique tech stack. Depending on the product you’re working on, you might also support the frontend engineering team with frontend-related tasks. Next to that, you will work closely together with data scientists on industrializing their models, integrating them into our products, and bringing them to production. In the end, you will be partnering with the Lead Engineer of your team and the VP of Engineering to create groundbreaking technology.

What we would like you to get excited about:

  • Working with the Source team and greenhouse growers to develop the product;

  • Developing backend components and services;

  • Working with the Lead Engineer and VP of Engineering to define the architecture of our product, its components and underlying services;

  • Designing and building data pipelines;

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

  • Assisting the frontend engineering team by contributing to the product frontend;

  • Collaborating with the cloud engineer on designing infrastructure in the cloud and translating that into code;

  • Industrializing and deploying machine learning and optimization models;

  • Writing high-quality and maintainable code that is well-tested;

  • Applying and championing good coding standards and best practices;

  • Mentoring and coaching junior engineers.

Job requirements

You have:

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

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

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

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

  • Experience with building APIs and knowledge of REST API best practices, experience with gRPC and GraphQL is a plus;

  • Experience with SQL databases, SQL (PostgreSQL) and preferably also NoSQL (MongoDB);

  • Strong version control skills, specifically Git;

  • Proficient spoken and written English language skills and team spirit;

  • Experience with automated testing;

  • Knowledge of continuous integration/continuous deployment techniques;

  • Availability to occasionally (1 week every 2 months) be on call to provide (paid) production support outside of office hours.