Author: Dorian Derežić Category: Development Date: May 13
In this edition of Digging Deeper, we sat down with our Junior iOS Developer, Dino, to find out what’s iOS development really like at Bornfight.
Want to become a part of the Bornfight team as our new iOS Development Intern? Take a look at the job posting and send us your application!
First question – what’s so great about iOS development?
Well, there are a bunch of reasons why I chose iOS development. The first one would be that everything related to development is clearly defined. You don’t have to Google for solutions, you have everything on Apple’s official sites. You see, iOS is a closed system, and it means that if you follow the Apple documentation, the application you create will work on the old iPhone 5S, and the new iPhone XS, and the iPad and everything. You create it and it works regardless of the device – you don’t have to customize your app for specific devices because certain manufacturers do something their own way.
OK, go on…
Apple as a company puts a really big emphasis on developers, and they are focused on making the development process as smooth as possible. And it really is smooth. That’s just their way of doing things, and that’s the mindset you as an iOS developer are presented with when you start building an application. Everything is logical, streamlined and simple – from the moment you start working on a project to the moment you launch it. That smooth experience projects onto you and the way you develop applications, which ultimately leads to the final product you launch being an amazing experience for your users. Yeah, it is a closed system as I mentioned earlier, but it’s designed in a way that really focuses on achieving the final goal – top user experience for everyone involved.
Let’s switch it up a bit. Why did you choose Bornfight?
I chose Bornfight because I saw the projects we work on, saw how the company was evolving and what we could be working on in the future. And it was all extremely exciting to me. You see, in some other companies, clients come with a fully specced out project, and you as a developer just need to write the code to build it. There’s almost no creative freedom. At Bornfight, this is completely different – clients come to us with problems they want to solve, and they expect us to come up with ideas, solution to those problems. We are fully involved in their business, we know their goals, their targets, their aspirations and pain points. And that in the end results in successful products.
Another great thing is that we are all extremely connected and involved in the project. For example, when our designers create screens for a new app, they don’t come to us and say ‘code it according to this’, instead they ask what can be made even better, how can we upgrade it. We take every element as a basis that can be made better. And that’s all because we have a really transparent communication between teams.
Tell me more about the onboarding process for new people…
It begins by getting to know all the people in the office as well as all of the departments at Bornfight. The goal is to see what everyone is doing and what are the team dynamics. This part is organized really well because you get to know all of the aspects of Bornfight through a series of meetings and educations. You get to know the people you’ll work with, what projects are active, what are our goals and what we as a collective want to achieve.
You also get a mentor who guides you through all of this and who can answer all your questions. I like to ask a lot of questions, and I love it that the atmosphere at Bornfight is that it’s completely normal and encouraged. Nobody is going to look at you wrong if you don’t understand something – instead, everybody is going to be thrilled that they can help you out and teach you.
As for work, you start by coding some smaller applications to get a hang of all the tools, processes and the entire setup. And then it grows as you improve – you start working on larger products and you get more responsibilities. It’s a great process because it enables everyone to quickly learn and improve. And since you also get to know all the people, you know who you have to talk to if you need a hand with anything.
You’ve been with us for almost a year. What project did you work on?
Well, I had a chance to work on a couple of projects. The first one was a small internal application – I was put on the project because the app was small an pretty simple, and it enabled me to get to know all the tools and processes we use at Bornfight. After that, I worked on Pvtistes – a mobile application that’s a mini social network for people who want to work and explore foreign countries. This app has a lot of features and is fairly complex, but we created a set of fairly straightforward guidelines for it, and it makes working on the app and developing new features really stereamlined and logical.
I also had a chance to work on a couple of enterprise mobile applications for some of our multinational clients. They were quite challenging because they were all about gamification elements, and I haven’t worked on that before. But it was amazing because we all worked on that together and I had a chance to learn a lot just by working on those new elements right from the start.
In addition to these projects, I also had a chance to work on the process of Continuous Integration. I saw the need for it in our team and decided to create the setup for it – and now we’re using it. That’s another great thing about Bornfight – we’re always working on making our internal processes better, more efficient, automatized… The goal is to always be better and that ties in perfectly with our team vision of always raising the bar.
You mention ‘raising the bar’ as a sort of a team vision, a motto…
It’s all about challenging ourselves with goals that we can only achieve by working together. That’s the core of our team – we want to push the boundaries with each new project, and we do it because all of us in the team is really good at building each other even more.
For example, I’m more about the technical aspect of development – I like to look at the project architecture and to document all elements. On the other side, Tamara is a visual type with an amazing eye for details. She can see when anything is even a bit off. And then there’s Filip – he leads our team, coordinates the strategy and makes sure our team keeps on growing. He’s our mentor and the guy we talk to when we need a hand with anything.
What does your typical day look like?
Some days are more development heavy, others are more meeting and education heavy. Today was one of those education heavy days when we had our TrachApp meet. The entire mobile and design teams got together, picked an application and then dissected every single element in it to see how it works, what can we incorporate into our setup, what features are used and what could have been done better.
On the other side, yesterday was a really dev heavy day. I started working on a new project so I sat together with a backend developer to go through all of the defined elements. We talked about the aspects of the API documentation and how they can be implemented into the final product. And then a designer who works on the project also joined us, and the three of us worked on the app together. I really like these setups because we’re all so much faster and more efficient.
You collaborate with other teams on a regular basis?
It depends on the project we’re currently developing. When we’re working on something new, we collaborate almost 100% of the time. If, on the other hand, we’re working on a project that’s more or less about maintenance, the amount of collaboration between different teams is smaller because it’s not needed so much. We still communicate and sync on a regular basis, but there’s much less this “sitting next to each other and working together” kind of setup.
You said that communication between teams is very important…
Oh, yeah. Let me tell you a story. When I just got here, I was still an intern – I think it was my first month here. And I got put on a new project with a couple of mid and senior developers. This is where it gets interesting – when I said something or asked something, others really listened and treated me as equal. It didn’t matter that I was still a student or a “new guy” – I was a part of the project team with all of them, we had a common goal and my opinions and ideas were as important as everyone else’s.
That really showed me what Bornfight is all about – we’re all here to create top-level solutions and we’re all ready to learn from each other. Titles and authority don’t matter when it comes to working on projects – it’s all about having good ideas and finding the best way to solve the problem at hand. We want to create the best solutions for our clients and partners, and that mindset translates to our communication, company culture and this entire people-centric ecosystem we’re building at Bornfight!
Why would someone want to join our iOS team, what can we offer them?
Well, in addition to the things I already mentioned, I believe the main thing we can offer new iOS developers is a continuous supply of new interesting challenges. You see, we work on a large number of projects, and every single one solves very specific and often fully unique business problems – and you’re right there in the gist of it. That means you can learn a lot about not just iOS development, but also about design, front, back, project management, business strategy, different industries…
We all really focus on this continuous personal and professional development, and working on all these different projects is like a super-fast elevator that will help you constantly raise the bar.
OK, last question. What kind of mindset do you look for in new team members?
To us, the most important thing is to be passionate about iOS development – we want people who really want to do exactly that. You see, iOS development is complex, but we can take it step by step and learn it all. Passion – you can’t learn that, you either have it or you don’t.
As for the mindset, we’re always looking for people who believe that there are no unsolvable problems and no limits. Developers whose goal is to always create something better than last time, who will create something amazing and then come up with a way to further upgrade it. So yeah, this mindset and the passion for iOS development are key – everything else can be learned!