Programmēšanas karjera. 3. nodaļa. Universitāte

Stāsta turpinājums "Programmētāja karjera".

Pabeidzot vakarskolu, bija laiks doties uz universitāti. Mūsu pilsētā bija viena tehniskā universitāte. Tajā bija arī viena “Matemātikas un datorzinātņu” fakultāte, kurā bija viena “Datorsistēmu” katedra, kurā apmācīja topošos IT darbiniekus – programmētājus un administratorus.
Izvēle bija maza un pieteicos specialitātē “Datortehnikas programmēšana”. Priekšā bija 2 iestājeksāmeni. Valodā un matemātikā.
Pirms eksāmeniem notika intervija, un apmācības formas izvēle - budžets vai līgums, t.i. bez maksas vai par naudu.

Mani vecāki bija klāt manā intervijā un bija noraizējušies par uzņemšanu. Protams, viņi izvēlējās apmācību līguma formu. Starp citu, tas maksāja aptuveni 500 USD/gadā, kas 2003. gadā bija liela nauda, ​​īpaši mūsu mazpilsētai. Es labi atceros sava tēva dialogu ar meiteni no uzņemšanas biroja:
Meitene: varat mēģināt nokārtot eksāmenus, izmantojot budžetu, un, ja tas nedarbojas, pārslēdzieties uz līgumu. Maksāt var pa daļām.
Tēvs: Nē, mēs jau esam nolēmuši, ka pieteiksimies līgumam
Meitene: Nu kāpēc, tu ar neko neriskē
Tēvs: Nē, tas joprojām ir risks. Sakiet, vai visi pretendē uz līgumu?
Meitene: Jā, visi dara. Laikam tikai pilnīgi debīli nevar
Tēvs: Tad mums ir iespēja... viņš smīnot teica, un mēs parakstījām dokumentus uzņemšanai

Protams, priekšnesumi no vidusskolas maniem vecākiem vēl bija svaigā atmiņā, tāpēc gadu gaitā es saprotu, kāpēc viņi tā teica.

Vasarā pirms uzņemšanas turpināju pirkt grāmatas par visiem 40 dolāriem, ko man iedeva vecmāmiņa no pensijas.
No neaizmirstamā un nozīmīgā:
1. "UML 2.0. Objektorientēta analīze un dizains". Grāmata, kas man iemācīja izstrādāt jebkuras sarežģītības programmatūru, pārdomāt arhitektūru, sadalīt visu komponentos, rakstīt lietošanas gadījumus un zīmēt UML diagrammas. Šīs ir zināšanas, kas nepieciešamas senioriem, vadītājiem un arhitektiem. Tie, kas materializē sistēmu no tukšuma, kad ir tikai idejas apraksts.
Es zinu cilvēkus, kuriem jau ir pāri 30, un viņi joprojām nevar pieņemt lēmumu, ja vien nav pasūtījuma no augšas, no augstāka līmeņa izstrādātāja. Ārštata un attālinātā darbā, kad bieži strādājat viens pret vienu ar klientu, arī šīs zināšanas ir nenovērtējamas.
Актуальны они и для инди-разработчиков, которые создают новые приложения и сервисы. Хотя мало кто заморачивается детальным проектированием. Поэтому и имеем софт такого качества, проглатывающий всю память, с кривым UX.
2. "ANSI C++ 98 standarts". Ne gluži grāmata, bet tajā ir vairāk nekā 800 lappušu pamatinformācijas. Protams, es to nelasīju pa sadaļai, bet gan atsaucos uz konkrētiem valodas noteikumiem, izstrādājot savu C++ kompilatoru. Valodas zināšanu dziļumu pēc standarta izpētes un ieviešanas nevar raksturot ar kādu brīnišķīgu epitetu. Mēs varam teikt, ka jūs zināt visu par valodu un pat vairāk. Ļoti ilgs, rūpīgs darbs, lai izpētītu standartu. Bet man priekšā bija 5 gadi augstskolā, tāpēc neviens mani nespieda
3. "Delphi 6. Praktiskā rokasgrāmata.". Tas bija ātrs lēciens GUI un formu glaimošanas pasaulē. Gandrīz nebija ieejas sliekšņa, un Paskālu es jau pazinu diezgan labi. Studējot augstskolā, Delfos rakstīju lauvas tiesu komerciālo programmu. Tā bija programmatūra augstskolu absolventiem, grāmatvedības mazajiem uzņēmumiem, valdībai. iestādēm. Tad bija vairāki ārštata pasūtījumi. XNUMX. gadu vidū Delphi dominēja Windows izstrādes tirgū. Līdz šim pie kases vietējos veikalos var redzēt programmas ar pazīstamiem fontiem un vadīklām, kas Delphi aplikāciju uzreiz atšķir no citām.
4. "MFC apmācība". Apgūstot Delphi, bija loģiski turpināt veidot interfeisu C++. Bija daudz grūtāk, ne viss izdevās un bija saprotams. Tomēr es šo tehnoloģiju arī nonācu līdz pielietojuma stadijai komerciālos projektos. Viens vācu antivīrusu uzņēmums izplata manu programmu, kas līdz šai dienai ir rakstīta MFC.
5. «3 диска с MSDN Library 2001». Интернет у меня появился не сразу, да и насколько помню, MSDN Library не лежала в сети в 2003 году. В любом случае, мне проще было установить справочник MSDN на локальный ПК, и легко находить документацию по любой WinApi функции или MFC классу.
Programmēšanas karjera. 3. nodaļa. Universitāte
Nozīmīgākās grāmatas, kas lasītas laika posmā no 2002. līdz 2004. gadam

Tās ir grāmatas, kas lasītas laika posmā no 2002. līdz 2004. gadam. Protams, tagad tas ir nobružāts mantojums, kas tiek pārrakstīts pa partijām, izmantojot .NET un Web tehnoloģijas. Bet tas ir mans ceļš, varbūt kādam no jums ir bijis līdzīgs.

Pirmais semestris

Vasaras beigās pienācis laiks kārtot iestājeksāmenus augstskolā. Viss noritēja gludi. Nokārtoju valodas un matemātikas eksāmenu un tiku uzņemts Datorsistēmu programmēšanas specialitātē pirmajā kursā.
Pirmajā septembrī, kā jau bija paredzēts, devos uz pirmajām nodarbībām savā dzīvē. "Studentu laiks ir spilgtākais laiks dzīvē," man teica mana māte. Es tam labprāt ticēju.
Pirmajā dienā nokārtoti 3 vispārizglītojošo priekšmetu pāri, grupā visi iepazinās un kopumā augstskola atstāja patīkamu iespaidu.
Beidzot viņi sāka mācīt mums patiesu programmēšanu C valodā! Un turklāt viņi mācīja datorzinātņu vēsturi, digitālās tehnoloģijas un daudz citu informāciju, kas man bija aktuāla. Pat lamāties. analīze bija noderīga, jo tā ļāva man dziļāk izprast ļoti cienītā Donalda Knuta rakstīto.

Programmēšanas nodarbības man notika braukšanas gaisotnē. Beidzot cilvēki nāca pie manis pēc palīdzības. Es jutos vajadzīga. Nodarbības sākumā mums tika dots uzdevums uzrakstīt programmu. Uzdevums bija paredzēts pusotram pārim, pēc tam pusstunda testēšanai. Uzdevumu man izdevās uzrakstīt 3-5 minūtēs, un pārējā laikā es staigāju pa biroju un palīdzēju citiem izdomāt problēmu.
Visai grupai datoru nepietika, tāpēc visbiežāk sēdējām divi vienlaikus pie viena datora. Redzot manas spējas, pie mana rakstāmgalda apsēdās trīs, četri, dažreiz pat 5-6 cilvēki un nekautrējās apsēsties, lai uzzinātu, ko pirms pāris gadiem uzzināju no Kernigana un Ričija grāmatas.
Klasesbiedri redzēja manas spējas un paši izdomāja jautājumus, vai arī piedāvāja vienkārši pabūt pēc stundām. Tā es ieguvu daudzus draugus, ar kuriem lielākoties draudzējamies vēl šodien.

Зимой подходила пора первой сессии. Всего нужно было сдавать 4 предмета: 2 разновидности высшей математики, история и программирование. Все сдалось, где на 4 балла, где на 3. А программирование мне поставили автоматом. Преподы уже знали мои навыки, поэтому смысла меня проверять не видели. Я радостно явился с зачеткой на сессию, чтобы сходу получить в ней роспись и уже было собирался возвращаться домой, как одногруппники попросили меня остаться и постоять за дверью. Что ж. Разместившись у подоконника, на выходе из кабинета, я стал ждать. Рядом со мной крутился еще один парень, который также сдал экзамен автоматом.
"Kāpēc tu paliki šeit," es jautāju
— «Хочу заработать на решении задач. А ты зачем?»
- "ES arī. Es vienkārši netaisos pelnīt naudu. Ja jums ir nepieciešama palīdzība, tad no sirds laipnības es vienkārši izlemšu.
Mans pretinieks vilcinājās un kaut ko nomurmināja, atbildot.

Pēc kāda laika klasesbiedri sāka pamest auditoriju, paņemot līdzi salocītus papīra gabalus, kuros bija eksāmena problēmas.
"Palīdziet man izlemt," jautāja pirmais pārdrošnieks. "Labi, es tagad izlemšu," es atbildēju. Nebija pagājušas pat 5 minūtes, līdz es ar lodīšu pildspalvu uzskricelēju risinājumu uz saburzītas papīra lapas un atdevu to atpakaļ. Redzot, ka shēma darbojas, cilvēki sāka pamest auditoriju daudz biežāk un dažreiz pat divas vai trīs vienlaikus.
Uz manas darba palodzes bija trīs lapu kaudzes. Vienā iepakojumā ir tikko saņemtas TODO lapas. Manā priekšā atradās lapa ar In Progress, un blakus tai gulēja paciņa ar “Gatavs”.
Šī bija mana skaistākā stunda. Visa grupa, kurā bija gandrīz 20 cilvēku, vērsās pie manis pēc palīdzības. Un es palīdzēju visiem.
Un puisis, kurš gribēja piepelnīties, pēc dažām minūtēm steidzīgi devās prom, saprotot, ka te nav ko ķert, visa uzmanība tika pievērsta altruistam.
Visa grupa eksāmenu nokārtoja ar 4. un 5. atzīmi, un man tagad ir 20 draugi un nesatricināma autoritāte programmēšanas jautājumos.

Pirmā nauda

Pēc ziemas sesijas pa visu fakultāti izplatījās baumas, ka ir kāds puisis, kurš var atrisināt jebkuru programmēšanas problēmu, kas mums tika uzticēta mājās vai sesijas laikā. Un no mutes mutē izplatījās ne tikai pirmkursnieki, bet arī vecāko klašu studenti.
Как я уже писал, в группе у меня сложились со всеми дружеские отношения после «звездного часа» на экзамене, и с парой ребят мы стали общаться очень близко. Мы стали настоящими друзьями, и проводили много времени за пределами универа. Для простоты изложения, назовем их Илон и Ален (никнеймы близки к настоящим).
Mēs saucām Elonu vārdā, bet Alēns tika iesaukts par godu Alēnam Delonam, jo ​​spēja savaldzināt jebkuru skaistumu. Meitenes burtiski riņķoja ap viņu, dažādos daudzumos. Attiecībā uz satikšanos ar cilvēkiem un attiecību uzsākšanu uz nakti Alēnam Delonam nebija līdzvērtīgu. Sieviešu dzimumam viņš bija īsts alfa tēviņš, kas lielākajai daļai IT speciālistu ir pilnīgi neparasti. Papildus mīļajām attiecībām Alēns bija dizainers pēc aicinājuma. Un, ja viņam vajadzēja kaut ko uzzīmēt, piemēram, tolaik populāros mirgojošos Web 1.0 formāta banerus, tad viņš to izdarīja viegli.

Par Elonu var teikt daudz vairāk. Mēs joprojām ar viņu tiekamies līdz pat šai dienai, desmit gadus pēc universitātes. Pirmajos gados viņš bija kalsns, diezgan kluss puisis. (To pašu nevar teikt par mūsdienu lielpuisi džipā). Tomēr es biju tāds pats – tievs un kluss. Tāpēc es domāju, ka mēs ātri atradām kopīgu valodu.
Bieži pēc nodarbībām es, Īlons un Alens pulcējāmies alus zālē, apsegti ar brezentu. Pirmkārt, tas atradās pāri ielai augstskolai, otrkārt, par “rubli” un 50 kapeikām varēja dabūt kādu gardumu 2 stundu aizdedzinošai ballītei. Tāpat kā izlejamais alus un krekeri. Bet būtība bija cita.
Elons un Alens bija no citām pilsētām un dzīvoja īrētā istabā. Viņiem pastāvīgi trūka naudas, un bija brīži, kad viņiem nācās badoties. Priecīgie brīži, kad viņi saņēma 10 dolāru stipendiju savā kartē, tika atzīmēti tajā pašā dienā, un tad bija laiks “savilkt jostas” un dzīvot no Dieva sūtītā.

Protams, šī situācija motivēja viesskolēnus meklēt iespējas papildus nopelnīt. Un viņu priekšā, rokas stiepiena attālumā, sēdēja “gaiša galva” manis formā. Kas arī ir vijīgs un reti atsakās palīdzēt cilvēkiem.
Es nezinu, vai es pareizi aprakstīju šo situāciju, bet galu galā šīs tikšanās krogā noveda pie pirmā IT uzņēmuma izveides manā karjerā ar nosaukumu SKS. Vārds vienkārši tika izveidots no mūsu uzvārdu pirmajiem burtiem. Mūsu jaunais uzņēmums, kuru pārstāvēja trīs dibinātāji, nākamo četru gadu laikā sašķēla konkurentus un visu universitāti.

Илон был РОПом. То есть — руководителем отдела продаж. А именно, в его обязанности входило находить новых клиентов, для нашего аутсорсингового бизнеса. Каналом продаж были горизонтально распечатанные листовки А4, с простой надписью: «Решение задач по программированию». И внизу телефон Илона.
Šāda veida vides reklāma tika izvietota katrā stāvā, kur varēja parādīties programmēšanu studējošie.
Papildu kanāls, kas ir spēcīgāks klientu lojalitātes ziņā, bija pārdošanas kanāls mutiski.

Biznesa modelis bija vienkāršs. Ar ieteikuma vai sludinājuma palīdzību ar mums sazinājās augstskolas students. Viņš sniedza programmēšanas problēmas aprakstu, kas bija jāatrisina līdz noteiktam termiņam, un es to atrisināju par studenta cenu. Elons bija iesaistīts pārdošanā un saņēma savu procentuālo daļu. Alēns Delons mūsu biznesā piedalījās retāk, taču, ja vajadzēja izveidot dizainu, attēlu vai piesaistīt papildu klientus, viņš vienmēr palīdzēja. Ar savu šarmu viņš pie mums atveda diezgan daudz jaunu cilvēku. Viss, kas man bija jādara, bija apstrādāt šo cauruļvadu ar ātrumu 5-10 uzdevumi dienā. Termiņi bija stingri – ne vairāk kā nedēļu. Un biežāk tas bija jādara vakar. Tāpēc šādi apstākļi man ātri iemācīja rakstīt programmas “plūsmā”, nenovēršot uzmanību no katra sīkuma, piemēram, zemestrīces ar magnitūdu 5,9 vai lielu avāriju aiz loga.

Karstākajā sezonā pirms sesijas, tas ir, decembrī un maijā, likās, ka manā datorā ir visi universitātes uzdevumi. Par laimi, lielākā daļa bija viena tipa, it īpaši, ja ar mums sazinājās vairumtirgotājs, kuru pārstāvēja veselas grupas pārstāvis. Pēc tam varēja veikt 20 uzdevumus, piemēram, assemblerā, mainot tikai 2-3 rindiņas. Tādā sezonā svini tecēja kā upe. Vienīgais, kas mums trūka, bija disketes. 2003.-2005.gadā mūsu pilsētas trūcīgajiem skolēniem nebija tādas lietas kā naudas pārskaitīšana caur internetu. Turklāt nebija nekādu maksājumu garantiju, ko tagad sauc par darījumu. Tāpēc uzņēmums SKS kā pasūtījumu izpildītājs norunāja tikšanos augstskolas teritorijā un mēs devām дискету ar risinājumu. Atmaksa gandrīz nebija (no angļu valodas refund - maksājuma atgriešana pēc klienta pieprasījuma). Visi bija apmierināti un saņēma savus 4-5 punktus, ja varēja uzzināt, ko es pievienoju failam readme.txt disketē. Tomēr arī vienkārša pilnībā strādājošas programmas demonstrācija skolotāju vidū bieži izraisīja wow efektu.

Cena, protams, bija smieklīga, bet mēs to ņēmām daudzumā. Piemēram, tipisks mājas darbs maksāja 2–3 USD. Kursu darbs 10$. Džekpots programmas veidā kandidāta darbam vienu reizi izkrita, un tas bija pat 20 USD par pieteikumu absolventam, kurš gatavojas aizstāvēšanai. Karstajā sezonā šos ienākumus var reizināt ar 100 klientiem, kas galu galā bija vairāk nekā vidējā alga pilsētā. Mēs jutāmies forši. Viņi varētu atļauties naktsklubus un tur izklaidēties, nevis aizrīties ar čebureku par savu pēdējo santīmu.

No manu prasmju viedokļa tās vairojās ar katru jaunu studenta uzdevumu. Sākām saņemt pieteikumus no citām fakultātēm, ar citu apmācību programmu. Daži vecāko klašu studenti jau pilnībā izmantoja Java un XML, kad mēs izmantojām C++/MFC. Dažiem vajadzēja Assembler, citiem PHP. Risinot uzdevumus, apguvu sev veselu tehnoloģiju zoodārzu, bibliotēkas, datu uzglabāšanas formātus un algoritmus.
Šis universālisms manī ir palicis līdz šai dienai. Strādājot pie projektiem, tiek izmantotas arī dažādas tehnoloģijas un platformas. Tagad es varu rakstīt programmatūru vai lietojumprogrammu jebkurai platformai, OS vai ierīcei. Kvalitāte, protams, būs dažāda, taču uzņēmumam, ar kuru galvenokārt nodarbojos, budžets parasti ir svarīgs. Un viena cilvēka orķestris viņiem nozīmē samazināt budžetu tieši tik daudz, cik izstrādātājus varu aizstāt ar savām prasmēm.

Если говорить о самой большой пользе, которую мне принесло обучение в университете — то это не будут лекции по алгоритмам или философии. И не «научится учится», как модно говорить про вузы. Первое — это будут люди, с которыми остались дружеские отношения после обучения. А второе — это та самая фирма СКС, которая ковала из меня профессионального разработчика, реальными и разноплановыми заказами.
Es gribētu atcerēties frāzi, kas ir ļoti piemērota šai stāsta daļai: Cilvēks kļūst par programmētāju, kad citi cilvēki sāk lietot viņa programmas un par to maksā naudu..

Таким образом, бренд компании СКС был широко-известен не только в студенческих кругах, но и среди преподавателей. Был даже случай, когда один из преподов приехал ко мне домой, чтобы я помог написать ему программу для его научных нужд. Он в свою очередь, помогал мне по своей специализацией. Мы оба так увлеклись нашей работой, что оба уснули на рассвете. Он на диване, а я на стуле перед компьютером. Но свои задачи выполнили, и оба были довольны работой друг друга.

likteņa pagrieziens

Sākās universitātes 4. gads. Pēdējais kurss, kuru pabeidzot tiek piešķirts bakalaura grāds. Vispārizglītojošo priekšmetu praktiski nebija, bet tikai ar datoriem un tīkliem saistītie. Tagad dažreiz es nožēloju, ka man nebija laika vai neizrādīju interesi par to pašu elektroniku vai tīklu iekšējo struktūru. Tagad es to pabeidzu nepieciešamības dēļ, taču esmu pārliecināts, ka šīs pamatzināšanas ir nepieciešamas jebkuram izstrādātājam. No otras puses, jūs nevarat zināt visu.
Es pabeidzu rakstīt savu C++ kompilatoru, kas jau varēja pārbaudīt kodu, vai nav kļūdu saskaņā ar standartu un ģenerēt montāžas instrukcijas. Es sapņoju, ka drīzumā varēšu pārdot savu kompilatoru par 100 USD par licenci. Es to pavairoju ar tūkstoš klientiem un garīgi
переносился в Hammer, с басами от 50 Cent из колонок и красотками на заднем сиденье. Что поделаешь, в 19 лет — такие приоритеты. Фишкой моего самопального компилера было то, что он выдавал ошибки на русском, вместо не всем понятного английского от Visual C++ и gcc. Мне виделось это киллер-фичей, которую никто в мире еще не изобрел. Дальше думаю рассказывать смысла нет. До продаж дело не дошло. Однако дошло до глубоких знаний языка С++, которые кормят меня до сих пор.

Ceturtajā kursā arvien retāk gāju universitātē, jo zināju lielāko daļu programmas. Un to, ko nezināju, atrisināju maiņas ceļā ar studentu, kurš saprata, piemēram, elektroniku vai varbūtību teoriju. Ko mēs toreiz neizdomājām. Un neredzamas austiņas uz stieples, kurā tika diktēta atbilde. Un izskriet no klases, lai guru savā specialitātē tev 2 minūtēs varētu izrakstīt visa eksāmena atrisinājumu. Tas bija lielisks laiks.
Tā paša kursa laikā es sāku domāt par īstu darbu. Ar biroju, reāliem komerciāliem pieteikumiem un pieklājīgu atalgojumu.
Bet tolaik mūsu pilsētā darbu varēja atrast tikai par programmētāju
“1C: Grāmatvedība”, kas man nepavisam nederēja. Lai gan no bezcerības, es jau biju tam gatavs. Toreiz mana draudzene izdarīja spiedienu, lai pārvācos uz atsevišķu dzīvokli.
Citādi gulēt ar vecākiem cauri sienai vispār nav comme il faut. Jā, un man jau bija apnicis risināt studentu problēmas, un es gribēju kaut ko vairāk.

Nepatikšanas radās no nekurienes. Izdomāju mail.ru reklamēt, ka meklēju darbu ar algu 300$ C++/Java/Delphi programmētāja amatam. Tas ir 2006. gadā. Uz ko viņi būtībā atbildēja apmēram šādi: "Varbūt jums vajadzētu rakstīt Bilam Geitsam ar šādiem algas pieprasījumiem?" Tas mani sarūgtināja, bet starp daudzām līdzīgām atbildēm bija kāds, kurš mani ieviesa ārštata darbā. Šī bija vienīgā iespēja mūsu nabadzīgajā Lasvegasā nopelnīt labu naudu, darot to, ko es zināju.
Tāpēc studijas universitātē vienmērīgi ieplūda darbā ārštata apmaiņā. Noslēdzot augstskolas tēmu, varam teikt sekojošo: 5. kursā negāju. Bija viena programmēšana un tāds jēdziens kā “bezmaksas apmeklējums”, ko izmantoju 146%.
Vienīgais, kas bija jādara, bija aizstāvēt speciālista diplomu. Ko es veiksmīgi izdarīju ar savu draugu palīdzību. Ir vērts teikt, ka šajā kursā es jau biju pārcēlies no vecākiem uz īrētu dzīvokli un iegādājies jaunu automašīnu. Tā sākās mana profesionāla izstrādātāja karjera.

Nākamās nodaļas būs veltītas atsevišķiem projektiem, smagākajām neveiksmēm un visneadekvātākajiem klientiem. Ārštata karjera no 5 līdz 40 USD/stundā, sava starta dibināšana, kā man tika aizliegts piedalīties Upwork ārštata biržā un kā no ārštata darba es kļuvu par komandas vadītāju otrajā lielākajā naftas uzņēmumā pasaulē. Kā es atgriezos attālinātā darbā pēc biroja un startēšanas un kā es atrisināju iekšējās problēmas ar socializāciju un sliktiem ieradumiem.

Lai varētu turpināt ...

Avots: www.habr.com

Pievieno komentāru