Vadim is a seasoned freelance software developer, architect, technical manager, and entrepreneur with over 25 years of professional experience. He has built many complex world-class software products from start to finish, spanning numerous platforms. He has worked both individually and as a group leader.
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.
Uroš is a passionate game developer with five years of experience in game programming and game design. He's singlehandedly programmed two full games in Unity and has also led the development process in teams ranging from a few to over 10 people. His experience also includes, but is not limited to, coding competitions, numerous hackathons, and an internship at Google.
Federico has been developing native iOS apps for over five years, starting with Objective-C and working most recently in Swift. He can work within a team or solo and easily adapts to different development paradigms. He is a huge fan of the Apple platform, both hardware and software, and he is always seeking out new challenges to test and improve his skills against.
John has over 20 years of software engineering experience on a wide variety of platforms and computer languages. He is extremely quick to pick up new technologies and APIs. He communicates extremely well and has worked in teams of all sizes.
A creative technology expert with 15+ years experience, Dennis has worked for over eight years for top ad agencies and production companies in London, UK. He makes high-end websites, digital installations and mobile apps, and he specializes in 3D, VR, and AR. He has worked for clients such as Nike, Ferrari, Fiat, Mini, EA, Disney, Unilever, and Intel, and he is the creator and lead developer of Rajawali, an open-source 3D framework for Android.
Jason has over a decade of experience in the video game, virtual reality, and augmented reality industry. He is an expert in the Unity Engine and can work with a wide variety of platforms (web, mobile, PC/Mac, game consoles). He prefers a multi-disciplinary approach—having a background in both game design and coding, as well as experience in audiovisual content creation pipelines.
Effective augmented reality developers have a broad range of skills. It can be a challenge finding an AR developer who also has specialties suitable for your project.
Need help hiring an expert in AR development? This handy guide provides various scenarios and solid interview questions to get you started.
... 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.
Building a cross-platform app to be used worldwide
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 start up, 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 Augmented Reality Developers 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 augmented reality developer for your project. Average time to match is under 24 hours.
The Right Fit, Guaranteed
Work with your new augmented reality developer for a trial period (pay only if satisfied), ensuring they're the right fit before starting the engagement.
How are Toptal augmented reality developers different?
At Toptal, we thoroughly screen our augmented reality developers 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. Start now.
Can I hire augmented reality developers in less than 48 hours through Toptal?
Depending on availability and how fast you can progress, you could start working with an augmented reality developer within 48 hours of signing up. Start now.
What is the no-risk trial period for Toptal augmented reality developers?
We make sure that each engagement between you and your augmented reality developer 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. Start now.
How to Hire a Great Augmented Reality Developer
This guide offers you an overview of the concepts that an augmented reality (AR) developer candidate must have mastered. Although it might seem like a straightforward task, the constant innovations of this recent field of knowledge can make hiring augmented reality app development experts a real challenge.
Considering that AR development can work by adding any combination of several forms of virtual elements to a real-world environment, you need to first define the category (or categories) that fit your project’s needs.
Marker-based Augmented Reality
As the name suggests, marker-based AR technology uses markers that serve as key points in a scene to enhance an image of the real world. The markers are usually made of a black and white image represented in a QR/2D code. They are given to the application as input making it easier to detect them when acquiring camera frames.
AR developer tasks in this particular field might include:
Calibrating the camera
Selecting a location that makes the task of finding the pattern on the markers easy
Ensuring that the least amount of shaking happens to the virtual objects when moving the camera around
Markerless Augmented Reality
Markerless AR image from David Malan, Getty Images
In the markerless approach, the strategy is totally different. Without markers, the data used in the application comes from other sources such as a GPS, a digital compass, or an accelerometer. As one may notice, since most smartphones are shipped with these sources, markerless AR technology is a perfect fit for mobile AR apps.
Projection-based Augmented Reality
Projection-based augmented reality consists of projecting an image onto a physical 3D model, in order to make it more realistic. It can be used to detect human interaction with the projected light. For a practical example, this could even be used to facilitate complex manual tasks on an assembly line.
We can also detect objects in a scene and change/augment them partially or totally. This is the premise of superimposition-based AR. It serves as a great alternative for applications that focus on enhancing the user experience with virtual customization of an object. For instance, the user could try out different virtual furniture positioned in a room.
Having selected the category where your project fits in, it is time now to determine the desirable AR developer skills according to your needs. The augmented reality developer is responsible not only for the code, but it is also expected to design assets and define or improve interfaces between your application and the users.
Augmenting a Real-world Environment
When hiring an augmented reality developer, the candidate should be confident in describing the steps behind augmenting a real-world environment. You can select two scenarios, one using markers and another one without them, and let them describe the challenges and solutions:
Explain, within the given scenarios, how would you augment the real world.
For the markers scenario, one challenge would be segmenting the markers from the rest of the scene. Your AR developer candidate should know these steps: We need to prepare the image, get points and regions of interest, and then check if the detected regions (if any) have the pattern we are looking for.
To prepare the initial image, we apply a threshold so it becomes a binary image (0 or 1 values for each pixel). After that, we need to detect a feature in the markers to serve as a reference object. One common way of doing this is to use the corners of a square (with a QR/2D pattern) in the marker to serve as reference points.
There are many algorithms to do this matching on the scene. One example is the Harris Corner Detector algorithm. Following a mathematical approach, this algorithm can determine if a region is flat, an edge, or a corner. We would be looking for the corners and edges as they will be used in the next step. Specifically, we want to outline contours that can be fitted by four line segments forming squares/quadrangles.
With that information in hand, it’s time to make local descriptors for the extracted regions. They will be compared to the descriptors in the database for the patterns we provided to the application. If we have a positive match, a marker was found, and that 3D coordinate can be used to augment the scene with virtual objects.
For the marker-less scenario, besides the challenge of extracting desired features, there is also no information beforehand (no pattern comparison). One possible way to get these features is to extract screen patches that remain the same, regardless of changing viewpoint and/or illumination conditions.
We can extract these regions based on different characteristics, for instance, intensity and geometry. For geometry regions, a patch would exploit corners and edges (could use the same Harris algorithm). For intensity, we would select regions with local extrema in the image. Think of a center point of intensity extrema, and from that point, we would cast rays in every direction. An invariant function is used to define the region boundary.
The extracted regions will be used to place information on the screen. There is no comparison with the database this time. This might seem like an easier task, but to define good regions without the help of a distinct marker is a real challenge. Any part of the described steps can be discussed with the candidate to grasp their knowledge of this important subject.
No matter what category you pick, some level of image processing might be required. You can think of this processing as an attempt to modify an image so it is easier to extract the information we need. A processing technique example can be seen in the image above. In order to get the finer details of the original image, we apply a filter to it—a high-pass filter in this case.
There are several challenges in processing images to be used as input. You can have issues with colors, types of processing, filtering, varying illumination, shadows, etc. It really depends on the camera and the application.
The AR developer must be comfortable in doing analysis or applying algorithms to digital images. Since this is a very broad subject, the important thing is to try and grasp the breadth of knowledge of the developer.
Briefly describe the challenges related to image processing in augmented reality application development. You can use any related fields of knowledge as examples.
Since image processing is a broad field of research, this is more of a general question. The answer should at least cover one major topic of concern. This includes but is not limited to:
Efficient encoding of images and video sequences
Image acquisition, enhancement, restoration, and segmentation
Color processing, classification, and recognition in images
It’s more important to get a sense of the breadth of knowledge the augmented reality development expert has than to measure their specific knowledge in this case.
Tracking is used to get the user’s viewpoint or the camera position and orientation. This represents a real challenge and it is still an open research problem.
Describe the approaches to doing object tracking in an augmented reality application.
We can separate the different approaches to tracking into three fields, namely sensor-based, vision-based, and hybrid tracking.
As the name suggests, this type of tracking uses sensors such as accelerometer, mechanical gyroscope (these two are often collectively referred to as inertial tracking), GPS, magnetic compass, etc. They have the advantage of being good at predicting motion when fast changes occur.
This approach uses image processing methods to calculate the camera pose. Usually, they can be further subdivided into model- or feature-based vision tracking.
For model-based tracking, a model of an object of the scene would be the reference for the tracking system. The 3D model needs to be provided beforehand to the application. It can be a previously known 3D model or a model that was reconstructed from extracted scene features. In feature-based tracking, the references would be markers placed in the scene or natural features in the image.
This last category of tracking methods will be used when the others alone can’t handle the job in a desirable manner. In this case, the AR developer might need to combine different approaches to make the tracking more robust.
Imagine a situation where the conditions for the scene are not considered optimal. A user varies the scene conditions abruptly by rotating their smartphone when filming an urban scene with augmented information in labels. Using only vision-based tracking, it would be really hard to maintain robustness and accuracy of the application when displaying information on the scene.
This changes when more information is used, for instance, coming from the inertial tracking of a 3D gyroscope. Having a global orientation measured by the gyroscope can used to position the labels in the new scene in a precise manner, not having to depend only in the visual scene differences between frames—differences which would be huge in the scenario we just described.
Specific Tracking Knowledge
Besides asking about the AR app developer’s general knowledge in this subject, it’s also important to ask about specific challenges related to tracking. These may include illumination problems, occlusion, clutter, dynamic background, camera motion, the presence of shadows, etc.
Tell me how you would deal with a dynamic background when tracking an object in a scene.
The most common method to differentiate foreground objects from the rest of the scene is called background subtraction. The basic technique consists of subtracting the previous frame from the current frame and thresholding the result on each pixel.
This method may solve the problem right away with a static background, but for a dynamic one, we might need something more robust. Consider, for instance, a camera filming at different parts of the day, or different weather conditions, or even noise when acquiring the images from the camera. These factors need to be considered and the basic method needs to be improved.
One possible solution is to add an extra step before subtracting the current and previous frames. This step will be responsible for classifying each pixel as background or foreground. An example algorithm is the “Fuzzy C-means clustering” (FCM) algorithm.
The general process is to acquire a video, separate it in frames, convert the frames to grayscale, detect the desired features (edge detection), classify each pixel (extra step), and then subtract the previous frame from the current one. This will output the image without its background.
It’s also important to know if the candidate has any background related to specific application requirements.
An example of this would be, for instance, an application that relies on facial recognition to put extra information on the screen. It would be interesting to evaluate candidates by their breadth of knowledge in algorithms related to detecting facial recognition.
Another common example would be a smartphone application that adds virtual objects to a street being filmed. In this scenario, it would be interesting to know if the AR developer has any background in enhancing images and/or recognizing streets using morphological algorithms.
You can ask the developer how they would build a certain application idea. For each initial requirement, try to ask for alternatives and the reasons why. Is the camera good enough? Is the device a problem? Do we need a specific asset? Is there any framework that fits best in this scenario?
Augmented Reality Frameworks
When dealing with AR applications, we are not going to ask an augmented reality developer to build everything from scratch. There are several frameworks out there to get most of the basic stuff out of the way, letting you build things on top of it.
At this point, we already asked the developer about how to do things, and now it’s time to ask if they actually did it and what they used to achieve the tasks given.
Compare the augmented reality frameworks you know about, including advantages and disadvantages.
If you search the web, there are dozens of AR frameworks. You can browse a thorough comparison of features, but we are not going to pinpoint a single framework as the “best” one right from the get-go.
What’s interesting here is to know which framework suits your needs most closely. To find that framework, we are going to assume a list of features required by an example application and choose a framework with the best adherence from the list. Here, the developer’s experience can also make a difference when making this choice.
Our example application is going to target Unity (3D), and we need it to be a free or open-source framework to start with. There are four known candidates that pop out from the list in this first query, namely: ARToolkit, Vuforia, Wikitude, and EasyAR.
Describe the applications you have developed in the past. What framework(s) did you use?
These questions are related, and the objective here is to grasp the breadth of knowledge of the AR developer. Simply put, the more the better. We’ll be able to know if the developer has significant experience implementing augmented reality applications and if they are in tune with the newest changes in this field.
Pay Attention to Other Relevant Experience
Besides specific augmented reality knowledge, other types of previous experience might also be very useful and should be considered when hiring an AR developer.
For instance, keep an eye out for developers with good experience in 3D environments, even if completely virtual ones.
Likewise, having people with great video/sound production skills on your project can really improve your users’ experiences.
Game development experts should be included in this consideration also. They create, in a sense, new worlds in AR/VR for us to exist in. Developing a full game, or even a game engine, promises knowledge in several topics that interest us. This includes cameras, textures, lighting, UI/UX, etc.
The bottom line is, it’s important to be able to abstract other developer skills and apply them to your project scenario.
Back to the Real World
This guide aimed to give you the tools and general knowledge to hire a top-notch augmented reality app developer, whether you are in the United States or abroad and looking for part-time or full-time experts. But a guide is a guide: The process of finding the “correct” candidate will still remain a challenge and require your best discretion. It is important to value many other aspects besides technical knowledge.
If you are looking for new ideas and high-quality related to AR technology, a good way to search for them is to attend (or read the papers published in) conferences and symposiums related to this subject, like ISMAR and IEEE Virtual Reality.
The questions and answers presented here were made in such a way that it’s easy to abstract them into different problems or specialize them for specific situations. Ultimately, as the interviewer, only you can find the right mix of interview elements for the job you’re trying to fill. You know your AR project—trust your knowledge and your instincts, and you’ll know the ideal candidate when you find them.