Comment pirater ensemble votre propre diplôme CS en ligne gratuitement

Je n'ai pas de diplôme en informatique, j'ai donc dû créer le mien.

Quand j'ai obtenu mon diplôme d'un bootcamp de codage il y a cinq ans, je n'étais absolument pas préparé pour des entretiens techniques. Mon bootcamp de codage a non seulement passé un bref moment (moins de quelques jours!) Sur les algorithmes et l'entretien de codage, mais j'étais malade pendant ce temps.

D'autres candidats postulant pour les mêmes emplois que moi avaient quatre ans à l'école pour préparer leur diplôme en informatique. J'ai passé trois mois à un bootcamp où j'ai appris quelques concepts de base, Rails, et appris moi-même Angular.js.

Au cours des dernières années, j'ai dû combler les lacunes de mes connaissances avec des ressources que je pouvais trouver en ligne et gratuitement. J'ai travaillé comme ingénieur senior pour des entreprises comme Eventbrite et j'ai même écrit un livre O'Reilly. Je suis la preuve que vous n'avez pas besoin d'un diplôme CS pour réussir en tant qu'ingénieur.

Voici comment je l'ai fait.

Introduction à l'informatique

Avant d'essayer de vous plonger dans des cours CS compliqués, je vous recommande de commencer par un cours sur les bases. Cela vous donnera une vue d'ensemble solide et vous aidera également à vous sentir un peu moins intimidé. Si vous passez du temps à avoir une vue d'ensemble solide, le reste de vos cours gratuits en CS sera tellement plus facile.

Mon cours préféré était CS50: Introduction à l'informatique par Harvard.

C'est probablement l'un de mes cours préférés de tous les temps. J'ai toujours aimé l'idée de Harvard, donc c'était une évidence pour moi de suivre un cours d'informatique gratuit là-bas. J'ai même brièvement envisagé de terminer l'une des certifications de Harvard pour la programmation, mais c'était cher, alors j'ai suivi le cours gratuit CS50.

Je n'ai pas fini par obtenir le certificat avec Harvard CS50. J'ai pensé que ce serait tout aussi puissant de lister le cours sur mon CV. Ma règle générale en ce qui concerne le paiement d'un certificat en ligne est qu'à moins qu'il ne s'agisse d'un certificat AWS d'Amazon, cela n'en vaut probablement pas la peine.

Si vous vous sentez intimidé en commençant par un cours de Harvard (ce que j'ai fait aussi!), Vous pouvez trouver un cours plus facile en ligne pour vous mettre à l'aise avant de vous lancer dans des sujets compliqués.

Computer Science 101 est une introduction à l'informatique dès le début. Vous apprendrez comment Internet fonctionne, un peu sur la sécurité informatique, ce qu'est un gigaoctet, des connaissances en codage et plus encore.

Algorithmes

Commencez ensuite avec les algorithmes. L'Université de San Diego propose un cours gratuit de spécialisation sur les structures de données et les algorithmes, avec une énorme quantité de contenu disponible.

C'est écrasant si vous regardez tout ce cours et pensez que vous devez le terminer tout de suite et tout comprendre. Essayez de vous concentrer sur une section à la fois et de revoir régulièrement les concepts.

Et si suivre un cours universitaire sur les structures de données et les algorithmes vous rend un peu mal à l'aise, vous pouvez commencer petit.

Udacity propose un cours gratuit, Introduction aux structures de données et aux algorithmes. J'adore suivre des cours gratuits sur Udacity et celui-ci contient une tonne d'informations intéressantes. Vous couvrirez les tableaux, les listes liées, les piles, la recherche binaire, les cartes, les tas, et plus encore. Ce cours peut vous donner un excellent aperçu qui vous aidera à réussir le cours plus compliqué de l'Université de San Diego.

Si vous vous sentez courageux après avoir terminé un cours d'introduction, le MIT propose un cours sur les structures de données avancées.

Systèmes d'exploitation

Udacity a du contenu gratuit assez cool. Ils offrent une classe appelée Introduction aux systèmes d'exploitation qui est de Georgia Tech. Ce cours vous guidera à travers les threads, la concurrence, les systèmes distribués et plus encore.

J'ai également découvert que le livre, Operating Systems: Three Easy Pieces, est disponible en ligne et gratuitement. Des livres comme celui-ci m'ont vraiment aidé à me sentir plus confiant pour parler de concurrence et de persistance.

Bases de données

Les bases de données m'ont complètement déconcerté lorsque j'ai commencé. J'ai essayé d'éviter de travailler avec eux le plus tôt possible. J'ai tout le temps demandé de l'aide à un ingénieur senior et j'ai pensé que parce que je n'avais pas de diplôme de CS, je ne devrais pas travailler avec une base de données.

Wow, j'avais tellement tort.

J'ai enfin eu le courage de travailler avec du code backend et j'ai adoré trouver comment écrire des requêtes efficaces pour obtenir des données du backend et écrire des requêtes.

Stanford propose un cours en ligne gratuit sur les bases de données. Et si c'est trop intimidant pour commencer, Udacity propose un cours gratuit sur les bases de données qui sera beaucoup plus facile à gérer.

Mathématiques

Quand j'envisageais un diplôme de CS à l'université, tout le monde m'a dit que je devais être vraiment bon en mathématiques. Je n'ai jamais eu le diplôme de CS et cinq ans plus tard, je n'ai pas encore eu besoin d'utiliser beaucoup de mathématiques.

Mais les mathématiques peuvent vous apprendre la logique qui, à son tour, peut vous aider à devenir un meilleur programmeur.

Heureusement, le MIT propose gratuitement un cours de mathématiques pour l'informatique. Suivre un cours comme les mathématiques pour l'informatique peut également vous aider à vous ouvrir à plus de possibilités en technologie, comme la création de votre propre diplôme en apprentissage automatique.

J'ai découvert le cours de mathématiques pour l'informatique du MIT grâce à TeachYourselfCS, un site Web génial avec une tonne de ressources pour apprendre l'informatique.  

TeachYourselfCS a également suggéré un cours sur l'algèbre linéaire qui est disponible sur YouTube. J'adore le contenu gratuit, donc j'étais très heureux de trouver ce livre sur l'algèbre linéaire également disponible en ligne gratuitement.

Donc, comme vous pouvez le voir, vous n'avez pas besoin d'un diplôme CS pour être ingénieur. Certains des ingénieurs les plus intelligents avec lesquels j'ai travaillé n'avaient pas de diplôme de CS. Parfois, ils n'avaient aucun diplôme.

Ne vous inquiétez pas si vous n'avez pas de diplôme. Vous avez juste besoin de pouvoir faire le travail.

J'écris un livre sur la façon dont vous pouvez devenir un développeur hors pair, réussir l'entretien et obtenir un emploi. En savoir plus ici.