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.
Analytics
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.
Privacy
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.
Agile
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.
Conclusion #
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.
Looking for more like this?
Sign up for our monthly newsletter to receive helpful articles, case studies, and stories from our team.
Three principles for creating user-friendly products
January 25, 2023Grayson discusses three guiding principles he utilizes when designing user experiences for products.
Read moreMichiganLabs’ approach to product strategy: Driving software success
February 12, 2024 Read moreWhen to “shape up” versus be more “agile”
May 30, 2024Should you develop your new software using the Agile or Shape Up method? Here’s how to decide.
Read more