Carrera de programació. Capítol 3. Universitat

Continuació de la història "Carrera de programador".

Després d'haver acabat l'escola nocturna, era hora d'anar a la universitat. A la nostra ciutat hi havia una universitat tècnica. També tenia una facultat de "Matemàtiques i Ciències de la Informàtica", que tenia un departament de "Sistemes informàtics", on formaven futurs treballadors informàtics: programadors i administradors.
L'elecció va ser petita i vaig sol·licitar l'especialitat "Programació d'enginyeria informàtica". Hi havia 2 proves d'accés per endavant. En llengua i matemàtiques.
Els exàmens anaven precedits d'una entrevista, i l'elecció de la forma de formació - pressupost o contracte, és a dir. gratis o per diners.

Els meus pares estaven presents a la meva entrevista i estaven preocupats per l'ingrés. Per descomptat, van triar la forma de contracte de formació. Per cert, va costar uns 500 dòlars l'any, que van ser molts diners l'any 2003, sobretot per al nostre petit poble. Recordo bé el diàleg del meu pare amb la noia de l'oficina d'admissions:
Una noia: pots provar d'aprovar els exàmens amb un pressupost i, si no funciona, canvia a un contracte. Podeu pagar a terminis.
Pare: No, ja hem decidit que demanarem un contracte
Una noia: Bé, per què, no arriscars res
Pare: No, encara és un risc. Digueu-me, tothom sol·licita un contracte?
Una noia: Sí, tothom ho fa. Probablement només els imbècils complets no poden
Pare: Aleshores tenim una oportunitat... va dir, somrient, i vam signar els documents d'ingrés

Per descomptat, les actuacions de l'institut encara estaven fresques a la memòria dels meus pares, així que amb els anys entenc per què deien això.

A l'estiu, abans de l'ingrés, vaig continuar comprant llibres per tots els 40 dòlars que em donava la meva àvia de la seva pensió.
Dels memorables i significatius:
1. "UML 2.0. Anàlisi i disseny orientat a objectes". Un llibre que em va ensenyar a dissenyar programari de qualsevol complexitat, pensar en l'arquitectura, dividir-ho tot en components, escriure casos d'ús i dibuixar diagrames UML. Aquest és el coneixement que necessiten les persones grans, els líders i els arquitectes. Els que materialitzen un sistema des del buit, quan només hi ha una descripció de la idea.
Conec gent que ja té més de 30 anys, i encara no poden prendre una decisió tret que hi hagi una comanda des de dalt, d'un desenvolupador de rang superior. En el treball autònom i a distància, quan sovint treballes individualment amb un client, aquest coneixement també és inestimable.
També són rellevants per als desenvolupadors independents que creen aplicacions i serveis nous. Encara que poca gent es molesta amb el disseny detallat. Per això tenim un programari de tanta qualitat, que s'empassa tota la memòria, amb una UX tort.
2. "Estàndard ANSI C++ 98". No és un llibre, però té més de 800 pàgines d'informació de fons. Per descomptat, no el vaig llegir secció per secció, sinó que em vaig referir a regles específiques del llenguatge quan desenvolupava el meu compilador C++. La profunditat del coneixement de la llengua, després d'estudiar i implementar l'estàndard, no es pot descriure amb cap epítet meravellós. Podem dir que ho saps tot sobre la llengua, i encara més. Treball molt llarg i minuciós per estudiar l'estàndard. Però tenia 5 anys d'universitat per davant, així que ningú m'impulsava
3. "Delphi 6. Guia pràctica".. Va ser un salt ràpid al món de la GUI i l'adulador de formes. Gairebé no hi havia llindar d'entrada, i ja coneixia força bé a Pascal. Mentre estudiava a la universitat, vaig escriure la part del lleó dels programes comercials a Delphi. Aquest era un programari per a estudiants de postgrau universitaris, comptabilitat per a petites empreses, govern. institucions. Després hi va haver diverses comandes autònomes. A mitjans dels anys 2000, Delphi va dominar el mercat de desenvolupament de Windows. Fins ara, a la caixa de les botigues locals podeu veure programes amb tipus de lletra i controls coneguts, que distingeixen immediatament una aplicació Delphi de qualsevol altra.
4. "Tutorial MFC". Després d'haver dominat Delphi, era lògic continuar creant IU en C++. Va ser molt més difícil, no tot va funcionar i era comprensible. Tanmateix, també vaig portar aquesta tecnologia a l'etapa d'aplicació en projectes comercials. Una empresa alemanya d'antivirus distribueix el meu programa, escrit en MFC fins avui.
5. "3 discs amb MSDN Library 2001". No tenia Internet de seguida i, pel que recordo, la MSDN Library no estava en línia l'any 2003. En qualsevol cas, em va ser més fàcil instal·lar el llibre de referència MSDN al meu ordinador local i trobar fàcilment documentació per a qualsevol funció WinApi o classe MFC.
Carrera de programació. Capítol 3. Universitat
Els llibres més significatius llegits en el període 2002-2004

Són llibres que es van llegir durant el període 2002-2004. Per descomptat, ara es tracta d'un llegat cutre, que s'està tornant a escriure per lots utilitzant tecnologies .NET i web. Però aquest és el meu camí, potser alguns de vosaltres n'han tingut un de semblant.

Primer semestre

A finals d'estiu, toca fer les proves d'accés a la universitat. Tot va anar bé. Vaig aprovar l'examen de llengua i matemàtiques i vaig estar matriculat a primer curs de l'especialitat de Programació de Sistemes Informàtics.
El primer de setembre, com era d'esperar, vaig anar a les primeres classes de la meva vida. "El temps dels estudiants és el moment més brillant de la vida", em va dir la meva mare. M'ho vaig creure de bon grat.
El primer dia es van aprovar 3 parelles d'assignatures d'educació general, tots es van conèixer al grup i, en general, la universitat va deixar una impressió agradable.
Finalment ens van començar a ensenyar la veritable programació en C! I, a més, van ensenyar la història de la informàtica, la tecnologia digital i molta altra informació que era rellevant per a mi. Fins i tot jurant. l'anàlisi va ser útil, ja que em va permetre entendre més profundament el que va escriure el molt respectat Donald Knuth.

Les classes de programació es van fer en un ambient de conducció per a mi. Finalment, la gent va venir a mi per demanar ajuda. Em vaig sentir necessari. A l'inici de la classe ens van donar la tasca d'escriure un programa. La tasca es va dissenyar per a una parella i mitja, després mitja hora per a la prova. Vaig aconseguir escriure la tasca en 3-5 minuts, i la resta del temps vaig caminar per l'oficina i vaig ajudar els altres a resoldre el problema.
No hi havia prou ordinadors per a tot el grup, així que sovint ens asseiem dos a la vegada en un ordinador. Veient les meves habilitats, tres, quatre, de vegades fins i tot 5-6 persones es van asseure a prop del meu escriptori i no van dubtar a seure per aprendre el que vaig aprendre fa un parell d'anys del llibre de Kernighan i Ritchie.
Els meus companys van veure les meves habilitats i van plantejar-se preguntes o es van oferir només per passar l'estona després de les classes. Així és com vaig fer molts amics, la majoria dels quals encara som amics avui dia.

A l'hivern, era el moment de la primera sessió. En total, calia cursar 4 assignatures: 2 modalitats superiors de matemàtiques, història i programació. Va passar tot, uns 4 punts, uns 3. I em van assignar la programació automàticament. Els professors ja coneixien les meves habilitats, així que no van veure cap sentit posar-me a prova. Em vaig presentar feliçment a la sessió amb el meu llibre de registres per aconseguir immediatament una signatura i estava a punt de tornar a casa quan els meus companys em van demanar que em quedés i quedés fora de la porta. Bé. Després d'haver-me col·locat a l'ampit de la finestra, a la sortida de l'oficina, vaig començar a esperar. Hi havia un altre noi que rondava al meu costat, que també va aprovar l'examen automàticament.
"Per què et quedes aquí", vaig preguntar
— “Vull guanyar diners resolent problemes. Perquè estàs aquí?
- "Jo també. Simplement no faré diners. Si necessites ajuda, doncs, per la bondat del meu cor, només decidiré".
El meu oponent va dubtar i va murmurar alguna cosa en resposta.

Al cap d'una estona, els companys van començar a abandonar el públic, emportant-se papers plegats que contenien problemes de l'examen.
"Ajuda'm a decidir", va preguntar el primer temerari. "D'acord, ara decidiré", vaig respondre. No havien passat ni 5 minuts abans que vaig gargotejar una solució en un paper arrugat amb un bolígraf i la vaig tornar. En veure que l'esquema funcionava, la gent va començar a abandonar el públic amb molta més freqüència, i de vegades fins i tot dos o tres a la vegada.
Hi havia tres piles de fulles a l'ampit de la meva finestra de treball. Un paquet conté fulls TODO recentment arribats. Davant meu hi havia un full d'In progress, i al costat hi havia un paquet de "Done".
Aquesta va ser la meva millor hora. Tot el grup, que era de gairebé 20 persones, va demanar ajuda. I vaig ajudar a tothom.
I el noi que volia guanyar diners se'n va anar precipitadament al cap d'uns minuts, adonant-se que aquí no hi havia res a atrapar, tota l'atenció es va centrar en l'altruista.
Tot el grup va aprovar l'examen amb 4t i 5è, i ara tinc 20 amics i una autoritat inquebrantable en matèria de programació.

Primers diners

Després de la sessió d'hivern, es van escampar rumors per tota la facultat que hi havia un noi que podia resoldre qualsevol problema de programació, del qual ens van assignar a casa o durant la sessió. I el boca-orella es va estendre no només entre els estudiants de primer any, sinó també entre els estudiants de grau superior.
Com ja vaig escriure, vaig desenvolupar relacions amistoses amb tots els membres del grup després de la "hora més bona" ​​de l'examen i vam començar a comunicar-nos molt estretament amb un parell de nois. Ens vam fer amics de veritat i vam passar molt de temps fora de la universitat. Per simplificar la presentació, anomenem-los Elon i Alen (els sobrenoms són propers als reals).
Vam anomenar Elon pel seu nom, però Alain va rebre un sobrenom en honor a Alain Delon, per la seva capacitat per seduir qualsevol bellesa. Les noies literalment giraven al seu voltant, en nombre variat. Pel que fa a conèixer gent i començar relacions per a la nit, Alain Delon no tenia igual. Era un autèntic home alfa per al sexe femení, cosa completament inusual per a la majoria d'especialistes en informàtica. A més dels afers amorosos, Alain era dissenyador per vocació. I si necessitava dibuixar alguna cosa, per exemple, els aleshores populars pancartes intermitents del format Web 1.0, ho va fer amb facilitat.

Es pot dir molt més sobre Elon. Encara ens trobem amb ell fins avui, deu anys després de la universitat. En els seus primers anys va ser un noi prim i més aviat silenciós. (No es pot dir el mateix del noi de cara gran d'avui en un jeep). Tanmateix, jo era el mateix: prim i taciturn. Per tant, crec que ràpidament hem trobat un llenguatge comú.
Sovint, després de les classes, jo, l'Elon i l'Alen ens vam reunir en una cerveseria coberta amb una lona. En primer lloc, estava a l'altra banda del carrer de la universitat i, en segon lloc, per un "ruble" i 50 copecs, podríeu obtenir unes llaminadures durant 2 hores d'una festa incendiària. Com la cervesa de barril i les galetes. Però el punt era diferent.
Elon i Alen eren d'altres ciutats i vivien en una habitació de lloguer. Els faltaven diners constantment i hi havia moments en què havien de passar gana. Els moments feliços, quan van rebre una beca de 10 dòlars a la seva targeta, es van celebrar el mateix dia i després va ser el moment de "estrènyer-se el cinturó" i viure del que Déu envia.

Per descomptat, aquesta situació va motivar els estudiants visitants a buscar maneres de guanyar diners extra. I davant d'ells, a la distància del braç, seia un "cap brillant" amb la meva forma. Que també és flexible i rarament es nega a ajudar la gent.
No sé si vaig descriure correctament aquesta situació, però finalment aquestes reunions al pub van portar a la creació de la primera empresa informàtica de la meva carrera anomenada SKS. El nom estava format simplement per les primeres lletres dels nostres cognoms. La nostra jove empresa, representada per tres fundadors, va trencar els competidors i tota la universitat durant els propers quatre anys.

Elon era un ROP. És a dir, el cap del departament de vendes. És a dir, les seves responsabilitats incloïen trobar nous clients per al nostre negoci d'externalització. El canal de venda eren fulletons A4 impresos horitzontalment, amb una senzilla inscripció: "Resolució de problemes de programació". I a sota hi ha el número de telèfon de l'Elon.
Aquest tipus de publicitat exterior es col·locava a cada planta on podien aparèixer els estudiants que estudien programació.
Un altre, més fort pel que fa a la fidelització dels clients, va ser el canal de venda a través del boca-orella.

El model de negoci era senzill. Ja sigui mitjançant una recomanació o un anunci, un estudiant universitari es va posar en contacte amb nosaltres. Va fer una descripció d'un problema de programació que s'havia de resoldre en un termini determinat i el vaig resoldre pel preu de l'estudiant. Elon va participar en les vendes i va rebre el seu percentatge. Alain Delon va participar en el nostre negoci amb menys freqüència, però si necessitàvem fer un disseny, una imatge o atraure clients addicionals, sempre va ser útil. Amb el seu encant, ens va portar molta gent nova. Tot el que havia de fer era processar aquesta canalització a una velocitat de 5-10 tasques per dia. Els terminis eren estrictes, no més d'una setmana. I més sovint, s'havia de fer ahir. Per tant, aquestes circumstàncies em van ensenyar ràpidament a escriure programes en un "flux", sense deixar-me distreure amb cada petita cosa com un terratrèmol amb una magnitud de 5,9 o un accident important fora de la finestra.

Durant la temporada més calorosa, abans de la sessió, és a dir, al desembre i al maig, semblava que tenia totes les tasques de la universitat a l'ordinador. Afortunadament, la majoria eren del mateix tipus, sobretot quan ens va contactar un majorista representat per un representant de tot un grup. Aleshores es van poder fer 20 tasques, per exemple en assemblador, canviant només 2-3 línies. En aquesta època, els ploms fluïen com un riu. L'únic que ens faltava eren els disquets. El 2003-2005, els estudiants pobres de la nostra ciutat no tenien res com transferir diners per Internet. A més, no hi havia garanties de pagament, que ara s'anomena escrow. Per tant, l'empresa SKS, com a encarregada de complir les comandes, va fer una cita al territori de la universitat i vam donar disquet amb una solució. Gairebé no hi va haver cap reemborsament (de l'anglès reemborsament - devolució del pagament a petició del client). Tothom estava content i va rebre els seus 4-5 punts si podien aprendre el que vaig afegir al fitxer readme.txt al disquet. Tot i que, una simple demostració d'un programa totalment funcional també sovint provocava un efecte sorpresa entre els professors.

El preu era ridícul, és clar, però el vam agafar en quantitat. Per exemple, una tasca domèstica típica costa entre 2 i 3 dòlars. Curs 10$. El jackpot en forma de programa per al treball d'un candidat va caure una vegada, i va ser de fins a 20 dòlars per a una sol·licitud per a un estudiant graduat que es preparava per a la seva defensa. Durant la temporada de calor, aquests ingressos es poden multiplicar per 100 clients, que en última instància era més que el salari mitjà de la ciutat. Ens vam sentir genials. Podrien permetre's les discoteques i passar-s'ho bé allà, en lloc d'ofegar-se amb el cheburek per l'últim cèntim.

Des del punt de vista de les meves habilitats, es van multiplicar amb cada nou tasca d'alumne. Vam començar a rebre sol·licituds d'altres facultats, amb un programa de formació diferent. Alguns estudiants de grau superior ja feien servir Java i XML al màxim quan ens vam inclinar cap a C++/MFC. Alguns necessitaven Assembler, altres PHP. Vaig aprendre tot un zoo de tecnologies, biblioteques, formats d'emmagatzematge de dades i algorismes per mi mateix a l'hora de resoldre problemes.
Aquest universalisme m'ha quedat amb mi fins avui. També s'utilitzen una varietat de tecnologies i plataformes quan es treballa en projectes. Ara puc escriure programari o una aplicació per a qualsevol plataforma, sistema operatiu o dispositiu. La qualitat, per descomptat, variarà, però per al negoci amb el que m'ocupo principalment, el pressupost sol ser important. I una orquestra d'un sol home per a ells significa reduir el pressupost exactament tant com el nombre de desenvolupadors que puc substituir amb les meves habilitats.

Si parlem del benefici més gran que em va aportar estudiar a la universitat, no serien conferències sobre algorismes o filosofia. I no "aprendrà a aprendre", com està de moda dir de les universitats. En primer lloc, aquestes seran persones amb qui hem mantingut amistosos després de l'entrenament. I en segon lloc, aquesta és la mateixa empresa SKS que em va convertir en un desenvolupador professional, amb encàrrecs reals i diversos.
M'agradaria recordar una frase molt adequada per a aquesta part de la història: Una persona es converteix en programador quan altres persones comencen a utilitzar els seus programes i paguen diners per això..

Així, la marca de l'empresa SKS era àmpliament coneguda no només en els cercles d'estudiants, sinó també entre els professors. Fins i tot hi va haver un cas en què un dels professors va venir a casa meva per ajudar-lo a escriure un programa per a les seves necessitats científiques. Ell, al seu torn, em va ajudar en la seva especialització. Tots dos ens vam quedar tan absorts en la nostra feina que tots dos ens vam adormir a l'alba. Ell està al sofà i jo en una cadira davant de l'ordinador. Però van completar les seves tasques i tots dos estaven satisfets amb el treball de l'altre.

Torcedura del destí

Va començar el 4t curs d'universitat. L'últim curs en finalitzar el qual s'obté el títol de grau. Pràcticament no hi havia assignatures d'educació general, sinó només les relacionades amb ordinadors i xarxes. Ara bé, de vegades lamento no haver tingut temps o no mostrar interès per la mateixa electrònica o l'estructura interna de les xarxes. Ara acabo de llegir això per necessitat, però estic segur que aquests coneixements bàsics són necessaris per a qualsevol desenvolupador. D'altra banda, no pots saber-ho tot.
Estava acabant d'escriure el meu propi compilador C++, que ja era capaç de comprovar si hi havia errors de codi segons l'estàndard i generar instruccions de muntatge. Vaig somiar que estava a punt de poder vendre el meu compilador per 100 dòlars per llicència. Ho vaig multiplicar per mil clients i mentalment
transportat a un Hammer, amb els baixos de 50 Cent des dels altaveus i els bells al seient del darrere. Què pots fer, als 19 anys, aquestes són les prioritats. El truc del meu compilador casolà va ser que produïa errors en rus, en comptes de l'anglès de Visual C++ i gcc, cosa que no és comprensible per a tothom. Vaig veure això com una característica assassina que ningú al món havia inventat encara. Crec que no té sentit dir més. No va arribar a les vendes. Tanmateix, vaig aconseguir un coneixement profund del llenguatge C++, que m'alimenta fins avui.

Al quart any vaig anar a la universitat cada cop menys perquè coneixia la major part del programa. I el que no sabia, ho vaig resoldre intercanviant amb un estudiant que entenia, per exemple, electrònica o teoria de probabilitats. El que no ens vam plantejar aleshores. I auriculars invisibles en un cable en el qual es dictava la resposta. I sortir de l'aula perquè un guru de la seva especialitat et pugui escriure la solució de tot l'examen en 2 minuts. Va ser un bon moment.
Durant el mateix curs, vaig començar a pensar en una feina real. Amb una oficina, aplicacions comercials reals i un sou digne.
Però en aquella època, a la nostra ciutat, només es podia trobar feina com a programador
“1C: Comptabilitat”, que no em va bé gens. Encara que per desesperança, ja estava preparat per a això. En aquell moment, la meva xicota estava pressionant-me perquè em mudés a un apartament a part.
En cas contrari, dormir amb els teus pares a través de la paret no és gens com il faut. Sí, i ja estava cansat de resoldre els problemes dels alumnes, i volia alguna cosa més.

Els problemes van sorgir del no-res. Vaig pensar en anunciar a mail.ru que buscava feina amb un sou de 300 dòlars per a la posició de programador C++/Java/Delphi. Això és l'any 2006. A la qual cosa bàsicament van respondre alguna cosa com: "Potser hauríeu d'escriure a Bill Gates amb aquestes sol·licituds de salari?" Això em va molestar, però entre un munt de respostes semblants, hi havia una persona que em va portar a treballar autònom. Aquesta va ser l'única oportunitat a la nostra empobrida Las Vegas per guanyar bons diners fent el que sabia fer.
Així que estudiar a la universitat es va convertir sense problemes en el treball a l'intercanvi autònom. Tancant el tema de la universitat, podem dir el següent: No vaig anar a 5è. Hi havia una programació i un concepte com "assistència gratuïta", que vaig utilitzar el 146%.
L'únic que calia fer era defensar un diploma d'especialista. Cosa que vaig fer amb èxit amb l'ajuda dels meus amics. Val a dir que en aquest curs ja m'havia traslladat dels meus pares a un pis de lloguer i m'havia comprat un cotxe nou. Així va començar la meva carrera com a desenvolupador professional.

Els següents capítols es dedicaran a projectes individuals, a les falles més greus i als clients més inadequats. Una carrera en freelance de 5 a 40 $/hora, llançant la meva pròpia startup, com em van prohibir l'intercanvi d'autònoms Upwork i com des de freelance em vaig convertir en líder d'equip de la segona petrolera més gran del món. Com vaig tornar al treball remot després de l'oficina i la posada en marxa, i com vaig resoldre problemes interns de socialització i mals hàbits.

Continuar ...

Font: www.habr.com

Afegeix comentari