3 años de programación a ciegas. Parte 1

¡Buen día a todos! Me gustaría compartir mi experiencia de la categoría "Ingresa". Además, tuvo lugar en un modo completamente no visual. Se sabe poco sobre las personas ciegas en nuestra sociedad, y mucho menos sobre los programadores ciegos. Y este artículo ofrece seguir cómo y de dónde vienen, incluso si utilizo mi ejemplo.



El artículo no tiene ningún uso práctico. A menos que alguien pueda obtener una pequeña carga de motivación con su ayuda y posponer las cosas.



comienzo



Me familiaricé con la programación en las lecciones de informática en el noveno grado. En ese momento, debido a una enfermedad congénita, mi visión casi se había agotado y durante varios años había recibido educación en casa. Hubo mucho tiempo libre, pero pocas actividades interesantes. Por tanto, tomé un nuevo tema con muchas ganas. Escribir programas era como resolver problemas matemáticos. Pero aquí el problema se podía plantear de forma independiente, y al final había un código que podía solucionarlo sin ti. Es cierto que al principio, hasta el momento en que aprendí a trabajar con una computadora de oído, se quedó solo en mi cabeza.



Se acabó la escuela. Incluso hice el examen de informática, así que me dejé llevar por esta asignatura. Además, hasta hace poco no estaba claro a qué universidad ingresar. Ni mis padres ni yo teníamos dudas sobre la necesidad de una educación superior. No estaba claro qué dirección elegir.



Por un lado, siempre he tenido ansias por las matemáticas y las ciencias. Pero, ¿cómo puede una persona sin vista mostrarse allí? Todavía era posible continuar el desarrollo hacia TI. Pero como resultado, se optó por una gestión más comprometida y universal. Además, en una de las universidades de esta especialidad se impartía enseñanza a distancia. Eso eliminó la necesidad de mudarse a una gran ciudad en este momento. Así que al final sucedió. Pero después de un año de estudio, la cuestión del empleo futuro surgió con mayor claridad.



Apenas podía imaginarme a mí mismo como gerente. ¿Que haré? ¿Podré realizarme a mí mismo? En general, para una persona ciega, elegir una profesión no es una tarea trivial. Muchos acuden a masajistas y medicamentos relacionados. Alguien puede hacer traducciones y otros trabajos con texto. En general, hay muchos lugares donde puedes probarlo tú mismo. Pero siempre existe un gran riesgo de enfrentar una escasa disponibilidad de algo importante.



Trabajar con una computadora, en mi opinión, es exactamente la dirección en la que las personas ciegas pueden mostrarse bien. Primero, ya tienen que conocerlo bastante bien. El uso de un lector de pantalla requiere un conocimiento más profundo del sistema operativo, el teclado, las teclas de acceso rápido y los programas de lo que sería necesario para los usuarios normales. La misma mecanografía táctil en cursos especializados se estudia de forma inmediata. Y de qué otra manera, todavía no podrás espiar.



En segundo lugar, la mayoría de los programas y casi todo Internet desde el teclado son accesibles casi tan bien como para trabajar con un mouse. Esto significa que los ciegos no se quedarán atrás en la realización de las tareas cotidianas. Y en algún lugar, debido a un conocimiento más profundo del tema, y ​​superar al resto.



Bueno, y en tercer lugar, simplemente me gustó. Y así, al segundo año, volví a la programación, pero con el firme objetivo de convertirla en mi profesión.



Formación



Estoy profundamente convencido de que el principal problema de un principiante es que no tiene idea de qué es la programación moderna. En mi alcancía tenía un curso escolar PascalABC.net, y un par de cientos de problemas resueltos del libro de texto. Pero los programas reales están escritos en otra cosa, ¿verdad? ¿Y sobre qué? Me vienen a la mente los que ya se han escuchado: C ++, java, C #. No quedó claro en qué se diferencian y para qué se utilizan. Empecé con C ++. Desenterré un libro de texto de algún lugar, donde, como introducción en un tono medio en broma, el autor analiza los pros y los contras del fenómeno de la máquina virtual Java, la recolección de basura y el modo C # inseguro, el IDE, el compilador y las bibliotecas que necesitamos para trabajar.



Después de recorrer los primeros dos capítulos, quedó claro que este tutorial no fue escrito para mí y ahora no puedo entenderlo. Se necesitaba un mentor. Y fue encontrado.



Algunos entusiastas en una lista de correo para ciegos anunciaron la apertura de cursos de programación específicamente para tal audiencia y se ofrecieron a elegir qué tecnología les gustaría usar. Voté por C ++ sin duda alguna. Se desconocía qué es php y el desarrollo web, y la creación de juegos parecía una ocupación frívola. Pero al final ganó php. Probablemente porque el sistema de votación por Internet de fabricación propia no estaba protegido de ninguna manera contra el paso repetido.



Entonces, el vector de mi desarrollo se desplazó involuntariamente hacia la web. El curso en sí duró poco más de un mes. En el transcurso de algunas sesiones esporádicas, solo tuvimos tiempo de conocer los conceptos básicos de html. El último incluso escribió un par de líneas en php. Pero el entusiasmo del organizador-filántropo disminuyó rápidamente, las clases se llevaron a cabo cada vez menos. Y al final se detuvieron por completo. Pero la dirección estaba establecida, y luego pude seguirla por mi cuenta. Sin embargo, la cuestión seguía sin resolverse. ¿Qué debe saber exactamente un programador?



En Internet, puede encontrar una solución a cualquier problema simple. Pero el panorama completo de la lectura de muchos artículos estrechos no cuadraba. Y luego, en mi camino, hubo cursos de video.

He leído muchas opiniones sobre ellos. Más a menudo se encontraron los negativos. Que esto es una pérdida de tiempo y dinero absolutamente inútil. Lo que atraen hacia sí mismos con promesas fabulosas, de hecho, no dan nada más que la confianza del graduado de que ahora es un gurú del desarrollo. Los cursos son ciertamente diferentes. Pero en ese momento, encontré muy buen material, con la ayuda del cual descubrí en 2 meses las estructuras básicas de php, procesamiento de formularios, autorización, sesiones, cookies, trabajo con la base de datos, oop y mvc. Y lo más importante, lo hizo de manera integral. Cada elemento complementó el panorama general del desarrollo del servidor. Al final de esta etapa, ya podía hacer mi sitio con una lógica no estándar y me sentía como un verdadero especialista. Principiantes, pero con una sólida comprensión de hacia dónde avanzar.



Primeras tareas



Pero primero era necesario intentar aplicar los conocimientos existentes en la práctica. La superación personal y el desarrollo pueden ser infinitos. Pero el profesionalismo implica la aplicación de conocimientos en la práctica. Además, obtener resultados ahora mismo es un gran incentivo para continuar con sus esfuerzos. Bueno, y ciertamente sentí la necesidad de demostrarme a mí mismo que realmente puedo.



La mejor forma de hacerlo era trabajando independientemente. Me registré en varios intercambios y comencé a rastrear pedidos. Y luego se abrió algo interesante: casi todos ellos eran sobre la interfaz o sobre php. Hasta entonces, lamenté en secreto haber tomado esta dirección. Realmente no me gustó el lenguaje de secuencias de comandos. No tenía el rigor de pascal, no se compilaba y no se pueden escribir aplicaciones de PC en él. Y esto es exactamente lo que, en mi opinión del momento, debería ser el desarrollo. Pero el mercado laboral autónomo y remoto ha modificado mi posición. Y pronto recibí mi primer pedido.



Se requería crear una página personalizada especial en crm. Tenía que mostrar datos sobre aplicaciones y trabajos en un formato especial, y el usuario tenía que poder marcarlos con banderas. Crm en sí no tenía funciones integradas para resolver una tarea tan específica, pero permitía expandir su funcionalidad utilizando el lenguaje en el que estaba escrito: php.



Baste decir que hice la tarea durante uno o dos días durante 2 semanas. Principalmente debido al hecho de que por costumbre era muy difícil averiguar exactamente cómo funciona crm. Y donde puedes ver el esquema de su base de datos. Pero al final, se cumplieron todos los requisitos y el cliente quedó muy satisfecho. Porque, como me di cuenta más tarde, otros desarrolladores no querían asumir ese CRM en absoluto.



Marco de referencia



Pero "rey del trabajo independiente" no es el título que me inspiró al comienzo del viaje. Se necesitaba algo más potente, arquitectónico, con la ayuda de la cual las empresas serias crean servicios de usuario complejos y tecnológicamente avanzados: un marco. Escuché esta palabra en cursos de video, donde ambos profesores dijeron que esta es la principal herramienta de su trabajo. Estaba claro que había que ir en esa dirección.



Para empezar, se estudió el encendedor de códigos. Era una copia modificada del marco mvc que hicimos por nuestra cuenta en los cursos. Era tan simple como un corcho, pero ya permitía hacer sitios reales. Sin embargo, me familiaricé con su calidad en el primer pedido para la revisión de algún servicio. Difícilmente olvidaré estas 700 líneas de código de acción del controlador. Por supuesto, puede escribir código incorrecto en cualquier cosa, pero CI parecía provocarlo. No es de extrañar que sea principalmente una cosa del pasado.



Además, ante mí, como ante todo viajero decente, se abrieron 3 caminos: yii, laravel y symfony. Después de una pequeña evaluación, elegí este último. Por razones puramente subjetivas, por supuesto:

  1. Me gustó mucho su estructura de carpetas y su configuración a través de anotaciones.
  2. En reseñas en Internet, se leyó respeto sobre él. Me pareció un instrumento poderoso y muy complejo. A veces excesivo en su poder. Pero habiéndolo dominado, siempre puedes mirar los juegos en la caja de arena del mundo php con un ligero entrecerrar los ojos.


Empecé a estudiar. Y la mejor manera de dominar una nueva plataforma es hacer algo interesante en ella. De regreso a la escuela, escribí un programa para que mi hermano menor estudiara a contar. Un generador de números aleatorios y cuatro operaciones aritméticas básicas. El niño resuelve un número determinado de ejemplos y al final se cuenta el número de errores y se le da una calificación. Algo muy útil en una determinada etapa del entrenamiento. Y ahora podría implementarse a un nuevo nivel tecnológico.



Tomó mucho tiempo. Hice y remodelo. Y en paralelo, la sinfonía estaba reelaborando mi cerebro, porque simplemente no quería renunciar a la idea de empujar el contenedor en esencia. Descubrí muchos de sus componentes. Se actualizó de la versión 3 a la versión 4 y estudió git. Aproximadamente seis meses después, comprobé la realidad del sueño rosa de lanzar mi súper aplicación a la luz. Lamenté un poco los resultados cero y me di cuenta de que era hora de pasar al siguiente nivel: la búsqueda de un trabajo real.



Continuará.



All Articles