Programada kariero. Ĉapitro 3. Universitato

Daŭrigo de la rakonto "Programista Kariero".

Fininte la vesperan lernejon, estis tempo por iri al universitato. En nia urbo estis unu teknika universitato. Ĝi ankaŭ havis unu fakultaton de "Matematiko kaj Komputado", kiu havis unu sekcion de "Komputilaj Sistemoj", kie ili trejnis estontajn IT-laboristojn - programistojn kaj administrantojn.
La elekto estis malgranda kaj mi kandidatiĝis por la fako "Programado de Komputila Inĝenierado". Antaŭe estis 2 alirekzamenoj. En lingvo kaj matematiko.
La ekzamenoj estis antaŭitaj de intervjuo, kaj la elekto de la formo de trejnado - buĝeto aŭ kontrakto, t.e. senpage aŭ kontraŭ mono.

Miaj gepatroj ĉeestis ĉe mia intervjuo kaj maltrankviliĝis pri akcepto. Kompreneble, ili elektis la kontraktan formon de trejnado. Cetere, ĝi kostis ĉirkaŭ $500/jare, kio estis multe da mono en 2003, precipe por nia urbeto. Mi bone memoras la dialogon de mia patro kun la knabino de la akceptejo:
La knabino: Vi povas provi pasigi ekzamenojn laŭ buĝeto, kaj se ĝi ne funkcias, tiam ŝanĝu al kontrakto. Vi povas pagi en partopagoj.
Patro: Ne, ni jam decidis, ke ni petos kontrakton
La knabino: Nu kial, vi nenion riskas
Patro: Ne, ĝi ankoraŭ estas risko. Diru al mi, ĉu ĉiuj petas kontrakton?
La knabino: Jes, ĉiuj faras. Verŝajne nur kompletaj idiotoj ne povas
Patro: Tiam ni havas ŝancon... li diris rikanante, kaj ni subskribis la dokumentojn por akcepto

Kompreneble, la prezentoj de mezlernejo ankoraŭ estis freŝaj en la memoroj de miaj gepatroj, do tra la jaroj mi komprenas kial ili diris tion.

En la somero, antaŭ akcepto, mi daŭre aĉetis librojn por la tuta $40 kiun mia avino donis al mi de sia pensio.
El la memorinda kaj signifa:
1. "UML 2.0. Objekt-orientita analizo kaj dezajno". Libro kiu instruis min kiel desegni programaron de ajna komplekseco, pensi tra la arkitekturo, disrompi ĉion en komponantojn, skribi uzkazojn, kaj desegni UML-diagramojn. Ĉi tio estas la scio, kiun maljunuloj, gvidantoj kaj arkitektoj bezonas. Tiuj, kiuj materiigas sistemon el la malpleno, kiam estas nur priskribo de la ideo.
Mi konas homojn, kiuj jam estas pli ol 30, kaj ili ankoraŭ ne povas fari decidon krom se estas ordono de supre, de pli alta ellaboranto. En sendependa kaj fora laboro, kiam vi ofte laboras unu-kontraŭ-unu kun kliento, ĉi tiu scio ankaŭ estas valorega.
Ili ankaŭ estas gravaj por sendependaj programistoj, kiuj kreas novajn aplikojn kaj servojn. Kvankam malmultaj homoj ĝenas kun detala dezajno. Tial ni havas programaron de tia kvalito, englutante la tutan memoron, kun kurba UX.
2. "ANSI C++ 98 Normo". Ne tute libro, sed ĝi estas pli ol 800 paĝoj da fonaj informoj. Kompreneble, mi ne legis ĝin sekcio post sekcio, sed prefere referencas al specifaj lingvoreguloj dum evoluigado de mia C++-kompililo. La profundo de scio de la lingvo, post studado kaj efektivigo de la normo, ne povas esti priskribita per iu mirinda epiteto. Ni povas diri, ke vi scias ĉion pri la lingvo, kaj eĉ pli. Tre longa, peniga laboro por studi la normon. Sed mi havis 5 jarojn da universitato antaŭ mi, do neniu puŝis min
3. "Delphi 6. Praktika gvidilo.". Ĝi estis rapida salto en la mondon de GUI kaj formo-flatiĝo. Preskaŭ ne estis enirsojlo, kaj mi jam sufiĉe bone konis Paskalon. Studante en universitato, mi verkis la plej grandan parton de komercaj programoj en Delfo. Ĉi tio estis programaro por universitataj diplomiĝaj studentoj, respondecante pri malgrandaj entreprenoj, registaro. institucioj. Tiam estis pluraj sendependaj mendoj. En la mez-XNUMX-aj jaroj, Delfo dominis la Vindozan evolumerkaton. Ĝis nun, ĉe la kaso en lokaj vendejoj vi povas vidi programojn kun konataj tiparoj kaj kontroloj, kiuj tuj distingas Delphi-aplikaĵon de iu ajn alia.
4. "MFC-lernilo". Majstrinte Delphi, estis logike daŭre krei UI en C++. Estis multe pli malfacile, ne ĉio funkciis kaj estis komprenebla. Tamen, mi ankaŭ alportis ĉi tiun teknologion al la stadio de apliko en komercaj projektoj. Unu germana kontraŭvirusa kompanio distribuas mian programon, skribitan en MFC ĝis hodiaŭ.
5. "3 diskoj kun MSDN Library 2001". Mi ne havis la Interreton tuj, kaj laŭ mia memoro, la MSDN-Biblioteko ne estis enreta en 2003. Ĉiukaze, estis pli facile por mi instali la MSDN-referenclibron sur mia loka komputilo, kaj facile trovi dokumentadon por iu ajn WinApi-funkcio aŭ MFC-klaso.
Programada kariero. Ĉapitro 3. Universitato
La plej signifaj libroj legitaj en la periodo 2002-2004

Temas pri libroj, kiuj estis legitaj en la periodo 2002-2004. Kompreneble, nun ĉi tio estas malbona heredaĵo, kiu estas reverkita en aroj uzante teknologiojn .NET kaj TTT. Sed ĉi tiu estas mia vojo, eble iuj el vi havis similan.

Unua semestro

Fine de la somero, estas tempo fari la alirekzamenojn al la universitato. Ĉio iris glate. Mi trapasis la ekzamenon pri lingvo kaj matematiko kaj estis enskribita en la unua jaro de la fako Komputilaj Sistemoj Programado.
La unuan de septembro, kiel atendite, mi iris al la unuaj klasoj en mia vivo. "Studenta tempo estas la plej brila tempo en la vivo", mia patrino diris al mi. Mi volonte kredis ĝin.
En la unua tago trapasis 3 paroj de ĝeneralaj edukaj fakoj, ĉiuj interkonatiĝis en la grupo, kaj entute la universitato lasis agrablan impreson.
Fine ili komencis instrui al ni veran programadon en C! Kaj, krome, ili instruis la historion de komputiko, cifereca teknologio kaj multe da aliaj informoj, kiuj estis gravaj por mi. Eĉ ĵurante. la analizo estis utila, ĉar ĝi permesis al mi pli profunde kompreni, kion skribis la profunde respektata Donald Knuth.

Programaj klasoj okazis en ŝofora etoso por mi. Fine homoj venis al mi por helpo. Mi sentis min bezonata. Komence de la klaso, ni ricevis la taskon verki programon. La tasko estis desegnita por unu kaj duono paroj, poste duonhoron por testado. Mi sukcesis skribi la taskon en 3-5 minutoj, kaj la reston de la tempo mi ĉirkaŭiris la oficejon kaj helpis aliajn eltrovi la problemon.
Ne estis sufiĉe da komputiloj por la tuta grupo, do plej ofte ni sidis po du ĉe unu komputilo. Vidante miajn kapablojn, tri, kvar, foje eĉ 5-6 homoj sidiĝis apud mia skribotablo kaj ne hezitis sidiĝi por lerni tion, kion mi lernis antaŭ kelkaj jaroj el la libro de Kernighan kaj Ritchie.
Miaj samklasanoj vidis miajn kapablojn kaj mem elpensis demandojn, aŭ proponis simple pendi post klasoj. Tiel mi faris multajn amikojn, kun kiuj la plimulto ni estas ankoraŭ amikoj hodiaŭ.

Vintre, estis tempo por la unua sesio. Entute necesis preni 4 fakojn: 2 specoj de pli alta matematiko, historio kaj programado. Ĉio pasis, proksimume 4 poentoj, kelkaj 3. Kaj mi estis asignita programado aŭtomate. La instruistoj jam konis miajn kapablojn, do ili vidis nenian signifon testi min. Mi ĝoje aperis al la kunsido kun mia rekordlibro por tuj ricevi subskribon sur ĝi kaj estis revenonta hejmen, kiam miaj samklasanoj petis min resti kaj stari ekster la pordo. Nu. Lokiĝinte min ĉe la fenestrobreto, ĉe la elirejo de la oficejo, mi komencis atendi. Apud mi estis alia ulo, kiu ankaŭ aŭtomate trapasis la ekzamenon.
"Kial vi restas ĉi tie," mi demandis
— “Mi volas gajni monon solvante problemojn. Kial vi estas ĉi tie?
- "Ankaŭ mi. Mi simple ne gajnos monon. Se vi bezonas helpon, do pro la bonkoreco de mia koro, mi simple decidos."
Mia kontraŭulo hezitis kaj murmuris ion responde.

Post iom da tempo, samklasanoj komencis forlasi la publikon, kunportante falditajn paperpecojn, kiuj enhavis problemojn de la ekzameno.
"Helpu min decidi," demandis la unua kuraĝulo. "Bone, mi decidos nun," mi respondis. Ne pasis eĉ 5 minutoj antaŭ ol mi skribaĉis solvon sur ĉifitan paperon per globkrajono kaj redonis ĝin. Vidante, ke la skemo funkcias, homoj komencis forlasi la publikon multe pli ofte, kaj foje eĉ du aŭ tri samtempe.
Estis tri stakoj da folioj sur mia laborfenestra sojlo. Unu pako enhavas ĵusalvenintajn TODO-foliojn. Antaŭ mi estis folio de En Progreso, kaj apud ĝi kuŝis pako da "Farita".
Ĉi tio estis mia plej bona horo. La tuta grupo, kiu estis preskaŭ 20 homoj, turniĝis al mi por helpo. Kaj mi helpis ĉiujn.
Kaj la ulo, kiu volis gajni monon, haste foriris post kelkaj minutoj, konsciante, ke ĉi tie estas nenio por kapti, la tuta atento estis koncentrita al la altruisto.
La tuta grupo trapasis la ekzamenon kun klasoj 4 kaj 5, kaj mi nun havas 20 amikojn kaj neŝanceleblan aŭtoritaton en programado.

Unua mono

Post la vintra kunsido, onidiroj disvastiĝis tra la tuta fakultato, ke ekzistas ulo, kiu povus solvi ajnan programproblemon, pri kiu ni estis asignitaj hejme aŭ dum la sesio. Kaj buŝe disvastiĝis ne nur inter unuajaruloj, sed ankaŭ inter altrangaj studentoj.
Kiel mi jam skribis, mi disvolvis amikecajn rilatojn kun ĉiuj en la grupo post la "plej bona horo" en la ekzameno, kaj ni komencis tre proksime komuniki kun kelkaj el la uloj. Ni iĝis veraj amikoj kaj pasigis multe da tempo ekster universitato. Por simpleco de prezento, ni nomu ilin Elon kaj Alen (la kromnomoj estas proksimaj al la veraj).
Ni nomis Elonon per nomo, sed Alain estis moknomita honore al Alain Delon, pro lia kapablo delogi iun belecon. Knabinoj laŭvorte rondiris ĉirkaŭ li, en diversaj nombroj. Koncerne renkonti homojn kaj komenci rilatojn por la nokto, Alain Delon ne havis egalulon. Li estis vera alfa-masklo por la ina sekso, kio estas tute nekutima por la plej multaj IT-specialistoj. Aldone al amoraj aferoj, Alain estis dezajnisto de alvokiĝo. Kaj se li bezonis desegni ion, ekzemple, la tiam popularajn palpebrumajn standardojn de la formato Web 1.0, tiam li faris tion facile.

Pri Elon oni povas diri multe pli. Ni ankoraŭ renkontiĝas kun li ĝis hodiaŭ, dek jarojn post la universitato. En siaj unuaj jaroj li estis magra, sufiĉe silentema ulo. (La samon oni ne povas diri pri la hodiaŭa grandvizaĝa ulo en ĵipo). Tamen mi estis la sama — maldika kaj silentema. Tial, mi pensas, ke ni rapide trovis komunan lingvon.
Ofte post klasoj mi, Elon kaj Alen kunvenis en bierejo, kovrita per tolo. Unue, ĝi estis trans la strato de la universitato, kaj due, por "rublo" kaj 50 kopekoj, vi povus ricevi kelkajn bonaĵojn por 2 horoj de incendia festo. Kiel malpeza biero kaj biskvitoj. Sed la punkto estis alia.
Elon kaj Alen estis el aliaj urboj kaj loĝis en luita ĉambro. Ili konstante mankis je mono, kaj estis tempoj kiam ili devis malsati. Feliĉaj momentoj, kiam ili ricevis $10-stipendion sur sia karto, estis festitaj en la sama tago kaj tiam estis tempo "streĉi siajn zonojn" kaj vivi per tio, kion Dio sendas.

Kompreneble, ĉi tiu situacio instigis vizitantajn studentojn serĉi manierojn gajni kroman monon. Kaj antaŭ ili, je brako, sidis "hela kapo" en la formo de mi. Kiu ankaŭ estas fleksebla kaj malofte rifuzas helpi homojn.
Mi ne scias, ĉu mi ĝuste priskribis tiun situacion, sed finfine ĉi tiuj renkontiĝoj en la drinkejo kaŭzis la kreadon de la unua IT-kompanio en mia kariero nomata SKS. La nomo simple konsistis el la unuaj literoj de niaj familiaj nomoj. Nia juna firmao, reprezentita de tri fondintoj, disŝiris konkurantojn kaj la tutan universitaton dum la venontaj kvar jaroj.

Elon estis ROP. Tio estas, la estro de la venda fako. Nome, liaj respondecoj inkludis trovi novajn klientojn por nia subkontrakta komerco. La venda kanalo estis horizontale presitaj A4 flugfolioj, kun simpla surskribo: "Solving programproblems." Kaj sube estas la telefonnumero de Elon.
Ĉi tiu speco de subĉiela reklamado estis metita sur ĉiun etaĝon kie studentoj studantaj programadon povus aperi.
Plia, pli forta laŭ kliento-lojaleco, estis la venda kanalo per buŝo.

La komerca modelo estis simpla. Ĉu per rekomendo aŭ reklamo, universitata studento kontaktis nin. Li donis priskribon de programa problemo, kiu bezonis esti solvita antaŭ certa limdato, kaj mi solvis ĝin por la studenta prezo. Elon estis implikita en vendo kaj ricevis sian procenton. Alain Delon partoprenis en nia komerco malpli ofte, sed se ni bezonis fari dezajnon, bildon aŭ altiri pliajn klientojn, li ĉiam estis helpema. Per sia ĉarmo, li alportis al ni sufiĉe multajn novajn homojn. Ĉio, kion mi devis fari, estis prilabori ĉi tiun dukton je rapideco de 5-10 taskoj tage. La limdatoj estis striktaj – ne pli ol unu semajnon. Kaj pli ofte, ĝi devis esti farita hieraŭ. Tial tiaj cirkonstancoj rapide instruis min skribi programojn en "fluo", sen esti distrita de ĉiu eta afero kiel tertremo kun magnitudo de 5,9 aŭ grava akcidento ekster la fenestro.

Dum la plej varma sezono, antaŭ la kunsido, tio estas, en decembro kaj majo, ŝajnis, ke mi havas la tutajn universitatajn taskojn en mia komputilo. Feliĉe, la plej multaj el ili estis de la sama tipo, precipe kiam ni estis kontaktitaj de pograndisto reprezentita de reprezentanto de tuta grupo. Tiam eblis fari 20 taskojn, ekzemple en asemblero, ŝanĝante nur 2-3 liniojn. En tia sezono, plumboj fluis kiel rivero. La nura afero al ni mankis estis disketoj. En 2003-2005, malriĉaj studentoj en nia urbo ne havis ion kiel transdono de mono per la Interreto. Plie, ne estis garantioj de pago, kiu nun nomiĝas escrow. Tial la kompanio SKS, kiel plenumanto de mendoj, faris rendevuon sur la teritorio de la universitato kaj ni donis disketo kun solvo. Preskaŭ ne estis repago (el la angla repago - repago laŭ peto de la kliento). Ĉiuj estis feliĉaj kaj ricevis siajn 4-5 poentojn se ili povus lerni kion mi aldonis al la readme.txt dosiero sur la disketo. Kvankam, simpla demo de plene funkcianta programo ankaŭ ofte kaŭzis wow-efekton inter instruistoj.

La prezo estis ridinda, kompreneble, sed ni prenis ĝin en kvanto. Ekzemple, tipa hejma tasko kostis $2-3. Kurslaboro 10 $. La jackpot en la formo de programo por la laboro de kandidato falis unufoje, kaj ĝi estis tiom multe kiom $ 20 por kandidatiĝo por gradstudanto prepariĝanta por sia defendo. Dum la varma sezono, ĉi tiu enspezo povas esti multobligita per 100 klientoj, kio finfine estis pli ol la averaĝa salajro en la urbo. Ni sentis nin malvarmetaj. Ili povis pagi noktoklubojn kaj havi eksplodon tie, prefere ol sufoki je cheburek por sia lasta penco.

El la vidpunkto de miaj kapabloj, ili multiĝis kun ĉiu nova studenta tasko. Ni komencis ricevi kandidatiĝojn de aliaj fakultatoj, kun malsama trejna programo. Kelkaj altrangaj studentoj jam uzis Java kaj XML laŭ sia plena potencialo kiam ni klinis sin al C++/MFC. Iuj bezonis Assembler, aliaj PHP. Mi lernis tutan zoon de teknologioj, bibliotekoj, datumformatoj kaj algoritmoj por mi solvante problemojn.
Ĉi tiu universalismo restis ĉe mi ĝis hodiaŭ. Diversaj teknologioj kaj platformoj ankaŭ estas uzataj kiam oni laboras pri projektoj. Nun mi povas skribi programaron aŭ aplikaĵon por ajna platformo, OS aŭ aparato. La kvalito, kompreneble, varias, sed por la komerco, kiun mi ĉefe traktas, la buĝeto kutime gravas. Kaj unu-vira orkestro por ili signifas tranĉi la buĝeton ĝuste tiom kiom la nombron da programistoj, kiujn mi povas anstataŭigi per miaj kapabloj.

Se ni parolos pri la plej granda profito, kiun alportis al mi studi en la universitato, ne estus prelegoj pri algoritmoj aŭ filozofio. Kaj ĝi ne "lernos lerni", kiel estas laŭmode diri pri universitatoj. Unue, ĉi tiuj estos homoj kun kiuj ni restis amike post trejnado. Kaj due, ĉi tiu estas la sama SKS-firmao, kiu forĝis min en profesian programiston, kun realaj kaj diversaj mendoj.
Mi ŝatus memori frazon, kiu tre taŭgas por ĉi tiu parto de la rakonto: Homo fariĝas programisto kiam aliaj homoj komencas uzi siajn programojn kaj pagas monon por ĝi..

Tiel, la marko de la kompanio SKS estis vaste konata ne nur en studentaj rondoj, sed ankaŭ inter instruistoj. Estis eĉ okazo, kiam unu el la instruistoj venis al mia hejmo, por ke mi helpu lin verki programon por liaj sciencaj bezonoj. Li, siavice, helpis min en sia specialiĝo. Ni ambaû tiom okupi ̧is pri nia laboro, ke ni ambaû ekdormis çe tagiĝo. Li estas sur la kanapo kaj mi estas sur seĝo antaŭ la komputilo. Sed ili plenumis siajn taskojn, kaj ambaŭ estis kontentaj pri la laboro de unu la alian.

turno de la sorto

La 4-a jaro de universitato komenciĝis. La lasta kurso post kompletigo de kiu bakalaŭro estas aljuĝita. Preskaŭ ne estis fakoj pri ĝenerala edukado, sed nur tiuj rilataj al komputiloj kaj retoj. Nun, foje mi bedaŭras, ke mi ne havis tempon aŭ ne montris intereson pri la sama elektroniko aŭ la interna strukturo de retoj. Nun mi finas ĉi tion pro neceso, sed mi certas, ke ĉi tiu baza scio estas necesa por iu ajn programisto. Aliflanke, vi ne povas scii ĉion.
Mi estis finverki mian propran C++-kompililon, kiu jam povis kontroli kodon por eraroj laŭ la normo kaj generi asemblajn instrukciojn. Mi sonĝis, ke mi tuj povos vendi mian kompililon kontraŭ $100 per permesilo. Mi multobligis ĉi tion per mil klientoj kaj mense
transportite al Martelo, kun la baseksplodado de 50 Cent de la laŭtparoliloj kaj hotties en la malantaŭa seĝo. Kion vi povas fari, je 19 jaroj - tiaj estas la prioritatoj. La ruzo de mia memfarita kompililo estis, ke ĝi produktis erarojn en la rusa, anstataŭ la angla de Visual C++ kaj gcc, kio ne estas komprenebla por ĉiuj. Mi vidis ĉi tion kiel murdan trajton, kiun neniu en la mondo ankoraŭ inventis. Mi pensas, ke ne utilas plu rakonti. Ĝi ne venis al vendoj. Tamen mi atingis profundan konon de la lingvo C++, kiu nutras min ĝis hodiaŭ.

En mia kvara jaro, mi iris al universitato malpli kaj malpli ĉar mi konis la plej grandan parton de la programo. Kaj kion mi ne sciis, mi solvis per interŝanĝo kun studento, kiu komprenis, ekzemple, elektronikon aŭ probabloteorion. Kion ni tiam ne elpensis. Kaj nevideblaj aŭdiloj sur drato, en kiu estis diktita la respondo. Kaj elkuri el la klasĉambro por ke guruo en sia fako povu skribi por vi la solvon de la tuta ekzameno en 2 minutoj. Estis bonega tempo.
Dum la sama kurso, mi ekpensis pri vera laboro. Kun oficejo, veraj komercaj aplikoj kaj deca salajro.
Sed tiutempe, en nia urbo, oni nur povis trovi laboron kiel programisto
“1C: Kontado”, kiu tute ne konvenis al mi. Kvankam pro malespero, mi jam estis preta por ĉi tio. Tiutempe mia fianĉino premis min translokiĝi al aparta loĝejo.
Alie, dormi kun viaj gepatroj tra la muro tute ne estas comme il faut. Jes, kaj mi jam tedis solvi studentajn problemojn, kaj mi volis ion pli.

Problemo venis de nenie. Mi pensis reklami ĉe mail.ru, ke mi serĉas laboron kun salajro de $300 por la posteno de programisto C++/Java/Delphi. Ĉi tio estas en 2006. Al kio ili esence respondis ion kiel: "Eble vi devus skribi al Bill Gates kun tiaj salajraj petoj?" Ĉi tio ĉagrenis min, sed inter amaso da similaj respondoj, estis persono, kiu venigis min en liberlaboradon. Ĉi tio estis la sola ŝanco en nia malriĉa Las Vegas por gajni bonan monon farante tion, kion mi sciis fari.
Do studi en la universitato glate fluis en laboron pri la sendependa interŝanĝo. Fermante la temon pri universitato, ni povas diri la jenon: Mi ne iris al la 5-a jaro. Estis unu programado kaj tia koncepto kiel "senpaga ĉeesto", kiun mi uzis 146%.
La nura afero, kiun oni devis fari, estis defendi fakan diplomon. Kion mi sukcese faris kun la helpo de miaj amikoj. Indas diri, ke per ĉi tiu kurso mi jam translokiĝis de miaj gepatroj al luita apartamento kaj aĉetis novan aŭton. Tiel komenciĝis mia kariero kiel profesia programisto.

La sekvaj ĉapitroj estos dediĉitaj al individuaj projektoj, la plej severaj fiaskoj kaj la plej neadekvataj klientoj. Kariero en liberlaborado de 5 ĝis 40 $/horo, lanĉante mian propran ekentreprenon, kiel mi estis malpermesita de la liberlabora interŝanĝo de Upwork kaj kiel de liberlaborado mi fariĝis teamgvidanto ĉe la dua plej granda petrolkompanio en la mondo. Kiel mi revenis al fora laboro post la oficejo kaj ekfunkciigo, kaj kiel mi solvis internajn problemojn kun socianiĝo kaj malbonaj kutimoj.

Daŭrigota…

fonto: www.habr.com

Aldoni komenton