Masha Reko - Apprenticeship Blog

What we have to learn to do, we learn by doing. (Aristotle)

Day 68 and 69: Going With The (User) Flow

A new week, a new development team - this time: User Flow. I wrote in my previous post how last week was the best for me so far, but it’s only been two days here in User Flow, and it’s already looking like this one could be even better, after all.

To be honest, I felt like I was walking into a very familiar environment literally from the get go. Maybe it’s because team User Flow is sitting right next to us apprentices, so we basically already know quite well who they are and what they do. And I liked that. It sure is nice to feel at home for yet another week. Besides, I’m quite bad at remembering names, so I admit that I enjoy the fact that this week I don’t have to worry about forgetting anyone’s.

I guess the name of the team itself explains quite well what their part in the HolidayCheck universe is, so I won’t go into much detail there. What I found more interesting is the way they organize their work, what technologies they use, etc. Comparing to Take-off, they are certainly a bigger team, doing both frontend and backend of mostly user-centric services (what the users actually see and frequently use).

When it comes to technologies, there’s Typescript and React at the frontend, and a lot - A LOT - of Scala in the backend. Going into this week, I promised myself that I will embrace that fact with an open mind, and give my seniors a chance to change my opinion on Scala. How that works out - we’ll see by Friday.

What I also noticed is that in User Flow they do a lot of pair/mob programming sessions. Of course, I got a chance to join some of those, and all the involved engineers were happy to share with me what they were doing, which truly meant a lot.

So my week kicked off with some frontend stuff that Frank and Gabriel have been working on. Aside from showing me their current progress, they also took the time to tell me a bit more about their workflow and also the deployment pipeline. Then, in the afternoon, something completely different: I joined Sebastian for some Scala on the backend side. I must say it was a joy watching a master at work - but also a tiny bit overwhelming. However, what we were doing involved a lot of looking into library internals and other pretty advanced stuff, so Sebastian assured me that I shouldn’t feel bad for not understanding a large chunk of it.

On the second day I got to pair with Yannick and Daniel, again on some Scala backend-related stuff. And with their help, I actually did my first push to production! It sure is difficult to find the words to explain how I felt; perhaps what I did was just some simple modifications on the code here and there, but how happy I was to see all tests passing and my name on the list of commits. It was a small step for humanity, but a large leap for me - that’s for sure. And the fact that I did it in Scala made it even more special.

Anyways, I’d say I’m quite lucky that there are so many people here in User Flow that are willing to share their knowledge with me. So basically every day I have someone to pair with, which is definitely something I’ve been missing so far, and wish I’ve done more of. With that said, I don’t really have much time for my own backlog stuff. I did manage to get the Take-off service from last week to finally run on my machine (and without a VM at that!), after enabling a Linux subsystem on my Windows. Now I’ve got a Ubuntu shell of my own, and there’s no need to run VirtualBox anymore. After that, I also completed a Codemunity course on Akka-HTTP, which was quite nicely done, I must say.

You know, there’s so much Scala all around me this week, basically anywhere I go - even the subway (see photo bellow). I’m not sure if the universe just decided to make fun of me, or convince me to give Scala another shot. And you know what? It might actually be succeeding in both…

Scala Subway