Staff Software Engineer
At Plenty, we’re on a mission to give people in local communities everywhere access to the freshest, most amazing tasting produce possible, and to do so in a way that’s better for the planet.The people and teams who make up Plenty are at the core of how we do that.
We are an agtech company looking for a Staff Software Engineer to join the Applications group in our Software and Data team designing and building powerful systems for cooperative human-robot precision farming.
You will be responsible for building full stack web applications and microservices for farm operators and plant scientists to monitor, control, and optimize production processes. You will be joining a collaborative team of engineers with a strong software development background. We are process-light and rely on strong architecture and automation to maximize the impact of our small team.
In this role you will undertake hands-on design and development. You will be responsible for requirements analysis, design, implementation, and testing as part of a cross-functional team serving all roles connected to all aspects of farm operation. You will work with plant scientists, growers, controls engineers, mechanical engineers, and operators as part of the design process, making sure that we build the right thing in the right way for maximum impact.
Ideal candidates take pride in their work and possess strong technical ability, the capacity to translate fuzzy requirements into actionable technical solutions, the skill to explain solutions to colleagues in other domains, and an attention to detail. They appreciate an environment where superior work is encouraged, noticed, and rewarded and where individuals carry significant responsibility. The ideal candidate is uncommonly self-motivated and feels tremendous ownership over outcomes.
Type of Role
What You'll Do
Develop a strong understanding of farm operations and all supporting systems, services, and data flows
Take application features from concept to finished product in production and daily use
Collaborate with other members of the engineering team through all phases of our agile software development lifecycle to deliver a holistic solution
Lead and participate in software design review sessions with team members and customers
Develop robust test harnesses for everything you build
What We're Looking For
8+ years of experience in software engineering
BS and/or MS in Computer Science or other Engineering discipline
Curiosity, creativity, initiative, and diligence
Excellent verbal, visual, and written communication skills
Desire to improve collaboration and contribute to the team culture
Ability to identify and improve inefficiencies in our development and product processes to help the team mature
Experience establishing patterns, conventions, and standards and then holding the team accountable for adopting them
Ability to identify areas of improvement and ways to standardize and clean up a stack
Strong organizational skills with meticulous attention to detail
Strong proficiency in developing server applications using Python and Java (preference toward Java)
Experience designing and building scalable, highly-available service-oriented architectures
Ability to design and implement RESTful microservices based on user research
Strong proficiency with Git; experience with GitHub a plus
Experience managing configuration in standard cloud providers like AWS
Experience with CI/CD workflows and tools
Experience working with a diverse set of databases such as PostgreSQL and Snowflake
Experience with Docker, AWS, and Kubernetes all pluses
Experience with Flask and/or Dropwizard a plus
Experience with pytest, Selenium, and/or Junit a plus
Plenty is here to change the way people eat, making extraordinary flavor and nutrition more available in a way that's better for people and the planet. We build farms that can put craveable flavor first while delivering exceptional yields. And our produce is always pesticide-free and grown using less than 1% of the land and 5% of the water of outdoor farming.