How I went from Agronomist/Farmer to Software Engineer in less then 6 months
Making the transition mid-career from agriculture to the tech industry was challenging, exciting, and rewarding. This transition took me exactly 4.5 months to go from 0 coding to being hired as a full-time software engineer. I learned a lot about myself and a lot of technical knowledge along the way. I hope to inspire others who are also working full-time in a career outside of tech wanting to land their first software engineering role and to answer any questions you may have about making a switch. I know I had a lot of questions at first.
I often get asked the following questions about my tech journey:
What is your education?
No CS degree and no paid boot camp, but I am community taught. I joined an online free Boot Camp but I would consider this more of a community called “100 Devs”. This is taught by Leon Noel free of charge and it taught me everything I needed to know to be a software engineer.
If you’re interested in learning more or joining “the catchup crew” by following along on his YouTube videos and discord check this out: https://leonnoel.com/100devs/
I also strongly recommend checking out the #100Devs Twitter community and if you have not, get a Twitter account.
Before 100Devs I tried freecodecamp and The Odin Project. Both are good programs but I needed a little less hand-holding than freecodecamp and more hand-holding than The Odin Project. I ended up going back to both programs after 100Devs and liked using their resources for practice or help.
What language did you study?
- JavaScript (MERN Stack) I also did Python, and SQL. I’m not sure if you’d consider these two languages but I also can build websites with HTML/CSS.
How did you prepare for interviews?
100DEVs has full classes and homework on how to prepare. I used codewars and ANKI decks to prepare for technical and behavior questions.
Codewars - they are pretty much technical questions that interviewers may ask. I had an 8kyu problem (easy ranked problem) from codewars during my interview. Plus this is a good tool to keep you sharp on your skills and a good way to push code to GitHub.
ANKI - is a flashcard web application (free) that has an algorithm that will show you flashcards based on time, and how frequently you miss the question. I used to be a quiet person but I no longer think that’s the best platform.
How did you balance working full-time, personal commitments, studying, and mental health?
I did not. Unfortunately, I let my mental and physical health go by the wayside. I was not sleeping or eating right during these 4.5 months. I would get up and code for 2-3 hours and before bed code for another 2-3 hours. I ate a lot of fast food during this time. I was also learning during peak work hours at my day job. Looking back I would still do this again because I wanted to get out of the situation I was in. I always give a disclaimer to everyone about my coding journey that I did a couple of unhealthy things to get to my goal. I have now found a healthier way/pace to learn and have now got my mental/physical health back on track.
It does catch up to you eventually. I ended up getting sick for about two weeks after I settled into my new job and finally relaxed.
Did you apply or network your way into interviews?
Both. I just happened to get the job by hitting apply on an Indeed job posting.
After optimizing my LinkedIn using Danny Thompson’s methods I learned on YouTube I was getting recruiters messaging me with potential jobs daily.
I still highly recommend networking via Twitter, LinkedIn, and ADPList. I learned a lot by having “coffee chats” with current software engineers and learning about what they did.
I also strongly recommend finding a local event with software engineers. I used Meetup. I had a lot of fun and met some great connections at Code for Good West Michigan.
What was your learning schedule like?
I would time block 2-3 hours before work and then 2-3 hours after work on weekdays and then 8-12 hours per day on weekends.
I would go by the class number on 100Devs and complete the homework in the order it was assigned.
I used the Pomodoro technique of 25-30 minutes of studying and a 5-minute break in between.
I would study my flashcards on ANKI daily for about 15-20 minutes and set aside time to study codewars questions.
How long were you interviewing? What was interviewing for a software engineer job like?
When I applied for the first time for an offer letter it was like 3 weeks.
I had 3 interviews total. 2 were constructive and helpful while 1 was a complete waste of time.
The interview that was a waste of time was a weird test simulation with no human interaction.
I liked the live technical “whiteboard” interviews. I think it’s because 100Devs prepared me for them through the course. I also like that you can talk with your future co-workers and ask questions. I like that I could show that I was a good communicator and how I would approach problems.
Was it hard changing from a career that has nothing related to software engineering?
At first, I felt a lot of imposter syndrome because I didn’t have a “traditional CS degree” tech background. I was surprised to see how my farming background helped me stand out. My portfolio was interesting with all of the farm projects I had and the amount of previous “soft skills” helped show potential employers I had what it took to be a good team member.
In a lot of my behavior interview questions, I used examples of when I had challenges farming. For example, I got asked how I managed multiple deadlines and tasks. My answer: I explained how in my role as an Agronomist I used task management applications such as Asana to keep track of all of the deadlines, and always made it a point to discuss with my team the deadlines and importance of every task through a weekly meeting.
Did all of your learning prepare you for the job you have now?
- I am using a whole different tech stack than what I mainly learned. I don’t regret learning JavaScript or web development at all because that skill ended up helping me in other parts of my life. I think the most important skills I learned were learning how to program, how to solve problems, and how to manage frustrations.
What was the hardest part about learning to code?
I first felt stuck when learning about arrays, loops, and functions. When I first started to see them in my codewars problems I felt like a failure because I couldn’t solve the problems at first. I ended up getting over this struggle by writing out the problems on my iPad GoodNotes app and breaking them down line by line. I talked to my dog and pretended I was teaching him about these concepts I struggled with and it just eventually clicked.
My biggest takeaway is to never give up or stop. There were times when I wouldn’t understand a concept such as arrays until 3-4 classes (1-2 weeks) after I first learned the new concept. I saw a lot of peers get stopped in their coding journey because they didn’t move on to the next concept because they felt “stuck” on one thing. You don’t have to 100% understand everything when learning.
Also, don’t be afraid to go get a second opinion or another resource to learn if you’re stuck. Hearing or seeing a concept introduced in another way helps.
Any advice for someone looking to make a career switch to software engineering?
Anyone who enjoys problem-solving can be a software engineer. Don’t let imposter syndrome or people who think you need to be “good at math” stop you.
Pick an educational track and stick with it. I wasted a little bit of time, in the beginning, switching between freecodecamp and The Odin Project.
Do not give up. Especially when you get frustrated or don’t fully understand something. At my job, I always learn something new and don’t fully understand what I am doing but I progress. Don’t get in the way of your progress.
If you can freelance by creating a website for someone or a business.
If you can find a local community of software engineers.
Network! On and offline.
Be proud of yourself for taking these next steps in changing your life.
I hope this helps anyone just starting to learn to code or has the goal of changing careers. This career change has upgraded my quality of life in ways I couldn’t imagine. I understand why people would say coding is a “superpower”. I love that I can work remotely, have constant job stability, and have a work-life balance. I went from working 80+ work weeks with no guarantee of weekends being off in harsh weather conditions to now working indoors with a set time frame. This career offers great wages, benefits, and constant security because of demand.
If you are looking for a “coffee chat” about 100Devs, my current role as a back-end Python software engineer, or just about learning to learn, reach out to me directly!