In this edition of Digging Deeper, we sat down with our Android Developers, Tomislav and Luka, to find out what’s Android development really like at Bornfight.
Want to join our mobile development team? Check out our open positions:
OK, first question. Tell me more about the Android team – what drives you…
LUKA: I’d say there are two key aspects of our team that can be seen at all times. The first one is that professional aspect – we always like to raise the bar with everything we do, and we try to do things as perfect as we can. From making sure that entire applications we create are always better than expected to really polishing all those tiny details that make those large applications.
The other part would be that personal touch every single one of us adds to the team – we’re all good friends and we like to have fun, so the entire working atmosphere inside the team is really positive and entertaining. I believe it’s really important to have that balance – this striving for perfection pushes the team forward, while that positive, relaxed attitude makes working on projects so much easier.
Another thing I really like about the team is that we’re always coming up with something new we want to try and experiment with – from upgrading our professional skills to working with the community. I mean, that’s how our Apps & Pizza mobile meetup came to life.
TOMISLAV: Yeah, I gotta agree. I’ve been here right from the start, I was the first Android developer here, and now we have an entire mobile team, an entire department. It just shows how much we grew, both in terms of skill as well as this amazing people and the overall atmosphere.
I’d say that’s the main aspect. You can develop Android apps and grow your professional skills in any company, but here you’ll also get that support from people who are ready to help you out when it comes to working on projects, and are also ready to hang out because we’re all closely connected.
You mentioned raising the bar. Can you explain that a bit?
TOMISLAV: Well, Luka already said a little bit about it when he mentioned that we’re always gunning for perfection in everything we do. Raising the bar as a message is sort of like our team mission. It starts with working on projects and making sure every new thing we create is a bit better than the previous one, and continues with us always trying to use some new technology that hasn’t been used or using existing technology in a different way that changes the way mobile development is being done.
All in all, raising the bar is about constantly upgrading and advancing – those upgrades don’t need to be giant, but they need to be constant as that makes us all grow exponentially.
LUKA: Yeah, that’s something you can feel as soon as you join the team. We’re always exploring something new, trying to come up with new solutions – and it really pushes you to be open to new things and changes.
Why did you choose Android development? Why not iOS?
LUKA: I like the freedom this system gives me. With Apple’s iOS, you have strict standards for everything, you’re limited by the system. With Google’s Android, you have the freedom to do anything. It feels to me that Apple treats its developers as users, while Google treats developers as administrators, and that’s a world of difference. If I have an idea for a mobile application, I can do it on Android without any limitations.
TOMISLAV: True. I’ll go a little extreme with the explanation here, but whatever you can ideate in your head, you can probably turn into an Android mobile app. That’s the level of freedom Android gives you as a developer. And that’s especially great for developers who like to play with different things and trying out different possibilities – it’s an excellent playground.
This may be a basic question, but I’m wondering – when you’re developing iOS apps, you’re developing them for the iPhone, but when you’re developing Android apps, you’re developing them for Samsung, Sony, Huawei, One Plus… Is it complex to develop an app that works on all those different systems?
TOMISLAV: Well, that depends on the complexity of the app itself. If we’re talking about some basic mobile app with a few functionalities, or a mobile application that doesn’t need to interact with the phone’s hardware components like sensors or cameras, then the development process is not so complex as you don’t have to tailor the app to specific systems. But, as soon as you start connecting with hardware components, then it can get quickly complex as every phone manufacturer does things in their own specific way – they process certain elements differently and your app needs to adapt to that in order to work.
OK, got it. Let’s talk a bit more about the applications, or more specifically, let’s talk about the types of applications you work on here at Bornfight…
TOMISLAV: There are two types of apps we mostly work on. We create large enterprise applications whose goals are to increase business results, efficiency or profits of large companies, and then we have applications for users that are more lifestyle in nature and are about creating an experience for users – they use the latest technologies and are extremely visually appealing. Another thing that differentiates these types is their availability – enterprise apps are in most cases created only for internal use in specific corporations, while the others are placed on the Play Store and can be downloaded by anyone.
Tell me more about enterprise apps…
TOMISLAV: As I said, we’re mostly talking about apps for internal usage, like personal social networks, messaging applications for companies with thousands of employees, different types of task managers and planning apps… The thing with enterprise applications is that they aren’t defined or limited by functionalities – an enterprise app can be anything that a certain company needs to solve its challenges or increase results.
LUKA: Exactly, even though enterprise applications might not sound exciting at first or use the latest technologies, they also come with a variety of different functionalities. For example, gamification elements are a thing we incorporate into a lot of enterprise applications to give them that edge and to make the experience even better for users.
When we talk about that other type of apps you work on, those advanced apps for user, which one would you single out as your favorite?
LUKA: I have to go with Moja Žuja. It’s amazing, really entertaining, filled with different functionalities. I love the quizzes, rewards we added, the QR code scanning, the augmented reality we implemented… Yeah, Moja Žuja is the one I have to pick.
OK, guys. Let’s switch it up. Tell me more about the technologies you use…
TOMISLAV: We use Kotlin and Java. We primarily use Kotlin for all new applications we’re working on, while Java is used only on older projects we’re still maintaining. Basically, when Google decided Kotlin will be the primary language used for Android development, we fully switched to it. But knowing those two languages doesn’t mean you also know how to create mobile apps because they can be used for backend servers, APIs and the like. That’s where the Android SDK comes into play – Kotlin and Java combined with the set of tools provided by Android SDK enables you to create Android apps. Knowing that is the core.
Android SDK is the key element of Android development as it acts as a mini framework – it’s a set of preprepared classes and libraries that enable developers to create Android apps. So yeah, if I had to create a list based on importance, it’s Android SDK, then Kotlin and then Java – that’s what you need to create a basic Android application.
Now, if you want something more advanced – then we have to talk about additional libraries and architectural patterns. At Bornfight, we mostly use MVP – model, view, presenter.
LUKA: We also use the Retrofit library for networking. We use Dagger 2 for dependency injection, and then there’s also RxJava. I believe that’s more or less it when it comes to tech and extensions we use. I mean, we also created a couple of our internal libraries, but they act as a support to all the others.
Good, good. Tell me more about your collaboration with the iOS team and other departments at Bornfight…
LUKA: Well, when it comes to working on projects, direct collaboration mostly depends on the project itself, but if we’re talking about collaboration in general, we’re extremely connected. And that can especially be seen between us and the iOS team. Our mobile team (both Android and iOS) has that specific culture, we do a lot of things together and it’s seen in our interactions. As I said before, we’re friends, we work together, we hang out together – we really fit well with each other.
As for projects, we usually work in smaller project teams together with designers, backend developers and project managers. We sit together and work together – and that’s really efficient when we need to quickly handle something or fix some issues or just generally plan for the next phase.
TOMISLAV: Yeah, in addition to the iOS team, I have to say we’re most tightly connected with the design team, and that goes hand in hand with our raising the bar mentality – we innovate through each other, we share knowledge, we learn from them and they learn from us. And we grow as a whole.
Let’s switch it up again. What can you tell me about Apps & Pizza, that meetup you’re organizing?
TOMISLAV: OK, that’s a long story, but I’ll try to keep it brief. It all started when we launched the Bornfight brand and were looking for a way to promote mobile development and our mobile team within the community. There are a couple of mobile meetups in Zagreb, but we saw they are very specialized – just for Android or just for iOS and they were mostly just for developers. We wanted to do something different – we wanted to create a meetup that would connect developers, designers, project managers, strategists… basically everyone working on mobile apps. That was the point – if you want to create a successful mobile app you need all those people to work together, to share knowledge. That’s how Apps & Pizza was born.
Btw. Apps & Pizza was a code name, but it just kind of stuck with us and now we have a mini brand.
What’s it like to organize a meetup?
TOMISLAV: Now it’s a piece of cake. We’re a well oiled machine. But when we started, we really didn’t know where to start. Luckily, a couple of people at Bornfight have organized meetups before, so they helped us out. That first one was really difficult but it attracted a lot of people and we got great feedback, so we pushed on for the second, third and fourth. And, as I said, now it’s easy – we have it every two months and it’s constantly attracting more and more people.
LUKA: Now we have a list of all the thing we need to do, and it basically became a matter of just periodically checking if we’re right on track with everything. Well oiled machine.
Luka, you’ve been with us for more than a year. Can you tell me more about the onboarding process?
LUKA: In addition to learning everything about all of the teams and departments at Bornfight, the best thing about the onboarding process is that you’ll start working on real projects right from the start. And that will help you to quickly get a level of proficiency that is very difficult to attain. If I had to measure it, I’d say that I learned a year’s worth amount of new skills and info in just three months.
The thing that makes our onboarding process so fluid and efficient is that you get a full-time mentor who works alongside you and helps you out with whatever you need. Tomislav was my mentor, and I can really say that having a mentor when you’re just starting out in a new company is the best way to begin with development – this setup enables you to take on more complex projects and learn stuff faster because you have that continuous support. You never have that moment where you hit a wall and waste time trying to figure out what you’re supposed to do because don’t know how to continue. No, you hit a wall and then you have a mentor beside you who’s already faced and solved all those issues that are in front of you – you quickly learn how to solve them and then you keep on going. It’s a system of continuous learning without slowing down.
And when it’s all said and done, then we take everything to code review phase where we polish all of the aspects!
Can you describe the mindset of the ideal member of the Android team?
TOMISLAV: One of the most important aspects is the willingness to constantly learn and improve both professionally and personally. People who are open and ready to communicate when something is good, when something needs to be fixed, when they’re stuck, when they wanna try something new… Here’s the deal, we love people who aren’t afraid to ask questions, who aren’t afraid to ask for help – we have a lot of experience in the team and have faced a lot of challenges on all kinds of projects, and we know how to solve a lot of things. That’s why we’re looking for people who’ll use our knowledge and ask us whenever they get stuck – even if we don’t know the answer, we’ll figure it out together much faster than if we were trying to solve it alone.
As for that personal aspect – we’re ready to accept whatever they’re bringing to the table. That’s one of the things that makes our team so great – we have people who adore cooking, we have people who grow tomatoes, we have football player, we have instagram influencers… all different people with different hobbies and a strong passion for mobile development.
LUKA: Yeah, I agree. This diversity is why new people can quickly fit into our team. As similar as we all are, we are also very different, and that’s why it’s extremely fun to be a part of our team.
Nice, very nice. OK, last question – what would you say to people who’d like to join the Android team?
TOMISLAV: OK, this will be extremely cheesy, but I’ll say it anyway – just be yourself. If you’re different, don’t try to fake it and act like you’re something you’re not. Own who you are and I’m certain that you’ll fit into our team much more quickly than if you’d hide your true self behind a mask.
Check out our company, take a look at the apps we created, see what we do and what drives us, and apply if you believe we could be a good fit. Nothing more, nothing less!
LUKA: True, that fit is the most important part. If you want to work in a relaxed atmosphere with a great team, and you’re ready to experiment, share knowledge and help all of us grow together, you should check out what we do and apply!
That’s been all for this edition of Digging Deeper. If you’d like to join our team, send us your application.