At Target, we encourage all technology and data sciences team members to spend 50 days each year at work educating themselves on skills and ideas that can help their personal development while also allowing ourselves to create even better experiences for our team members and guests. For mobile apps engineers in summer 2022, we blocked off Friday afternoons as dedicated learning time. As the summer drew to a close, we asked a few of our engineers how having this dedicated learning time affected them. Here are three perspectives on the 50 Days of Learning mobile apps summer learning hours effort.
Clayton Brady, Lead iOS Engineer
“The content apps team at Target is responsible for consuming and building out the main landing page for the Target mobile application (the "Discover" screen). This screen is unique in the application in that it's nearly entirely controlled by a remote screen planning service and contains many sub-components, each with their own complex logic and functionality. As such, the architectural constraints on the screen are very intricate. When our collective Target iOS team opted to move forward with a new architecture, namely The Composable Architecture ("TCA" for short), it presented a unique challenge for our team to even begin transitioning due to our heavy reliance on the previous architecture. That's where our summer learning hours kicked in!
We used our dedicated learning hours on summer Friday afternoons to focus on learning new skills and technologies or simply improving the codebase itself. With this time carved out for learning, our content team was able to put aside our day-to-day work to truly focus on improving the codebase and aligning our squad with the greater iOS team. Summer learning hours gave our team time to dig into TCA principles and best practices, as well as review work done by other teams to migrate their own code to the new architecture. As we learned more about TCA and decisions our peers had made, we began to construct our own plan of attack for removing our reliance on the old architectural patterns within our module. After only a couple summer learning sessions, we were ready to move forward with our first module.
On a Friday afternoon, just two weeks after setting out to begin our migration, we opened our first pull request to convert a single module within our codebase to using TCA! Because we spent time learning and aligning, we were able to approach our specific challenge of sub-modules in a way that was scalable and in line with our greater team's vision. Summer learning allowed us to lay the groundwork within the discover screen so new sub-modules could hit the ground running in TCA without having to be first written to satisfy the old architectural constraints.
While there is still plenty of work to migrate all the existing sub-modules, without summer learning hours, our team would be months away from organically adopting TCA. Having the dedicated learning time allowed us much needed time to learn a new architecture and construct a scalable model for adoption that will help serve our team for the foreseeable future. As we move forward, we will continue to iterate on our approach and look forward to more learning opportunities to continue to make strides within our section of the codebase.”
Bryan Herbst, Principal Android Engineer
“As a Principal Engineer, I often get pulled in different directions, and often am working on “bigger picture” projects instead of guest-facing features. Most weeks, I used summer learning hours to keep my skills sharp by hacking on an Android app that will never see the light of day. I loved having that time to just dive deep into some Jetpack Compose work and push the boundaries of my Compose knowledge! Some weeks, I would also take the time to explore completely new technology, such as using a Kotlin DSL to generate Grafana dashboards.”
Joshua Leary, iOS Engineer
“Target’s 50 Days of Learning has provided me the time and the freedom to learn new things at my own pace. When I first started at Target, I had no experience using Swift or iOS development, so Target’s 50 Days of Learning program is important to me because having dedicated time to explore the fundamentals of Swift and how to build complex applications was crucial to my growth as an engineer. 50 Days of Learning has also afforded me the opportunity to collaborate with other teams of engineers during hackathons, organized learning sessions, and a SwiftUI book club. Target organized the hackathon and our team was made up of a variety of designers, engineers and product folks. Our team worked on a widget for the Target app since widgets were new to the iOS platform at the time. Many of our organized learning sessions are focused on new technologies that we are planning on implementing inside of our application. Our SwiftUI book club was a resource all of the iOS engineers shared that was both a book and video introduction into SwiftUI. We would gather each week to discuss that week’s chapter and exercise. Whether it is exploring new technologies or just something that has piqued your interest, Target’s 50 Days of Learning will support your journey.”
Regardless of your platform or level, having dedicated time for your continued learning and top-down support to actually use that time for continued learning helps engineers at Target become more skilled and well-rounded. Of course, the work we do day-to-day is important, but if we fail to actively encourage team members to focus on honing their skills or fail to dedicate time for such, they can end up burned out and dissatisfied with work. The 50 Days of Learning initiative helps us avoid burnout and gives engineers a chance to exert control over their own destinies, while also allowing for self-driven learning and development of new projects and experiments in the meantime.