The mobile phone market is a fight between just two companies from the USA. Apple, the enterprise from Cupertino, California, sees their mobile phones to be the most popular ones in the English-speaking countries – USA, Canada, the UK, or the country down under.
The approach you end up going for doesn't matter that much; your product will ultimately be as good as the sum of experience of your engineers. You might want to ask where I can find good developers, then. How to assess them? We have some tips regarding these dilemmas. We may also help you hands-on. Continue reading, and we will give you the knowledge to make informed recruitment decisions.
Your product is as good as the sum of the experience of your engineers.
iOS Developers And Where To Find Them?
For a good reason, it is one of the first places you might look for great iOS Developers. Every professional who wants to be respected in the field will want to have an account on this professional networking site.
You can use it to your advantage. The standard search box is not optimal for looking up potential candidates. “LinkedIn Recruiter” gives you all the functions that you need to shortlist candidates with ease. How does the service work? It gives you the options to narrow your search using keywords, filters, and more. Moreover, you may also reach out, and analyze your effectiveness.
As you might know, the number of these sites is overwhelming. There is order in all this chaos, however. There are sites with a general audience, such as Glassdoor, and there are niche ones as well, aimed at a specific segment like Remote3. Remember, that some niche websites might focus only on one region – such as No Fluff Jobs is for professionals in Eastern Europe.
Where to post to find iOS developers? It all depends on the size of your company. If you work for a bigger company, you may find Dice.com to be a great fit. Working for a startup? AngelList (startups of all sizes), and Indie Hackers (small to medium startups) are your safe bets. Lastly, should you be a smaller, established company, still look for sites that target a narrower audience or have a smaller following, such as Authentic Jobs.
We don’t know all the sites out there. As we have already mentioned, there are sites out there, that specifically target a certain region or a certain country, and nothing more. They will be mostly in local languages, unless they are intended to attract expats. Go ahead, and explore yourself. A quick search can do wonders!
Social Media Groups
If you get it right, you will be able to recruit a developer, but you will have to navigate moderators and developers carefully to do so. A little incentive: there are groups on Facebook dedicated to developers where there will be hundreds or thousands of people.
Be mindful, however, not to break the rules of a group you are a member of. Don’t do what you are banned from doing. Getting banned from a big group is definitely is not worth it: if you can’t actively recruit, do some research on your target segment.
Always attempt to contribute to the discussions, and post relevant content from time to time. It’s always a good idea to give more than you are taking. Your contributions will also make you one of them, rather than being an outsider invading their community. Of course, people listen more to people who are inside their group.
Git Repositories. GitHub & GitLab.
Programmers love to share their code with the world. Sometimes it’s just to show off their cool project, and sometimes it’s because they want to help others. Whatever the case might be, you can look for projects by language, by name, and by other criteria.
The answer to “how can I find iOS developers on GitHub” is simple, and let us show you how you could go about doing it.
Navigate to GitHub.com in the web browser of your choice
Type in your search phrase in the search field at the very top of the page. Let’s say you are looking for developers who have experience in creating apps dealing with video content. We used the search phrase “iOS Video” just as an example. Press enter.
You now should see a list of results.
It’s a good idea to restrict the repositories to only see those using Swift as their main language.
From here, you may go ahead and look for projects that were updated recently, as it might give you a rough idea about developers’ engagement. Of course, it’s not a perfect indication, however, we have to keep in mind, that to accurately determine how active people are, we would need a lot more data points.
There is one more optional step for you to be more efficient with your search.
Step 4a (optional, but recommended)
Click “Advanced Search” on the bottom left of the page.
You should now see a plethora of options with which you may find your desired projects. Let’s say we want to find code written in Swift, from 2019 until now (created:>2019). We have to make sure that it was recently updated, so let’s say, we want the latest update to be from a few months ago (“pushed:>2021-10”).
The result will be visible up top, and it will look like this:
Click “[s]earch”, and voilà!
Hire A Technology Partner / Professional Services Company
Is there an easier and more convenient way to finish your tasks than to have somebody do it for you? You may partner up with a technology partner, otherwise known as a professional services company, outsourcing company, or a software house. They will have developers on hand who will work on your project for a specified period of time and are ready to join (almost) immediately.
These technology partners act as agencies with (usually) industry-specific knowledge both in terms of the best technology & architecture practices as well as in product development.
Moving on, let’s outline what to pay attention to when hiring an iOS developer, whether that’s in-house or through finding a technology partner.
What To Pay Attention To When Hiring An iOS Developer
You now have a list of developers you would like to approach, or you have already approached some. There are some things you have to keep in mind going further:
Fitting A Developer To Your Project.
Not all developers will fit your requirements. Developers will not specialize in all areas of app development, just as a painter will often not know much about sculpting, and vice versa.
This is all due to the depth of the topics needed to master these complex areas. Developers with experience in completing projects of an image recognition app might not be the best fit to work on your mobile banking project. That is, since embedding, running, and ensuring that these algorithms will run smoothly is not their cup of tea entirely. Make sure you have a clear outline of what it is you are making, and keep it in mind during every stage of the process.
Modern Developers And Effective Communication
We have all heard that hurtful (and false) stereotype about developers who sit in poorly lit basements. You have read that right: those were all lies.
Nowadays, besides coding, the experts of today need to attend meetings, talk to you, and be able to say whether they need something to finish their task. Skills in good offline communication are useful when one goes online. The way your team members interact with each other, conduct themselves in external meetings, and convey company culture is essential.
Make sure you assess for soft skills as well as the technical skills that the iOS developer needs to have.
Be Realistic With The Required Knowledge
This one tweet went viral some time ago. Sadly, it’s not a unique case that never happened again. It occurs over and over; though occurring marginally, if it is your company who publishes that bad list of requirements…
Another example is when you require too much from your candidates. Experience in programming in Objective-C is not a far stretch when working on a project in Swift. Requiring (for example) Haskell knowledge, however, might just be too much.
Make sure that somebody with in-depth technical knowledge reviews the job spec before posting it online, should you not have that knowledge. That might save you many problems, and not miss out on some highly qualified candidates. Having your job spec become a meme is not something you would want.
Familiarity With The Modern Standards
Standards in programming change over time, with programming eras lasting much shorter than non-programming ones. Not so long ago, the only language in which you could create your iOS apps was Objective-C. Now, Apple encourages you to write your code entirely in Swift. Yes, Obj-C still works, though its usage is somewhat discourages.
Another big change that occurred over the years is how developers create user interfaces. Previously, everybody was using the UI Kit. Now, things have changed: Swift UI is the way to go, though some still prefer using the good old predecessor. Another example of a shake-up is the way one can manage packs of code within the project. It used to be Cocoapods, though with Apple’s Swift Package Manager now proposed, you can expect newer projects to feature the tech giant’s newer proposition.
According to some estimates, ~78% of businesses run open-source. That’s a vast majority of companies out there! Moreover, putting your code online and letting people use it free of charge is what advances many fields of life, and many industries. Remember SpaceX’s reusable rockets? They run on a variation of Linux, and the dashboard for astronauts runs on Chromium – the same thing that powers Chrome browsers.
Reviewing one’s project is a great insight into a developer’s way of dealing with issues, conflicts, and the quality of their code. There is a hidden pro to employing an open-source contributor. It’s the improved employer branding, and popularity your company may enjoy.
We want to underline, that a high-profile programmer or not, your candidate may be appropriate nevertheless. People might have their reasons for not publishing their work, for one.
Ask For A Portfolio
At times, employers will want to see an app published on the App Store as a sign of a developer’s competency. It might not be an accurate measure, however. One reason might be that people simply don’t like the yearly fee one has to pay to maintain the ability to publish apps on Apple’s store. Another reason could be that one does not want to share their creation with the world, and will keep it private.
Sure, if they published an app on the App Store, it is definitely a nice-to-have. People are people, though, so as long as you will be able to see a quality app, it does not matter where it is available: GitHub, a private portfolio, or the App Store are all just means to an end. One tip is to ask candidates for their app’s source code: the fact that what they wrote works does not prove much.
Gaps In The Resumes Should Not Necessarily Count Against Candidates.
This point will be short. Quitting a toxic job can leave you drained, and in a bad mental spot. In this case, the best course of action is to take a breather, and recharge your batteries. One prevalent case is the case of mothers who took maternal leave, and never came back. These gaps may last long, though, if there is a proven record of a person’s practice, then that should not discredit a candidate.
These breaks differ largely between each other. There are cases where it may take few months, a year or maybe two. It’s alright. Just ask, and if there’s a valid explanation, then that’s alright.
Overcoming Inner Shortcomings
Think about it for a moment: are there people who you liked or disliked right away? If you can recall all of them, then that was subconscious bias at work: one that we are not aware of, but still drives many of our actions and judgements.
There is a light at the end of the tunnel, however. Daniel Kahneman, the Nobel Prize winner, wrote a book “Thinking, Fast and Slow”, where he wrote about how does one think and make decisions. Since you might not have time to read it, I will elaborate on one proposed way to reliably make good hires.
Select key traits that you regard as essential to succeeding in the job. The limit here is six. Make sure the topics don’t overlap: we want to cover a large area.
Efficient communication, the knowledge of current architectural patterns, and reliability are just some examples you may include.
Now is the time for some candidate testing. Some questions and tests are good ways to evaluate a candidate on the traits you previously defined. You may ask them to write a simple app as “homework”, conduct a technical interview, or both.
Now that you have your questions and assignments on paper, think how you will score each candidate. The best idea is to place each evaluation of traits on a scale of one to five, or the A to F. The point is to have a quantitative data, instead of qualitative data.
The most important part – keep the scale the same. If you chose a scale of one to six, be consistent, and keep it the same for each aspect.
Step 4 (optional)
After each conversation with a candidate, assign them a grade based on your overall impressions.
There are probably more people who took part in the recruitment process. Have each person involved evaluate them on the same scale. Then, determine the average for all subjective grades. You may use that as the seventh grade, although you also can skip this step.
Now, with each candidate interviewed, pick the one who had the highest score. That is how you can consistently hire great candidates.
360° IT Check is a weekly publication where we bring you the latest and greatest in the world of tech. We cover topics like emerging technologies & frameworks, news about innovative startups, and other topics which affect the world of tech directly or indirectly.