3 ans de programmation aveugle. Partie 1

Bonne journée à tous! Je souhaite partager mon expérience de la catégorie "Enter IT". De plus, il s'est déroulé dans un mode totalement non visuel. On sait peu de choses sur les personnes aveugles dans notre société, et encore moins sur les programmeurs aveugles. Et cet article propose de suivre comment et d'où ils viennent, même en utilisant mon exemple.



L'article n'est d'aucune utilité pratique. À moins que quelqu'un puisse obtenir une petite charge de motivation avec son aide et tergiverser.



Début



Je me suis familiarisé avec la programmation dans les cours d'informatique en 9e année. À ce moment-là, en raison d'une maladie congénitale, ma vision s'était presque épuisée et pendant plusieurs années j'avais été scolarisée à la maison. Il y avait beaucoup de temps libre, mais peu d'activités intéressantes. Par conséquent, j'ai abordé un nouveau sujet avec un grand désir. Écrire des programmes était comme résoudre des problèmes mathématiques. Mais ici, le problème pouvait être posé indépendamment, et à la fin il y avait un code qui pouvait le résoudre sans vous. Certes, au début, jusqu'au moment où j'ai appris à travailler avec un ordinateur à l'oreille, cela n'est resté que dans ma tête.



L'école était finie. J'ai même passé l'examen d'informatique, alors j'ai été emporté par ce sujet. En outre, jusqu'à récemment, il n'était pas clair dans quelle université entrer. Ni moi ni mes parents n’avons de doutes quant à la nécessité de suivre une formation supérieure. La direction à choisir n'était pas claire.



D'une part, j'ai toujours eu une soif de mathématiques et de sciences. Mais comment une personne sans vue peut-elle s'y montrer? Il était encore possible de poursuivre le développement vers l'informatique. Mais en conséquence, un compromis et une gestion plus universelle ont été choisis. De plus, dans l'une des universités de cette spécialité, il y avait un enseignement à distance. Cela a éliminé le besoin de déménager dans une grande ville dès maintenant. Donc à la fin c'est arrivé. Mais après un an de formation, la question de l'emploi futur s'est posée plus clairement.



Je pouvais à peine m'imaginer en tant que manager. Que vais-je faire? Serai-je capable de me réaliser? En général, pour une personne aveugle, choisir une profession est une activité non triviale. Beaucoup vont aux massothérapeutes et à la médecine connexe. Quelqu'un peut faire des traductions et d'autres travaux avec du texte. En général, il existe de nombreux endroits où vous pouvez vous essayer. Mais il y a toujours un grand risque d'être confronté à une faible disponibilité de quelque chose d'important.



Travailler avec un ordinateur, à mon avis, est exactement la direction dans laquelle les aveugles peuvent bien se montrer. Premièrement, ils doivent déjà le connaître assez bien. L'utilisation d'un lecteur d'écran nécessite une connaissance plus approfondie du système d'exploitation, du clavier, des raccourcis clavier et des programmes que ce qui serait requis par les utilisateurs ordinaires. La même saisie tactile dans les cours spécialisés est étudiée immédiatement. Et sinon, vous ne pourrez toujours pas regarder.



Deuxièmement, la plupart des programmes et presque tout Internet à partir du clavier sont accessibles presque aussi bien que pour travailler avec une souris. Cela signifie que les aveugles ne seront pas loin derrière lors de l'exécution des tâches quotidiennes. Et quelque part, grâce à une connaissance plus approfondie du sujet, et surpasser le reste.



Eh bien, et troisièmement, je l'ai juste aimé. Et donc, dès la deuxième année, je suis retourné à la programmation, mais avec le ferme objectif d'en faire mon métier.



Entraînement



Je suis profondément convaincu que le principal problème d'un débutant est qu'il n'a aucune idée de ce qu'est en fait la programmation moderne. Dans ma tirelire, j'avais un cours scolaire PascalABC.net, et quelques centaines de problèmes résolus à partir du manuel. Mais les vrais programmes sont écrits dans autre chose, non? Et sur quoi? On a pensé aux précédents entendus: C ++, java, C #. En quoi ils diffèrent et à quoi ils servent n'est pas clair. J'ai commencé avec C ++. J'ai déterré un manuel quelque part, où, en guise d'introduction d'un ton geek à moitié blagueur, l'auteur discute des avantages et des inconvénients du phénomène de la machine virtuelle java, du ramasse-miettes et du mode C # non sécurisé, de l'IDE, du compilateur et des bibliothèques dont nous avons besoin pour travailler.



Après avoir parcouru les deux premiers chapitres, il est devenu clair que ce tutoriel n'avait pas été écrit pour moi et maintenant je ne peux pas le comprendre. Un mentor était nécessaire. Et il a été retrouvé.



Certains passionnés de la liste de diffusion pour les aveugles ont annoncé l'ouverture de cours de programmation spécifiquement pour un tel public et ont proposé de choisir la technologie qu'ils aimeraient utiliser. J'ai voté pour C ++ sans aucun doute. Qu'est-ce que le développement PHP et Web était inconnu, et la création de jeux semblait être une occupation frivole. Mais à la fin, php a gagné. Probablement parce que le système de vote par Internet créé par lui-même n'était en aucun cas protégé des passages répétés.



Le vecteur de mon développement s'est donc involontairement déplacé vers le web. Le cours lui-même a duré un peu plus d'un mois. Au cours de quelques séances sporadiques, nous n'avons eu que le temps de connaître les bases du html. Le dernier a même écrit quelques lignes en php. Mais l'enthousiasme de l'organisateur-philanthrope s'est vite affaibli, les cours se tenaient de moins en moins. Et à la fin, ils se sont complètement arrêtés. Mais la direction était fixée et je pourrais la suivre par moi-même. Cependant, la question n’a pas été résolue. Que doit savoir exactement un programmeur?



Sur Internet, vous pouvez trouver une solution à tout problème simple. Mais le tableau d'ensemble de la lecture de nombreux articles restreints ne s'additionnait pas. Et puis sur mon chemin il y avait des cours vidéo.

J'ai lu beaucoup d'opinions à leur sujet. Plus souvent, des négatifs sont apparus. C'est une perte de temps et d'argent absolument inutile. Ce qu'ils s'attirent avec de fabuleuses promesses, en fait, ne donne rien d'autre que la confiance du diplômé qu'il est maintenant un gourou du développement. Les cours sont certainement différents. Mais à ce moment-là, je suis tombé sur du très bon matériel, avec l'aide duquel j'ai compris en 2 mois les structures de base de php, le traitement des formulaires, les autorisations, les sessions, les cookies, le travail avec la base de données, oop et mvc. Et surtout, il l'a fait de manière globale. Chaque élément a complété l'image globale du développement de serveurs. À la fin de cette étape, je pourrais déjà faire mon site avec une logique non standard et me sentir comme un vrai spécialiste. Débutants, mais avec une solide compréhension de la prochaine étape.



Premières tâches



Mais il fallait d'abord essayer d'appliquer les connaissances existantes dans la pratique. L'auto-amélioration et le développement peuvent être sans fin. Mais le professionnalisme implique l'application des connaissances dans la pratique. De plus, obtenir des résultats dès maintenant est une excellente incitation à poursuivre vos efforts. Eh bien, et j'ai certainement ressenti le besoin de me prouver que je peux vraiment.



La meilleure façon d'y parvenir était de travailler à la pige. Je me suis inscrit sur plusieurs échanges et j'ai commencé à suivre les commandes. Et puis une chose intéressante s'est ouverte: presque tous concernaient soit le frontend, soit php. Jusque-là, je regrettais secrètement d'avoir pris cette direction. Je n'aimais pas vraiment le langage de script. Il n'avait pas la rigueur de pascal, il ne se compilait pas et vous ne pouviez pas y écrire d'applications PC. Et c'est exactement ce que, à mon avis de l'époque, devrait être le développement. Mais le marché du travail indépendant et à distance a modifié ma position. Et bientôt j'ai reçu ma première commande.



Il était nécessaire de créer une page personnalisée spéciale sur crm. Il était censé afficher des données sur les applications et fonctionne dans un format spécial, et l'utilisateur devrait pouvoir les marquer avec des drapeaux. Crm lui-même n'avait pas de fonctions intégrées pour résoudre une tâche aussi spécifique, mais il permettait d'étendre ses fonctionnalités en utilisant le langage dans lequel il a été écrit lui-même - php.



Qu'il suffise de dire que j'ai fait la tâche pendant un ou deux jours pendant 2 semaines. Principalement en raison du fait que par habitude, il était très difficile de comprendre exactement comment fonctionne le CRM. Et où vous pouvez voir le schéma de sa base de données. Mais au final, toutes les exigences ont été satisfaites et le client a été très satisfait. Parce que, comme je l'ai réalisé plus tard, les autres développeurs ne voulaient pas du tout se lancer dans un tel CRM.



Cadre



Mais «roi du freelance» n'est pas le titre qui m'a inspiré au début du voyage. Il fallait quelque chose de plus puissant, d'architecture, à l'aide duquel des entreprises sérieuses créent des services utilisateurs complexes et technologiquement avancés - un cadre. J'ai entendu ce mot sur les cours vidéo, où les deux professeurs ont dit que c'était le principal outil de leur travail. Il était clair qu'il fallait aller dans cette direction.



Pour commencer, l'inflammateur de code a été étudié. C'était une copie modifiée du framework mvc que nous avons fait nous-mêmes dans les cours. C'était aussi simple qu'un bouchon, mais cela permettait déjà de faire de vrais sites. Cependant, j'ai pris connaissance de leur qualité lors de la première commande de révision de certains services. J'oublierai à peine ces 700 lignes de code d'action du contrôleur. Bien sûr, vous pouvez écrire du mauvais code sur n'importe quoi, mais CI semblait ne faire que le provoquer. Pas étonnant qu'il appartienne surtout au passé.



De plus, devant moi, comme avant tout voyageur honnête, 3 routes se sont ouvertes: yii, laravel et symfony. Après une petite évaluation, j'ai choisi ce dernier. Pour des raisons purement subjectives, bien sûr:

  1. J'ai beaucoup aimé sa structure de dossiers et sa configuration via des annotations.
  2. Dans les critiques sur Internet, le respect a été lu à son sujet. Cela m'a semblé être un instrument puissant et très complexe. Parfois excessive dans sa puissance. Mais après l'avoir maîtrisé, vous pouvez toujours regarder les jeux dans le bac à sable du monde php avec un léger strabisme.


J'ai commencé à étudier. Et la meilleure façon de maîtriser une nouvelle plateforme est de faire quelque chose d'intéressant dessus. De retour à l'école, j'ai écrit un programme pour mon jeune frère pour étudier le comptage. Un générateur de nombres aléatoires et quatre opérations arithmétiques de base. L'enfant résout un nombre donné d'exemples, et à la fin le nombre d'erreurs est compté et une note est donnée. Une chose très utile à un certain stade de la formation. Et maintenant, il pourrait être mis en œuvre à un nouveau niveau technologique.



Cela a pris beaucoup de temps. Je l'ai fait et remodeler. Et en parallèle, la symphonie retravaillait mon cerveau, parce que je ne voulais tout simplement pas abandonner l'idée de pousser le contenant par essence. J'ai découvert plusieurs de ses composants. Mise à jour de la version 3 à la version 4 et étude de git. Environ six mois plus tard, j'ai vérifié la réalité du rêve rose de lancer ma super application dans la lumière. J'ai un peu souffert de zéro résultat et j'ai réalisé qu'il était temps de passer au niveau suivant - la recherche d'un vrai travail.



À suivre.



All Articles