7 steps to become an iOS coding test BOSS!

Sam Dods
By Sam Dods under Insights, Engineering 08 November 2018

Lead iOS Engineer Sam Dods has outlined the seven simple steps that helped him become an iOS coding test boss! Read the full post on Medium.


So, you took the bait! Your route to success starts here! But, unlike the many get-rich-quick schemes promised on the side-panes of certain websites, I hope to actually deliver on my clickbait. 

When completing an iOS coding test, there are a number of simple ways to make your submission stand out and give reviewers confidence that you know what you’re doing.

The common theme here is:

If you want someone else to love your code, then you need to love it yourself.

By following the suggestions below, interviewers will barely need to look at what your code actually does. Good programming techniques can be taught after you’ve landed the job. It’s more difficult to teach someone to love their code. But it’s so important! After all, you shouldn’t need to be taught this, given this is your chosen career. 🤓

I don’t want this article to come across as arrogant; I’m not suggesting going through a company’s hiring process is easy. I just want to help people that are completing coding tests to make their submission the best it can be. I think there are a few very simple ways to do that.

It shouldn’t take a long time to make a simple app as part of a coding test—depending on experience of course—but you don’t want it to appear rushed. Show your code the love it deserves. It’s easy to keep your code clean and it all starts with the app delegate.

Seven steps

  1. Keep the app delegate tidy, it’s the entry point to your project.

  2. Remove empty methods and methods that only call the superclass implementation; remove any commented work-in-progress code.

  3. Make it simple to review; keep the architecture simple and keep the workspace organised.

  4. Demonstrate your understanding of the importance of access control and mutability; if in doubt, go with private/let/final.

  5. Avoid forced unwrapping, forced typecasting and implicitly unwrapped optionals.

  6. Meet the demands of your prospective employer; show that you can follow instructions; don’t be afraid to ask them for help and be honest about what you don’t know—everyone has room for improvement!

  7. Wrap it up and tie it in a bow; give it an app icon and a name that shows your personality and creative spirit.

What's next?

I believe the above suggestions can be followed by anyone, regardless of experience. But there are of course lots of things you can do over and above this to demonstrate more experience if you have it, such as demonstrating an understanding of Git, unit testing, UI testing, Fastlane, SwiftLint and “hot” language features such as Codable.

Whether you are actively applying for jobs or you’re recruiting and reviewing tests yourself, I hope you found this article useful. Please share if you think others will find it useful too!

If you want to see the 7 steps in detail, check out my full post on our Medium blog.