Di quali qualifiche ha bisogno uno sviluppatore iOS?

Ho intervistato molte persone per posizioni di sviluppatore iOS, ne ho assunte alcune, e ho visto molti sviluppatori iOS lavorare - principalmente a NYC. Per essere uno sviluppatore iOS di successo, devi:

1. mettere insieme del buon codice, funzionante e affidabile
2. capire effettivamente il codice che stai mettendo insieme
3. capire il modo in cui le persone usano le applicazioni iOS
4. avere il desiderio di imparare e stare al passo con gli ultimi sviluppi

Se riesci a fare queste cose, e non ti presenti come un idiota totale nel tuo colloquio, dovresti essere in grado di ottenere una posizione come sviluppatore iOS.

Hai qualche buona app nell'App Store eh? Questo può essere un pro o un contro a seconda della vostra definizione di "buono". Se avete una calcolatrice di mance e un'app di scoregge nello store, non importa quanto siano popolari o quanto siano buone le loro valutazioni, sono fondamentalmente senza significato per le vostre qualifiche (o forse un indicatore negativo). Se avete un'app mal progettata o una che ottiene recensioni orribili nell'App Store, dovreste tenervela per voi. D'altra parte, se avete un'app là fuori che fa qualcosa di utile e mostra qualche pensiero e/o è ben accolto, allora questo conta a vostro favore.

Detto questo, avere un po' del vostro lavoro pubblicamente disponibile è una buona cosa sia che si tratti di un'app su App Store o un progetto open source su github. Sarebbe piuttosto sorprendente intervistare qualcuno per una posizione di sviluppatore iOS che non ha alcun lavoro pubblico da mostrare.

È necessario andare all'università e studiare informatica? Assolutamente no. Apprezzo un'istruzione universitaria e ne ho una, ma non ho una laurea in informatica. Raramente sono impressionato da una laurea particolare e questo non è mai stato un mio requisito quando assumo per iOS. Come requisito, questo può variare a seconda dell'azienda, ma le vostre conoscenze e abilità possono generalmente superare la mancanza di una laurea - a volte anche per un'azienda che sostiene di richiedere una laurea.

Ho intervistato molte persone con lauree in informatica che non potevano mettere insieme una semplice lista collegata o rispondere a domande di base sullo sviluppo del software. Ho intervistato persone senza laurea in informatica che erano tecnicamente molto competenti (anche se la maggior parte aveva una laurea in qualcosa).

Quello che conta di più per me quando ti considero per una posizione di sviluppatore iOS è se sai o meno perché qualcosa funziona o non funziona o perché risolveresti un problema in un modo particolare. Per esempio, perché usereste GCD invece di una NSOperationQueue o viceversa?