Carrera de programación. Capítulo 1. Primer programa

Carrera de programación. Capítulo 1. Primer programaEstimados lectores de Habr, les presento una serie de publicaciones que en el futuro planeo combinar en un libro. Quería profundizar en el pasado y contar mi historia de cómo me convertí en desarrollador y sigo siéndolo.

Sobre los requisitos previos para ingresar a TI, el camino del ensayo y error, el autoaprendizaje y la ingenuidad infantil. Comenzaré mi historia desde la primera infancia y la terminaré hoy. Espero que este libro sea especialmente útil para aquellos que recién están estudiando una especialidad de TI.
Y aquellos que ya trabajan en TI probablemente establecerán paralelismos con su propio camino.

En este libro encontrarás referencias a la literatura que he leído, la experiencia de comunicarme con personas con las que me crucé mientras estudiaba, trabajaba y lanzaba una startup.
Desde profesores universitarios hasta grandes inversores de riesgo y propietarios de empresas multimillonarias.
A día de hoy, están listos 3.5 capítulos del libro, de 8 a 10 posibles. Si los primeros capítulos encuentran una respuesta positiva de la audiencia, publicaré el libro completo.

Acerca de mí

No soy John Carmack, Nikolai Durov o Richard Matthew Stallman. No trabajé en empresas como Yandex, VKontakte o Mail.ru.
Aunque tenía experiencia trabajando en una gran corporación, de la que definitivamente os hablaré. Pero creo que la cuestión no está tanto en el gran nombre, sino en la historia misma del camino para convertirme en desarrollador y, además, en las victorias y derrotas que ocurrieron durante mis 12 años de carrera en desarrollo comercial. Por supuesto, algunos de ustedes tienen mucha más experiencia en TI. Pero creo que vale la pena describir los dramas y victorias que han ocurrido durante mi carrera actual. Hubo muchos eventos y todos fueron diversos.

¿Quién soy hoy como desarrollador?
— Participó en más de 70 proyectos comerciales, muchos de los cuales escribió desde cero.
— En una docena de proyectos propios: código abierto, startups
— 12 años en TI. Hace 17 años - escribió el primer programa.
- Persona más valiosa de Microsoft 2016
— Profesional certificado de Microsoft
— Maestro de Scrum certificado
— Tengo un buen dominio de C#/C++/Java/Python/JS
— Salario — 6000-9000 $/mes. dependiendo de la carga
— Mi principal lugar de trabajo hoy es el intercambio independiente Upwork. A través de él trabajo para una empresa que se ocupa de PNL/AI/ML. Tiene una base de 1 millón de usuarios.
— Lanzadas 3 aplicaciones en AppStore y GooglePlay
— Me estoy preparando para fundar mi propia empresa de TI en torno al proyecto que estoy desarrollando actualmente.

Además del desarrollo, escribo artículos para blogs populares, enseño nuevas tecnologías y hablo en conferencias. Me relajo en el gimnasio y con mi familia.

Probablemente eso sea todo sobre mí en lo que respecta al tema del libro. La siguiente es mi historia.

Historia. Comenzar.

La primera vez que aprendí qué es una computadora cuando tenía 7 años. Recién comencé primer grado y en la clase de arte nos pusieron tarea para hacer una computadora con cartón, gomaespuma y rotuladores. Por supuesto que mis padres me ayudaron. Mamá estudió en una universidad técnica a principios de los 80 y sabía de primera mano qué era una computadora. Durante el entrenamiento, incluso logró perforar tarjetas perforadas y cargarlas en la gigantesca máquina soviética que ocupaba la mayor parte de la sala de entrenamiento.

Completamos nuestra tarea con una calificación de 5 porque hicimos todo con diligencia. Encontramos una hoja gruesa de cartulina A4. Se cortaron círculos de juguetes viejos de gomaespuma y la interfaz de usuario se dibujó con rotuladores. Nuestro dispositivo tenía solo unos pocos botones, pero mi madre y yo les asignamos la funcionalidad necesaria, y durante la lección le mostré al maestro cómo al presionar el botón "Encendido", se encendía una bombilla en la esquina de la "pantalla, ”Mientras dibuja simultáneamente un círculo rojo con un rotulador.

Mi siguiente encuentro con la tecnología informática ocurrió aproximadamente a la misma edad. Los fines de semana visitaba a menudo a mis abuelos, quienes, a su vez, vendían varios trastos y también los compraban de buena gana por unos centavos. Relojes antiguos, samovares, calderas, insignias, espadas de guerreros del siglo XIII y más. Entre toda esta variedad de cosas, alguien le trajo una computadora que funcionaba con un televisor y una grabadora de audio. Afortunadamente, mi abuela tenía ambos. De fabricación soviética, por supuesto. TV Electron con ocho botones para cambiar de canal. Y una grabadora Vega de dos casetes, que incluso podía volver a grabar cintas de audio.
Carrera de programación. Capítulo 1. Primer programa
Computadora soviética “Poisk” y periféricos: TV “Electron”, grabadora “Vega” y casete de audio con lenguaje BÁSICO

Empezamos a descubrir cómo funciona todo este sistema. Con la computadora se incluían un par de casetes de audio, un manual de instrucciones muy desgastado y otro folleto con el título “Lenguaje de programación BÁSICO”. A pesar de mi infancia, traté de participar activamente en el proceso de conectar los cables a la grabadora y al televisor. Luego insertamos uno de los casetes en el compartimiento de la grabadora, presionamos el botón "Adelante" (es decir, iniciar la reproducción) y en la pantalla del televisor aparecieron pseudográficos incomprensibles de texto y guiones.

La unidad principal en sí parecía una máquina de escribir, sólo que bastante amarillenta y de un peso notable. Con la emoción de un niño, presioné todas las teclas, no vi ningún resultado tangible, corrí y salí a caminar. Aunque ya entonces tenía frente a mí un manual en lenguaje BASIC con ejemplos de programas que, por mi edad, simplemente no podía reescribir.

De los recuerdos de la infancia, ciertamente recuerdo todos los aparatos que mis padres me compraron, después de haber trabajado con otros familiares. El primer sonajero fue el conocido juego “El lobo atrapa huevos”. Lo terminé bastante rápido, vi la caricatura tan esperada al final y quería algo más. Luego estaba el Tetris. En aquel momento valía 1,000,000 de cupones. Sí, fue en Ucrania a principios de los años 90, y me dieron un millón por mi éxito académico. Merecidamente sintiéndome millonario, encargué a mis padres este juego más complejo, en el que tenían que colocar correctamente figuras de diferentes formas que caían desde arriba. El día de la compra, mis padres me quitaron incontrolablemente el Tetris y no pudieron deshacerse de él durante dos días.

Carrera de programación. Capítulo 1. Primer programa
Famoso "El lobo atrapa huevos y el Tetris"

Luego estaban las consolas de juegos. Nuestra familia vivía en una casa pequeña, donde también vivían mi tío y mi tía en la habitación de al lado. Mi tío era piloto militar, pasó por puntos calientes, por lo que a pesar de su modestia era muy tenaz y le tenía miedo a poco, después de reales
operaciones militares. Al igual que muchas personas en los años 90, mi tío se puso a trabajar y tenía unos ingresos bastante buenos. Entonces aparecieron en su habitación un televisor importado, una videograbadora y luego un decodificador Subor (análogo a Dendy). Me dejó sin aliento verlo jugar Super Mario, TopGun, Terminator y otros juegos. Y cuando me entregó el joystick, mi felicidad no tuvo límites.

Carrera de programación. Capítulo 1. Primer programa
Consola de ocho bits "Syubor" y el legendario "Super Mario"

Sí, como todos los niños corrientes que crecieron en los años noventa, pasaba todo el día en el patio. Ya sea jugando a la pelota pionera, al bádminton o trepando a los árboles del jardín, donde crecían muchas frutas diferentes.
Pero este nuevo producto, en el que puedes controlar a Mario, saltar obstáculos y salvar a la princesa, fue muchas veces más interesante que cualquier aficionado a los ciegos, ladushka y los clásicos. Por eso, al ver mi genuino interés por los prefijos, mis padres me dieron la tarea de aprender las tablas de multiplicar. Entonces cumplirán mi sueño. Le dan clases en segundo grado y yo recién terminé el primero. Pero dicho y hecho.

Era imposible pensar en una motivación más fuerte que tener tu propia consola de juegos. Y en una semana ya respondía fácilmente las preguntas “siete nueve”, “seis tres” y cosas por el estilo. La prueba pasó y me compraron el ansiado regalo. Como aprenderá más adelante, las consolas y los juegos de computadora desempeñaron un papel importante a la hora de interesarme por la programación.

Así fue año tras año. Estaba saliendo la próxima generación de consolas de juegos. Primero Sega de 16 bits, luego Panasonic y luego Sony PlayStation. Los juegos eran mi entretenimiento cuando era bueno. Cuando había algún tipo de problema en el colegio o en casa, me quitaban los joysticks y, por supuesto, no podía jugar. Y por supuesto, captar el momento en el que regresabas del colegio, y tu padre aún no había regresado del trabajo para ocupar el televisor, también fue una suerte de suerte. Así que es imposible decir que era un adicto al juego o que pasaba todo el día jugando. No hubo tal oportunidad. Prefería pasar todo el día en el patio, donde también podía encontrar algo.
interesante. Por ejemplo, un juego completamente salvaje: los tiroteos aéreos. Hoy en día no se ve algo así en los patios, pero entonces era una auténtica guerra. El paintball es un juego de niños comparado con la matanza que provocamos. habia globos aerostáticos
cargado con densas balas de plástico. Y después de dispararle a otro tipo a quemarropa, le dejó un hematoma en la mitad del brazo o en el estómago. Así vivíamos.

Carrera de programación. Capítulo 1. Primer programa
Pistola de juguete desde la infancia.

No estaría de más mencionar la película “Hackers”. Se estrenó recién en 1995, protagonizada por Angelina Jolie, de 20 años. Decir que la película me impresionó mucho es no decir nada. Después de todo, el pensamiento de los niños percibe todo al pie de la letra.
Y cómo estos tipos limpiaron cajeros automáticos, apagaron semáforos y jugaron con la electricidad por toda la ciudad: para mí fue mágico. Entonces se me ocurrió que sería genial volverse tan omnipotente como los Hackers.
Unos años más tarde, compré todos los números de la revista Hacker e intenté piratear el Pentágono, aunque todavía no tenía Internet.

Carrera de programación. Capítulo 1. Primer programa
Mis héroes de la película "Hackers".

Un verdadero descubrimiento para mí fue una PC real, con un monitor con lámpara de 15 pulgadas y una unidad de sistema basada en un procesador Intel Pentium II. Por supuesto, lo compró su tío, quien a finales de los noventa había ascendido lo suficiente como para permitirse el lujo de
tales juguetes. La primera vez que me pusieron un juego no fue demasiado emocionante. Pero un día llegó el día del juicio, los astros se alinearon y vinimos a visitar a nuestro tío, que no estaba en casa. Yo pregunté:
— ¿Puedo encender la computadora?
“Sí, haz lo que quieras con él”, respondió la cariñosa tía.

Por supuesto, hice lo que quería con él. Había diferentes iconos en el escritorio de Windows 98. WinRar, Word, FAR, Klondike, juegos. Después de hacer clic en todos los íconos, mi atención se centró en FAR Manager. Parece una pantalla azul incomprensible, pero con una larga lista (de archivos) que se pueden iniciar. Al hacer clic en cada uno de ellos, capté el efecto de lo que estaba sucediendo. Algunos funcionaron, otros no. Después de un tiempo, me di cuenta de que los archivos que terminan en “.exe” son los más interesantes. Lanzan diferentes imágenes interesantes en las que también puedes hacer clic. Así que probablemente lancé todos los archivos exe disponibles en la computadora de mi tío, y luego apenas me sacaron de las orejas del juguete súper interesante y me llevaron a casa.

Carrera de programación. Capítulo 1. Primer programa
El mismo gerente de las FAR

Luego estaban los clubes de informática. Mi amigo y yo íbamos a menudo allí para jugar Counter Strike y Quake online, algo que no podíamos hacer en casa. A menudo les pedía cambio a mis padres para poder jugar en el club durante media hora. Al ver mis ojos, como los del gato de Shrek, me ofrecieron otro lucrativo contrato. Termino el año escolar sin notas C y me compran una computadora. El contrato se firmó a principios de año, en septiembre, y el codiciado PC debía llegar en junio, sujeto al cumplimiento de los acuerdos.
Hice lo mejor que pude. Incluso vendí mi querida Sony Playstation por emoción para distraerme menos de mis estudios. Aunque era un estudiante regular, el noveno grado fue importante para mí. Maldita nariz, sólo tenía que sacar buenas notas.

Ya en primavera, mientras anticipaba la compra de un PC, ocurrió probablemente el acontecimiento más significativo de mi vida. Intento pensar en el futuro, y un buen día le dije a mi padre:
- Papá, no sé usar una computadora. Inscribámonos a los cursos

Dicho y hecho. Al abrir el periódico con anuncios, el padre encontró un bloque escrito en letra pequeña con el título "Cursos de computación". Llamé a los profesores y al cabo de un par de días ya estaba en estos cursos. Los cursos se llevaron a cabo al otro lado de la ciudad, en un antiguo edificio de paneles de Khrushchev, en el tercer piso. En una habitación había tres PC seguidas y aquellos que querían estudiar estaban entrenados en ellas.

Recuerdo mi primera lección. Windows 98 tardó mucho en cargar, entonces el profesor tomó la palabra:
- Entonces. Ante ti hay un escritorio de Windows. Contiene iconos de programas. En la parte inferior está el botón Inicio. ¡Recordar! Todo el trabajo comienza con el botón Iniciar. Haga clic en él con el botón izquierdo del ratón.
Él continuó.
- Aquí - ves los programas instalados. Calculadora, Bloc de notas, Word, Excel. También puede apagar su computadora haciendo clic en el botón "Apagar". Intentalo.
Finalmente pasó a la parte más difícil para mí en ese momento.
"En el escritorio", dijo el profesor, también se pueden ver programas que se pueden iniciar haciendo doble clic.
- ¿¡Doble!? - ¿Cómo es esto en general?
- Intentemos. Inicie el Bloc de notas haciendo doble clic en él con el botón izquierdo del mouse.

Sí, schaass. Lo más difícil en ese momento fue mantener el mouse en un lugar y al mismo tiempo hacer dos clics rápidamente. En el segundo clic, el mouse se movió un poco y el acceso directo con él. Pero aun así logré superar una tarea tan insuperable durante la lección.
Luego hubo formación en Word y Excel. Un día, simplemente me dejaron mirar fotografías de la naturaleza y monumentos arquitectónicos. Fue la actividad más interesante que recuerdo. Mucho más divertido que aprender a formatear texto en Word.

Al lado de mi PC, otros estudiantes estaban estudiando. Un par de veces me encontré con chicos que escribían programas mientras discutían acaloradamente sobre este proceso. Esto también me interesó. Recordando la película Hackers y cansado de MS Office, pedí que me transfirieran a cursos.
programación. Como todos los acontecimientos importantes de la vida, esto ocurrió de forma espontánea, por interés.

Llegué a mi primera lección de programación con mi madre. No recuerdo por qué. Al parecer tuvo que negociar nuevos cursos y realizar el pago. Afuera era primavera y ya había oscurecido. Recorrimos toda la ciudad en minibús-Gazelle hasta las afueras, llegamos al famoso
panel Khrushchev, subió al suelo y nos dejó entrar.
Me sentaron frente a la computadora final y abrieron un programa con una pantalla completamente azul y letras amarillas.
- Este es Turbo Pascal. El maestro comentó su acción.
- Mira, aquí escribí documentación sobre cómo funciona. Léelo y echa un vistazo.
Frente a mí había un lienzo de texto amarillo, absolutamente incomprensible. Intenté descubrir algo por mí mismo, pero no pude. Gramática china y eso es todo.
Finalmente, después de un tiempo, el líder del curso me entregó una hoja de papel A4 impresa. En él estaba escrito algo extraño que había vislumbrado anteriormente en los monitores de los chicos de los cursos de programación.
- Reescribir lo que está escrito aquí. La maestra ordenó y se fue.
Empecé a escribir:
programa suma;

Escribí, buscando simultáneamente letras en inglés en el teclado. En Word al menos me formé en ruso, pero aquí tengo que aprender otras letras. El programa fue escrito con un dedo, pero con mucho cuidado.
comienzo, fin, var, número entero - ¿Qué es esto? Aunque estudié inglés desde primer grado y conocía el significado de muchas palabras, no podía conectarlas todas. Como un oso adiestrado en bicicleta, seguí pedaleando. Finalmente algo familiar:
writeln('Ingrese el primer número');
Luego - writeln('Ingrese el segundo número');
Luego - writeln('Resultado = ',c);
Carrera de programación. Capítulo 1. Primer programa
Ese primer programa Turbo Pascal

Uf, lo escribí. Quité mis manos del teclado y esperé a que apareciera el gurú para recibir más instrucciones. Finalmente se acercó, escaneó la pantalla y me dijo que presionara la tecla F9.
"Ahora el programa está compilado y comprobado en busca de errores", dijo el gurú.
No hubo errores. Luego dijo que presione Ctrl+F9, lo cual también tuve que explicar paso a paso por primera vez. Lo que debes hacer es mantener presionada la tecla Ctrl y luego presionar F9. La pantalla se volvió negra y finalmente apareció en ella un mensaje que entendí: “Ingresa el primer número”.
Por orden del maestro, ingresé 7. Luego el segundo número. Introduzco 3 y presiono Enter.

La línea 'Resultado = 10' aparece en la pantalla a la velocidad del rayo. Era euforia y nunca antes en mi vida había experimentado algo así. Fue como si todo el Universo se abriera ante mí y me encontrara en una especie de portal. El calor recorrió mi cuerpo, una sonrisa apareció en mi rostro y en algún lugar muy profundo de mi subconsciente me di cuenta: que esto es mio. De manera muy intuitiva, a nivel emocional, comencé a sentir el enorme potencial de esta caja vibrante debajo de la mesa. ¡Hay tantas cosas que puedes hacer con tus propias manos y ella lo hará!
Que esto es algún tipo de magia. Estaba completamente fuera de mi comprensión cómo ese texto amarillo e incomprensible en una pantalla azul se convirtió en un programa conveniente y comprensible. ¡Lo cual también cuenta! Lo que me sorprendió no fue el cálculo en sí, sino el hecho de que los jeroglíficos escritos se convirtieran en una calculadora. Hubo una brecha entre estos dos eventos en ese momento. Pero intuitivamente sentí que esta pieza de hardware podía hacer casi cualquier cosa.

Durante casi todo el camino a casa en el minibús me sentí como si estuviera en el espacio. Esta imagen con la inscripción "Resultado" daba vueltas en mi cabeza, cómo sucedió, qué más puede hacer esta máquina, puedo escribir algo yo mismo sin una hoja de papel. Mil preguntas que me interesaron, entusiasmaron e inspiraron al mismo tiempo. Yo tenía 14 años. Ese día la profesión me eligió.

To be continued ...

Fuente: habr.com

Añadir un comentario