Carreira de programación. Capítulo 1. Primeiro programa

Carreira de programación. Capítulo 1. Primeiro programaEstimados lectores de Habr, presento á vosa atención unha serie de publicacións que no futuro penso combinar nun libro. Quería afondar no pasado e contar a miña historia de como me convertín en programador e sigo sendo un.

Sobre os requisitos previos para entrar nas informáticas, o camiño do ensaio e erro, a autoaprendizaxe e a inxenuidade infantil. Comezarei a miña historia dende a primeira infancia e rematarei con hoxe. Espero que este libro sexa especialmente útil para aqueles que só están estudando unha especialidade de informática.
E os que xa traballan en TI probablemente farán paralelismos co seu propio camiño.

Neste libro atoparedes referencias á literatura que lin, a experiencia de comunicarme con persoas coas que me cruzaba mentres estudaba, traballaba e poñía en marcha unha startup.
Comezando desde profesores universitarios ata grandes investidores de risco e propietarios de empresas multimillonarias.
A día de hoxe xa están listos 3.5 capítulos do libro, dun posible 8-10. Se os primeiros capítulos atopan unha resposta positiva por parte do público, publicarei o libro completo.

Sobre min

Non son John Carmack, Nikolai Durov ou Richard Matthew Stallman. Non traballei en empresas como Yandex, VKontakte ou Mail.ru.
Aínda que tiña experiencia traballando nunha gran corporación, da que seguro que vos contarei. Pero creo que o punto non está tanto no gran nome, senón na propia historia do camiño para converterse nun programador e, ademais, nas vitorias e derrotas que se produciron durante a miña carreira de 12 anos no desenvolvemento comercial. Por suposto, algúns de vostedes teñen moita máis experiencia en TI. Pero creo que os dramas e as vitorias que se produciron durante a miña carreira actual merecen a pena describir. Houbo moitos eventos, e todos foron diversos.

Quen son eu hoxe como programador
— Participou en máis de 70 proxectos comerciais, moitos dos cales escribiu desde cero
— Nunha ducia de proxectos propios: código aberto, startups
— 12 anos en TI. Hai 17 anos - escribiu o primeiro programa
- Persoa máis valiosa de Microsoft 2016
- Profesional certificado de Microsoft
- Certificado Scrum Master
— Teño un bo dominio de C#/C++/Java/Python/JS
— Salario — 6000-9000 $/mes. dependendo da carga
— O meu lugar de traballo principal hoxe é o intercambio de autónomos Upwork. A través del traballo para unha empresa que se ocupa de PNL/AI/ML. Ten unha base de 1 millón de usuarios
— Lanzou 3 aplicacións na AppStore e GooglePlay
— Estou preparándome para fundar a miña propia empresa de TI arredor do proxecto que estou a desenvolver actualmente

Ademais do desenvolvemento, escribo artigos para blogs populares, ensino novas tecnoloxías e falo en conferencias. Reláxome no club de fitness e coa miña familia.

Probablemente iso sexa todo sobre min no que a temática do libro se refire. O seguinte é a miña historia.

Historia. Comeza.

Aprendín por primeira vez o que é un ordenador cando tiña 7 anos. Acabo de comezar primeiro de primaria e na clase de arte déronnos un deber para facer un ordenador con cartolina, goma espuma e rotuladores. Claro que os meus pais axudáronme. Mamá estudou nunha universidade técnica a principios dos 80 e sabía de primeira man o que era un ordenador. Durante o curso do adestramento, incluso logrou perforar tarxetas perforadas e cargalas na xigantesca máquina soviética que ocupaba a parte do león da sala de adestramento.

Rematamos os deberes cunha nota de 5 porque o fixemos todo con dilixencia. Atopamos unha folla grosa de cartolina A4. Cortáronse círculos de xoguetes antigos de goma espuma e debuxouse a interface de usuario con rotuladores. O noso dispositivo tiña só uns poucos botóns, pero a miña nai e eu asignámoslles a funcionalidade necesaria e, durante a lección, amosei ao profesor como premendo o botón "Acender", unha lámpada acendeba na esquina da "pantalla, ” mentres debuxa ao mesmo tempo un círculo vermello cun rotulador.

O meu seguinte encontro coa tecnoloxía informática ocorreu arredor da mesma idade. As fins de semana visitaba a miúdo aos meus avós, que á súa vez vendían varios lixos e tamén os compraban de bo grado por céntimos. Reloxos antigos, samovars, caldeiras, insignias, espadas de guerreiros do século XIII e moito máis. Entre toda esta variedade de cousas, alguén lle trouxo un ordenador que funcionaba cunha televisión e unha gravadora de audio. Afortunadamente, a miña avoa tiña os dous. De fabricación soviética, por suposto. TV Electron con oito botóns para cambiar de canle. E unha gravadora Vega de dúas casetes, que incluso podería volver gravar cintas de audio.
Carreira de programación. Capítulo 1. Primeiro programa
Ordenador soviético "Poisk" e periféricos: TV "Electron", gravadora "Vega" e casete de audio con linguaxe BASIC

Comezamos a descubrir como funciona todo este sistema. Co ordenador incluíronse un par de casetes de audio, un manual de instrucións moi gastado e outro folleto co título "Linguaxe de programación BÁSICA". A pesar da miña infancia, tentei participar activamente no proceso de conexión de cables á gravadora e á televisión. A continuación, introducimos un dos casetes no compartimento da gravadora, prememos o botón "Adiante" (é dicir, iniciar a reprodución) e apareceron na pantalla do televisor un pseudográfico incomprensible de texto e guións.

A unidade principal parecía unha máquina de escribir, só bastante amarela e dun peso notable. Coa emoción dun neno, premei todas as teclas, non vin ningún resultado tanxible e corrín e saín dar un paseo. Aínda que xa daquela tiña diante un manual sobre a linguaxe BASIC con exemplos de programas que, pola miña idade, simplemente non puiden reescribir.

Desde recordos da infancia, lembro todos os aparellos que os meus pais compraron para min, despois de traballar con outros familiares. O primeiro cascabel foi o coñecido xogo "Wolf Catches Eggs". Remateino bastante rápido, vin o tan esperado debuxo animado ao final e quería algo máis. Despois estaba Tetris. Daquela valía 1,000,000 de cupóns. Si, foi en Ucraína a principios dos 90, e déronme un millón polo meu éxito académico. Sentindome merecidamente millonario, encarguei este xogo máis complexo para os meus pais, onde tiñan que organizar correctamente as figuras de diferentes formas que caían desde arriba. O día da compra, Tetris foime arrebatado sen control polos meus pais, que non puideron desfacerse del durante dous días.

Carreira de programación. Capítulo 1. Primeiro programa
O famoso "O lobo atrapa ovos e tetris"

Despois houbo consolas de xogos. A nosa familia vivía nunha casa pequena, onde tamén vivían o meu tío e a miña tía no cuarto do lado. Meu tío era piloto militar, pasou por puntos quentes, polo que a pesar da súa modestia era moi tenaz e tiña medo de pouco, despois de verdade.
operacións militares. Do mesmo xeito que moitas persoas nos anos 90, o meu tío entrou na empresa e tiña uns ingresos bastante bos. Entón apareceron no seu cuarto un televisor importado, un VCR e despois un decodificador Subor (análogo a Dendy). Quitoume o alento velo xogar a Super Mario, TopGun, Terminator e outros xogos. E cando me entregou o joystick nas miñas mans, a miña felicidade non tiña límites.

Carreira de programación. Capítulo 1. Primeiro programa
Consola de oito bits "Syubor" e o lendario "Super Mario"

Si, como todos os nenos comúns que creceron nos anos noventa, pasei todo o día no patio. Ou xogando a pelota pioneira, ou bádminton, ou trepando ás árbores do xardín, onde crecían moitos froitos diferentes.
Pero este novo produto, cando podes controlar a Mario, saltar obstáculos e salvar á princesa, foi moitas veces máis interesante que calquera afeccionado a cego, ladushka e clásicos. Por iso, vendo o meu interese xenuíno polos prefixos, meus pais deronme a tarefa de aprender a táboa de multiplicar. Entón cumprirán o meu soño. Ensinanlle en segundo de primaria, e eu acabo de rematar o primeiro. Pero, dito e feito.

Era imposible pensar nunha motivación máis forte que ter a túa propia consola de xogos. E nunha semana respondía facilmente ás preguntas "sete nove", "seis tres" e similares. A proba foi superada e compráronme o ansiado agasallo. Como aprenderás máis, as consolas e os xogos de ordenador desempeñaron un papel importante para que me interese pola programación.

Así foi ano tras ano. Estaban saíndo a seguinte xeración de consolas de xogos. Primeiro Sega de 16 bits, despois Panasonic e despois Sony PlayStation. Os xogos eran o meu entretemento cando era bo. Cando había algún tipo de problema na escola ou na casa, quitábanme os joysticks e, por suposto, non podía xogar. E claro, coller o momento no que volvías do colexio, e o teu pai aínda non volvera do traballo para ocupar a tele, tamén foi unha especie de sorte. Polo tanto, é imposible dicir que era un adicto aos xogos de azar ou que pasei todo o día xogando. Non había tal oportunidade. Prefiro pasar todo o día no patio, onde tamén podía atopar algo
interesante. Por exemplo, un xogo completamente salvaxe - tiroteos aéreos. Hoxe en día non se verá algo así nos patios, pero daquela era unha verdadeira guerra. O paintball é un xogo de nenos en comparación coa carnicería que provocamos. Había globos de aire
cargado de densas balas de plástico. E despois de disparar a outro tipo a quemarropa, deixou un hematoma na metade do brazo ou no estómago. Así vivimos.

Carreira de programación. Capítulo 1. Primeiro programa
Pistola de xoguete dende a infancia

Non estaría mal mencionar a película "Hackers". Foi lanzado só en 1995, protagonizado por Angelina Jolie, de 20 anos. Dicir que a película causoume unha forte impresión é non dicir nada. Despois de todo, o pensamento dos nenos percibe todo ao seu valor nominal.
E como estes mozos limparon os caixeiros automáticos, apagaron os semáforos e xogaron coa electricidade por toda a cidade, para min foi maxia. Entón ocorréuseme que sería xenial chegar a ser tan omnipotente como os Hackers.
Uns anos despois, merquei todos os números da revista Hacker e intentei piratear o Pentágono, aínda que aínda non tiña Internet.

Carreira de programación. Capítulo 1. Primeiro programa
Os meus heroes da película "Hackers"

Un verdadeiro descubrimento para min foi un PC de verdade, cun monitor de lámpada de 15 polgadas e unha unidade do sistema baseada nun procesador Intel Pentium II. Por suposto, foi comprada polo seu tío, que a finais dos anos noventa subira o suficiente para pagar
xoguetes deste tipo. A primeira vez que me lanzaron un xogo, non foi demasiado emocionante. Pero un día, chegou o día do xuízo, as estrelas aliñaron e viñemos visitar o noso tío, que non estaba na casa. Preguntei:
- Podo acender o ordenador?
"Si, fai o que queiras con el", respondeu a querida tía.

Por suposto, fixen o que quixen con el. Había diferentes iconas no escritorio de Windows 98. WinRar, Word, FAR, Klondike, xogos. Despois de facer clic en todas as iconas, a miña atención centrouse no Xestor FAR. Parece unha pantalla azul incomprensible, pero cunha longa lista (de ficheiros) que se poden lanzar. Ao facer clic en cada un por turno, captei o efecto do que estaba a suceder. Algúns funcionaron, outros non. Despois dun tempo, decateime de que os ficheiros que rematan en ".exe" son os máis interesantes. Lanzan diferentes imaxes interesantes nas que tamén podes facer clic. Entón, probablemente lancei todos os ficheiros exe dispoñibles no ordenador do meu tío, e entón apenas me tiraron das orellas do xoguete superinteresante e leváronme a casa.

Carreira de programación. Capítulo 1. Primeiro programa
O mesmo Xestor FAR

Despois houbo clubs de informática. O meu amigo e eu íamos alí moitas veces para xogar en liña a Counter Strike e Quake, cousa que non podíamos facer na casa. Moitas veces pedíalle o cambio aos meus pais para poder xogar no club durante media hora. Vendo os meus ollos, como o gato de Shrek, ofrecéronme outro lucrativo contrato. Remato o curso sen C, e cómprenme un ordenador. O contrato asinouse a principios de ano, en setembro, e o ansiado PC debía chegar xa en xuño, suxeito ao cumprimento dos acordos.
Intentei o mellor posible. Mesmo vendín a miña querida Sony Playstation por emoción para distraerme menos dos meus estudos. Aínda que eu era un estudante, 9o foi significativo para min. Mal de nariz, só tiña que sacar boas notas.

Xa na primavera, anticipando a compra dun PC, ocorreu probablemente o evento máis significativo da miña vida. Intento pensar adiante, así que un bo día díxenlle a meu pai:
- Papá, non sei usar o ordenador. Apuntámonos aos cursos

Nada máis dicir que feito. Despois de abrir o xornal con anuncios, o pai atopou un bloque escrito en letra pequena co encabezamento "Cursos de informática". Chamei aos profesores e un par de días despois xa estaba nestes cursos. Os cursos tiveron lugar no outro lado da cidade, nun antigo edificio de paneles de Khrushchev, no terceiro andar. Nunha sala había tres PCs seguidos, e os que querían estudar eran realmente adestrados neles.

Recordo a miña primeira lección. Windows 98 tardou moito tempo en cargarse, entón o profesor tomou a palabra:
-Entón. Antes é un escritorio de Windows. Contén iconas de programas. Na parte inferior está o botón Inicio. Lembra! Todo o traballo comeza co botón Inicio. Fai clic nel co botón esquerdo do rato.
El continuou.
- Aquí - ves os programas instalados. Calculadora, Bloc de notas, Word, Excel. Tamén pode apagar o ordenador facendo clic no botón "Apagar". Próbao.
Finalmente pasou á parte máis difícil para min nese momento.
"No escritorio", dixo o profesor, tamén se poden ver programas que se poden iniciar facendo dobre clic.
- Dobre!? - Como é isto en xeral?
- Imos probar. Inicie o Bloc de notas facendo dobre clic nel co botón esquerdo do rato.

Si, schaass. O máis difícil nese momento era manter o rato nun lugar e ao mesmo tempo facer clic rapidamente dúas veces. No segundo clic, o rato moveuse un pouco e o atallo xunto con el. Pero aínda así, conseguín superar unha tarefa tan insuperable durante a lección.
Despois houbo formación en Word e Excel. Un día, simplemente me deixaron mirar fotos da natureza e monumentos arquitectónicos. Foi a actividade máis interesante da miña memoria. Moito máis divertido que aprender a formatar texto en Word.

A carón do meu PC, estudaban outros estudantes. Un par de veces atopeime con rapaces que estaban escribindo programas, mentres discutían acalorado este proceso. Isto tamén me interesou. Lembrando a película Hackers e estar canso de MS Office, pedín que me trasladasen a cursos
programación. Como todos os acontecementos significativos da vida, isto ocorreu espontaneamente, por interese.

Cheguei á miña primeira lección de programación coa miña nai. Non lembro por que. Ao parecer tivo que negociar novos cursos e pagar. Fóra era primavera, xa estaba escuro. Viaxamos por toda a cidade en minibús-Gazelle ata os arredores, chegamos ao notorio
panel Khrushchev, subiu ao chan e deixounos entrar.
Sentáronme no ordenador final e abriron un programa cunha pantalla completamente azul e letras amarelas.
- Este é Turbo Pascal. O profesor comentou a súa acción.
- Mira, aquí escribín documentación sobre como funciona. Léao e bótalle un ollo.
Diante de min estaba un lenzo de texto amarelo, absolutamente incomprensible. Intentei descubrir algo por min mesmo, pero non puiden. A gramática chinesa e xa está.
Finalmente, despois dun tempo, o responsable do curso entregoume un papel A4 impreso. Nel estaba escrita algunha cousa estraña, que antes vira nos monitores dos rapaces dos cursos de programación.
- Reescribe o que aquí está escrito. O profesor mandou e marchou.
Comecei a escribir:
programa Summa;

Escribín, buscando simultaneamente letras inglesas no teclado. En Word, polo menos formei en ruso, pero aquí teño que aprender outras letras. O programa escribiuse cun só dedo, pero con moito coidado.
comezar, rematar, var, enteiro - Que é isto? Aínda que estudei inglés dende primeiro de primaria e coñecía o significado de moitas palabras, non puiden conectalas todas. Como un oso adestrado nunha bicicleta, seguín pedaleando. Por fin algo coñecido:
writeln('Introduce o primeiro número');
Entón - writeln('Introduce segundo número');
Entón - writeln('Resultado = ',c);
Carreira de programación. Capítulo 1. Primeiro programa
Ese primeiro programa Turbo Pascal

Uf, escribíno. Quitei as mans do teclado e agardei a que aparecese o gurú para recibir máis instrucións. Finalmente chegou, escaneou a pantalla e díxome que preme a tecla F9.
"Agora o programa está compilado e comprobado por erros", dixo o gurú
Non houbo erros. Despois dixo que premese Ctrl+F9, o que tamén tiven que explicar paso a paso por primeira vez. O que cómpre facer é manter premida a tecla Ctrl e, a continuación, premer F9. A pantalla púxose negra e finalmente apareceu nela unha mensaxe que entendín: "Introduce o primeiro número".
Por orde do profesor, introducín o 7. Despois o segundo número. Introduzo 3 e premo Intro.

A liña "Resultado = 10" aparece na pantalla á velocidade do raio. Era euforia e nunca antes na miña vida vivira nada igual. Era coma se todo o Universo se abrise ante min e me atopei nalgún tipo de portal. O calor atravesou o meu corpo, un sorriso apareceu no meu rostro e nalgún lugar moi profundo do subconsciente decateime... que esta é miña. Moi intuitivamente, a nivel emocional, comecei a sentir o enorme potencial nesta caixa zumbida debaixo da mesa. Hai moitas cousas que podes facer coas túas propias mans, e ela faráo!
Que isto é algún tipo de maxia. Foi completamente fóra da miña comprensión como aquel texto amarelo e incomprensible nunha pantalla azul se converteu nun programa cómodo e comprensible. O que tamén se conta! O que me sorprendeu non foi o cálculo en si, senón o feito de que os xeroglíficos escritos se converteran nunha calculadora. Houbo unha brecha entre estes dous acontecementos nese momento. Pero intuitivamente sentín que esta peza de hardware podía facer case calquera cousa.

Case todo o camiño a casa no microbús, sentín que estivese no espazo. Esta imaxe coa inscrición "Resultado" estaba xirando na miña cabeza, como pasou, que máis pode facer esta máquina, podo escribir algo eu mesmo sen un anaco de papel. Mil preguntas que me interesaron, me emocionaron e me inspiraron ao mesmo tempo. Tiña 14 anos. Ese día escolleume a profesión.

Continuar ...

Fonte: www.habr.com

Engadir un comentario