5 tips for a successful iOS take-home project
You’re more of a video kind of person? I’ve got you covered! Here’s a video with the same content than this article 🍿
A few weeks ago, I did a livestream where I reviewed a real world take-home project that someone in the audience had shared me.
It was a really interesting experience and if you’re planning to apply for an iOS job soon, I would definitely recommend that you check it out!
But if you don’t have the time to watch the 2 hours of replay, don’t worry: I’ve also got you covered!
I’ve made you a list of 5 tips I recommend to follow for a successful take-home project 😌
#01 – Identify and follow the requirements
Make sure you carefully read and understand all the requirements mentioned in the assignments briefing.
For instance:
a minimum version of iOS
an architecture pattern to implement
a specific library to use (or not use!)
the design of the UI
These requirements are the criteria that will be used to grade your project, so you definitely want to be careful and get all of them right!
What I would recommend:
Before you start working on the project, carefully read the assignment and make a list of all the requirements
If you’re not 100% familiar with some of the requirements, do a bit of research to get yourself up-to-speed.
When you’ve finished the project, go over that list once more to make sure you indeed ticked all the boxes
#02 – Make a good first impression
You want your project to convey a strong feeling of quality and care at the very first glance!
So make sure that your Xcode project is nicely organized, with source files split logically across folders for Views, Services, Models, etc.
Also, test your app on dark mode and make sure that it displays correctly!
Because you definitely don’t want your app to look broken if the reviewer happens to have their device or simulator set to dark mode.
Take also a bit of time to write a short README that will contain any information that the reviewer might need or find useful.
#03 – Explain your design choices
A take-home project is nothing more than a proxy to evaluate your skills, so anything that helps demonstrate your expertise is worth mentioning!
No need to write a dissertation, just a couple of sentences to explain:
the APIs you chose to call (example: async / await vs. Combine)
the 3rd party libraries you used (or didn’t use)
the way you modeled your app (example: using an actor or an enum)
#04 – Don’t add something that’s not relevant
It’s never a good idea to introduce unnecessary complexity just for the sake of showing that you are aware of somethings’s existence:
Don’t call APIs that are not relevant to the assignment
Don’t offer two different implementations of the same thing (unless explicitly asked)
If you want to mention that you know the existence of something that’s not relevant, it’s better to just mention it in a comment or in your README.
#05 – Discuss the next steps to improve
You might not have the time to implement everything you know, but you can still write a few bullet points about how to improve the project further:
with a better architecture (dependency injection, TCA, etc.)
with a better testing strategy
with better support of the Apple ecosystem (iPad, Mac & Vision Pro support)
Doing so shows that you took time to take a step back and think critically about your work.
And it’s also a great way to offer talking points to be discussed during the assignment review!
That’s it! These are the 5 tips that I recommend to follow when you’re given a take-home project to complete!
Like I said in the intro, this list is based on the livestream I did last week and its replay is available if you want to watch it!