Pour ma part, j'habitais à la cambrousse quand j'étais au collège (< 3000 habitants dans mon village)... pas d'internet non plus chez moi.
Mais quand même un petit club "Initiation à Linux", une fois par semaine avec deux passionnés qui donnaient des cours du soir, enfin, j'y ai quasiment jamais vu personne sauf moi et eux deux. Bref, l'un développeur amateur Ruby, PHP, Delphi, C, ... (bref, un bon dev quoi) et l'autre, un dev aussi mais contributeur plutôt actif à l'époque du kernel Linux.
Donc assez tôt mis dans le bain du dev, j'y comprenais pas grand chose, mais j'avais de bonnes réponses à mes mauvaises questions. Puis j'étais pas mauvais en anglais donc on m'a conseillé de bonnes lectures. Puis passé de quoi me mettre au Ruby (en s'amusant à scripter RPG Maker), au PHP (WAMP et quelques pdf pour que je puisse m'amuser sans connexion internet à la maison).
Du coup j'ai aimé, j'ai ré-inventé la roue chez moi, sans vraiment savoir qu'il y'avait des trucs open-source géniaux sur la toile (Wordpress, Joomla, PHPBB, ...). J'ai donc fait livre d'or, plate-forme de blog, upload d'images, forums, mini-jeux, xiti "home-made", ... Puis l'opticien du village d'a côté m'a confié la réalisation de son site internet (il était également dev pro Java, et grâce à lui j'ai eu de très bons conseils sur les SGBD), puis à côté j'en faisais des persos, sans jamais m'y prendre de la même manière.
Puis j'me suis dit, si je faisais une sorte de grosse boite à outils PHP pour m'aider à faire ce que je répète sans arrêt, j'ai pris mes meilleurs bouts de code, je les ai assemblés, j'avais appelé ça ma "WebBox".
Puis j'ai eu internet à la maison, j'ai découvert le site du zéro, j'ai consolidé mes bases dessus, mais en fait, j'en savais déjà beaucoup. J'me suis mis à d'autres langages (JS par exemple), et j'ai découvert les Frameworks (ooooh, mon idée révolutionnaire de "WebBox" !).
J'me suis par la même occasion rendu compte qu'en fait, les deux gourous du départ, n'arrêtaient pas de me parler de Framework, mais je faisais même pas attention au terme (quand je pense que dès le départ j'aurais pu partir sur Rails).
J'ai gardé un moment mon framework maison, je savais utiliser la POO, mais les frameworks PHP du moment étaient un tantinet trop complexes pour moi (abstraction à son paroxysme, ORM, ...), j'y étais pas encore. J'ai lancé mon premier jeu par navigateur parce qu'à ce moment j'aimais bien ça, les jeux par navigateur !
J'ai pris un certain niveau d'un coup, j'me suis lancé dans tout le reste, en utilisant mes acquis, mon approche du web et de ses technos pour dompter et utiliser de manière optimale celles qui me faisaient peur. Et là ce fût les grandes découvertes, la gestion d'un dédié avec mes nouveaux "clients", Git, jQuery, les procédures stockées, l'AJAX (devenue hyper-facile), les caches, les templates, les modèles HMVC, Redis, ... Tout m'a paru d'un coup très simple, un jeu d'enfant. J'me suis à côté mis au Python, au Perl, au C.
J'ai abandonné mes petits outils maisons, c'était trop de réinventer la roue ! CodeIgniter (mon premier framework PHP) est entré dans ma vie. J'arrivais à la fins de mes études (BEP Electronique, BAC Pro Télécoms et Réseaux). Beaucoup de recherches dans les poursuites : BTS IG, BTS SIO, DUT SRC, ... les profs que j'ai pu rencontrer en connaissaient moins que moi que ce soit pour de l'admin réseau ou du dév.
J'ai arrêté mes études, j'ai monté ma boîte. Et j'en vis plutôt bien depuis.
6 ans de parcours pour en conclure que ré-inventer la roue, c'est bien quand on est débutant (et qui plus est, bien conseillé).
EDIT : Ah aussi, et depuis je donne des cours à des BTS, alors que je devrais être en BTS...
Mais quand même un petit club "Initiation à Linux", une fois par semaine avec deux passionnés qui donnaient des cours du soir, enfin, j'y ai quasiment jamais vu personne sauf moi et eux deux. Bref, l'un développeur amateur Ruby, PHP, Delphi, C, ... (bref, un bon dev quoi) et l'autre, un dev aussi mais contributeur plutôt actif à l'époque du kernel Linux.
Donc assez tôt mis dans le bain du dev, j'y comprenais pas grand chose, mais j'avais de bonnes réponses à mes mauvaises questions. Puis j'étais pas mauvais en anglais donc on m'a conseillé de bonnes lectures. Puis passé de quoi me mettre au Ruby (en s'amusant à scripter RPG Maker), au PHP (WAMP et quelques pdf pour que je puisse m'amuser sans connexion internet à la maison).
Du coup j'ai aimé, j'ai ré-inventé la roue chez moi, sans vraiment savoir qu'il y'avait des trucs open-source géniaux sur la toile (Wordpress, Joomla, PHPBB, ...). J'ai donc fait livre d'or, plate-forme de blog, upload d'images, forums, mini-jeux, xiti "home-made", ... Puis l'opticien du village d'a côté m'a confié la réalisation de son site internet (il était également dev pro Java, et grâce à lui j'ai eu de très bons conseils sur les SGBD), puis à côté j'en faisais des persos, sans jamais m'y prendre de la même manière.
Puis j'me suis dit, si je faisais une sorte de grosse boite à outils PHP pour m'aider à faire ce que je répète sans arrêt, j'ai pris mes meilleurs bouts de code, je les ai assemblés, j'avais appelé ça ma "WebBox".
Puis j'ai eu internet à la maison, j'ai découvert le site du zéro, j'ai consolidé mes bases dessus, mais en fait, j'en savais déjà beaucoup. J'me suis mis à d'autres langages (JS par exemple), et j'ai découvert les Frameworks (ooooh, mon idée révolutionnaire de "WebBox" !).
J'me suis par la même occasion rendu compte qu'en fait, les deux gourous du départ, n'arrêtaient pas de me parler de Framework, mais je faisais même pas attention au terme (quand je pense que dès le départ j'aurais pu partir sur Rails).
J'ai gardé un moment mon framework maison, je savais utiliser la POO, mais les frameworks PHP du moment étaient un tantinet trop complexes pour moi (abstraction à son paroxysme, ORM, ...), j'y étais pas encore. J'ai lancé mon premier jeu par navigateur parce qu'à ce moment j'aimais bien ça, les jeux par navigateur !
J'ai pris un certain niveau d'un coup, j'me suis lancé dans tout le reste, en utilisant mes acquis, mon approche du web et de ses technos pour dompter et utiliser de manière optimale celles qui me faisaient peur. Et là ce fût les grandes découvertes, la gestion d'un dédié avec mes nouveaux "clients", Git, jQuery, les procédures stockées, l'AJAX (devenue hyper-facile), les caches, les templates, les modèles HMVC, Redis, ... Tout m'a paru d'un coup très simple, un jeu d'enfant. J'me suis à côté mis au Python, au Perl, au C.
J'ai abandonné mes petits outils maisons, c'était trop de réinventer la roue ! CodeIgniter (mon premier framework PHP) est entré dans ma vie. J'arrivais à la fins de mes études (BEP Electronique, BAC Pro Télécoms et Réseaux). Beaucoup de recherches dans les poursuites : BTS IG, BTS SIO, DUT SRC, ... les profs que j'ai pu rencontrer en connaissaient moins que moi que ce soit pour de l'admin réseau ou du dév.
J'ai arrêté mes études, j'ai monté ma boîte. Et j'en vis plutôt bien depuis.
6 ans de parcours pour en conclure que ré-inventer la roue, c'est bien quand on est débutant (et qui plus est, bien conseillé).
EDIT : Ah aussi, et depuis je donne des cours à des BTS, alors que je devrais être en BTS...