Software Engineer

  • Engineering
  • Amsterdam, Netherlands

Software Engineer

Job description

You'll partner with our CTO and VP of Engineering to create ground-breaking technology. This is an incredible opportunity to bring positive change to the global food system. 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.

You'll be working on the core backend systems of our artificial grower products where you'll be responsible for all aspects from architecture and building the software to actual deployment and operations. You will also support the frontend engineer with frontend-related tasks. Next to that, you will work closely together with data scientists to understand the data needs and translate these into data pipelines to ensure the availability of relevant and up-to-date data. You will also help the data scientists with industrializing their models, integrating them into our products, and bringing them to production. 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 frontend engineering.


Responsibilities

You will collaborate with the Source team and greenhouse growers to develop the product and translate user needs into features. Together with the VP of Engineering, you will define the architecture of our product and its components and underlying services. Further, you will:

  • Support the VP of Engineering in evaluating and choosing the right technologies
  • Develop backend components and services
  • Assist in developing the product frontend
  • Design and build data pipelines
  • Industrialize and deploy machine learning and optimization models
  • Design infrastructure in the cloud and translate it into code
  • Write high quality and maintainable code that is well tested
  • Apply and champion good coding standards and best practices

Job requirements

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. You love to learn new technologies. 

  • Preferably Bachelor 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 is preferred)
  • Experience with building APIs and knowledge of REST API best practices
  • Experience with databases and SQL
  • In possession of a working permit that allows working in The Netherlands and (if relevant) willing to relocate to The Netherlands
  • Great communication skills, written and spoken (English), and team spirit

Bonus point if you have

  • Experience with automated testing
  • Knowledge of continuous integration/continuous deployment techniques
  • Experience with bringing (data science and/or operations research) models to production and supporting data scientists in industrializing their code
  • Experience in coaching and knowledge sharing to familiarize teams with software engineering best practices


Benefits

  • Base salary
  • Holiday allowance (8%)
  • 25 days of holiday leave 
  • Equity plan
  • Travel reimbursement
  • A mix of remote and office work (50-50%)
  • Working on a purposeful goal
  • Learning from the best in the industry
  • Lots of fun

Our approach

We strongly believe that a diversity of perspectives are essential to successfully tackling challenges (no matter how small or big). That’s why we want and need people with diverse backgrounds, experiences, and cultures to help us with the complex global challenge we’re trying to solve.

We value eagerness to learn over meeting all requirements. So even if you don’t feel like you meet 100% of the criteria, we’d still encourage you to reconsider and apply. We look forward to your application.

Ensuring a smooth candidate experience is very important to us. We aim to get back to you regarding your application within 5 business days. Our interview process tends to consist of 3 stages (interview with Team and Recruiter, assignment, and tech interview with hiring manager) which we strive to organize as fast as we can, but please do let us know if you need more flexibility.