This semester has been especially exciting as the project we are devolving uses technologies I have never used before, Dart and Flutter. Initially I was a bit uneasy diving into a complicated existing code base using a structure and language I had never seen before, however my nervousness was soon replaced with excitement. Dart and Flutter are extremally enjoyable to work with, and VS Code has many helpful tools to work with.
The biggest initial hurdle was understanding the fundamental Flutter component: Widgets. Looking at the layout at first could be extremely confusing, with excessive nesting it can be hard to tell what links to what, what is a function and what is a UI element, what is pulled from a package and what is source code of the project. It has taken a long time to familiarize with the codebase, but now our team as a collective has become quite proficient at writing our own functional code. Recently we have even begun refactoring existing code to make it more efficient and readable, ridding it of redundancy and smells.
While I have used VS Code before, it is always impressive using it for another framework, and the Dart/Flutter editing with the hot reload on the Android SDK has been much more responsive than other mobile editors I have used in the past. It can be cumbersome at times, however 90% of the time it works extremely smoothly, which is more than I can say for other mobile emulators I have tried using on my computer.
Finally, I have really enjoyed getting deep into an online git repository. Prior to this I had only collaborated on repos with max two other people. Working on a repo with 5 others, constantly branching for features and merging, opening and closing issues, and really streamlining the flow of our work has been a rewarding experience. I feel that the skills I have learned in the project thus far have been very relevant to any work I will undertake on the future, and I am grateful for the skills that I have been able to pick up.