#TeamSpeednet: Michał, Senior Android Developer
My next interviewee is Michał, our Senior Android Developer. Michał has been part of #TeamSpeednet for seven years now. In a short interview, he shared his story of working at Speednet. We also talked about the industry, banking projects, and the challenges he faces daily.
Hi Michał, thank you for taking the time for our interview! How long have you been working at Speednet, and how long have you been in the industry? Have you noticed any changes over the years?
Michał: I could improve when it comes to remembering dates [fires up LinkedIn]. According to my crib sheet, I started in IT in 2013 as a software tester, while I joined Speednet in 2017 as an Android Developer.
Over the last ten years, the changes in IT have been huge. Some technologies have had their downturn, while others have had their growth. Some of them broke onto a pedestal and were then forgotten or abandoned. Xamarin, a cross-platform approach to mobile programming, is a case in point; similarly, Windows Phone has not stood the test of time either. It is impossible to enumerate technologies here that we don’t even remember anymore. We can now see that artificial intelligence is becoming increasingly popular, whether chatGPT or IDE-embedded ‘helpers’. We will see what new things this year will bring us.
The approach to running projects itself has also evolved. Today, we are all agile and flexible, and scrum is something mandatory that many cannot imagine working without. The way new hires are approached has also changed. When looking for my first job, almost every job advertisement said, ‘degree in computer science or related field required’. Nowadays, we rely much more on experience than education. For many people, the door to the world of IT can open through numerous boot camps or programming schools, which provide the opportunity to gain a basic knowledge of the field. However, everything is in their hands, and what to do with this knowledge is only up to them. They can create their projects, slowly build a great portfolio on GitHub, or rest on their laurels and be one of the thousands who complete such a course.
Now that you’ve mentioned projects, why don’t we move on to the next question? You’ve been working on banking projects for quite a long time now. Can you tell us what project challenges are specific to the industry?
Michał: We encounter similar challenges in every IT project, regardless of the field. However, projects in fintech or banking are characterized by high complexity. Above all, choosing exemplary architecture and tools is crucial. In the current project, we thought we would be maintaining it for a long time. That’s why we bet on Jetpack Compose in Android three years ago. The first work started when Jetpack was still in alpha, but thanks to this decision, we now have an ‘up to date’ application with all current trends.
It was also a brave decision to bet on a cross-platform approach using Kotlin Multiplatform Mobile, where we share common business logic between the iOS and Android apps. This has saved us a lot of time fixing bugs like “on iOS it works differently”, “on Android requests send in a different order”, or “form validations work differently”, etc. In addition to technological challenges, there are others, such as communication. Working on a project that involves many people requires extraordinary coordination. But that’s not all, as there is also the cooperation with external suppliers, the integration with systems and the coordination of implementation processes – all of which also need to be considered for everything to run smoothly. Cooperation, mutual understanding, and transparency in operations help us all deliver the highest quality products.
Well, do you think the iOS vs Android war is still alive? Are you seeing any new trends or changes in this ‘battle’?
Michał: The boundaries are slowly blurring. The declarative style of UI writing in SwiftUI or JetpackCompose is similar here. I recommend a super article on the subject. We all care about making good apps no matter what platform we are programming for. A bit of rivalry between the teams also helps us squeeze the maximum out of each other because if the other team succeeded on the other platform, why would we be worse? We motivate others to push ourselves beyond our limits, so we keep growing.
Recently, the ability to run views written in JetpackCompose on iOS, Desktop and WEB has been introduced. If we poke around well, we can use KMM and Compose Multiplatform to write an application using a single language for all platforms. My blog post on this topic will be coming soon.
Flutter has also grown in popularity recently and has many followers, as has React Native. Therefore, each mobile developer will find a piece of the pie and the technology they feel most comfortable with.
It seems like you’re good at what you do and enjoy working with us. You even received an award for your recruitment referrals at the last Christmas party with the title HR Mega Support. What specifically do you value working at Speednet for?
Michał: I started seven years ago, still at PPNT in Gdynia, when we had 65 (or less) people on board. At the time, I never thought I would stay for so long. Now, I hope to live up to my status as a company dinosaur. Today, there are more than 230 of us, and the company has retained its character. Despite such growth, we haven’t lost our identity, and we don’t have artificially created line managers, middle managers, or other unnecessary creations native to corporations. We are still a tight-knit bunch.
One of the reasons I feel good here is that Speednet’s values coincide with mine: honesty, transparency, collaboration, development and… sport. According to a Gallup Institute study, people are much less likely to change jobs if they work with people they like, with whom they can share passions, and that’s how I feel. The projects I got into also played a big part in this; each one was more challenging, allowed me to grow and meant that I was never really bored. In addition, I always had people next to me from whom I could learn, and I was never left alone with a problem.
That’s great. As someone who also conducts recruitment interviews, do you have any advice for people who want to enter the IT industry? Please give some tips on how to prepare for a recruitment interview. What is essential, and what do you look out for?
Michał: I answered this in the first question. Nevertheless, I will elaborate, although I won’t mention the technicalities. It may be a cliché, but a neat CV can complete the job. If I’m presented with eight pages of a document with no order or composition, the formatting of the text is a crying shame, and the most critical information is scattered over several pages; I can’t take it. Now, a lot of people will probably say I’m being snippy. Still, if candidates have courses or training listed on their CV, I always look for their program online, check what topics were covered, and ask one question directly related to this course program. Sometimes this comes as a surprise.
Most interview candidates also say they want to develop and learn new technologies. Hence, I always ask where they get their knowledge from, how they take care of their development, what they are inspired by, and what exciting things they have read recently. A surprising majority can’t say anything specific. For example, they will often mention ‘Android Weekly’ as something they browse through, but they are unable to specify what article has recently fallen into their hands. Going further, some people also add a link to their GitHub, which is perfect practice because I can always see what interests them and what they do in their spare time. After accessing their account, I often see that there has been no activity there for 2-3 years. That’s when I let go of browsing the repository.
Sometimes, the person’s character on the other side also plays a significant role. You know exactly what project or team you’re recruiting for, so you also see the atmosphere and different personalities on board. Hence, you catch extra points if you see the ‘flow’ at the interview. However, sometimes something doesn’t play out, and you feel from the start that the interview isn’t going in the best direction – which doesn’t rule anyone out. Stress is not a friend at a recruitment interview, and I try to ensure the atmosphere is comfortable.
This is valuable advice for anyone who wants to prepare for a recruitment interview. Let us now turn to a slightly different topic. At Speednet, we actively support educational initiatives such as entrepreneurship or career-building workshops for schools. You are always keen to get involved in running these types of activities. In your opinion, what is the value of such initiatives, especially regarding educational development?
Michał: Here, you have to give a lot of credit to our CEO, who tells more exciting stories than me. My workshops usually cover the basics of SCRUM, touch on team-building theory, and focus on communication. Young people who come to our workshops must realize that to create a good project, meet all the client’s requirements, and succeed, you must talk to each other a lot. They assume that technical people are code monkeys and the rest doesn’t interest them. In practice, we all know how it is.
In addition to the deep focus and actual programming phases, where the best quality code is produced, we also have a lot of meetings. The more we buckle down to it and the more information we get, the easier it will be later on to meet the requirements we formulate together with the client. We also talked to each other, as well as the business.
Sometimes, a short brainstorming session can deliver better results than hours alone thinking how to fix a simple bug. We review each other’s code on Pull Requests, where specifics count. With good communication, we can work efficiently. Once, one of my colleagues said: “that’s not why I became a programmer, to talk to people”. I’m afraid I have to disagree with this.
Most of the values from our work can easily be translated into everyday life. For example, it’s better to tell a teacher that you won’t make it in time to write an article as early as Friday than to wait until the last minute and make up excuses on the spot on Monday. The same is true in our work, where various problems happen along the way, affecting deadlines, and there is always the possibility of getting caught up. Still, it is necessary to communicate before the fire starts to burn, not when we have a specific fire to put out.
At the very end, I would like to ask you for feedback. You are seen as someone from whom you can always count on an honest opinion. If something doesn’t work, you talk about it. Is this kind of honesty, openness, or transparency important in the company?
Michał: More than once, I have regretted not biting my tongue in time. However, to answer your question, I agree. Mutual trust and respect can only be built on honesty. This applies to both personal life and business. Speednet is precisely the place where we keep these values in mind. We all play to one goal: we want to grow the company and are never left alone with problems. You can count on the support of your manager in any situation. And you can also talk to HR about anything.
It is similar to the day-to-day work of a developer. We always have a retrospective at the end of a sprint where we try to find things that are working great for us. As a matter of good practice, we want to stick to them, but we also identify problems we need to solve. I think we need to communicate things that we don’t like. Just saying a word sometimes is enough to trigger a productive discussion. Suddenly, you may find that many people have similar feelings.
When I heard about Radical Candor, I tried to use the ‘radical honesty’ approach because it will positively impact the effectiveness and efficiency of the team and help establish strong, authentic relationships with people.