Lessons Learned from our Associate DeveloperSeptember 13, 2023
As the school year begins again, one of our Associate Developers leaves after his time with us for the summer Software Associate program. Rohit Kartha worked on a short-term project with us and learned a lot about real-world development, and the software consultancy business model. In this post, Rohit is going to share the lessons he learned during his time with us. We hope that this can help you, if you’re interested in working with us, understand what developers both do here, and what valuable lessons they can learn from just a short time on the job.
The Project — Grady’s Garden #
Rohit Kartha, Associate Developer
Grady’s Garden is a food and nutrition company that focuses on promoting a healthy lifestyle and nutritious food choices. The project at Michigan Software Labs revolved around creating a web-based application that educated children about vegetables in a fun and creative way. The main elements of the application included a vegetable identification quiz, a video player designed to showcase an animated video about gardens and vegetables, and fun, educational tidbits to make the application more enjoyable.
Lessons Learned #
Being new to using Vue3, the framework our web-app would be built in, development seemed daunting at first but over time there was much that I learned and picked up on.
Atomic Design and Vue
The first large concept I learned was how to split up code into reusable “chunks” or components, which is part of the Atomic Design paradigm. Next, was understanding how components worked with each other. By grasping Vue “props” and Vue “emits”, I eventually learned how so-called “parent” and “child” components communicate with each other. Throughout this process, connecting the pages we made required me to learn about the Vue-Router and tools like nested and dynamic routes. Lastly, was the storage of information between all our pages and components with Pinia. I learned how to set up a Pinia store and situations where Pinia state management could be useful. Several other fundamental topics came up along the way such as computed properties, slots, composables and vue transitions.
Learning about Vue and adding a lot to my previous knowledge of TypeScript and CSS really expanded my skills as a developer and opened up several potential avenues for future development and creation.
To observe if our web application had a significant effect on a child’s willingness to try or ability to identify vegetables, we incorporated Google Tag Manager, Google Analytics, and Google Looker Studio. The main goal was to compare children’s results in our “pre-quiz” section to our “post-quiz” section and take note of any trends between the two. The Google Tag allowed for the tracking of events or certain important user actions. Eventually for every answer a child clicked, data on their choice would be sent and stored on Google Analytics.
Through the process of working on this task, I was able to learn a great deal about these three tools. More specifically, I was able to understand how to set up an underlying analytics tool and control what user data is stored.
While thinking about how analytics would be set up, one topic that was brought up was how to store the information of users, particularly that of children, in a way that meets privacy regulation standards. This was insightful to hear and allowed me to better understand the considerations a team must take before releasing a public application.
Throughout the summer, I was able to better familiarize myself with the Agile methodology and gain a better understanding of how software is developed in the industry. These skills will help in the future as many companies utilize Jira Scrum Boards or a similar system for their development.
David Crawford, Software Developer
Rohit did an amazing job working on this project. One behavioral lesson that we hope to instill in everyone, and saw Rohit develop well over time, is knowing what the right questions are to ask early and often. When you don’t have a lot of experience, it can be hard to ask the right questions early in a project. Throughout the summer, Rohit developed a great understanding of foundational questions to ask early for the next project he might work on. These are questions that are common to any project, such as what the analytics needs are or how responsive the design needs to be, so that we can make proactive decisions instead of reactive.
If you like what you read here and want a place to learn and grow in the same ways as Rohit, check out our careers page to find an opening that’s right for you.
Stay in the loop with our latest content!
Select the topics you’re interested to receive our new relevant content in your inbox. Don’t worry, we won’t spam you.
Drinks on the Deck 2022July 19, 2022
Join us and ~250 other friends for Drinks on the Deck 2022. Come help us celebrate the new office in Ada. Free drinks & appetizers.Read more
Josh Hulst on Michigan Software Labs and his journey as the Managing PartnerMarch 18, 2020
Read the full interview with Josh Hulst from MobileAppDaily. Josh was featured in the March 2020 edition of the publication.Read more
2022 Best and Brightest Winners in West MichiganMay 2, 2022
The Best and Brightest Companies to Work For® competition identifies and honors organizations that display a commitment to excellence in operations and employee enrichment that lead to increased productivity and financial performance!Read more