< Where should new Swift developers start their career? | How to decide which framework to use in a take-home project? > |
Recorded – watch the full episode on YouTube.
When you applied for an iOS job at a company and they want to make sure you can write good structured code, so they give you a take-home test. What kinds of take-home tests are most common for iOS Swift jobs?
Sean Allen: Yeah, so they obviously vary a little bit from company to company because if you're dealing with a heavy MapKit location company, of course their take on project might have some MapKit stuff in it. So think about that with whatever company you're applying to that you're probably going to get something along those lines, but really at the end of the day, like if you can hit an API, parse the JSON, make the model and have it appear pretty on the screen and a table view or a collection view. You're 90% of the way there for these take-home projects. That is what most of them will do.
“So it's not like there's just one blanket answer, aside from the hit an API, parse the JSON, make it look pretty on the screen. That is pretty much in all of them but after that, you're going to get some variance based on the company.”
Just some examples of some I've done in the past is I've had to recreate Giphy, if you've ever gone to the Giphy app, how it's like a Pinterest style collection view. Not all even clean lines, they're kind of like jagged, and then animated gifs playing.
So I had to do that also in a performance way. So the GIFs could be playing with smooth scrolling. I've done one that had to get a list of GitHub followers, which my course is all about kind of a GitHub follower app. So, that take home test inspired that course, really the only thing similar is just that you have to get a list of followers. Everything else is different. I didn't just rip it off. But back to the example of doing what an app does, I had to do a mini version of DoorDash, the food delivery service.
Where I had to have the user enter and address on MapKit, where they could pay in the map, drop a pin and that's where they want their food delivered. And then I had to find a list of restaurants based on that location, that latitude and longitude. So, and again, that just gives an example of something similar to the company you're applying for. So it's not like there's just one blanket answer, aside from the hit an API, parse the JSON, make it look pretty on the screen. That is pretty much in all of them but after that, you're going to get some variance based on the company.
“I think being honest and upfront about that kind of helped out in the long run.”
Paul Hudson: It's certainly true that understanding JSON and Codable, and good table view and navigation view knowledge is a large part of our job. I mean, making good table views, making good navigation, but then good network data that is what a third of the apps out there, just like right there. That's it – you nail those skills then hopefully the rest of is gravy more or less.
Sean Allen: I did have one that required programmatic UI, which was a funny story because at the time I had never done programmatic UI. So this is the first time I was like, “I got the...” I read the requirements and I was like, “Oh crap.” I was like, “All right, I guess we're going to learn this.” But I was honest with them upfront, when I submitted the project, I was like, “I had never done programmatic UI, so I guess keep that in mind when you get this, you're getting my first attempt at it.” And that actually went a long way because they're like, “Wow, this is pretty impressive.”
It was bad by the way. I mean, it wasn't bad but it wasn't great programmatic UI. But they were like, “wow, for your first time, that was pretty good.” So I think being honest and upfront about that kind of helped out in the long run.
This transcript was recorded as part of Swiftly Speaking. You can watch the full original episode on YouTube, or subscribe to the audio version on Apple Podcasts.
SPONSORED Take the pain out of configuring and testing your paywalls. RevenueCat's Paywalls allow you to remotely configure and A/B test your entire paywall UI without any code changes or app updates.
Sponsor Hacking with Swift and reach the world's largest Swift community!
Link copied to your pasteboard.