Comment devenir un développeur iOS en 2021 - Un guide ultime

Dans cet article, je vais passer en revue ce que je pense qu'il faut pour devenir développeur iOS en 2021. 

Je vise carrément deux groupes de personnes, les débutants absolus de Swift - des personnes qui n'ont jamais rien construit pour iOS auparavant - et les soi-disant faux débutants - des personnes qui ont déjà essayé d'apprendre Swift mais n'ont jamais vraiment atteint leur objectif d'obtenir un travail à plein temps.

Regardless de votre niveau actuel, l'objectif ici est le même. Pour vous mettre en mesure de postuler à un poste de développeur iOS junior dans une entreprise.

Nous examinerons les compétences que vous devriez acquérir, les cours que vous pouvez suivre, comment vous connecter à la communauté, les erreurs courantes que les gens commettent, et plus encore. 

Mieux encore, tout ce dont je parlerai sera entièrement gratuit, vous n'aurez donc pas à payer un centime pour suivre.

Sérieusement, beaucoup trop de gens pensent que dépenser beaucoup d'argent les mettra sur la voie rapide vers l'emploi de leurs rêves, alors que les facteurs les plus importants sont la détermination et la volonté. 

Voici un indice : si vous envisagez déjà de sauter cet article, vous devriez probablement travailler sur votre volonté !

Cet article est divisé en sept sections :

  1. Compétences essentielles que vous devez posséder pour obtenir un emploi.
  2. Compétences d'extension qui sont agréables à avoir - celles qui vous démarqueront de la foule si vous faites l'effort de les apprendre
  3. Les erreurs courantes que les gens commettent lorsqu'ils tentent d'apprendre.
  4. Les nombreuses ressources gratuites disponibles pour vous aider à apprendre Swift.
  5. Comment entrer en contact avec la communauté de développement iOS.
  6. Une estimation du temps qu'il vous faudra pour atteindre votre objectif.
  7. Vous vous préparez à postuler pour votre premier emploi.

Les compétences fondamentales requises pour devenir développeur iOS

Les compétences fondamentales requises pour devenir développeur iOS

Quel est le strict minimum absolu de compétences requises pour décrocher un emploi dans le développement iOS ? 

Je crois qu'il y en a cinq au total :

  1. Swift 
  2. SwiftUI 
  3. La mise en réseau
  4. Travailler avec des données
  5. Gestion de version

Cette liste est intentionnellement courte pour diverses raisons :

Plus vous apprenez, plus vous réalisez qu'il y a à apprendre, il est donc facile de passer tellement de temps à étudier et à pratiquer que vous perdez de vue l'objectif principal.

Vous voulez travailler en tant que développeur iOS, pas simplement rester assis à apprendre de nouvelles choses !

Il est presque certain que vous vous joindrez à une équipe qui a déjà une application qu'ils veulent que vous pour aider à développer, si unless vous êtes extrêmement chanceux, ils devront vous apprendre tout un tas de trucs en ce qui concerneless.

Si vous essayez d'ajouter tout un tas de sujets supplémentaires à l'avance, vous perdez probablement votre temps.

Deux de ces cinq choses sont énormes et compliquées, et vous pourriez passer des mois à essayer de les comprendre sans vous aventurer ailleurs.

Plus important encore, si vous obtenez ces cinq choses correctement, vous pouvez créer une grande variété d'applications. Bien sûr, votre code ne sera pas parfait, mais ce n'est pas grave car la seule façon d'écrire du bon code est d'abord d'écrire beaucoup de mauvais code.

Permettez-moi de diviser les cinq éléments en plus petits morceaux.

Apprendre Swift

Swift est le premier sur la liste. C'est Applelangage de programmation de base de . Il n'a aucun concept d'affichage d'informations sur l'écran d'un iPhone ou de téléchargement de données à partir d'Internet. 

C'est simplement un langage similaire à JavaScript ou Python. C'est juste du code pur que vous utilisez pour créer des variables, écrire des fonctions, etc.

Swift n'a que quelques années, il utilise donc presque toutes les fonctionnalités linguistiques de pointe disponibles. 

D'une part, cela signifie que vous pouvez éviter tous les vieux comportements croustillants qui sont courants dans les langages plus anciens comme C++ et Java. Cela signifie également qu'il possède une multitude de fonctionnalités plus avancées qui peuvent vous impressionner au début.

Et c'est bien. De nombreuses parties de Swift sont relativement simples, tandis que d'autres prendront plus de temps à comprendre pleinement, alors prenez votre temps et persévérez – vous y arriverez !

SwiftUI

La deuxième compétence de base que j'ai mentionnée est SwiftUI, qui est une Apple cadre qui nous permet d'utiliser Swift pour créer des applications pour iOS, Mac OS, tvOS, et même watchos. 

Ainsi, alors que Swift est le langage de programmation, SwiftUI fournit les outils pour développeurs pour créer des applications, comme l'affichage d'images, de texte, de boutons, de zones de texte, de tableaux de données, etc. 

Pour être clair, SwiftUI ne remplace pas Swift - c'est un framework construit sur Swift qui nous permet de créer des applications. Vous devrez connaître à la fois Swift et SwiftUI pour réussir.

Si vous pensiez que Swift était nouveau, vous n'avez encore rien vu ! 

Pour autant que je sache, SwiftUI n'a que deux ans ! Malgré sa jeunesse, la communauté iOS l'a adopté sans réserve car il est si facile à utiliser.

Apple dispose également d'un cadre plus ancien pour la création d'applications iOS appelé UIKit, et si vous demandez à un groupe de personnes si vous devez d'abord apprendre SwiftUI ou UIKit, vous obtiendrez une variété de réponses. 

Je pense que vous devriez apprendre SwiftUI.

Donc, au cas où vous vous poseriez la question, voici pourquoi je pense que vous devriez prioriser SwiftUI en tant que compétence de base.

C'est nettement plus facile que UIKit, et je veux dire de manière significative - il faut peut-être un quart du code pour obtenir les mêmes résultats que UIKit, et il y a moins de choses à apprendre en cours de route. 

Cela signifie que vous gagnez beaucoup d'élan parce que vous pouvez construire des choses plus rapidement, voir des résultats plus rapidement et itérer sur ces résultats plus rapidement, ce qui est extrêmement motivant tout en apprenant.

Créé pour Swift

Créé pour Swift

SwiftUI a été créé pour Swift, utilisant des fonctionnalités linguistiques pour vous aider à éviter les problèmes et à obtenir des performances maximales. 

Par exemple, si vous modifiez certaines données sur un écran d'une application, SwiftUI s'assurera automatiquement que les nouvelles données sont mises à jour n'importe où ailleurs dans votre application qui les utilise - vous n'avez pas besoin d'écrire de code pour tout synchroniser vous-même, ce qui est étonnamment complexe. 

UIKit, d'autre part, a été écrit pour Applel'ancienne langue de l'Objective-C, et par conséquent a toutes sortes de bizarreries qui ont résulté de son âge.

SwiftUI est compatible avec tous Apple« S plates-formes, vous pouvez utiliser ce que vous avez appris sur iOS pour créer une application ou macOS watchos avec le code presque identique. 

Bien sûr, certaines fonctionnalités, telles que la couronne numérique, sont exclusives à un seul appareil, mais la grande majorité de ce que vous apprenez fonctionnera sur n'importe quel appareil.

Mais, plus important encore, SwiftUI est la direction dans laquelle les choses se dirigent. 

Si vous postuliez à un emploi en ce moment, vous auriez probablement besoin de connaître UIKit, mais le fait que vous lisiez ceci signifie que vous êtes beaucoup plus avancé dans le processus. 

Oui, UIKit est plus populaire maintenant, mais SwiftUI sera le framework d'interface utilisateur dominant au moment où vous aurez fini de l'apprendre dans 6, 9 ou même 12 mois.

Sérieusement, les plus grandes entreprises du monde, y compris Apple, choisissent SwiftUI.

Quand Apple widgets récemment lancés dans iOS 14, ils ont imposé l'utilisation de SwiftUI.

Réseautage et manipulation de données

Les troisième et quatrième compétences que j'ai mentionnées étaient le réseautage et la manipulation de données. Par rapport à Swift et SwiftUI, il s'agit d'un jeu d'enfant, ou du moins au niveau requis pour obtenir un emploi de développeur iOS junior.

La mise en réseau consiste à récupérer des données sur Internet ou à envoyer des données d'un appareil local à un serveur distant. 

Il existe de nombreuses méthodes pour y parvenir, mais la chose la plus importante à comprendre est de savoir comment récupérer JSON à partir d'un serveur.

Et c'est là qu'intervient l'autre compétence essentielle, le travail avec les données. 

Encore une fois, il existe de nombreuses façons de charger et d'enregistrer des données, mais le minimum absolu que vous devez pouvoir faire est de convertir les données que vous avez reçues d'un serveur à l'aide de votre code réseau en informations que votre application peut afficher.

Ainsi, les troisième et quatrième compétences de base sont inextricablement liées. Récupérez des données sur un serveur, puis convertissez-les en informations pouvant être affichées dans votre application. Certains développeurs plaisantent en disant qu'écrire ce type de code est la moitié du travail d'un développeur iOS, et il est certainement vrai que nous nous appuyons beaucoup dessus.

Version control

La compétence finale n'est pas du tout de coder, c'est version control, comme Git. Encore une fois, vous n'avez pas besoin de grand-chose ici, mais il est important que vous puissiez publier votre code dans un endroit public, comme GitHub, afin que les recruteurs puissent voir votre travail.

Personne au monde ne comprend vraiment le fonctionnement de Git, mais ce n'est pas grave – il vous suffit de connaître suffisamment les bases pour stocker vos données en toute sécurité et collaborer avec d'autres.

Ainsi, lorsque ces cinq sont additionnés, il y en a deux massifs – Swift et SwiftUI – ainsi que trois mineurs mais importants. 

Si vous pouvez vous concentrer uniquement sur ces cinq choses sans vous laisser distraire, vous serez sur la bonne voie pour votre premier travail de développeur iOS.

C'est tout : ce sont les cinq compétences essentielles dont je pense que vous avez besoin pour être un développeur iOS. 

Il y a des milliers de personnes qui n'ont que ces compétences et qui peuvent créer et livrer des applications fantastiques sur l'App Store.

Ce qui vient après les fondamentaux

Qu'est-ce qui vient après les fondamentaux ?

Une fois que vous aurez maîtrisé les cinq compétences de base, vous pourrez expédier vos propres applications et travailler en tant que développeur indépendant, ainsi que postuler à des postes de développement iOS junior et travailler pour une entreprise si c'est ce que vous voulez faire. 

Il n'y a pas d'autres qualifications particulières requises - tout nail ces compétences de base et vous serez bien.

Cependant, si vous maîtrisez ces compétences et que vous souhaitez progresser, il y a cinq autres compétences que je vous recommande d'apprendre. Ce sont les compétences qui vous propulseront d'un bon poste à un poste fantastique - vous deviendrez encore plus employable et la gamme d'applications que vous pourrez créer s'élargira encore plus.

Les capacités sont les suivantes :

  • UIKit 
  • Données de base 
  • Validation
  • Tests
  • Architecture logicielle
  • multithreading

Comme précédemment, j'aimerais passer en revue chacune d'entre elles plus en détail afin que vous compreniez pourquoi je pense qu'elles sont importantes - et pourquoi je les considère comme des compétences d'extension plutôt que des compétences de base.

UIKit

Tout d'abord, il y a UIKit. C'est AppleL'ancien framework d'interface utilisateur de , qui est utilisé pour le développement d'applications depuis 2008 - il a 13 ans au moment où j'écris ceci, ce qui est ancien en termes de logiciel. Mais cela ne signifie pas que UIKit est mauvais. En fait, au fur et à mesure que vous vous habituerez à son fonctionnement, vous serez surpris de son élégance.

Il existe de nombreuses raisons pour lesquelles UIKit vaut la peine d'être appris, notamment :

Des centaines de milliers d'applications ont déjà été écrites dans UIKit, donc si vous rejoignez une entreprise qui possède une grande application bien établie, vous devrez presque certainement écrire du code UIKit pour maintenir cette application.

UIKit est bien plus puissant que SwiftUI - il y a beaucoup de choses que vous pouvez faire dans UIKit qui ne sont actuellement pas possibles dans SwiftUI.

En utilisant la technologie de mise en page automatique, vous pouvez créer des mises en page extrêmement précises.

Si vous rencontrez des problèmes avec votre code, UIKit propose plus de solutions que SwiftUI simplement parce qu'il existe depuis bien plus longtemps.

Tout cela rend UIKit fantastique, alors pourquoi en ai-je fait une compétence d'extension plutôt qu'une compétence de base ? 

Parce que UIKit a aussi des problèmes :

Presque tout est plus difficile à faire dans UIKit que dans SwiftUI, certaines tâches nécessitant cent fois, sinon plus, du code. 

SwiftUI a été conçu spécifiquement pour le développement iOS moderne, il fait donc beaucoup de travail pour vous.

Parce que UIKit n'a pas été écrit en Swift, il possède de nombreuses fonctionnalités que SwiftUI n'a pas - de nombreuses options implicitement déballées, le code de marquage avec un attribut spécial @objc pour le rendre disponible pour le ventre Objective-C d'UIKit, et la nécessité d'utiliser des protocoles et des délégués pour afficher des données simples.

Rien à propos de la mise en page automatique n'est "automatique" - en fait, si vous essayez de créer une mise en page complexe, vous pouvez avoir des cauchemars à propos de la mise en page automatique. C'est extrêmement intelligent, mais c'est aussi extrêmement difficile à certains endroits.

Et c'est pourquoi je considère UIKit comme une compétence d'extension : il faut beaucoup plus de temps et d'efforts pour apprendre que SwiftUI, ce qui signifie qu'il faut beaucoup plus de détermination - vous devez vraiment vouloir l'apprendre, sinon vous serez confus , ennuyé, en colère ou potentiellement les trois. 

Bien sûr, SwiftUI ne possède pas toutes les fonctionnalités de UIKit, mais il vous permet de faire des progrès rapides et l'élan de gain avant de passer à UIKit.

Gestion des données de base

Gestion des données de base

Données de base, Apple's framework pour travailler avec les données d'application, est la deuxième compétence d'extension que j'ai mentionnée. 

J'ai mentionné le réseautage et le travail avec les données dans la section des compétences de base, et c'est vrai. Avec ces compétences en place, vous pouvez récupérer tout ce que vous voulez sur un serveur et l'afficher dans votre application. 

Core Data va encore plus loin en vous permettant de manipuler ces données une fois que vous les avez obtenues, comme la recherche de valeurs spécifiques, le tri des résultats, etc., le tout très efficacement. 

Il peut également se connecter facilement à iCloud, garantissant que les données de vos utilisateurs sont synchronisées sur tous leurs appareils.

Core Data présente de nombreux inconvénients, dont le plus grave est qu'il n'est pas toujours agréable de travailler avec. Les données de base sont presque aussi anciennes que UIKit, et bien qu'elles fonctionnent bien dans Objective-C, elles ne semblent pas aussi naturelles dans Swift. 

Il s'intègre bien avec SwiftUI, ce qui donne l'impression less étrange, mais c'est toujours un sujet étonnamment complexe.

Alors, pourquoi l'ai-je inclus en tant que compétence d'extension ? Parce que, comme UIKit, Core Data est extrêmement populaire - des centaines de milliers d'applications ont été créées avec, et il est utilisé dans de nombreuses grandes et petites entreprises. 

Les données de base, comme UIKit, sont extrêmement puissantes, et bien que vous puissiez en recréer les parties les plus importantes dans votre propre code, pourquoi le feriez-vous ?

Tester votre code

La troisième compétence de ma liste d'extensions est le test. Écrire du code spécial pour vous assurer que le code de votre application principale fonctionne comme prévu. 

Les tests nous permettent de nous assurer que notre code fonctionne correctement et, plus important encore, qu'il continue de fonctionner correctement même après que nous y ayons apporté des modifications importantes.

Par exemple, si vous modifiez 500 lignes de code pour implémenter une nouvelle fonctionnalité et que tous vos tests réussissent, vous êtes prêt à partir.

Par conséquent, les tests sont essentiels et vous aideront à écrire des logiciels de meilleure qualité. 

Alors, pourquoi est-elle considérée comme une compétence d'extension plutôt qu'une compétence de base ? 

Il y a trois raisons à cela:

La communauté iOS dans son ensemble est terrible pour les tests, quelles qu'en soient les raisons historiques. Je veux dire, vraiment mauvais - de nombreuses grandes applications n'ont aucun test du tout, et j'ai perdu le compte du nombre de développeurs iOS seniors que j'ai rencontrés et qui sont presque fiers de ne jamais écrire de tests. 

Lorsque vous considérez toutes les choses étonnantes que vous pouvez créer avec Appleoutils et frameworks de , écrire des tests ne semble pas très amusant en comparaison. 

Personnellement, j'aime écrire des tests de la même manière que j'aime la soie dentaire mes dents, mais je sais que beaucoup de gens ne le font pas, en particulier lorsque vous travaillez sur des projets personnels.

Lorsque vous postulez pour un emploi, connaître Swift et AppleLes principaux frameworks de seront toujours plus utiles que de savoir écrire des tests. 

Les entreprises préféreraient que vous sachiez comment utiliser SwiftUI, UIKit ou l'un des autres gros frappeurs, car les tests sont un sujet beaucoup plus petit – il n'y a pas autant de choses à apprendre.

Donc, les tests sont importants, les tests sont importants, et j'aimerais vous apprendre à rédiger de bons tests. Mais seulement après avoir maîtrisé les principes fondamentaux du développement d'applications - après avoir eu un certain succès, vous avez ressenti l'envie d'avoir votre application en direct sur l'App Store et avez maîtrisé les tests.

Architecture logicielle

Architecture logicielle

La quatrième compétence d'extension dont j'aimerais discuter est l'architecture logicielle, qui concerne vraiment la façon dont nous écrivons du code. 

Vous allez écrire un code terrible lorsque vous débutez – du code si mauvais qu'il viole probablement la convention de Genève. 

Ce n'est pas grave parce que c'est comme ça qu'on apprend. Vous ne commencez pas bien – vous devenez bon en étant mauvais pendant longtemps, tout comme LeBron James n'est pas né champion de basket-ball.

Le fait est que vous vous en tenez à votre mauvais code jusqu'à ce que vous trouviez comment faire mieux. C'est là qu'intervient l'architecture logicielle. Examiner des techniques éprouvées pour structurer votre code afin de le rendre plus facile à lire, à utiliser, à modifier et à maintenir à long terme. 

Ces techniques reposent parfois sur le fonctionnement de Swift – des fonctionnalités de langage qui peuvent être utilisées pour écrire un meilleur code. 

Cependant, il existe de nombreuses autres techniques qui fonctionnent dans n'importe quel langage de programmation et sont communément appelées modèles de conception.

Un aspect important de cette compétence que vous devriez commencer à apprendre est de savoir comment décomposer votre code. 

Par exemple, si vous créez un seul écran dans votre application, il peut inclure un bouton de connexion, une galerie d'images et une liste d'amis. 

Cependant, vous devez idéalement séparer chacune de ces parties - un composant de bouton de connexion, un composant de galerie d'images et un composant de liste d'amis - afin que vous puissiez réutiliser n'importe lequel de ces composants dans d'autres parties de votre application.

L'architecture logicielle est bien plus subjective que les autres compétences dont j'ai parlé jusqu'à présent. Pour les autres, tels que SwiftUI, vous pouvez raisonner : « Eh bien, je sais comment faire X, Y et Z, donc je suis sûr d'être un bon développeur SwiftUI. »

 L'architecture logicielle est un sujet très vaste, et il n'y a souvent pas de "bonne" façon évidente de résoudre un problème, donc je pense que la meilleure référence pour cela est celle-ci : pensez-vous à votre code d'il y a six mois, il y a un an et bientôt.

Encore une fois, écrire du mauvais code est acceptable tant que cela vous rapproche de l'écriture d'un meilleur code. 

Je grimace certainement à certains endroits quand je repense au code que j'ai écrit il y a cinq ans, parce que j'en sais plus maintenant qu'à l'époque – et c'est une bonne chose.

multithreading

La dernière compétence d'extension dont j'aimerais discuter est le multithreading, qui consiste à faire en sorte que votre code fasse plus d'une chose à la fois. 

Le multithreading peut être une vraie douleur dans le cou car il est difficile à comprendre pour notre cerveau. Lorsque votre code fait une chose à la fois, nous pouvons y réfléchir de manière linéaire, mais lorsque deux ou trois choses se produisent en même temps, se chevauchant potentiellement, cela peut vraiment faire plier votre cerveau.

Ainsi, bien que le multithreading soit une excellente compétence à avoir en tant que compétence d'extension, vous devez être prudent. Votre objectif devrait être de comprendre juste assez de concepts et de code pour que cela fonctionne bien sans aller trop loin. 

Pour être honnête, de nombreux développeurs pensent que le multithreading rendra instantanément leur code trois ou quatre fois plus rapide. 

Bien que cela soit vrai dans certains cas, dans de nombreux autres cas, votre code s'exécutera en réalité plus lentement et vous devrez maintenant faire face à toute la complexité supplémentaire du code.

Si vous ne me croyez pas, pensez à cette citation de David Smith – Il est membre de Applel'équipe Swift et a déjà passé des années à travailler sur le cœur même de Appleles cadres de :

"Ma recommandation spécifique est d'éviter autant que possible d'écrire du code asynchrone/concurrent. Cela peut sembler étrange en 2018, mais le coût en complexité et en performance est élevé.

Alors, apprenez-en un peu plus sur le fonctionnement du multithreading dans Swift pour montrer que vous comprenez les concepts et la mise en œuvre, mais n'allez pas trop loin ! »

Erreurs courantes commises par les nouveaux développeurs iOS

Erreurs courantes commises par les nouveaux développeurs iOS

À ce stade, j'ai répertorié toutes les compétences de base et d'extension dont je pense que vous aurez besoin pour travailler en tant que développeur iOS à temps plein. 

Mais je veux aussi discuter de certaines des erreurs les plus courantes que les gens commettent en apprenant, parce que je les vois tout le temps et je sais comment elles font reculer les gens.

Il y a sept problèmes majeurs auxquels les gens sont confrontés, et j'aimerais les passer en revue dans l'ordre. 

Ils sont comme suit:

  1. Se souvenir de tout
  2. Syndrome de l'objet brillant
  3. Apprentissage du loup solitaire
  4. Utiliser un logiciel bêta
  5. Selon Appledocumentation de
  6. S'enliser dans Objective-C
  7. Viser d'autres langues

Passons en revue chacun d'eux un par un.

Arrêtez d'essayer de vous souvenir de tout

Arrêtez d'essayer de vous souvenir de tout

La première, et de loin le plus commun, rencontre des gens d'émission tente de mémoriser tout - lecture à travers un tutoriel et croire qu'ils doivent se rappeler tout par cœur. 

S'il vous plaît, s'il vous plaît, s'il vous plaît, ne faites pas ça. C'est une recette pour le désastre et sapera toute votre volonté au point où vous ne voudrez plus jamais programmer.

Personne ne se souvient de tout. Personne n'arrive à se souvenir de tout. Même si vous ne considérez que les API publiées par Apple, qui sont les morceaux de code que nous pouvons utiliser pour créer nos applications, il doit y en avoir bien plus de cent mille disponibles. 

Même si vous vous limitez aux composants de base du développement d'applications, vous en envisagez toujours plusieurs centaines, tous fonctionnant de manière très précise et nécessitant beaucoup d'apprentissage.

Au lieu de cela, vous apprenez à faire quelque chose de nouveau, puis vous oubliez rapidement comment le refaire. 

Alors, vous le recherchez, l'utilisez à nouveau, puis oubliez-le rapidement. Donc, vous le recherchez une troisième fois et l'utilisez, et cette fois vous l'oubliez presque - certaines parties restent avec vous. 

Ce cycle se poursuit indéfiniment, vous devez à chaque fois vous référer à un tutoriel ou à un autre guide de référence, jusqu'à ce que les principes fondamentaux soient ancrés dans votre esprit au point que vous puissiez le faire sans consulter personne d'autre.

Si vous ne le saviez pas déjà, l'oubli est une partie importante de l'apprentissage. 

Chaque fois que vous oubliez quelque chose et que vous le réapprenez, cela s'enfonce de plus en plus profondément dans votre cerveau. Lorsque vous réapprenez quelque chose, votre cerveau établit de nouvelles connexions avec d'autres choses que vous avez apprises, ce qui vous aide à mieux comprendre le contexte de ce que vous essayez de faire. 

Et chaque fois que vous réapprenez, vous signalez à votre cerveau que ce sujet particulier est suffisamment important pour être stocké dans sa mémoire à long terme.

Mais si vous vous efforcez de tout mémoriser, vous allez avoir du mal. 

Au lieu de cela, ne vous inquiétez pas d'oublier des choses. Savoir où les rechercher est bien plus important que de mémoriser un code Swift spécifique pour accomplir quelque chose. 

Lorsque vous oubliez quelque chose et que vous devez le réapprendre, considérez que c'est une bonne chose - cette information s'enfoncera plus profondément la deuxième, la troisième et la dixième fois que vous l'apprendrez, donc vous aidez votre cerveau.

Éviter le syndrome de l'objet brillant

Le deuxième problème le plus courant que les gens rencontrent est ce que j'appelle le « syndrome de l'objet brillant », dans lequel ils trouvent une série de didacticiels qui leur convient et commencent à progresser, mais après une semaine ou deux, ils remarquent une autre série de didacticiels qu'ils voulez suivre et sauter le bateau à la place. 

J'ai reçu des e-mails de personnes disant qu'ils avaient essayé quatre, cinq ou même six séries différentes et qu'ils n'apprenaient rien pour une raison étrange.

Le problème ici est que de nombreux aspects de l'apprentissage sont inintéressants. Ce n'est pas nécessairement la faute de l'enseignant. 

C'est juste un fait d'apprendre à coder - certaines choses vous donnent d'excellents résultats avec peu d'effort, tandis que d'autres prennent beaucoup plus de temps à comprendre, ne produisent pas de résultats fantaisistes ou ne sont qu'une partie d'un concept plus large.

Lorsque vous atteignez ces courbes d'apprentissage abruptes, le syndrome des objets brillants se déclenche - avec autant de didacticiels gratuits disponibles, vous pouvez passer à n'importe lequel d'entre eux et redémarrer, et vous serez de retour dans la partie peu profonde de la piscine, couvrant les parties les plus faciles vous avez déjà appris. 

Mais, nonless le cours original a choisi un sujet inhabituel à couvrir, vous allez probablement devoir l'apprendre par la suite, et vous ne faites que repousser l'inévitable.

Donc, je ne vous demande pas de toujours résister au syndrome de l'objet brillant parce que je comprends à quel point c'est difficile. Au lieu de cela, ayez à tout le moins conscience de cela : lorsque vous rencontrez un problème, essayez de demander de l'aide à quelqu'un d'autre et persévérez plutôt que de changer.

Ne fais pas cavalier seul

Ne fais pas cavalier seul

En parlant de demander à quelqu'un d'autre, le troisième problème que je vois que les gens rencontrent est quand ils vont tous seuls avec leur apprentissage - ils pensent qu'ils sont tout à fait capables d'apprendre à créer des applications iOS en utilisant Swift tout seuls et n'ont pas besoin de l'aide des autres .

Cette méthode fonctionne pour un très petit nombre de personnes, généralement celles qui ont une vaste expérience avec d'autres langages de programmation ou plates-formes. 

Cependant, pour la grande majorité des gens, apprendre de cette manière est une expérience terrible - chaque erreur ou malentendu prend cinq fois plus de temps à résoudre, il est extrêmement facile de perdre la motivation et vous manquez beaucoup d'inspiration en regardant d'autres réussissent.

Si vous êtes un naturel apprenant « loup solitaire », je vous encourage à changer vos habitudes. 

Partagez ce que vous apprenez, connectez-vous avec d'autres qui apprennent et développez l'habitude de poser des questions. 

Non seulement vous découvrirez une communauté fantastique d'apprenants qui soutiendront et vous encourager, mais vous serez également inspirés par leur travail et, à leur tour, leur inspirer la vôtre. Croyez-moi, je l'ai vu des centaines de fois, et il est tout à fait transformateur.

Ne pas utiliser les versions bêta

Le quatrième problème majeur que je vois est lorsque les gens insistent pour utiliser des versions bêta de Appleles outils de développement de. 

Je comprends : chaque année, Apple lance un nouvel iOS, un nouveau macOS et d'autres produits, offrant toujours de nouvelles choses passionnantes à essayer. Il est naturel que les gens veuillent apprendre les derniers et les meilleurs, surtout s'ils savent que Swift a une longue histoire de changement.

Cependant, lorsque les gens essaient d'apprendre avec un logiciel bêta, ils se heurtent à de nombreux problèmes :

Étant donné que les didacticiels n'ont pas été mis à jour pour la version bêta, suivre leurs instructions ne sera pas toujours possible ou échouera.

Les bugs sont courants dans les versions bêta, en particulier celles publiées pour les mises à jour majeures d'iOS.

AppleLes frameworks bêta de prennent du temps à se stabiliser, ce qui signifie que le code qui a fonctionné dans la version bêta 1 peut ne pas fonctionner dans la version bêta 3.

Alors, même si c'est excitant d'apprendre de nouvelles choses et que vous pensez peut-être que vous prenez de l'avance avec de nouvelles fonctionnalités, croyez-moi : cela n'en vaut pas la peine. 

Utilisez toujours les versions publiques les plus récentes de Appledes outils de développement jusqu'à ce que vous soyez à l'aise avec eux.

Se fier à la documentation officielle

Se fier à la documentation officielle

Le cinquième problème majeur auquel les gens sont confrontés lorsqu'ils tentent d'apprendre est de s'appuyer sur Applela documentation de. 

AppleL'équipe des publications des développeurs de s'efforce de documenter autant que possible à partir de la vaste gamme de frameworks de l'entreprise, mais leur travail principal consiste à rédiger des documents de référence - des choses que vous lisez lorsque vous essayez d'utiliser un élément spécifique de leurs outils - plutôt que créer un cours structuré pour vous aider à apprendre à créer des applications iOS.

J'ai perdu le compte du nombre de fois où les gens m'ont demandé : « Comment puis-je apprendre Swift ? » seulement pour se faire dire : "Lis Applele guide de référence Swift de ". 

Cette approche fonctionne pour certaines personnes, et je le sais parce que cela a fonctionné pour moi lorsque Swift a été annoncé pour la première fois – je l'ai lu d'un bout à l'autre. 

Cependant, pour la plupart des gens, cela revient à essayer d'apprendre une langue humaine en lisant un dictionnaire. Il est destiné à tout couvrir dans la langue plutôt que de vous apprendre les parties les plus importantes et comment les appliquer.

Donc, si vous avez une vaste expérience avec d'autres langues, la lecture AppleLes guides de référence de peuvent être utiles, mais si vous débutez, vous voudrez peut-être les revoir après quelques mois.

S'enliser dans Objective-C

Le sixième problème majeur auquel les gens sont confrontés est d'essayer d'apprendre Objective-C. C'était Applelangage de développement principal avant l'introduction de Swift, et bien qu'il existe des restes dans certaines anciennes bases de code, la grande majorité du code existant est maintenant Swift, et presque tout le nouveau code est également Swift.

J'ai passé des années à écrire Objective-C avant Swift et j'ai vraiment grandi pour l'aimer, mais il a une courbe d'apprentissage extrêmement raide et manque la plupart des fonctionnalités importantes de Swift. 

Je me souviens quand Apple a d'abord annoncé le SDK iPhone et j'ai été horrifié par Objective-C car il ne ressemblait à rien d'autre que j'avais vu jusqu'à présent.

Objective-C et Swift n'ont presque rien en commun pour un débutant. 

Oui, ils partagent le même Apple cadres, mais unless vous envisagez de travailler à Apple – la seule entreprise au monde produisant encore de grandes quantités d'Objective-C – vous devriez laisser Objective-C tranquille et vous concentrer entièrement sur Swift.

Ignorer les autres langues

Ignorer les autres langues

La dernière erreur majeure que les gens commettent lorsqu'ils apprennent Swift est de rejeter les autres langues comme étant inférieures à Swift. 

La cible la plus courante est JavaScript, mais vous verrez également des gens viser Python, Java, Ruby, Go et d'autres langages, et pour quoi ? Ce n'est pas une course, les gens – ces langues n'ont pas à perdre pour que Swift gagne.

En fait, Swift et SwiftUI sont fréquemment inspirés par d'autres langages et frameworks - chaque fois que de nouvelles fonctionnalités de langage sont envisagées, la communauté examine des implémentations similaires dans Rust, Python, Haskell et d'autres langages, et SwiftUI est fortement influencé par le JavaScript. React cadre. 

Donc, quand j'entends des membres de notre communauté affirmer que SwiftUI est sans JavaScript ou quelque chose de similaire, je grince des dents - rien ne pourrait être plus éloigné de la vérité.

Ressources et cours de développement iOS

Ressources et cours de développement iOS

Maintenant, pour la partie qui intéresse la plupart des gens : quelles sont les ressources réelles que je pense que vous devriez utiliser pour apprendre Swift, SwiftUI et plus encore - afin d'atteindre votre objectif de devenir un développeur iOS ?

Il y en a beaucoup, et j'apprécie le fait que la communauté Swift compte un groupe de personnes si diversifié qui partage ses connaissances. 

Cependant, dans cet article, je vais me concentrer sur les ressources gratuites – des endroits où vous pouvez apprendre à créer des applications fantastiques sans dépenser un centime.

Cela est dû à deux facteurs:

  1. Certaines personnes croient que plus le prix d'un cours Swift, plus il doit être, de sorte qu'ils finissent par payer des prix exorbitants sans recevoir bénéfice adéquat.
  2. De nombreux sites, comme Udemy, s'appuient sur la vente d'un grand nombre de cours à bas prix, convaincus que si vous n'aimez pas l'un, vous en achèterez simplement un autre. Ils ont également un modèle commercial similaire à celui de Steam en ce sens qu'il y a des ventes constantes, encourageant les gens à accumuler un grand nombre de cours pour étudier "un jour".

Donc, je ne liste ici que les ressources gratuites parce que je ne veux pas que vous tombiez dans ces pièges - ne dépensez pas cent dollars ou plus pour votre premier cours, et n'achetez pas une douzaine de cours bon marché en pensant que cela fera vous un développeur.

Tutoriels

Pour commencer, Apple dispose de deux ressources principales qui peuvent vous aider. Le premier est son site Web Teaching Code, qui contient des ressources pour les étudiants et les enseignants pour apprendre Swift à partir de zéro, jusqu'aux certifications professionnelles. 

Leur programme est vaste, il peut donc prendre un certain temps pour trouver le meilleur point d'entrée pour vous, mais une fois là-bas, vous trouverez beaucoup à explorer.

En second lieu, Apple propose une série de didacticiels SwiftUI qui vous guident tout au long du processus de création d'applications du monde réel. Cependant, ceux-ci n'enseignent pas Swift, vous devez donc d'abord suivre leur programme axé sur Swift.

Comme je l'ai dit précédemment, Apple publie également un guide spécifiquement pour le langage de programmation Swift, mais il y a de fortes chances que cela ne fonctionne pas pour vous - il s'agit d'une référence plutôt que d'un didacticiel structuré, c'est donc une lecture assez dense.

What AppleLes didacticiels de s ne tentent pas de fournir une méthode d'apprentissage structurée. 

YouTube et autres sites

Il existe d'excellentes vidéos YouTube qui vous expliquent les principes fondamentaux de SwiftUI, telles que :

VlhcNR7Qrno
, Dans lequel il vous guide à travers le processus de création d'un jeu de machines à sous à partir du sol.

51xIHDm_BD
explique cinq concepts SwiftUI que tout le monde devrait apprendre lorsqu'il commence à programmer.

aP-SQXTtWhY
qui présente à la fois Swift et SwiftUI tout en répondant aux questions du public.

Il existe d'autres sites proposant des didacticiels Swift et SwiftUI de haute qualité, notamment BLCKBIRDS, Ray Wenderlich, Donny Wals, Antoine van der Lee, etc.

Éducation basée sur les applications

Si vous préférez apprendre à travers des applications, je vous en recommande deux qui sont toutes deux entièrement gratuites. Le premier est AppleL'application Swift Playgrounds de , qui vous permet d'apprendre Swift directement depuis votre iPad ou Mac. 

Il y a beaucoup d'interactif lessons destinés aux enfants, mais il y a aussi certains plus avancés lessons qui vous aideront à faire progresser vos compétences.

L'autre application s'appelle Unwrap, et elle a été créée par moi. Unwrap est compatible avec tous les iPhones et iPads et vous permet d'apprendre, de réviser et de pratiquer les principes fondamentaux de Swift à travers des vidéos, des tests et d'autres outils. Il couvre tous les principes fondamentaux de Swift et complète parfaitement le programme 100 Days of SwiftUI.

Obtenir des solutions

Enfin, vous devrez apprendre à trouver des réponses en ligne. Cela pourrait signifier aller à Stack Overflow, mais j'espère que non car ce n'est pas un endroit particulièrement agréable.

Au lieu de cela, posez des questions sur les forums Hacking with Swift, votre groupe Slack préféré, les sessions iOS Dev Happy Hour, Twitter et ailleurs - nous sommes une communauté vraiment chaleureuse et accueillante avec de nombreuses personnes désireuses de vous aider à atteindre vos objectifs.

S'impliquer dans la communauté

S'impliquer dans la communauté

En parlant de notre communauté, j'aimerais discuter d'un sujet très important qui vous aidera à rencontrer des personnes occupant des postes similaires au vôtre, à apprendre plus efficacement et à trouver des offres d'emploi - c'est une situation gagnant-gagnant tout autour.

Le sujet se connecte avec la communauté de développement iOS. Cela inclut de savoir où chercher des nouvelles et des idées intéressantes, où aller pour rencontrer des gens et partager des conseils, et où aller pour poser des questions.

Qui dois-je suivre sur Twitter ?

Commençons par le plus simple, qui est d'utiliser Twitter. Twitter est un moyen fantastique de suivre les choses qui vous intéressent, et il y a quelques personnes que je recommande fortement dans le cas du développement iOS.

Oui, ces personnes tweetent sur leur propre travail, mais je pense qu'elles sont super à suivre parce qu'elles tweetent aussi beaucoup sur le travail d'autres personnes - elles vous aideront à voir une variété de points de vue sur un sujet particulier, et elles partagent toutes sortes d'idées intéressantes et de choses à essayer.

Voici 9 personnes que je vous recommande de suivre sur Twitter :

Sean Allen passe beaucoup de temps sur YouTube à créer des vidéos de développement Swift et iOS, mais il travaille aussi très dur pour faire connaître le travail des autres – il fait vraiment un excellent travail pour aider tout le monde à découvrir quelque chose de nouveau chaque semaine.

Antoine van der Lee gère un site Web de développement iOS à https://www.avanderlee.com, mais il partage également d'excellents liens vers des ressources utiles qu'il trouve sur GitHub, des newsletters, etc.

Novall Khan travaillant pour Apple, mais cela ne l'empêche pas de publier régulièrement des vidéos sur ce sur quoi elle travaille, ce qu'elle apprend, ce avec quoi elle a des problèmes, et plus encore – elle est vraiment inspirante.

Steve Troughton-Smith est bien connu pour son travail antérieur de bricolage avec iOS, mais vous devriez vraiment le suivre pour le fantastique éventail de liens qu'il partage vers un travail impressionnant. J'aime la façon dont il partage la progression du développement de ses propres applications, afin que vous puissiez les voir grandir du début à la fin.

Kaya Thomas est l'une des développeurs indépendantes les plus connues de notre communauté, et elle a été présentée par Apple plus de fois que je ne peux compter. Elle tweets souvent de son propre travail et des présentations, mais elle partage aussi des liens vers des livres de lecture, elle, nos articles qu'elle a lu, et d'autres ressources.

Majid Jabrailov non seulement écrit un fantastique blog Swift et SwiftUI, mais c'est aussi un pneuless promoteur des autres – si vous le suivez sur Twitter, vous recevrez idée après idée, provenant d'une grande variété de sources.

Donny Wals écrit un blog Swift et, plus récemment, des livres sur Combine et Core Data, mais il encourage également les gens à partager ce sur quoi ils travaillent sur Twitter. Même le simple fait de lire ce fil une fois par semaine vous incitera à essayer de nouvelles choses, vous devez donc absolument suivre Donny.

Sommer Panage travaille sur Applel'équipe d'accessibilité de , donc même si elle est quelque peu limitée dans ce qu'elle peut dire, elle tweete beaucoup de conseils de premier ordre d'elle-même et d'autres que tout le monde peut utiliser pour créer de meilleures applications.

Natascha Fadeeva écrit un blog sur le développement Swift et iOS, y compris des articles sur les données de base, des questions d'entretien et d'autres sujets, mais elle tweete également sur des choses qu'elle trouve ailleurs.

Bulletins et plus

Bulletins et plus

Bien sûr, Twitter n'est pas le seul endroit pour rester en contact avec la communauté ; il existe également des newsletters, des groupes Slack, des rencontres Zoom, des forums, des conférences et d'autres lieux. Je ne veux pas trop vous ennuyer, alors je vais juste en énumérer un ici :

Vous ne pouvez pas vous tromper avec iOS Dev hebdomadaire pour les bulletins. Au moment où j'écris ces lignes, il vient de passer 500 numéros, un par semaine, ce qui, je crois, vous dit tout ce que vous devez savoir sur son importance.

Si vous souhaitez publier sur un forum Web, https://www.hackingwithswift.com/forums est assez bon. Il existe de nombreuses catégories parmi lesquelles choisir, et tout le monde,less niveau d'expérience, est invité à participer. Vous êtes plus que bienvenus pour poster vos questions de débutant ici, croyez-moi !

Chaque mois, le Happy Hour pour les développeurs iOS se déroule lors d'un appel de groupe Zoom avec plus de 300 personnes, mais le vrai plaisir est dans les salles de sous-commission, où vous pouvez discuter avec des groupes de 6 à 8 personnes à la fois. C'est très amusant et vous rencontrerez de nouvelles personnes.

Assister à des conférences a été difficile en raison de la pandémie de coronavirus, mais Apple's WWDC a été un énorme succès l'année dernière, et il était accompagné d'une série d'événements communautaires. Un groupe d'amis et moi avons créé un GitHub référentiel pour aider à garder une trace de tous les autres événements, articles et autres choses qui se sont produites – jetez un œil !

Enfin, si vous préférez discuter sur Slack où vous pouvez obtenir des réponses plus rapidement, vous pouvez rejoindre gratuitement Piratage avec le groupe Swift Slack et rejoignez l'un des canaux Swift, SwiftUI et autres.

Combien de temps faut-il pour apprendre iOS ?

C'est une question que je me pose fréquemment : combien de temps faut-il pour passer de l'ignorance de Swift à la possibilité d'obtenir un poste de développeur iOS débutant ?

La réponse évidente est "ça dépend", mais ce serait un flic dans ce cas, alors permettez-moi de l'aborder de différentes manières.

La règle d'or est de ne pas se précipiter

Tout d'abord, vous ne pouvez pas suivre plusieurs cours en même temps. Vous vous souvenez de ce que j'ai dit à propos du « syndrome de l'objet brillant » ? Oui, beaucoup de gens pensent qu'ils peuvent suivre deux cours en même temps, puis s'entasser pendant quatre, cinq heures ou même plus chaque jour tout en ayant une compréhension de haute qualité des sujets qu'ils ont abordés.

Pour être clair, j'ai vu des gens essayer ça tellement de fois et ça échoue toujours. À chaque fois, cela ne fonctionne jamais, et j'entends des gens dire que c'est parce que les tutoriels étaient mauvais, ou parce que Swift était trop difficile, ou pour littéralement toute autre raison que d'essayer de se précipiter à travers quelque chose de complexe.

Je viens littéralement de recevoir un e-mail disant : "Bonjour Paul ! En combien de temps puis-je terminer Swift si j'étudie quatre ou cinq heures par jour ?" Et ce n'est tout simplement pas ainsi que fonctionne l'apprentissage - qu'il s'agisse d'apprendre Swift, d'apprendre à jouer du piano, d'apprendre à faire du patin à glace ou quoi que ce soit d'autre.

Apprendre Swift peut parfois être difficile, et apprendre à créer des applications nécessite beaucoup d'essais et d'erreurs, de faire des erreurs et de prendre de mauvais virages. Et c'est bien, c'est mieux que bien, c'est fantastique ! 

Parce que chaque fois que vous essayez quelque chose, faites une erreur ou prenez un mauvais virage, vous apprenez quelque chose en cours de route, et lorsque vous arrivez enfin à la solution, vous la comprendrez beaucoup mieux.

Donc, le TL;DR ici, c'est ne vous précipitez pas - prenez votre temps, n'ayez pas peur d'explorer les tangentes qui se présentent, n'ayez pas peur d'expérimenter vos projets et n'ayez pas peur de revenir à quelque chose vous avez déjà appris et réapprenez-le au besoin.

Quelle est votre formation

Quelle est votre formation?

Deuxièmement, vous devez tenir compte de vos antécédents avant de venir chez Swift. Vous voyez, apprendre à créer des applications nécessite un large éventail de compétences, et si vous venez à la table avec une richesse de connaissances préalables telles que version control, structures de données, algorithmes, etc., vous aurez un avantage significatif sur ceux qui débutent en informatique en général, ainsi que Swift et d'autres Apple cadres.

Alors, voici quelques possibilités pour savoir où vous pourriez être en ce moment :

Si vous avez un diplôme en informatique, vous connaissez déjà la plupart des principes fondamentaux de l'informatique nécessaires pour démarrer avec Swift. Les variables, les tableaux, les boucles, les tableaux, les ensembles, les fonctions, la POO et d'autres concepts seront utiles dans Swift, tout comme tout votre travail avec les structures de données et les algorithmes. Cela pourrait vous faire économiser 4 à 6 mois de temps d'étude en fonction des matières que vous avez étudiées, et cela vous donnera également un avantage lorsque vous postulez à des emplois dans de nombreuses entreprises.

Si vous n'avez pas de diplôme en informatique mais que vous avez participé à un bootcamp de codage, vous aurez de nombreux éléments de base dont vous aurez besoin pour démarrer avec Swift. Cela ne vous donnera pas le même avantage lorsque vous postulez à des emplois dans ces entreprises, car elles s'attendent souvent à un diplôme juste pour cocher une case sur leur liste d'exigences arbitraires, mais cela vous fera quand même économiser trois ou quatre mois.

Si vous n'avez pas de diplôme en informatique et que vous n'avez pas participé à un bootcamp, mais que vous avez codé pendant votre temps libre, vous gagnerez du temps - probablement environ deux mois, selon le langage ou les frameworks que vous utilisiez. .

Que se passe-t-il si vous n'avez pas de diplôme en informatique, n'avez pas participé à un bootcamp et n'avez aucune expérience de codage préalable ? Ensuite, j'estimerais de 9 à 12 mois pour passer de rien à un emploi de premier échelon. Oui, cela pourrait être une année complète de travail en plus de votre emploi à temps plein actuel, et c'est juste pour obtenir votre premier emploi en tant que développeur iOS.

Est-ce toujours la même année ? Non. Si vous avez de l'expérience, vous pouvez réduire ce délai de 1 à 6 mois, comme je l'ai indiqué précédemment. Si vous prenez les meilleurs chiffres des deux côtés – 9 mois de rien à un emploi de premier échelon, plus 6 mois pour avoir un diplôme en informatique – cela signifie que vous pourriez être embauché en seulement 3 mois, ce qui est incroyable.

Vous pouvez croire que trouver votre premier emploi en trois mois est impossible, mais ce n'est pas. Zut, j'ai rencontré quelqu'un qui prend mes 100 jours de cours Swift et obtenu un emploi avant le jour 50 - ils avaient déjà appris assez sur le développement d'applications dans less plus de deux mois parce qu'ils font l'effort de faire en sorte que chaque jour compte.

Donc, vous n'avez pas besoin d'un diplôme en informatique ou d'un bootcamp, mais vous devez être prêt à travailler dur.

Accordez-vous une certaine latitude

Le troisième point que j'aimerais faire avant que nous passions à autre chose est que « cela prend autant de temps qu'il le faut ». J'adore les paroles de John Lennon qui disent : "La vie, c'est ce qui arrive quand tu es occupé à faire d'autres projets."

C'est fantastique si vous avez de grands projets d'apprentissage et de grands rêves pour le travail que vous voulez, mais parfois vous êtes fatigué, parfois vous êtes stressé, parfois votre toit fuit ou votre chien doit aller chez le vétérinaire ou vos enfants ont besoin de plus aider avec leurs devoirs, ou quoi que ce soit, et c'est juste la vie. 

Alors, ne soyez pas trop dur avec vous-même si vous prenez du retard dans votre programme d'apprentissage, ou si vous vous retrouvez à manquer quelques jours ou même quelques semaines, et ainsi de suite - tant que vous êtes résilient, vous obtiendrez là.

C'est fantastique si vous travaillez très dur et obtenez un emploi après 50 jours – bravo ! Si cela vous prend 500 jours, c'est fantastique aussi, et vous devriez être tout aussi fier de vous. Bon sang, si ça te prend cinq ans, je suis sûr que ce n'est pas ce que tu voulais, mais le résultat final est le même, et c'est tout ce qui compte.

Se préparer à postuler

Se préparer à postuler

Enfin, si vous êtes un peu plus avancé dans votre parcours d'apprentissage iOS et que vous envisagez de décrocher votre premier emploi de débutant, j'aimerais vous indiquer une vaste collection de ressources que j'ai rassemblées pour vous aider.

je recommanderais Vidéos de conseils sur l'interview Swift de Sean Allen - il a toute une liste de lecture pour eux où vous pouvez travailler sur des discussions individuelles telles que classes vs structs, programmation fonctionnelle, gestion des erreurs, etc. Aucune des vidéos n'est particulièrement longue, mais elles sont toutes conçues pour vous fournir les compétences dont vous avez besoin pour bien performer dans une situation d'entretien.

Où maintenant?

D'accord, j'ai donc passé en revue les compétences de base et d'extension dont vous aurez besoin, les erreurs d'apprentissage courantes, les cours que vous pouvez suivre, comment vous connecter avec la communauté iOS et comment vous préparer à votre entretien d'embauche - c'est beaucoup à couvrir, et j'espère que cela a été utile.

De plus, j'espère avoir démontré combien d'informations sont disponibles gratuitement. 

Oui, la tentation de dépenser cent dollars ou plus pour un cours est forte, mais détendez-vous - commencez d'abord, trouvez un élan et trouvez également quelqu'un qui enseigne Swift d'une manière qui vous convient. Lorsque vous êtes bien placé et que vous vous sentez prêt, allez-y et dépensez de l'argent si vous le souhaitez.

Meilleurs voeux pour votre voyage!

À propos de l’auteure
David Attard
Auteur: David AttardSite Web : https://www.linkedin.com/in/dattard/
David travaille dans ou autour de l'industrie en ligne / numérique depuis 18 ans. Il possède une vaste expérience dans les industries du logiciel et de la conception Web utilisant WordPress, Joomla et les niches qui les entourent. En tant que consultant numérique, son objectif est d'aider les entreprises à obtenir un avantage concurrentiel en utilisant une combinaison de leur site Web et des plates-formes numériques disponibles aujourd'hui.

Encore une chose ... Saviez-vous que les personnes qui partagent des informations utiles comme cet article ont l'air géniales aussi? ;-)
Si vous voulez, vous pouvez laisser un incontournable commentez vos pensées, puis partagez-les sur votre ou vos groupes Facebook qui trouveraient cela utile et récoltons ensemble les avantages. Merci d'avoir partagé et d'être gentil!

Divulgation: Cette page peut contenir des liens vers des sites externes pour des produits que nous aimons et que nous recommandons sans réserve. Si vous achetez des produits que nous suggérons, nous pouvons percevoir des frais de parrainage. Ces frais n'influencent pas nos recommandations et nous n'acceptons pas les paiements pour les avis positifs.

Auteur (s) présenté sur:  Logo du magazine Inc   Logo Sitepoint   Logo CSS Tricks    logo webdesignerdepot   Logo WPMU DEV   et beaucoup plus ...