At 360Learning, we love sharing stories about who we are, where we’ve come from, and what motivates us. In this 360Learner profile, we hear from Guillaume Vibert, Software Architect, about all the highs and lows of his first 100 days with us–and some things he didn’t expect when he joined us.
I started working 20+ years ago, in the days of the Franc and the WAP. Since then, I’ve worked as a software dev, individual contributor, and tech lead in the healthcare industry, adtech, primitive web games, defense, and other sectors. I’ve worked on mobile (pre-smartphone), embedded software, and backend applications.
I’ve built a lot of things, including some resilient software that could last weeks without any issue, and some other that scaled up to million QPS, and some awful bugs in prod. But I never had the opportunity to be an architect, until today.
I got pinged on LinkedIn by one of 360Learning’s tenacious TAs when I was feeling very down about my then job. She got me over my depression by showing me the opportunity to work on something fun and useful. I passed a few tests, had some great talks with a handful of people in the company and jumped.
I really liked the idea behind the product, and behind collaborative learning. I’d been through some awful online training in previous roles. I remember spending hours hunched above my computer, dying of boredom clicking “Next” to finish my mandatory training. At some point, I grew a market selling the answers of the final quiz for snacks. It was more fun hacking the tool than passing the courses, so it’s fair to say I found our platform refreshing.
It was more fun hacking the tool than passing the courses, so it’s fair to say I found our platform refreshing.
I’d never held the position of Architect before, and I had reservations. Most of this comes down to the way I’d seen Architects work in other roles. Often, Architects work separately from the dev teams, and climb down from their Mountain of Knowledge once a quarter to deliver the Answer, before climbing back and never being seen again for three months. I never liked this style of working, as it couldn’t correspond to the real problems we were seeing out in the field.
I’ve also seen architects as Saviors. Each time we encounter an issue, we would have to wait for them to come with the solution in a very top-down approach. This is also an unrealistic expectation on part of the Architect, and incredibly demeaning towards the skills of the squad.
Instead, I wanted to work collaboratively with a team to solve challenging problems and bring value to our clients. And talking to people at 360Learning before I joined, it was clear I’d have the chance to do this.
Instead, I wanted to work collaboratively with a team to solve challenging problems and bring value to our clients.
As we’ve talked about, onboarding at 360Learning is a very complete and comprehensive checklist. As it is part of the product that we are selling, it makes sense that it is so refined in our company.
When I joined, I had a board of tasks already prepared for two to three months. It was a bit overwhelming, but curiously reassuring. I knew exactly what was expected of me day after day, week after week until I had the time to find my feet. There was no self-questioning phase that could bring discomfort.
Concretely, I had the same ramp-up as a regular dev, which was crucial. I had a lot of training on the company, the tech, and the philosophy (Convexity). I started with simple, concrete tasks, then grew from basic debug, front-only, to back-only, and then full stack features. After a couple of months, I was comfortable with the codebase and the daily work.
Each product squad in 360Learning is assigned a referent Architect. After six to eight weeks, we dispatched the squads among the Architect team. It was a very gentle conversation where personal flavor was put first, with some tweaks like keeping squads that worked together with the same Architect.
In the end, I was assigned AI and Use Cases. Both squads were starting up and mostly composed of newcomers. That allowed us to ramp up together and find our favorite way of working. I joined the team, studied the tech stack and the product targets, and quickly jumped into the definition of OKRs for Q2. In parallel, I found out that we were missing a full data storage solution and started to study different solutions around it as the AI Squad had plenty of plans around that.
Right now, I’m working with three teams: my two product squads and the Architecture team. I’m trying to find an open subject on each team and split my time working on those. Maybe I should focus more!
My personal motto as an Architect is: “Help when things get tough”. I haven’t got enough time to do everything, so I need to identify my strengths and get the greatest value out of my time. That’s why it’s so important to take the time to discuss with the squads, challenge the epics and stories–but it means I can’t code as much. I try to have one ticket for coding opened up at every milestone.
We do cross-team code reviews at 360Learning, so I spent quite some time reading code on Github.
I’m also keeping some time to learn, I consume a lot of papers and videos about our current and potential tech stacks. I’ve got the experience and the taste of working with big data (and streaming application / Lambda architectures), and through talking about what the other 360Learners were doing (and not) I’ve found some place where I could do both and started building a data pipeline. Hopefully I’ll have more to say about that next time.
As great as my experience has been at 360Learning so far, there are definitely some things we can improve on. I have a sense that our Architects are working too much in isolation from each other. We know we have to spend more time together, so we’re sharing more and more. Our new PM is helping us push in that direction.
This is an organization that gives you a lot of freedom. You shouldn’t expect people to come see you and tell you what you have to do. We expect our Architects to be mature enough to help us identify where we need to spend time and resources. This doesn’t mean working alone, but working collaboratively by asking the right questions, investigating the issue and learning & teaching as much as possible.
In a hundred days, I hope we’ve cracked open our monolith architecture and begin releasing services dedicated to smaller functions. We have a pipeline streaming tons of events per second and jobs consuming them for good reasons and great results.
In a thousand days, I hope we have services everywhere, with a DevOps mentality that allow us to frequently release new, performant features with a top level of quality. With our great product, we will have conquered the US, and we’ll be targeting even more challenging markets in the east and the south. Our R&D team will be known across the world as a great place to work, fun and full of opportunities. Also, our IPO will have been a tremendous success!