Carrera de programació. Capítol 1. Primer programa

Carrera de programació. Capítol 1. Primer programaBenvolguts lectors d'Habr, us presento una sèrie de publicacions que en un futur penso combinar en un llibre. Volia endinsar-me en el passat i explicar la meva història de com em vaig convertir en desenvolupador i continuar sent-ho.

Sobre els requisits previs per entrar a la informàtica, el camí de l'assaig i l'error, l'autoaprenentatge i la ingenuïtat infantil. Començaré la meva història des de la primera infància i la acabaré amb avui. Espero que aquest llibre sigui especialment útil per a aquells que estan estudiant una especialitat informàtica.
I els que ja treballen en informàtica probablement trauran paral·lelismes amb el seu propi camí.

En aquest llibre hi trobareu referències a la literatura que he llegit, l'experiència de comunicar-me amb persones amb qui em vaig creuar mentre estudiava, treballava i posava en marxa una startup.
Des de professors universitaris fins a grans inversors de risc i propietaris d'empreses multimilionàries.
A partir d'avui, 3.5 capítols del llibre estan preparats, d'un possible 8-10. Si els primers capítols troben una resposta positiva per part del públic, publicaré el llibre sencer.

Quant a mi

No sóc John Carmack, Nikolai Durov o Richard Matthew Stallman. No vaig treballar en empreses com Yandex, VKontakte o Mail.ru.
Tot i que tenia experiència treballant en una gran corporació, de la qual segur que us parlaré. Però crec que la qüestió no està tant en el gran nom, sinó en la mateixa història del camí per convertir-se en desenvolupador, i més enllà, en les victòries i derrotes que es van produir durant els meus 12 anys de carrera en el desenvolupament comercial. Per descomptat, alguns de vosaltres teniu molta més experiència en TI. Però crec que val la pena descriure els drames i les victòries que s'han produït durant la meva carrera actual. Hi va haver molts esdeveniments, i tots van ser diversos.

Qui sóc jo avui com a desenvolupador
— Va participar en més de 70 projectes comercials, molts dels quals va escriure des de zero
— En una dotzena de projectes propis: codi obert, startups
— 12 anys en IT. Fa 17 anys - va escriure el primer programa
- La persona més valuosa de Microsoft 2016
- Professional certificat de Microsoft
— Scrum Master certificat
— Tinc un bon domini de C#/C++/Java/Python/JS
— Salari — 6000-9000 $/mes. en funció de la càrrega
— El meu lloc de treball principal avui és l'intercanvi autònom Upwork. A través d'ell treballo per a una empresa que s'ocupa de PNL/AI/ML. Té una base d'1 milió d'usuaris
— S'han llançat 3 aplicacions a l'AppStore i a GooglePlay
— Estic preparant per fundar la meva pròpia empresa informàtica al voltant del projecte que estic desenvolupant actualment

A més del desenvolupament, escric articles per a blocs populars, ensenyo noves tecnologies i parlo en conferències. Em relaxo al gimnàs i amb la meva família.

Segurament això és tot sobre mi pel que fa al tema del llibre. El següent és la meva història.

Història. Començar.

Vaig aprendre què és un ordinador quan tenia 7 anys. Acabo de començar primer i a classe de plàstica ens van donar deures per fer un ordinador amb cartró, goma espuma i retoladors. És clar que els meus pares em van ajudar. La mare va estudiar a una universitat tècnica a principis dels anys 80 i sabia de primera mà què era un ordinador. Durant el curs de l'entrenament, fins i tot va aconseguir perforar targetes perforades i carregar-les a la gegant màquina soviètica que ocupava la part del lleó de la sala d'entrenament.

Hem fet els deures amb un 5 perquè ho hem fet tot amb diligència. Hem trobat un full gruixut de cartró A4. Es van tallar cercles de joguines antigues de goma escuma i la interfície d'usuari es va dibuixar amb rotuladors. El nostre dispositiu només tenia uns quants botons, però la meva mare i jo els vam assignar la funcionalitat necessària, i durant la lliçó vaig ensenyar al professor com en prémer el botó "On" s'encén una bombeta a la cantonada de la "pantalla", ” mentre dibuixa simultàniament un cercle vermell amb un rotulador.

La meva propera trobada amb la tecnologia informàtica va tenir lloc a la mateixa edat. Els caps de setmana visitava sovint els meus avis, que, al seu torn, venien diverses ferralla i també les compraven de bon grat per uns centaus. Rellotges antics, samovars, calderes, insígnies, espases de guerrers del segle XIII i molt més. Entre tota aquesta varietat de coses, algú li va portar un ordinador que funcionava amb un televisor i una gravadora d'àudio. Afortunadament, la meva àvia tenia tots dos. De fabricació soviètica, és clar. TV Electron amb vuit botons per canviar de canal. I una gravadora Vega de dos cassets, que fins i tot podria tornar a gravar cintes d'àudio.
Carrera de programació. Capítol 1. Primer programa
Ordinador soviètic "Poisk" i perifèrics: TV "Electron", gravadora "Vega" i casset d'àudio amb llenguatge BASIC

Vam començar a esbrinar com funciona tot aquest sistema. Amb l'ordinador s'hi van incloure un parell de cassets d'àudio, un manual d'instruccions molt gastat i un altre fulletó amb el títol "Llenguatge de programació BÀSIC". Malgrat la meva infància, vaig intentar participar activament en el procés de connexió de cables a la gravadora i al televisor. A continuació, vam inserir un dels cassets al compartiment de la gravadora, vam prémer el botó "Endavant" (és a dir, iniciar la reproducció) i va aparèixer un pseudogràfic incomprensible de text i guions a la pantalla del televisor.

La unitat principal en si semblava una màquina d'escriure, només bastant groguenca i d'un pes notable. Amb l'emoció d'un nen, vaig prémer totes les tecles, no vaig veure cap resultat tangible i vaig córrer i vaig anar a passejar. Encara que aleshores tenia davant meu un manual sobre el llenguatge BASIC amb exemples de programes que, per la meva edat, senzillament no podia reescriure.

De records d'infantesa, recordo, sens dubte, tots els aparells que els meus pares em van comprar, després d'haver treballat amb altres familiars. El primer sonall va ser el conegut joc "Wolf Catches Eggs". El vaig acabar força ràpid, vaig veure el tan esperat dibuix animat al final i volia alguna cosa més. Després hi havia Tetris. En aquell moment valia 1,000,000 de cupons. Sí, va ser a Ucraïna a principis dels 90, i em van donar un milió pel meu èxit acadèmic. Merescudament sentint-me milionari, vaig encarregar aquest joc més complex per als meus pares, on havien d'ordenar correctament figures de diferents formes que cauen des de dalt. El dia de la compra, els meus pares em van treure Tetris de manera incontrolada, que ells mateixos no van poder desfer-se'n durant dos dies.

Carrera de programació. Capítol 1. Primer programa
El famós "El llop atrapa ous i Tetris"

Després hi havia les consoles de jocs. La nostra família vivia en una casa petita, on també vivien el meu oncle i la meva tieta a l'habitació del costat. El meu oncle era pilot militar, va passar per punts calents, així que malgrat la seva modèstia era molt tenaç i tenia por de poc, després de veritat.
operacions militars. Igual que moltes persones als anys 90, el meu oncle es va posar al negoci i tenia uns ingressos força bons. Així doncs, a la seva habitació va aparèixer un televisor importat, un VCR i després un descodificador Subor (anàleg a Dendy). Em va deixar sense alè veure'l jugar a Super Mario, TopGun, Terminator i altres jocs. I quan va passar el joystick a les meves mans, la meva felicitat no va tenir límits.

Carrera de programació. Capítol 1. Primer programa
Consola de vuit bits "Syubor" i el llegendari "Super Mario"

Sí, com tots els nens corrents que van créixer als anys noranta, vaig passar tot el dia al pati. O jugant a pilota pionera, o bàdminton, o pujant als arbres del jardí, on creixien molts fruits diferents.
Però aquest nou producte, quan pots controlar en Mario, saltar obstacles i salvar la princesa, era moltes vegades més interessant que qualsevol buff de cec, ladushka i clàssics. Per això, veient el meu interès genuí pels prefixos, els meus pares em van donar la tasca d'aprendre la taula de multiplicar. Llavors compliran el meu somni. Li ensenyen a segon de primària, i jo acabo d'acabar el primer. Però, dit i fet.

Era impossible pensar en una motivació més forta que tenir la teva pròpia consola de jocs. I en una setmana vaig respondre fàcilment a les preguntes "set nou", "sis tres" i similars. La prova va ser superada i em van comprar l'anhelat regal. Com aprendreu més endavant, les consoles i els jocs d'ordinador van tenir un paper important a l'hora d'interessar-me per la programació.

Així va anar any rere any. La propera generació de consoles de joc estaven sortint. Primer Sega de 16 bits, després Panasonic, després Sony PlayStation. Els jocs eren el meu entreteniment quan era bo. Quan hi havia algun problema a l'escola o a casa, em treien els joysticks i, és clar, no podia jugar. I és clar, agafar el moment en què vas tornar de l'escola, i el teu pare encara no havia tornat de la feina per ocupar la televisió, també va ser una mena de sort. Per tant, és impossible dir que era un addicte a les apostes o que em vaig passar tot el dia jugant. No hi havia aquesta oportunitat. Més aviat em vaig passar tot el dia al pati, on també hi podia trobar alguna cosa
interessant. Per exemple, un joc completament salvatge: tiroteigs aeris. Avui dia no veuràs una cosa així als patis, però aleshores era una autèntica guerra. El paintball és un joc de nens en comparació amb la carnisseria que vam provocar. Hi havia globus aerostàtics
carregat amb bales de plàstic denses. I després d'haver disparat a un altre noi a quemarroc, va deixar un hematoma a la meitat del braç o a l'estómac. Així és com vam viure.

Carrera de programació. Capítol 1. Primer programa
Pistola de joguina des de la infància

No seria dolent esmentar la pel·lícula "Hackers". Es va estrenar tot just l'any 1995, protagonitzat per Angelina Jolie, de 20 anys. Dir que la pel·lícula em va causar una forta impressió és no dir res. Al cap i a la fi, el pensament dels nens ho perceba tot a la cara.
I com aquests nois van netejar caixers automàtics, van apagar els semàfors i van jugar amb l'electricitat per tota la ciutat, per a mi va ser màgia. Aleshores se'm va ocórrer la idea que seria genial arribar a ser tan omnipotent com els Hackers.
Uns anys més tard, vaig comprar tots els números de la revista Hacker i vaig intentar piratejar el Pentàgon, tot i que encara no tenia Internet.

Carrera de programació. Capítol 1. Primer programa
Els meus herois de la pel·lícula "Hackers"

Un autèntic descobriment per a mi va ser un ordinador real, amb un monitor de llum de 15 polzades i una unitat del sistema basada en un processador Intel Pentium II. Per descomptat, el va comprar el seu oncle, que a finals dels anys noranta havia pujat prou com per permetre's
aquestes joguines. La primera vegada que em van encendre un joc, no va ser massa emocionant. Però un dia, va arribar el dia del judici, les estrelles es van alinear i vam venir a visitar el nostre oncle, que no era a casa. Vaig preguntar:
— Puc encendre l'ordinador?
"Sí, fes el que vulguis amb ell", va respondre la tieta amorosa.

Per descomptat, vaig fer el que volia amb ell. Hi havia diferents icones a l'escriptori de Windows 98. WinRar, Word, FAR, Klondike, jocs. Després de fer clic a totes les icones, la meva atenció es va centrar en FAR Manager. Sembla una pantalla blava incomprensible, però amb una llarga llista (de fitxers) que es poden llançar. En fer clic a cadascuna per torn, vaig captar l'efecte del que estava passant. Alguns van funcionar, altres no. Després d'un temps, em vaig adonar que els fitxers que acaben en ".exe" són els més interessants. Llancen diferents imatges interessants a les quals també podeu fer clic. Així que probablement vaig llançar tots els fitxers exe disponibles a l'ordinador del meu oncle, i després amb prou feines em van treure per les orelles de la joguina súper interessant i em van portar a casa.

Carrera de programació. Capítol 1. Primer programa
El mateix FAR Manager

Després hi havia els clubs d'informàtica. El meu amic i jo hi anàvem sovint per jugar a Counter Strike i Quake en línia, cosa que no podíem fer a casa. Sovint demanava canvis als meus pares per poder jugar mitja hora al club. Veient-me els ulls, com el gat de Shrek, em van oferir un altre contracte lucratiu. Acabo el curs sense C, i em compren un ordinador. El contracte es va signar a principis d'any, al setembre, i el cobejat PC havia d'arribar ja al juny, subjecte al compliment dels acords.
Vaig fer el possible. Fins i tot vaig vendre la meva estimada Sony Playstation per emoció per tal d'estar menys distret dels meus estudis. Tot i que jo era un estudiant tan tal, 9è va ser important per a mi. Mal de nas, només havia de treure bones notes.

Ja a la primavera, anticipant la compra d'un ordinador, probablement va passar l'esdeveniment més significatiu de la meva vida. Intento pensar en el futur i un bon dia li vaig dir al meu pare:
-Pare, no sé com fer servir l'ordinador. Apuntem-nos als cursos

No més aviat dir que fet. Després d'haver obert el diari amb anuncis, el pare va trobar un bloc escrit en lletra petita amb l'encapçalament "Cursos d'informàtica". Vaig trucar als professors i un parell de dies després ja estava en aquests cursos. Els cursos van tenir lloc a l'altra banda de la ciutat, en un antic edifici de panells Khrusxov, al tercer pis. En una habitació hi havia tres ordinadors seguits, i els que volien estudiar en realitat estaven formats en ells.

Recordo la meva primera lliçó. Windows 98 va trigar molt a carregar-se, llavors el professor va prendre la paraula:
- Tan. Abans de vostè és un escriptori de Windows. Conté icones de programes. A la part inferior hi ha el botó Inici. Recordeu! Tot el treball comença amb el botó Inici. Feu-hi clic amb el botó esquerre del ratolí.
Va continuar.
- Aquí - veus els programes instal·lats. Calculadora, Bloc de notes, Word, Excel. També podeu apagar l'ordinador fent clic al botó "Apagar". Intenta-ho.
Finalment, va passar a la part més difícil per a mi en aquell moment.
"A l'escriptori", va dir el professor, també podeu veure programes que es poden llançar fent doble clic.
- Doble!? - Com és això en general?
- Anem a provar. Inicieu el Bloc de notes fent-hi doble clic amb el botó esquerre del ratolí.

Sí, schaass. El més difícil en aquell moment va ser mantenir el ratolí en un sol lloc i alhora fer clic ràpidament dues vegades. En el segon clic, el ratolí es va moure una mica i la drecera juntament amb ell. Però tot i així, vaig aconseguir superar una tasca tan insuperable durant la lliçó.
Després hi va haver formació en Word i Excel. Un dia, simplement em van deixar mirar fotos de la natura i els monuments arquitectònics. Va ser l'activitat més interessant de la meva memòria. Molt més divertit que aprendre a formatar text a Word.

Al costat del meu ordinador, altres estudiants estaven estudiant. Un parell de vegades em vaig trobar amb nois que escrivien programes, mentre parlava acaloradament d'aquest procés. Això també m'interessava. Recordant la pel·lícula Hackers i cansat de MS Office, vaig demanar que em traslladessin a cursos
programació. Com tots els esdeveniments significatius de la vida, això va passar espontàniament, per interès.

Vaig arribar a la meva primera lliçó de programació amb la meva mare. No recordo per què. Pel que sembla, va haver de negociar nous cursos i fer el pagament. Fora era primavera, ja era fosc. Vam recórrer tota la ciutat en minibús-Gazelle fins als afores, vam arribar al famós
panell Khrusxov, va pujar al terra i ens va deixar entrar.
Em van asseure a l'ordinador final i van obrir un programa amb una pantalla completament blava i lletres grogues.
- Això és Turbo Pascal. El professor va comentar la seva acció.
- Mira, aquí he escrit documentació sobre com funciona. Llegeix-ho i fes-hi una ullada.
Davant meu hi havia un llenç de text groc, absolutament incomprensible. Vaig intentar esbrinar alguna cosa per mi mateix, però no vaig poder. Gramàtica xinesa i ja està.
Finalment, després d'un temps, el responsable del curs em va lliurar un paper A4 imprès. Hi havia escrit alguna cosa estranya, que abans havia albirat als monitors dels nois dels cursos de programació.
- Torna a escriure el que està escrit aquí. El professor va manar i va marxar.
Vaig començar a escriure:
programa Summa;

Vaig escriure, buscant simultàniament lletres angleses al teclat. A Word, almenys em vaig formar en rus, però aquí he d'aprendre altres lletres. El programa es va escriure amb un dit, però amb molta cura.
començar, acabar, var, enter - Què és això? Encara que vaig estudiar anglès des de primer de primària i sabia el significat de moltes paraules, no vaig poder connectar-ho tot. Com un ós entrenat en bicicleta, vaig continuar pedalant. Per fi quelcom conegut:
writeln('Introdueix el primer número');
Llavors - writeln('Introdueix el segon número');
Llavors - writeln('Resultat = ',c);
Carrera de programació. Capítol 1. Primer programa
Aquell primer programa Turbo Pascal

Uf, ho vaig escriure. Vaig treure les meves mans del teclat i vaig esperar que aparegués el guru per rebre més instruccions. Finalment es va acostar, va escanejar la pantalla i em va dir que premeu la tecla F9.
"Ara el programa està compilat i comprovat per errors", va dir el guru
No hi va haver errors. Llavors va dir que premeu Ctrl+F9, cosa que també havia d'explicar pas a pas per primera vegada. El que heu de fer és mantenir premuda la tecla Ctrl i, a continuació, prémer F9. La pantalla es va tornar negre i finalment va aparèixer un missatge que vaig entendre: "Introdueix el primer número".
Per ordre del professor, vaig introduir 7. Després el segon número. Introdueixo 3 i prem Enter.

La línia "Resultat = 10" apareix a la pantalla a la velocitat del llamp. Va ser eufòria i mai abans havia viscut res semblant a la meva vida. Va ser com si tot l'Univers s'obrís davant meu i em trobés en una mena de portal. La calor va passar pel meu cos, un somriure va aparèixer a la meva cara i en algun lloc molt profund del subconscient em vaig adonar: que això és meu. De manera molt intuïtiva, a nivell emocional, vaig començar a sentir l'enorme potencial d'aquesta caixa bulliciosa sota la taula. Hi ha tantes coses que pots fer amb les teves pròpies mans, i ella ho farà!
Que això és una mena de màgia. Va ser completament més enllà de la meva comprensió com aquell text groc i incomprensible en una pantalla blava es va convertir en un programa còmode i entenedor. Que també es compta! El que em va sorprendre no va ser el càlcul en si, sinó el fet que els jeroglífics escrits es convertís en una calculadora. Hi havia una bretxa entre aquests dos esdeveniments en aquell moment. Però intuïtivament vaig sentir que aquesta peça de maquinari podia fer gairebé qualsevol cosa.

Gairebé tot el camí cap a casa amb el minibús, em vaig sentir com si estigués a l'espai. Aquesta imatge amb la inscripció "Resultat" estava girant al meu cap, com va passar, què més pot fer aquesta màquina, puc escriure alguna cosa jo mateix sense un tros de paper. Mil preguntes que em van interessar, emocionar i inspirar alhora. Jo tenia 14 anys. Aquell dia la professió em va triar.

Continuar ...

Font: www.habr.com

Afegeix comentari