We The People | Diogo Henriques
Happy Friday, everyone! With so many wonderful people joining Fidel lately, I thought I'd sit down with some of the people involved in the process! And thank them personally for all the great co-workers I've seen popping up on our All-Hands call. I was bluffing 😬. Of course, I've noticed them in the Happy (half) Hour call 😅.
This month, I sat down with Diogo, one of our Senior Backend Engineers, and one of the people reviewing some of our technical tests. We talked about the tech stack we use here, his favourite things about working at Fidel, and some of the things we look at when reviewing technical tests. Follow along, especially if you're interested in joining Diogo!
A: Tell me a bit about yourself.
Hi! My name is Diogo; I’m originally from Portugal’s west side and currently live in Lisbon. I always consider myself someone that likes to solve problems or be challenged. At a young age started with math/logic problems and sports. From that to the Engineering/Computer Science path was a no brainer for me. Software Design and Development brought me challenges and creative freedom to solve them. Throughout my professional career, I had the opportunity to work in different areas, starting with Game Development through Full Stack Engineering. In the past years, I’ve moved to Backend Engineering, where I try to take advantage of my past experience, focusing more on our user experience. And when our users are developers, it translates into providing a better experience for using the Fidel API.
A: Why did you join Fidel?
Diogo: It was already a while ago, but when I was looking for a new opportunity, I was looking for a company where I could help and contribute. Plus, I wanted to join either the fintech or security spaces. At the time, Fidel was about to open the first office in Lisbon, making me one of the first to join the team in Lisbon. Looking more into the company blog and learning about the stack being used, I saw we had a lot in common, similar opinions and things that I wanted to work with. During the interview process, I had the chance to meet the first 2 developers in Lisbon (António and Gonçalo) and later our CTO André. Although it was an interview, and I had to show them what I could bring to Fidel, it went a little different. We talked about ideas instead, and a team like that was exactly what I wanted to do and be part of. As if that wasn't enough, getting to see the Fidel culture and future challenges, I just knew I wanted to be part of it.
A: What’s the tech stack you currently use?
Diogo: Fidel’s fast growth makes us have a constant mindset of looking for robust and scalable tools. Our defacto standard is a Serverless architecture, with AWS being first. It brings many services and tools to the table, and we can use them to handle the challenges we are solving. We practice a “right tool for the job” approach at Fidel, and that gives us a great variety on the stack we use. For me, that translates to Typescript/Javascript with Lambda, SQS, DynamoDB, Elasticsearch and several others.
As new challenges arise and tech evolves, the stack that we are using today inside my team will adapt. Other teams use slightly different stacks, from Java, Objective-C and Cypres to AWS QLDB and AWS Kinesis.
A: What are some of the most interesting challenges you’re solving?
Diogo: Had the opportunity to work on several of our challenges. They all have something in common, scalability, reliability and ways to help our clients grow. Which involved things like refactoring the mono repository we had into several microservices and automating a lot of crucial parts in our system to reduce the time go to market for our clients.
Right now, our product team is focused on developing a key part of our platform, the foundations on which we’ll improve our merchant onboarding process and speed. It’s also a crucial part of providing more offer content for our customers. This is extremely motivating for us because we know we are establishing the base to solve one of our challenges, not only for our team but other product teams inside Fidel. It’s also giving us the opportunity to explore other products.
A: What is your favourite thing about working at Fidel?
Diogo: It's difficult to pick only one thing. Fidel provides a lot of perks, and it would be too easy to pick one of them as my favourite thing. For someone like me that loves to be challenged, here at Fidel, there's not one boring day. There's always some new interesting challenge for us to work on and to discuss. And that’s my favourite thing, the team spirit and collaboration that goes into solving problems.
Everyone cares about each other. Everyone is ready to help. And Fidel is constantly promoting new ways we can build that team spirit. We have a Thursday virtual Game Time, team coffee breaks and team lunches (this one was mostly a pre-pandemic occurrence). There are also several channels for team members to express their opinions and tools in place to take the teams pulse every Friday.
Besides, Fidel constantly tries to make sure everyone is taking care of themself and takes time off. We’ve already had two mandatory Fridays off during the pandemic to take care of our mental health and relax. We have unlimited time off, to begin with, tools for mental care (like Headspace) and access to e-learning platforms to continue to improve our skills (Audible and Udemy).
A: How do you keep up with current trends and advances in software development?
Diogo: In the world of JavaScript, new improvements or new tools are constantly released. This results in a lot of reading material from several sources. A lot of times, it's difficult to keep up with all the new developments. I try as much as possible to do some filtering of information for our teams. If it's something that could benefit us in the short term, I try it. This hands-on approach lets me learn better and helps me assess the pros and cons of it. If it's something that could catch my attention in the long run, I try to research more about it or try to attend some talks about that topic.
Fortunately, here at Fidel, we have a lot of curious Software Engineers, and there's a constant sharing of information and discussions about it. We are also fortunate to be in a place that promotes this. We have the opportunity to compare new technologies to determine if it's something that would help us to solve any challenge we might have.
A: Any tips for people that want to join you at Fidel?
Diogo: We are always looking for good candidates with potential. We look for team players, people that are able to participate in our discussions and bring new perspectives. We want someone that's humble enough to accept when we provide constructive feedback as well as do the same with the rest of the team.
For the Backend roles we hire, the review process of the technical challenge follows a classification which has several factors. The factors reflect what we consider a good team member and a good Software Engineer. They are things like having a solution that can be scalable and can handle concurrency issues. We also look at the documentation of the solution, setup of the project, readability of the code and simplicity and efficiency of the solution. So I’d advise people that want to join the team to think not only about their code, but also about the things they deliver with their code.
There are always multiple reviewers for the technical challenge, and we talk about our opinions about it. If it passes our collective code review round, they move to the tech interview phase. We look at how candidates adapt to changes to the requirements, as well as how they handle challenges. We look for someone who has good Software Engineering and Distributed System concepts and can adapt and learn in our fast-paced environment.