About farmerJoe

We are a young, dynamic and international team, working on improving the future of agriculture. With the help of our tool, used for communication and analysis, we support Enterprises, Farmers and Labs worldwide. (source: https://farmerjoe.com/about-us)

Intro

I've been part of farmerJoe since August 2021. I've joined the company due to the appealing (to my understanding) of being exotic and something new, offering a really cool product. Why exotic? Nowadays everything floats around crypto, fintech and blockchain. And when I was being interviewed by dozens of those companies, they were all trying to solve the problem of "scaling people" - crazy hiring rates without much vision what to do with this engineering power. Very often I was hearing - "You know, we have this monolithic software system and now we want to split it (understand go full blown microservice) and we are staffing for the theoretical domains that will arise." How about no?!?

Meeting the farmerJoe's executives gave me a breath of fresh air. And I was totally sold :

  • meaninguf product with direct impact
  • plenty of technical challenges
  • organic growth of the product
  • immediate feedback from the users
  • starting from the beginning and contributing for the success
  • the adrenaline rush to work in a start up
  • the race with the farming seasons - if you don't deliver on time, your work is worthless. You have to wait for the season next year

When I say to my peers - yo, I'm working on this product that helps people collaborate in a more efficient way in the whole agricultural branch - I receive the awkward look. Then, when they check the app, I have the "wow" look. And that's one of the reasons for me to push forward harder.

Tech Stack

React, React Native, Firebase, TypeScript, CircleCI

Team(s)

The team til mid 2022 consisted of:

  • frontend engineers
  • mobile engineers
  • fullstack engineers
  • UX/UI specialists
  • Data Scientists
  • Product managers

Currently, there are no "teams", but a team, that works as a whole.

System architecture

The software components are built on top the Firebase environment:

  • three client applications - two web apps and one mobile app (cross-platform)
  • shared library, used by the client applications
  • serverless backend - mostly Firestore triggered callback functions and several HTTP endpoints

Authentication, storage, and hosting are based on Firebase.

Release Process

The release process of the software components follows the current industry best practices, including:

  • Code Reviews
  • CI/CD Pipelines, using CircleCI, including automatically publishing the mobile application to Apple's App Store and Google's Play