Introduction

My name is Malcolm Wright, and I am a third-year student at the University of Guelph. This blog will detail the goals I made for myself, and the plan I made to achieve these desired goals. Furthermore, this blog will go over my role as a Software Developer on the LiveConnect team at Tulip Retail, and the skills I learned while working there during Fall 2021.

Employer Information

Tulip Retail is the world's first mobile platform built exclusively for store associates. Leading retailers like Saks Fifth Avenue, Coach, Kate Spade, and Chanel believe in enabling the next generation of store associates with mobile technology using Tulip. Their mission is to empower next generation retail associates with world-class mobile-first, cloud-first enterprise software that modernizes and transforms omnichannel experiences. During my work term, I worked under the tutelage of Brad Connolly on the LiveConnect team. LiveConnect connects store associates and customers in real-time over web chat and popular messaging platforms.


Goals

Improve Growth Mindset and work on resiliency
Get better at writing clean production code
Consistently use Test Driven Development and improve test practicality

My goals for this work term are skills that I have routinely heard are important for my career. I learned from my last work term that a growth mindset helps in all areas of life not just your career when compared to a fixed mindset. For certain problems that come up, sometimes all it takes to solve the problem is to have the patience and the resiliency to believe that you can solve it without getting frustrated. It has also helped to remember and realise the scope of what you are working on as some problems are not the end of the world if you cannot solve them right away. As a result, I have been striving to improve this by being open to situations where this happens. Going into this role, I knew I would be writing more code than my previous work term, so it was noteworthy for me to pay close attention to the little details in the code that I write in merge requests. My last goal of using Test Driven Development is linked to my previous goal because it allows you to ensure your code works as expected and means you can refactor your code and run your tests afterwards. This is practice I learned while reading Clean Code during my previous work term. I would say I was successful for the last two goals, but the first goal is something that needs more focus on. Finally, a goal I would like to work on in my next work term is to improve my presentation and demoing skills. I got a couple of opportunities to demo this term, and this is an area that could use improvement.

Job Description

During my work term, I was a full-stack software developer where I would work on the front-end of the web widget that clients can place on their website as well as the back-end for the Tulip API. I would often receive new tasks during sprints that were in one or both areas. Notably, I helped add keyboard accessibility to the web widget which improved the product’s accessibility to customers. I gained further experience using JavaScript which I first learned in school. On the back-end, I was tasked with adding endpoints for iOS and front-end features. For example, one back-end task I had was to get the user’s location through Facebook Messenger if it was being used instead of going through the traditional path. This would be a more efficient approach to getting their location. For the back-end portion, I learned the PHP language which prior to starting, I did not have any experience with. An interesting aspect to the job was the fact that we had at least one team member from four different continents – North & South America, Europe, and Asia!

Throughout this work term, I got to see a unique perspective that I had not seen before which was working with our clients. I was not exposed to this part of software development in my last term as it was primarily focused on internal features. Although I did not speak to them directly, I got to hear a lot of information on what Coach’s or Chanel’s needs were and if they changed during our sprint. Our product manager, Tevis, also had a spreadsheet roadmap that our team would refer to allowing us to be on pace with features and requirements. These requirements were in place, so our client was prepared for a soft launch of the LiveConnect app and web widget. I took CIS 3750 – Systems Analysis and Design in Applications this work term, and I got to see what I learned from that class directly in my job which I found helped solidify my understanding of the different concepts. Near the end of the term, I got to see Coach launch LiveConnect on their website which was exciting and rewarding as I got to see what we’ve been working on go live on their website.

Conclusion

My experience at Tulip was extremely positive. I gained valuable experience being a software developer where I worked on real tasks, features, and bugs. Moreover, I improved on my problem-solving skills while also refining my testing habit of writing unit tests while writing new production code. I want to thank Tulip Retail for the opportunity!

Acknowledgements

I would love to thank Brad Connolly for the support he provided along the way. He was always welcome to answer any question no matter the size with great enthusiasm. He always had the ability to put a smile on everyone’s face during meetings and was very lighthearted. This made it a joy to work under him. I also would like to thank Lindsay Elliot, who was my mentor, for providing additional help when needed. Finally, I would like to thank the rest of my team: Tevis Shkodra, Mars Kosatkin, Vital, Vlad, Gamal, and Juliano.