Mon expérience au sein de The Hacking Project : à la découverte d’un nouvel horizon

Javier Ramon Grunewald
12 min readJan 6, 2019

--

Article en Français

Brève présentation de la formation THP

Qu’est ce que c’est The Hacking Project? C’est une formation qui dure deux mois et demi où vous allez apprendre à coder. Pendant toute la formation vous allez travailler en équipe pour apprendre et évoluer ensemble. Il n’y a pas de profs auprès de qui demander de l’aide mais il faut faire appel à vos coéquipiers ainsi qu’à l’énorme communauté présente sur Slack. Vous allez également devoir faire preuve d’autonomie pour avancer.

Au programme ? du HTML/CSS, JavaScript, Ruby, RubyonRails, utiliser des API’s, créer et utiliser des bases de données avec SQLite3, ActiveRecord et PotgreSQL.

Pourquoi j’ai décidé de faire THP?

C’est un peu le hasard qui m’a amené à me décider de tenter l’aventure du codage pour en faire mon métier. Je ne vais pas vous raconter toute ma vie mais je me trouvais dans une période où j’avais des difficultés à trouver du travail. Après avoir beaucoup réfléchi, j’ai décidé de me lancer dans une reconversion professionnelle. La question était alors : “Reconversion oui, mais vers quel métier?”. Pendant mes longues heures passées dans la recherche d’offres d’emploi je tombais souvent sur des offres dans le développement web. Donc je me suis dit : “Pourquoi pas? J’ai qu’à essayer”. L’objectif était fixé claire mais je ne savais pas encore comment y arriver. C’est à ce moment là où je suis tombé sur une pub de THP sur Facebook.

THP proposait une formation pour apprendre à coder en deux mois et demi, accessible pour tous les niveaux et gratuit (il faut payer une caution de 314€ récupérable à la fin de la formation si on le souhaite). En résumé, une formation courte, ouverte à tous, donc plus besoin de continuer à réfléchir, on y va !

Déroulé des huit premières semaines de formation

Avant d’attaquer la formation il faut finir la semaine zéro et être accepté. Cette semaine zéro permet de voir comment va se passer la formation et tester si on est prêt à tout donner pour réussir. On se confronte à soi même pour résoudre les exercices mais heureusement on peut s’appuyer sur la communauté THP qui est présente sur Slack pour poser des questions et sortir des impasses. Il ne faut pas avoir peur de poser des questions, même si on croit qu’elles sont bêtes, il y aura toujours quelqu’un pour vous répondre et vous aider. Les recherches sur le net deviendront clés pour avancer et vous allez vous habituer à faire les bonnes recherches pour vous débloquer.

Une fois accepté et pendant les huit semaines d’apprentissage vous allez aborder grand nombre de contenus. Pendant les trois premières semaines on commence avec un peu de HTML/CSS et BootStrap. Très vite on attaque le langage de programmation Ruby, qui va nous accompagner tout le long de la formation. Ensuite, on voit quelques notions de comment utiliser les API’s et la magie du scrapping. Puis, on se familiarise avec le concept POO (Programmation Orienté Objet) et on le met en place avec le diabolique jeu du morpion.

A partir de la quatrième semaine, on découvre le framework RubyonRails et à fur et à mesure on se rend compte de sa puissance. Ensuite, c’est le tour des bases de données : on fait leur connaissance, elles nous impressionnent, on les aime et on les hait en même temps, on découvre leur puissance, leurs mille et une relations possibles, mais on s’en sort et on est conscient de leur importance.

La cinquième semaine, on continue avec RubyonRails et on se familiarise avec le CRUD (Create, Read, Update et Destroy), les routes et les controllers. Pendant cette semaine, on met en place aussi nos premiers formulaires et on apprend à créer des sessions pour chaque utilisateur.

La sixième semaine, c’est la dernière de RubyonRails, on est presque des pros (oui, presque…) et on se sent à l’aise avec ce framework. Au fil de ces derniers jours on apprend l’importance des tests et comment les utiliser. Ensuite, on apprend à améliorer nos formulaires en utilisant la Gem Devise et à uploader des fichiers sur notre site de manière très simple avec ActiveStorage. Pour finir, on va utiliser Action Mailer qui nous permettra d’envoyer des emails à nos utilisateurs.

Les deux dernières semaines avant d’attaquer les projets vont être dédiées à l’approfondissement du HTML/CSS ainsi qu’en JavaScript. On va passer deux semaines à appliquer du front dans nos applications RubyonRails et à ajouter des effets avec jQuery et AJAX.

Et voilà !!!! Huit semaines sont passées et on ne s’est même pas rendu compte de tout ce qu’on vient d’apprendre. On respire un peu, on prend du recul et on est fier d’être arrivé jusque là.

Il ne reste QUE les projets en équipe.

Le premier projet consiste à élaborer une boutique en ligne en même pas une semaine. L’organisation et la structuration des tâches vont être un point clé pour réussir, heureusement que THP nous propose d’utiliser Trello pour nous guider. Dans mon cas, on était un groupe de cinq moussaillons et on avait désigné un chef d’équipe pour nous gérer (c’était le plus expérimenté qui avait pris ce rôle). Dès lundi, on divise l’équipe en front et back pour la répartition des tâches et on s’y met à fond. On se donne rendez-vous tous les matins à 9h pétantes pour commencer, on travaille dur (des fois on finit vers 23h — minuit) et on réussi à faire quelque chose d’acceptable et dont on est contents. Bravo la team !!!

Après cette première expérience de gérer un projet, la répartition des tâches et tout faire pour le finir nous a permis de voir comment allaient être les deux semaines suivantes où on devait proposer un projet et le finir en deux semaines. Donc, belle expérience et échauffement pour le projet final.

C’est l’heure de s’y mettre au projet final. On est quatre, deux sur le front et deux sur le back. On suit la même dynamique que dans le projet précédent, on élabore un Trello hyper détaillé, on fait des schémas pour visualiser à quoi le site ressemblera et quelles fonctionnalités il aura. Pendant ces deux dernières semaines on a travaillé comme des malades, on prenait des cartes Trello, on les mettait en pull request sur Github, on les vérifiait et on passait à la suivante… On était investi à 100% . Une fois le projet mis sur Heroku, en production, on n’y croyait plus, mais oui !! ce fut le moment de détente et décompression avec LA team autour d’une pinte bien fraiche et des parties de billard et fléchettes.

Mais il restait encore une étape, le passage devant le jury THP. Il faut bien le dire, on est passé avec justesse mais on l’a fait !! On était conscient que ce n’était pas parfait, qu’il restait du travail à faire, mais on était contents, fiers et satisfaits du projet qu’on avait rendu.

Conseils importants pour avancer dans l’aventure de THP

En premier lieu, et très important, on est à THP pour travailler et avancer ensemble. C’est le principe de base qui vous permettra vivre une expérience inoubliable. Se la jouer perso serait contreproductif avec le risque de installer une mauvaise ambiance dans le groupe. C’est compris ? Individualisme ZERO, NON, NEIN !!!!

Trouvez un endroit sympa pour travailler, ça va être votre chez vous pendant les deux mois et demi, donc assurez vous que les bonnes vibes émanent tel des arcs-en-ciel et des licornes.

Si vous partez de 0 comme moi, n’hésitez pas demander de l’aide à vos camarades moussaillons et sur le Slack. Rarement quelqu’un va vous refuser de vous donner un coup de main. Bien entendu, essayez en premier lieu de chercher sur le net par vous mêmes la réponse ou la solution.

Soyez sérieux et investissez vous car votre progression en dépend. Bien sûr, être sérieux et investi pendant la formation n’empêche pas qu’on puisse rigoler, déconner un peu, délirer, dire n’importe quoi, se détendre et décompresser. Au contraire c’est nécessaire et très important aussi.

Bilan personnel des onze semaines passées au sein de THP

Ce que je peux dire c’est que je partais avec un niveau de programmation 0 et aujourd’hui je peux me débrouiller et faire des sites simples. Je suis loin d’être (à mon avis) encore employable mais ayant fait mon parcours académique et professionnel dans sport et l’enseignement des langues, les mots HTML, CSS, JavaScript, etc étaient comme de l’elfique pour moi, je n’avais jamais entendu parler d’eux.

Prendre la décision de faire THP a été sans aucun doute LA bonne décision. J’ai découvert un métier passionnant avec des possibilités gigantesques.

La suite de cette aventure du codage ? continuer à me former et intégrer une entreprise en tant que développeur ou qui sait, devenir freelance et développer en faisant le tour du monde. Mais chaque chose en son temps.

Article en espagnol

Mi experiencia en The Hacking Project : el descubrimiento de un nuevo horizonte

Breve presentación de la formación THP

¿Qué es The Hacking Project? Es una formación de dos meses y medio de duración en la que aprenderéis a programar. Durante la formación vais trabajar en equipo para aprender y progresar juntos. No hay profesores a los que pedir ayuda pero deberéis apoyaros en vuestros compañeros y en la enorme comunidad de THP presente en Slack. Además, deberéis hacer prueba autonomía y pericia para avanzar.

¿En el programa? HTML/CSS, JavaScript, Ruby, RubyonRails, utilizar varias API, crear y utilizar bases de datos con SQLite3, ActiveRecord y PostgreSQL.

¿Por qué decidí hacer THP?

Es un poco por azar que decidí comenzar la aventura de la programación e intentar hacer de ello mi profesión. No os voy a contar mi vida, pero me encontraba en un periodo en el que tenia ciertas dificultades para encontrar un trabajo. Después de cierta reflexión decidí lanzarme en una reconversión profesional. Entonces, la pregunta era: “Reconversión, vale, ¿pero hacia qué profesión?” Durante las largas horas que pasaba buscando trabajo veía muchas ofertas como desarrollador Web. En ese momento me dije: “¿Por qué no? Sólo tengo que intentarlo”. El objetivo estaba claro pero todavía no sabía cómo iba a conseguirlo. Es en ese momento cuando, por casualidad, me apareció un anuncio de la formación THP en Facebook.

THP proponía una formación para aprender a programar en dos meses y medio, accesible para todos los niveles y gratuita (hay que pagar una fianza de 314€ que se puede recuperar al final de la formación si se desea). En resumidas cuentas, una formación corta y abierta a todos, nada más que decir ni que pensar, ¡¡vamos a ello!!

Desarrollo de las ocho primeras semanas de formación

Antes de comenzar la formación hay que acabar la semana cero y ser admitidos. Durante esta semana podemos hacernos una idea de cómo va a ser la formación y comprobar si estamos dispuestos a darlo todo para llegar hasta el final. Nos confrontamos a nosotros mismos para resolver los ejercicios, pero por suerte podemos apoyarnos sobre la comunidad THP en Slack para poner preguntas y avanzar cuando estamos atascados. No hay que tener miedo a preguntar en el Slack, incluso si creemos que son preguntas tontas, siempre habrá alguien para respondernos y ayudarnos. Las búsquedas en internet se volverán claves para avanzar y os vais a acostumbrar rápidamente a hacer las buenas búsquedas para desbloquearos.

Una vez admitidos y durante las ocho semanas de aprendizaje vais a abordar una gran cantidad de contenidos. Durante las tres primeras semanas comenzamos con un poco de HTML/CSS y de BootStrap. Rápidamente pasamos al lenguaje de programación Ruby, que nos acompañará durante toda la formación. Para continuar vemos algunas nociones sobre cómo utilizar las API y la magia del scrapping. Acabamos esta parte familiarizándonos con el concepto de POO (Programación Orientada Objeto) y lo llevamos a cabo con el diabólico juego del tres en raya.

A partir de la cuarta semana descubrimos el Framework RubyonRails y poco a poco nos damos cuenta de sus capacidades. A continuación, es el turno de las bases de datos: la conocemos, ellas nos impresionan, las amamos y las odiamos al mismo tiempo, descubrimos su potencial, sus mil y unas relaciones posibles, pero salimos a delante y somos conscientes de su importancia.

Durante la quinta semana continuamos con RubyonRails y nos familiarizamos con el CRUD (Create, Read, Update y Destroy), las rutas y los controllers. A los largo de esta semana creamos nuestros primeros formularios y aprendemos a crear sesiones para cada usuario.

La sexta semana es la última de RubyonRails, casi somos pros… (sí, casi…) y nos sentimos cómodos con este Framework. A lo largo de esos últimos días aprendemos la importancia de hacer los test y cómo utilizarlos. Seguidamente, aprendemos a mejorar nuestros formularios con la Gem Devise y a subir ficheros a nuestra página web de manera simple con ActiveStorage. Para terminar, utilizamos Action Mailer para enviar emails a los usuarios de nuestra página.

Las dos últimas semanas, antes de lanzarnos con los proyectos, estarán dedicadas a profundizar con HTML/CSS y JavaScript. Pasaremos dos semanas a aplicar el front-end en nuestra aplicación RubyonRails y a añadir algunos efectos con jQuery y AJAX.

¡¡Y aquí estamos!!! Ocho semanas que han pasado sin darnos prácticamente cuenta de todo lo que hemos estado aprendiendo e integrando. Respiramos un poco, vemos todo lo que hemos logrado hasta ahora y estamos orgullosos de haber llegado tan lejos.

SÓLO quedan los proyectos en equipos.

El primer proyecto consiste en elaborar una tienda online en menos de una semana. La organización y la estructuración de las tareas van a ser un punto clave para lograr el objetivo. Por suerte que THP nos propone utilizar Trello para guiarnos. En mi caso, éramos un grupo de cinco grumetes y designamos a un jefe de equipo (era el compañero que tenía más experiencia en programación). A partir del lunes, dividimos el equipo en front-end y back-end para la repartición de las tareas y nos metemos a ello. Nos damos cita a las 9 en punto para comenzar, trabajamos duro (muy a menudo acabamos a las 23h o medianoche) y logramos hacer algo que consideramos aceptable y de lo que estamos contentos. ¡¡Bravo al equipo!!

Después de esta primera experiencia de gestionar un proyecto, de repartir las tareas y de darlo todo para acabarlo nos a permitido ver cómo iban a ser las dos semanas siguientes en las que deberíamos proponer un proyecto y acabarlo en dos semanas. Entonces, muy buena experiencia y calentamiento para el proyecto final.

Es la hora de meternos de cabeza con el proyecto final. Somos cuatro, dos en el front y dos en el back. Seguimos la misma dinámica que en el proyecto anterior, elaboramos un Trello híper detallado, haceos esquemas para visualizar cómo será la página web y qué funciones tendrá. Durante estas dos semanas trabajamos como locos, cogíamos las tarjetas Trello, las poníamos en pull request en Github, las verificábamos y pasábamos a la siguiente…Estábamos dando el 100%. Una vez que el proyecto estaba subido a Heroku en producción, no nos lo creíamos, pero si!! Era el momento de relajarse y desahogarnos con EL gran equipo con una buena jarra bien fría y algunas partidas al billar y a los dardos.

Pero todavía quedaba una etapa, pasar delante del jurado de THP. Hay que decirlo, pasamos justitos, ¡¡pero pasamos!! Éramos conscientes de que no era perfecto y que queda mucho trabajo que hacer, pero estábamos contentos, orgullosos y satisfechos con el proyecto que habíamos entregado.

Consejos importantes para avanzar en la aventura de THP

En primer lugar, y my importante, estamos en THP para trabajar y avanzar juntos. Es el principio básico que os permitirá vivir una experiencia inolvidable. Ir por su cuenta será contra productivo y habrá riesgo de instalar un mal ambiente en el grupo. ¿Lo habéis pillado? Individualismos ¡¡¡¡¡CERO, NO, NEIN!!!!!

Encontrad un sitio agradable para trabajar, será vuestra casa durante los dos meses y medio, por lo cual, aseguraros de que las buenas vives brotan como si de arcoíris y unicornios se tratasen.

Si comenzáis de 0 como yo, no dudéis en pedir ayuda a vuestros camaradas grumetes y en el Slack. Rara vez alguien os va negar echaros un cable. Obviamente, primero intentad buscar la respuesta o la solución por vosotros mismos.

Sed serios e implicaros en la formación porque vuestra progresión depende de ello. Evidentemente, ser serio et implicado no impide que podamos estar de cachondeo, hacer un poco el tonto, delirar, decir burradas, relajarse y desahogarse. Al contrario, es necesario y también muy importante.

Conclusión de mis once semanas en THP

Lo único que puedo decir es que yo comencé con un nivel en programación de 0 y a día de hoy puedo apañármelas para hacer páginas web simples. En mi opinión, todavía estoy lejos de que una empresa me contrate. Habiendo hecho mis estudios y habiendo trabajado en el deporte y en la enseñanza, palabras como HTML, CSS o JavaScript eran para mí como si fuera élfico, nunca las había escuchado.

Toar la decisión de hacer THP ha sido, sin ninguna duda, la buena decisión. He descubierto una profesión apasionante y con unas posibilidades enormes.

¿La continuación de esta aventura de la programación? Continuar con otra formación, ser contratado en una empresa como desarrollador web, o quién sabe, convertirme en freelance y programar dando la vuelta al mundo. Pero cada cosa a su tiempo.

--

--