Skip to content

Latest commit

 

History

History
33 lines (17 loc) · 5.7 KB

index.md

File metadata and controls

33 lines (17 loc) · 5.7 KB

Introduction

      Hi, my name's Ryan. I'm a 3rd-year co-op student at the University of Guelph who just finished my first co-op at the University of Guelph working on the Global Burden of Animal Diseases project with my supervisor Deb Stacey. This report is a collection of my experiences during my 2 month co-op on the GBADs project.

About GBADs

      GBADs is a research initiative involving professors and researchers from across the globe to study the effect that animal disease outbreaks have on the economy of third world nations and what can be done to combat this. My team specifically was made up of two professors, a few graduate-level students, and some co-op students such as myself who worked on items such as website design, plotting data from various sources, and designing apis to access this data.

Job Description

      My official task as a Data Programmer and Analyst on the GBADs informatics team was to develop the DDD-API-SDK. Known as the Deep Data Dive API Software Development Kit. In essence, this was a library written in Python with the task of making an easy to use library which could be used to interact with the various APIs of the data sources being used for the project and combining them into one system of api calls rather than having to learn the intricacies of many different systems to make calls to various data sources. While this was my main task over the two months of my co-op, I also spent time exploring the many data sources and writing up documents with information about the APIs of the data sources if they existed and how to access the data otherwise if APIs did not exist. I did this task first which helped me get accustomed to the project and learn what it was all about.

Learning Goals

Teamwork

      One of my major goals going into this work term was to learn how to work with others especially in a programming environment. Up to this point I had never really programmed in a team environment before, as I'm not a Software Engineering student and as such don't have to take the Design classes which involve many group assignments. In terms of this co-op there weren't very many opportunities to truly collaborate with someone. However, since my project was largely a solo effort, and the only other person working on a project similar to mine was Himmat. Despite this, we were able to collaborate multiple times across the length of the work term on subjects such as how to access a certain API or how to implement certain features as once again our projects were very similar which made some items transferable between our projects. Overall I believe I made some progress towards being able to better work with teams, yet I believe I can still make more progress towards these goals with my upcoming co-op at NCR where I will most certainly have to work together with a team on various features.

Inquiry and Analysis

      Another goal I had for this work term was to learn how to analyze a problem so that I could determine what were the proper questions to ask experienced members of the team to convey my issue in the best way possible and get a solution. Again, there weren't many opportunities to practice this during my co-op ultimately due to the fact that I was placed on a solo project fairly early on, with most of the questions that I could have potentially asked simply being matters that I could google on StackOverflow to figure out. Like my first learning goal, while I made some progress towards it on this co-op, my next co-op will have many more opportunities to learn this skill since I'll be working with an established codebase rather than writing something from scratch.

Written Communication

      Finally, my last learning goal for the work term was to practice my skill at commenting and documenting code to make it more readable for anybody in the future who has to work on my code. On this front I was lucky that I had a solo project to work on this co-op as it allowed me to truly work on this goal, unlike the other learning goals I have listed. This goal involved me writing comments for my code explaining what each function or line did, as well as creating a Readme file for the github repo where I hosted my project, along with documentation of the API so that researchers could easily use what I wrote for their research. Ultimately I made more progress towards this than my other goals for the semester However, like always I believe there is always room for improvement, such as studying common documentation conventions to make my code and API even clearer to understand.

Conclusion

      Overall, I had a very enjoyable co-op, and learned a lot of useful information about topics such as working in a business environment rather than just doing school assignments, as well as how to interact with REST APIs, which before this co-op I had never used before. Alongside this, I also improved my skill in Python as it was the primary language I used for the co-op, as my API was written in it. As a first co-op this was a great opportunity to learn about the ins and outs of programming in a professional environment, which will undoubtedly be essential for my upcoming co-op working at NCR.

Acknowledgments

      I'd like to thank Deb Stacey for hiring me when I thought that summer coop postings were over and I'd have to lose out on a work term due to the pandemic. She took a chance on me when no one else would. I'd also like to thank my team for being great people to work with, especially Himmat who I worked closest with during my work term.