What makes a good workplace
Engineering team’s culture at Azimo
How many times have you tried to come up with a list of qualities that would describe your dream workplace? I know, I’ve been trying to come up with one for some time now.
I joined the iOS team at Azimo just a few months ago, and in this brief article, I’ll try to describe what makes Azimo stand out to me.
No whiteboard interview
The first thing that made Azimo stand out is the interview process. At Azimo, we don’t do “whiteboard” interviews. “Whiteboards”, for those who haven’t come across this term, is used as a metaphor and a symbol for the kinds of CS trivia questions associated with bad interview practices. We all know the feeling when you enter the interview room, see the whiteboard in all of its glory, and think, “Here I go again inverting the binary tree!”. I swear you could hear my eyes roll every time this had happened in the past. Just for the record: whiteboards are not bad — CS trivia questions are.
The interview process at Azimo, from beginning to end, consists of tests and questions that resemble day-to-day work. For example, pairing on a real-world problem or a take-home exercise. Both are used depending on the position and level of seniority.
Don’t follow the hype, but still be open to new technologies
I’m sure I’m not the only one who values tech stack over the project I’m currently working on. That’s one of the main reasons I’m so excited to be working at Azimo. After some observations, I believe that it all boils down to two simple rules we try to follow:
- Native solutions over third party ones. It’s not always true. Over time I started to believe that this approach has way more benefits in the long run.
- Everything’s open for discussion. If a better solution comes up over time, we’ll openly discuss switching to it even if it’s going to be a long process.
Great Team Culture
The next thing that stands out to me is the team culture. I can only speak of the iOS team, but after a few months of being a part of it, I’d describe it as engaged, cooperative, and excited. Here are the most significant factors that contribute to building just that:
- Team members are encouraged to talk to one another directly. This might sound obvious, but it wasn’t the case at my previous company where because of the overall structure, there was pretty much no internal cooperation whatsoever. That’s not the case at Azimo!
- Everyone has a platform and is encouraged to share new ideas, discoveries, and knowledge. We usually do this through internal talks or just during the knowledge sharing section of some of our meetings.
- Our iOS team leader looks for opportunities to delegate whenever he can. That way, each member becomes more and more independent over time. This sounds like Leadership 101, but I’ve seen people having trouble implementing those kinds of rules.
- There are multiple opportunities for the team to build trust with one another and get to know each other as people — not just as coworkers. This one becomes especially important in a remote-first workplace.
- Core initiatives. We are expected to spend around 20% of our time on our internal projects to make our life work easier in the long run. It can be anything from reducing the steps needed to release a new version of our app or rewriting parts of our codebase from Objective C to Swift.
- SMART goals. Each team member prepares a list of Specific, Measurable, Achievable, Relevant, and Time-bound goals twice a year. That way we all have a better overall idea of what new skill we want to pursuit
- Well defined career ladder that provides strategic support to engineers to help them build the career they want
- Constant feedback loop. Don’t even ask me how many times I’ve been asked to give feedback. Usually, I’d think of it more in the negative terms, but here I can see some of the ideas put into action almost instantly! I didn’t even know this kind of dynamic feedback loop could be implemented in the workplace.
- Mentorship is done the right way. Developers don’t grow by being given the answers. They grow by trying things, experimenting, and solving problems themselves. These are the skills and the lessons that will serve them well as they level up their career. Not giving them the answers but giving them the tools to find the answer is arguably the right approach.
I think that half of being a manager is managing other’s behaviors to produce a great product. The other half is managing your own behaviors — i.e., being consistent with your communications and consistent in your behaviors. The other thing would be knowing that the main job is to clear the path to the team’s success. Different people need different things to succeed. I believe it’s the manager’s job to figure that out and try their best to provide it. That’s where my current manager shines! Other qualities that distinguish him from the previous ones would be knowing our tech stack well. This doesn’t seem like much (some would even say it’s not recommended), but in my opinion, it makes day-to-day communication way easier. Mirek sometimes contributes to some of our core projects!
Standardization. Standardization everywhere.
One of the most welcome surprises during my onboarding was that there are protocols (preferred way of doing things) for almost all mundane tasks a software developer encounters during an average workday. This one was a surprise simply because just a few months ago, I’d expect only FAANG size companies to put effort into this kind of endeavor.
This kind of standardization of processes has multiple advantages:
- You don’t waste your brainpower on most mundane tasks.
- You’re not expected to reinvent the wheel on the simplest of tasks.
- You’re not wasting other team members’ time on asking simple questions. It also makes the onboarding process quicker.
- This approach reduces the likelihood of making trivial mistakes.
Well managed tools
Am I the only one who sometimes feels like we, as software engineers, spend way too much time fighting the tools we’re working with? Whether it’s IDE, package manager, project configuration, you name it.
At some point, I even started thinking that it’s just the way things are, and it’s part of the job. It turns out it’s not. After three months at Azimo, I only had a handful of issues with the tools we use on a daily basis.
In this article, I shared some of the things and qualities that distinguish an average workplace from an amazing one. The things listed above are just the most significant ones. I’m looking forward to the coming months!
Towards financial services available to all
We’re working throughout the company to create faster, cheaper, and more available financial services all over the world, and here are some of the techniques that we’re utilizing. There’s still a long way ahead of us, and if you’d like to be part of that journey, check out our careers page.
— — — — — — — —