Day in the Life of: Yogesh Joshi, Senior Software Engineer

Yara Digital Ecosystem
Yara Digital Ecosystem
6 min readAug 2, 2022

Yogesh Joshi is a Senior Software Engineer in Yara Digital Ag Solutions (DAS). He leads a group of Engineers that build products for smallholder farmers.

Hello! I’m Yogesh Joshi aka “Yogi”, a Senior Software Engineer in DAS. I joined Yara as a Software Engineer in July 2020, after working for a series of start-ups in India. Since then, I’ve moved up to become a Lead Senior Software Engineer.

I lead Yara FarmCare’s Advisory squad. Yara developed the FarmCare mobile app to provide farmers with crop advisory, and tools for farming best practices and agronomic recommendations. FarmCare currently offers these features for crops such as paddy in India, Kenya, Tanzania and Thailand.

I’m here to share what a typical day as a Software Engineer in our Bangalore office usually looks like:

Morning

As an early riser, my day usually starts around 6a.m.

As befits someone who works for an agriculture technology organisation, the first thing I do is to check on my plants and water them.

Caffeine is a must! Once I’ve had my morning coffee, I wake my cat, Pi, and feed him. I while some time away on PlayStation and mobile phone games while the rest of the world is waking up.

Yogesh’s work-from-home (WFH) desk set-up and his cat, Pi

Around 8a.m., I get to my desk. Morning are usually pretty calm for the FarmCare Advisory team.

I supervise four Engineers in India and Singapore. The Advisory squad is responsible for developing new tools and features, such as ‘Map My Farm’, ‘Digital Leaf Colour Chart’, ‘Nearby Stores’ and crop-related advisory videos. These features help farmers improve their farming practices across the crop cycle, to improve crop yield and their livelihoods.

I’ll start off by checking in with my squad to see how they are doing, and pick up tasks from my team’s Jira board.

We have a Scrum call every morning — we will review what we have completed, what we are working on, and if there are any blockers I can help resolve. After that, the day gets busier.

I’ll also catch up with the other Engineers and Developers (especially the junior team members and new joiners) to help with blockers and make sure that the highest priority issues for the team are being worked on.

One of the features we’ve been working on is ‘Map My Farm’ on FarmCare. This feature enables farmers to map the size of their farm plot using GPS.

Typically, farmers pay a 20,000 rupee fee to map their field. These measurements can be used for official title deeds, which reflect the farmer’s land ownership. As such, it is important to make sure the measurements are as accurate as possible.

The ‘Map My Farm’ feature on the FarmCare mobile app

‘Map My Farm’ is free for farmers, and is also required information for the app’s other features, such ‘Fertiliser Calculator’ to work.

When we developed this feature, a lot of the work was done at our desk, and we first built a feature that could only measure plot size on a flat piece of land.

In practice, a farmer’s plot of land has varying topography. As such, the GPS measurement also had to work at different altitudes. We weren’t able to travel to the fields to test the feature during pandemic lockdowns, so our team solved this by testing the feature while walking around the city — that’s just one instance of our team solving problems creatively.

To promote constant learning, each Wednesday, our team runs “Internal Exploration” sessions. We choose one person to prepare a presentation on a new topic, and share back the week after. Engineers can present on any coding language, or we might have someone in the front-end team who wants to learn more about back-end work.

Yogesh’s Software Engineering team discussing microservice design patterns during an Internal Exploration session

To help my team develop, I push them to try several methods of problem solving, before I step in to help them understand why their method may not work, and the concepts behind the problem. This may take more time than solving the problem myself, but it helps the team learn and retain the lessons for the long term.

I myself get mentorship and guidance from the team’s Principal Software Developer and Lead Software Engineer.

Lunch

I usually take my lunch around 1p.m. The majority of my team is in Bangalore, but since we all work remotely right now, we may meet on the weekends for team-bonding, instead of hanging out during lunchtimes.

Yogesh (behind the chair in the second row) and other DAS Bangalore colleagues during a social outing

Afternoon

Post-lunch, my afternoon will be filled with meetings or interviews.

Apart from my own team, I also interact with Product Owners (POs) and Designers in planning meetings, and work with back-end Developers to integrate APIs and troubleshoot or debug issues that crop up when merging branches in Git, or if there are changes made on the content-management system (CMS).

Since my afternoons are filled with meetings, to make them enjoyable, I set up a home theatre in my hall where I take my all these meetings on the big screen with snacks or coffee.

Leading up to Release Days, the work gets more intense. We will be working on the latest features and changes for the FarmCare mobile app, which will be published on Release Day.

After the Development work is completed, we will hand over to the Quality Assurance Testing Engineers for QA Testing.

On Release Day itself, we will publish the app, document release activities, update documents and get our stakeholders up to speed.

We work with POs to conduct incremental rollouts of features — to 10%, then 30%, and 60% and finally, all our users — over two weeks. Doing this allows us to catch any bugs early, before all our users are impacted.

After that work is done, it’s time for a breather! I enjoy unwinding by getting back to my PlayStation or mobile games, hitting the gym, taking a walk or meeting my friends.

Evening

After work finishes, I’ll have dinner, binge watch a few TV shows — my current favourites are Moon Knight, Snowpiercer and anime series like One Piece, Attack on Titan — cuddle / tease my cat and relax. Then it’s my cat’s bedtime.

Before I sleep, I’ll open my personal laptop to see what’s new around the tech world. I like to follow blogs like The Hacker News and Hackernoon. These are usually the first few sites to publish new developments. I like being an early adopter of new technology, and analyse why it’s there and the purpose of its existence. It makes me happy to learn something new. Sometimes I will develop small demo apps, such as a cat breed identifier, which helps me pick up a new language more quickly.

Before I know it, it’s 1 a.m. The days might be long and busy, but I have structured them so I get to learn new things every day.

Keen to join our team with a culture of continuously developing products and features that bring value to farmers? Check out the open Engineering and Development roles in Digital Ag Solutions India.

--

--