Milos has worked on various projects in his career. Starting from Android and iOS applications to cross-platform C++ development on games and applications. He has a lot of experience in different spheres of software development. from initial conceptualization to architecting and developing, and then to finally delivering the product to consumers.
Ryan is a senior-level iOS and web developer passionate about creating amazing user interfaces and experiences. He's very comfortable working anywhere in the development stack and has 10+ years of doing it. He's well-spoken, very easy to communicate with, quick to respond, and excels at figuring out optimal solutions for any challenge you present. Ryan has an entrepreneurial drive and understands the challenges startups face.
Dr. Karvetski has ten years of experience as a data and decision scientist. He has worked across academia and industry in a variety of team and client settings, and has been recognized as an excellent communicator. He loves working with teams to conceive and deploy novel data science solutions. He has expertise with R, SQL, MATLAB, SAS, and other platforms for data science.
Vladimir has been a professional developer for eleven years. Most recently, he's been focusing on augmented reality, computational design, and computer graphics. He has architected complex software systems, done UX design, led teams, and spoken at conferences. He values simplicity and efficiency and loves working on interactive products no matter the platform.
... allows corporations to quickly assemble teams that have the right skills for specific projects.
Despite accelerating demand for coders, Toptal prides itself on almost Ivy League-level vetting.
Creating an app for the game
Building a cross-platform app to be used worldwide
Leading a digital transformation
Drilling into real-time data creates an industry game changer
Tripcents wouldn't exist without Toptal. Toptal Projects enabled us to rapidly develop our foundation with a product manager, lead developer, and senior designer. In just over 60 days we went from concept to Alpha. The speed, knowledge, expertise, and flexibility is second to none. The Toptal team were as part of tripcents as any in-house team member of tripcents. They contributed and took ownership of the development just like everyone else. We will continue to use Toptal. As a startup, they are our secret weapon.
Brantley Pace, CEO & Co-Founder
I am more than pleased with our experience with Toptal. The professional I got to work with was on the phone with me within a couple of hours. I knew after discussing my project with him that he was the candidate I wanted. I hired him immediately and he wasted no time in getting to my project, even going the extra mile by adding some great design elements that enhanced our overall look.
Paul Fenley, Director
K Dunn & Associates
The developers I was paired with were incredible -- smart, driven, and responsive. It used to be hard to find quality engineers and consultants. Now it isn't.
Ryan Rockefeller, CEO
Toptal understood our project needs immediately. We were matched with an exceptional freelancer from Argentina who, from Day 1, immersed himself in our industry, blended seamlessly with our team, understood our vision, and produced top-notch results. Toptal makes connecting with superior developers and programmers very easy.
Jason Kulik, Co-Founder
As a small company with limited resources we can't afford to make expensive mistakes. Toptal provided us with an experienced programmer who was able to hit the ground running and begin contributing immediately. It has been a great experience and one we'd repeat again in a heartbeat.
Stuart Pocknee , Principal
Site Specific Software Solutions
We used Toptal to hire a developer with extensive Amazon Web Services experience. We interviewed four candidates, one of which turned out to be a great fit for our requirements. The process was quick and effective.
Abner Guzmán Rivera, CTO and Chief Scientist
Sergio was an awesome developer to work with. Top notch, responsive, and got the work done efficiently.
Dennis Baldwin, Chief Technologist and Co-Founder
Working with Marcin is a joy. He is competent, professional, flexible, and extremely quick to understand what is required and how to implement it.
André Fischer, CTO
We needed a expert engineer who could start on our project immediately. Simanas exceeded our expectations with his work. Not having to interview and chase down an expert developer was an excellent time-saver and made everyone feel more comfortable with our choice to switch platforms to utilize a more robust language. Toptal made the process easy and convenient. Toptal is now the first place we look for expert-level help.
Derek Minor, Senior VP of Web Development
Networld Media Group
Toptal's developers and architects have been both very professional and easy to work with. The solution they produced was fairly priced and top quality, reducing our time to launch. Thanks again, Toptal.
Jeremy Wessels, CEO
We had a great experience with Toptal. They paired us with the perfect developer for our application and made the process very easy. It was also easy to extend beyond the initial time frame, and we were able to keep the same contractor throughout our project. We definitely recommend Toptal for finding high quality talent quickly and seamlessly.
Ryan Morrissey, CTO
Applied Business Technologies, LLC
I'm incredibly impressed with Toptal. Our developer communicates with me every day, and is a very powerful coder. He's a true professional and his work is just excellent. 5 stars for Toptal.
Pietro Casoar, CEO
Ronin Play Pty Ltd
Working with Toptal has been a great experience. Prior to using them, I had spent quite some time interviewing other freelancers and wasn't finding what I needed. After engaging with Toptal, they matched me up with the perfect developer in a matter of days. The developer I'm working with not only delivers quality code, but he also makes suggestions on things that I hadn't thought of. It's clear to me that Amaury knows what he is doing. Highly recommended!
George Cheng, CEO
As a Toptal qualified front-end developer, I also run my own consulting practice. When clients come to me for help filling key roles on their team, Toptal is the only place I feel comfortable recommending. Toptal's entire candidate pool is the best of the best. Toptal is the best value for money I've found in nearly half a decade of professional online work.
Ethan Brooks, CTO
Langlotz Patent & Trademark Works, Inc.
In Higgle's early days, we needed the best-in-class developers, at affordable rates, in a timely fashion. Toptal delivered!
Lara Aldag, CEO
Toptal makes finding a candidate extremely easy and gives you peace-of-mind that they have the skills to deliver. I would definitely recommend their services to anyone looking for highly-skilled developers.
Michael Gluckman, Data Manager
Toptal’s ability to rapidly match our project with the best developers was just superb. The developers have become part of our team, and I’m amazed at the level of professional commitment each of them has demonstrated. For those looking to work remotely with the best engineers, look no further than Toptal.
Laurent Alis, Founder
Toptal makes finding qualified engineers a breeze. We needed an experienced ASP.NET MVC architect to guide the development of our start-up app, and Toptal had three great candidates for us in less than a week. After making our selection, the engineer was online immediately and hit the ground running. It was so much faster and easier than having to discover and vet candidates ourselves.
Jeff Kelly, Co-Founder
We needed some short-term work in Scala, and Toptal found us a great developer within 24 hours. This simply would not have been possible via any other platform.
Franco Arda, Co-Founder
Toptal offers a no-compromise solution to businesses undergoing rapid development and scale. Every engineer we've contracted through Toptal has quickly integrated into our team and held their work to the highest standard of quality while maintaining blazing development speed.
Greg Kimball, Co-Founder
How to Hire iOS App Development Experts through Toptal
Talk to One of Our Industry Experts
A Toptal director of engineering will work with you to understand your goals, technical needs, and team dynamics.
Work With Hand-Selected Talent
Within days, we'll introduce you to the right iOS app development expert for your project. Average time to match is under 24 hours.
The Right Fit, Guaranteed
Work with your new iOS app development expert for a trial period (pay only if satisfied), ensuring they're the right fit before starting the engagement.
Find Experts With Related Skills
Access a vast pool of skilled developers in our talent network and hire the top 3% within just 48 hours.
How are Toptal iOS app development experts different?
At Toptal, we thoroughly screen our iOS app development experts to ensure we only match you with talent of the highest caliber. Of the more than 200,000 people who apply to join the Toptal network each year, fewer than 3% make the cut. You’ll work with engineering experts (never generalized recruiters or HR reps) to understand your goals, technical needs, and team dynamics. The end result: expert vetted talent from our network, custom matched to fit your business needs.
Can I hire iOS app development experts in less than 48 hours through Toptal?
Depending on availability and how fast you can progress, you could start working with an iOS app development expert within 48 hours of signing up.
What is the no-risk trial period for Toptal iOS app development experts?
We make sure that each engagement between you and your iOS app development expert begins with a trial period of up to two weeks. This means that you have time to confirm the engagement will be successful. If you’re completely satisfied with the results, we’ll bill you for the time and continue the engagement for as long as you’d like. If you’re not completely satisfied, you won’t be billed. From there, we can either part ways, or we can provide you with another expert who may be a better fit and with whom we will begin a second, no-risk trial.
Ten Common Pitfalls to Avoid When Hiring a Freelance iOS App Developer
Everyone wants to build a nice-looking, crash-free and successful mobile application, like Uber, Lyft, WeChat, WhatsApp, Instagram, Snapchat, Spotify, or Yelp. Everyone wants to hit the market huge like Candy Crush, Uber, and Pokemon Go.
We don’t know the exact figures, but it’s obvious that only a very tiny number of them stand out because the general public becomes aware of only three or four new app names per year.
And you want to be one of them?
Then you must find outstanding developers—niche developers who are experienced, skilled, and detail-oriented—to turn your idea into a real app.
You may have an amazing idea that will startle the market. You may graphically design it to perfection with beautiful colors and fascinating layout. But those are all useless unless you get a developer who will bring it to life. Without an expert in iOS development, it’s just a well-built robot without a program written to its memory.
But people usually make mistakes in finding and hiring the right iOS engineers. Let’s find out what some of those common mistakes are.
1. Many years of experience don’t always decide the developer’s skill.
Clients often fall for the number of years of iOS app development experience that developers say they have.
You should find a developer who has decent amount of professional programming experience (five or six years maybe). But you cannot really say the developer with ten years of experience can be better than one with six or eight years of experience.
One thing you should know is that a developer is not just a programmer.
Developers must fully understand software engineering and the software development life cycle (SDLC.) They must be a system designer and a programmer at the same time.
Also, a long time spent coding doesn’t necessarily make a good developer: It’s difficult to achieve a good level of programming skill by coding alone. A developer should study others’ code and should take a systematic approach.
Then how would you find out whether the developer is actually good or not?
First, find a developer who could explain to you what the SDLC is and what are some good methodologies to follow (e.g., Waterfall, Spiral, or Agile). Ask them why the requirements gathering and testing phases are so important. This way you will be able to easily find out if they would be able to manage iOS development in a systematic and effective way.
Second, find developers who have developed at least one successful application—that is currently in the App Store—from the beginning all by themselves. Successful doesn’t have to mean 10,000 ratings. Even a good-looking, fully functional app with less than 100 ratings is fine.
The developer will know how to start, how to structure the system, and how to deliver the product. They will know the most popular libraries and best practices, what to test, and Apple’s dos and don’ts when publishing apps.
Third, find a developer who has worked on a big project for at least six months, or preferably at least a year. The developer will better know how to make a codebase maintainable, because they’ve been through the struggles of maturing and scaling an application.
And lastly, find a developer who has experience working in a team, because they will know how to work effectively with other developers. If you are lucky enough, they could lead your future team.
One thing to remember is that developers with 10,000 reputation points on StackOverflow or with thousands of stars on an open source repository on GitHub are usually good. You can ask them if they have their own open source repos.
Lastly, before hiring, start a paid test project, and you will know the developer’s skill in a week or so, so you won’t have to assume based on their resume.
2. Style and comments aren’t that important…Are they?
Ask the developer for sample code and check for the comments/documentation and the coding style before hiring.
You may think, “Why is coding style so important?” or “Does coding style really matter for iOS app development?”
The answer is yes.
Good developers are strict about coding style and those developers with good coding style usually provide high-quality code. And high-quality code means less crashes.
As you would expect, commenting is also very important because it’s a part of the code, not kept in a separate document. Developers with good commenting habits put useful comments in appropriate places.
These are all part of an expert’s habits. They can only be gained from practice.
In short, quality is a habit when it comes to coding.
3. Are expensive developers always better than less expensive ones?
Yes, it usually holds true.
But it may depend on the places where the developer lives.
Cost of living differs from place to place, country to country, and continent to continent. This affects a developer’s hourly rate a lot. You can find a great developer in Eastern Europe or in Asia at a comparatively lower hourly rate than in the US.
Of course, this does not always hold true. There are plenty of stories of people having been burned by developers in lower-cost areas. Likewise with higher-cost areas.
Making an assumption on either extreme of the scale isn’t very wise.
You should examine the developer before hiring.
4. Should a developer without team experience practice on your team?
We already mentioned that coding style and comments are a really important aspect of code quality. This is especially true while working in a team environment, because developers from different places and with different experiences are contributing to the same project.
If developers don’t write code in the same way, agreed beforehand, it’s very difficult to read it later, or maintain it.
Think about the case where a developer eventually leaves a project and you cannot find them again. If a standard coding style is conformed to, and there are proper comments, the code can be maintained or altered easily by other developers.
Any developer who has ever worked in a team environment knows the importance of keeping consistent coding rules.
But those who have always worked alone don’t know what to keep. Of course, they may gain experience and get better as time goes by, but it would be better if the developer already has team experience, wouldn’t it?
Also, those developers with team experience already know how to collaborate, how to do pair coding, and how to help each other. They know how to get a better result working together compared to times spent working all alone.
So ask the developer about teamwork experience during the interview. Open-source collaboration is also something you can check on, and then you also get a sense of how they tend to communicate with team members.
5. Is experience only with iPhone apps enough?
…or is Android or web development experience also required?
There are lots of job posts that ask only for experience in iPhone app development (Objective-C or Swift, or both) when in need of an iPhone app developer.
Do you think iPhone app developers do not need to know about Android and web development at all because iPhone apps just consume the APIs provided by the back-end team and you are not going to let them to develop your Android apps?
You are probably right, but think about this.
Let’s say there are two iPhone app developers. Developer A knows only about iPhone programming. Developer B knows about not only iPhone programming, but also web programming.
What difference would this make?
Of course, A will be able to write the code that communicates with the back-end, but it will likely differ from what B would write.
A will just write the code to get the server response, parse it, and return to the caller. But B’s code will handle different kinds of server responses for all the possible HTTP status codes, such as 200, 404, 500, etc.
Developer A will just use the API provided by the back-end developer. But Developer B could discuss with the back-end developer how to improve the security of the API call, how to make the API call more efficient, and how to handle errors.
Do you see the difference now?
This will apply the same for Android. If the iOS developer knows Android development, they will be able to structure the code so that it can be reused with Android as well.
To sum up, if the app developer you are going to hire has full-stack knowledge, they will be able to write solid code.
6. Does the developer have experience relevant to your particular industry?
This may be an obvious topic, but sometimes one that is forgotten.
If the iOS developer already has developed a similar app or at least an app in the same industry, they will be able to understand the requirements more easily, suggest something better from their past experience, and produce a result that’s more appealing to your clients.
For example, suppose you are going to develop a real estate app, and the developer you hire does not have previous experience with app development in this industry.
You will need to explain to them all the industry terms such as MLS listings, multi-lease, HOA (Homeowner Association), etc. before the actual development starts.
Have you ever thought about how difficult and stressful it would be if the developer you are going to hire does not understand your requirements?
That’s why developers with similar experience are always preferred.
7. Are you using recruiters who are not technical?
Recruiters who are not technical should definitely not have the final say in hiring your developer.
Such a recruiter cannot examine the developer’s code, knowledge, or skills. How could they be sure to find a good developer, then?
A recruiter without technical knowledge might be able to find a good person, but probably not a good developer.
If you’re not in a position to ensure this yourself, you may hire someone who is not ready for your project. But even if you are, the extra vetting you have to do at your end that could have been done by a more specialized recruiter just delays hiring the right developer.
8. The developer’s knowledge of multithreading and data persistence are crucial for iOS development.
Here we assume that you are going to develop a big, complex app, not a small, simple one.
Data persistence is a vital part of the iPhone app. Mobile phones cannot always have an internet connection. It may have a wifi connection, cellular data connection, or no connection at all. Thus, the mobile app should be able to work offline as well.
And even if it’s online, it’s always better to show what’s locally available so that users won’t need to wait until the new data gets loaded. This is a basic UX requirement in mobile app development. And this is achieved using data persistence.
The developer might store a small amount of info in NSUserDefault, but they should know that that should not be used for large amounts of data.
Core Data and Realm are frameworks that make data persistence and data presentation easier and provide mechanisms for efficient memory management and in-place schema migration. Core Data is a built-in framework provided by Apple. Realm is a mobile database: A replacement for Core Data and SQLite.
Nowadays Realm has become popular due to a dramatic improvement in the speed of CRUD (Create, Read, Update, Delete) operations. Another good thing about it is that it supports Android as well, which means you can use the same structure for iOS and Android both.
But without understanding multithreading, a developer cannot properly make use of Core Data or Realm since data persisting and consuming operations need careful management when being used in multiple threads at the same time.
Here’s an example of why it’s important to use threading correctly.
Let’s say you need to receive 10,000 JSON records from an API, import it into your local database, and update the UI with the new data.
If you import these new records on the main thread (i.e., the UI thread), the UI will be stuck and the user won’t be able to use the app while the import is in progress.
If you do this kind of import regularly, or for many pages in the app, will users be happy with the app? No. They will report to you (and the world!) that it’s unusable.
That’s why you should process this kind of large import separate from the main thread. This technique can be used for other types of time-consuming jobs, too.
Now you see the importance of multithreading and data persistence. If the developer does not know about them, they might be a novice or a junior when it comes to iOS development.
9. Are they detail-oriented?
Even a pixel or a difference of one value in RGB makes the UI feels different. But even a really detailed developer could produce something different than the actual design or the idea.
Then what about the careless developer? You will end up having a completely different app than what you have thought of.
Of course, it will be better if you are strict when testing the result, but it’s always better to see something perfect than asking for changes and rework.
10. Does the developer stay up to date?
Even great developers should always keep current with industry changes and other news.
Technologies are advancing every millisecond and time is flying like an arrow. Apple releases a new version of iOS every year. Swift is getting updated alongside it.
Lots of new technologies that support mobile app development are being released every day. Objective-C libraries are becoming obsolete and developers open-source awesome Swift libraries to help others and/or show off their skills.
If an iOS developer doesn’t study new technology enough, their knowledge will soon become obsolete, together with the old libraries they have been using.
Ask developers how they keep themselves up to date with the latest technologies, languages, and libraries. They should be able to carry on a conversation with you about what seems the most promising or relevant in the field of iOS app development.
For example, iOS Dev Weekly is a good journal. It’s worth taking a look at it to prepare yourself to assess a candidate’s engagement level.
Take time to make sure they’ve got it all.
Hiring is usually a stressful and time-consuming process.
But this is the process to find a person who you are going to rely on entirely for your iOS app development and who could bring you a fortune.
Changing your developer amid development is costly. It will result in a loss of time, loss of money, and for those apps where release time is vital, it becomes a real pain.
Don’t rush too much when looking for a developer: Take your time and try to find a good developer from the start. Study the mistakes made by your predecessors and evade them as much as possible. Happy Hiring!