Starting at a new company is an intense period; one that, for most of us, goes by in a blur of introductions and meetings, interleaved with some moments of calm. Looking back at my first week all I can say is: it was intense, fun and well worth it.
Stepping through the door of my new workplace was a personally significant moment. This was the next step in my, for the moment, short career: I was nervous. I was glad to discover that I was not the only new joiner that day. It surprised me to realise everyone who started was in a different department. Previously all of my other interactions with work colleagues had been in engineering and it felt refreshing to meet people with a different kind of expertise.
After the HR introduction, I was shown to my desk by Jamie, my new engineering manager. This is where I met my team. When I was thrown into my first meeting with my team and our product owner I was unable to follow exactly everything we were discussing; however, some of the technical terms were already familiar. Before starting, Anna, an engineering manager in London, had recommended I <3 logs and Making sense of stream processing. Both books had been written by developers heavily involved in the development of Kafka, Jay Krepps and Martin Kleppmann, and provided me with the high-level ideas that I needed to understand our approach. Technical details aside, what I did also see was how involved our product owner was and how my team was able to communicate their concerns.
Once the meeting was over, the whole team got treated to lunch, and I had the chance to meet them a bit better. After lunch, I had some quiet time to sit down at my desk, checkout out the slack channels, sift through my email and gather my thoughts. Our team does one week sprints and Mondays are retro and planning. Retrospectives provide good insight into a team’s culture, and ours was a very considerate retro. To start with, during the first five minutes everyone writes different cards of what they would like the team to start, to stop and to continue doing. The fact that this is done at the beginning and in a quiet environment means there is some actual time for reflection and that everyone’s voice will be heard. After some planning which also went over my head, I had some rest to plan my day tomorrow and sharply at 6 everyone promptly left after a good day’s work.
Tuesday started strong with a presentation from Yoav Sharon, Global Head of Investor Product, about the life of a loan. Funding Circle’s business is providing a marketplace to small and medium-sized businesses where they can borrow money from investors, a domain of which I knew something but not too much. This session proved incredibly useful as an introduction to our business, our product and it also introduced the project that my team had been working on: a migration of our backend services. With my head spinning with information I decided to take a break and meet my company buddy for coffee; we had a relaxing conversation and agreed to have lunch on Thursday. Time to start learning Clojure! I had been given a long list of technical topics to cover by my mentor and I was excited to learn more about Clojure. The choice of language had been one of the main drivers for me to join Funding Circle. Luckily I had already covered parts of the introductory book recommended to me: Clojure for the Brave and True and decided that practice was the best way so I set up to solve some problems. In the afternoon there was a brief meeting in the funderbar (This amazing bar where you can get really good and cheap food during lunchtime - definitely a great perk!) to introduce the newbies and catch up on what other departments had achieved. I had to step in front of the whole room and let my company buddy introduce me (oof, wipe sweat from forehead - I am glad I did not have to introduce myself.) Before leaving I had a discussion with my mentor to discuss how I had solved the problems in Clojure and by then it was time to return home.
I am happily ploughing through some Clojure problems in the morning, ahh the peace of it. I choose to cover the problems in 4Clojure, a great way to practice. At mid-morning the technical lead in our team (who is not our engineering manager - great separation of concerns!) introduced me and a few fellow engineers to the current architecture of our system. Our technical lead’s exposition was clear: we covered the design, the principles behind the design, how we would be deploying the code and obtain information from the legacy system when we go live. This was not an information dump on us but rather a backwards and forwards of questions and answers. Hence, by the end of the meeting, I had a decent grasp of how we were doing things. After lunch, I had a catch up with our product owner who gave me an overview of how the different tech teams mapped onto our product. By that time I already had a decent picture but it is good to see a more product-centric perspective. I spent the end of the day pairing a few problems with one of my teammates, who enlightened me on the efficient use of the Clojure core library.
By far the quieter day of the week, which I very much appreciated: it involved more learning about Clojure, setting up GitHub and other necessities, lunch with my company buddy and my first refinement session with the team.
By the end of the week, I had started joining my team during their stand-ups and providing updates on my learning. Our scrum rituals don’t take more than 2 hours a week in total - one for planning and retro, one for refinement and our 10 min stand-ups. This leaves plenty of time to focus on the coding side of the job. After our morning stand-up, I had my first one to one with my manager. His main advice was to pace myself and restating that no one expects me to be pushing code just yet. We discussed my learning plan, which things should I set up (Artifactory, Docker, GitHub, etc …) and I enquired about what his responsibilities as a manager were. To me, the fact that the responsibilities of product owner, engineering manager and tech lead all fall on separate people is a welcomed change and one that helps teams be more efficient.
The end of Friday was a special one, my arrival at the company couldn’t have been better timed: we had our quarterly meeting. This is a meeting where the whole company, across all of our different locations (San Francisco, London, and Berlin) gathers to get an update on the company’s latest achievements and what our future goals are. The meeting had a particular feel to it: there was showmanship, bad-puns, and an artfully displayed metaphor comparing FC to a garden that explains all the bright bees in the presentation slides. In general, it felt earnest and endearing; people were honestly trying hard to keep the audience engaged: there was even a bee onesie on stage at one point. Overall it was insightful if a bit too long.
The perfect cure for a long session of presentations is some relaxation, so I was really looking forward to my first company bonding event at Flight Club. On my way there, following where everybody was going, I got to have a good informal conversation with my mentor, trying to absorb as much wisdom as I could. Once at the place, I had the chance to grab a cold beer and mingle. Mingle I did: I met some more engineers, people from sales and I had the chance to have a chat with Anna and thank her for her tips to help me prepare before I started.
Thanks to my team, to Eduardo Caselles and to Sasha Gerrand for their help in reviewing this post