Programmeringskarriär. Kapitel 3. Universitet

Fortsättning på berättelsen "Programmerkarriär".

Efter att ha avslutat kvällsskolan var det dags att gå till universitetet. I vår stad fanns ett tekniskt universitet. Den hade också en fakultet för "Mathematics and Computer Science", som hade en institution för "Computer Systems", där de utbildade framtida IT-arbetare - programmerare och administratörer.
Valet var litet och jag sökte till specialiteten ”Computer Engineering Programmering”. Det var 2 inträdesprov framöver. I språk och matematik.
Tentorna föregicks av en intervju, och valet av utbildningsform - budget eller kontrakt, d.v.s. gratis eller för pengar.

Mina föräldrar var närvarande vid min intervju och var oroliga inför antagningen. Självklart valde de kontraktsformen för utbildning. Det kostade förresten cirka 500 dollar/år, vilket var mycket pengar 2003, speciellt för vår lilla stad. Jag minns väl min fars dialog med flickan från mottagningskontoret:
Flickan: Du kan försöka klara prov på en budget, och om det inte fungerar, byt till ett kontrakt. Du kan delbetala.
Fader: Nej, vi har redan bestämt att vi ska ansöka om ett kontrakt
Flickan: Ja varför, du riskerar ingenting
Fader: Nej, det är fortfarande en risk. Säg mig, ansöker alla om ett kontrakt?
Flickan: Ja, det gör alla. Det är nog bara kompletta idioter som inte kan det
Fader: Då har vi en chans... sa han och flinade och vi skrev under dokumenten för antagning

Naturligtvis var föreställningarna från gymnasiet fortfarande färska i mina föräldrars minnen, så med åren förstår jag varför de sa det.

På sommaren, innan antagningen, fortsatte jag att köpa böcker för hela 40 dollar som min mormor gav mig från hennes pension.
Från det minnesvärda och betydelsefulla:
1. "UML 2.0. Objektorienterad analys och design". En bok som lärde mig hur man designar mjukvara oavsett komplexitet, tänker igenom arkitekturen, bryter ner allt i komponenter, skriver användningsfall och ritar UML-diagram. Det här är kunskapen som seniorer, chefer och arkitekter behöver. De som materialiserar ett system från tomrummet, när det bara finns en beskrivning av idén.
Jag känner människor som redan är över 30, och de kan fortfarande inte fatta ett beslut om det inte finns en order från ovan, från en utvecklare med högre rang. Inom frilansande och distansarbete, när du ofta arbetar en-mot-en med en kund, är denna kunskap också ovärderlig.
De är också relevanta för indieutvecklare som skapar nya applikationer och tjänster. Även om få människor stör sig på detaljerad design. Det är därför vi har mjukvara av sådan kvalitet, som sväljer allt minne, med en sned UX.
2. "ANSI C++ 98 Standard". Inte riktigt en bok, men den är över 800 sidor med bakgrundsinformation. Naturligtvis läste jag det inte avsnitt för avsnitt, utan hänvisade snarare till specifika språkregler när jag utvecklade min C++-kompilator. Djupet av kunskap om språket, efter att ha studerat och implementerat standarden, kan inte beskrivas med något underbart epitet. Vi kan säga att du kan allt om språket, och ännu mer. Mycket långt, mödosamt arbete för att studera standarden. Men jag hade 5 år på universitetet framför mig, så det var ingen som pressade mig
3. "Delphi 6. Praktisk guide.". Det var ett snabbt språng in i världen av GUI och formsmickrande. Det fanns nästan ingen inträdesgräns, och jag kände redan Pascal ganska väl. När jag studerade på universitetet skrev jag lejonparten av kommersiella program i Delphi. Detta var programvara för universitetsstuderande, som stod för småföretag, myndigheter. institutioner. Sedan blev det flera frilansbeställningar. I mitten av XNUMX-talet dominerade Delphi utvecklingsmarknaden för Windows. Hittills kan du i kassan i lokala butiker se program med välbekanta typsnitt och kontroller, vilket omedelbart skiljer en Delphi-applikation från alla andra
4. "MFC handledning". Efter att ha behärskat Delphi var det logiskt att fortsätta skapa användargränssnitt i C++. Det var mycket svårare, allt fungerade inte och var förståeligt. Men jag tog också denna teknik till tillämpningsstadiet i kommersiella projekt. Ett tyskt antivirusföretag distribuerar mitt program, skrivet i MFC än i dag.
5. "3 diskar med MSDN Library 2001". Jag hade inte internet direkt, och så vitt jag minns var MSDN-biblioteket inte online 2003. Hur som helst var det lättare för mig att installera MSDN-referensboken på min lokala PC och enkelt hitta dokumentation för vilken WinApi-funktion eller MFC-klass som helst.
Programmeringskarriär. Kapitel 3. Universitet
De mest betydande böckerna lästa under perioden 2002-2004

Det är böcker som lästes under perioden 2002-2004. Naturligtvis är detta nu ett sjaskigt arv, som skrivs om i omgångar med .NET- och webbteknologier. Men det här är min väg, kanske några av er hade en liknande.

Första terminen

I slutet av sommaren är det dags att göra antagningsproven till universitetet. Allt gick smidigt. Jag klarade språk- och matematikprovet och blev inskriven i det första året på specialiteten datorsystemprogrammering.
Den första september gick jag som väntat på de första klasserna i mitt liv. "Studenternas tid är den ljusaste tiden i livet", sa min mamma till mig. Jag trodde det villigt.
Första dagen gick 3 par allmänna pedagogiska ämnen godkända, alla lärde känna varandra i gruppen och överlag lämnade universitetet ett trevligt intryck.
Äntligen började de lära oss sann programmering i C! Och dessutom lärde de ut datavetenskapens historia, digital teknik och mycket annan information som var relevant för mig. Till och med svordomar. analysen var användbar, eftersom den tillät mig att djupare förstå vad den djupt respekterade Donald Knuth skrev.

Programmeringskurser ägde rum i en drivande atmosfär för mig. Till slut kom folk till mig för att få hjälp. Jag kände mig behövd. I början av klassen fick vi i uppgift att skriva ett program. Uppgiften var designad för ett och ett halvt par, sedan en halvtimme för testning. Jag hann skriva uppgiften på 3-5 minuter, och resten av tiden gick jag runt på kontoret och hjälpte andra att ta reda på problemet.
Det fanns inte tillräckligt med datorer för hela gruppen, så oftast satt vi två åt gången vid en dator. När jag såg mina förmågor satte sig tre, fyra, ibland till och med 5-6 personer nära mitt skrivbord och tvekade inte att sätta sig ner för att lära mig vad jag lärde mig för ett par år sedan från boken av Kernighan och Ritchie.
Mina klasskamrater såg mina förmågor och kom på frågor själva, eller erbjöd sig att bara umgås efter lektionerna. Så här fick jag många vänner, av vilka de flesta är vänner än idag.

På vintern var det dags för första passet. Totalt var det nödvändigt att ta 4 ämnen: 2 typer av högre matematik, historia och programmering. Allt gick, några 4 poäng, några 3. Och jag tilldelades programmering automatiskt. Lärarna kunde redan mina färdigheter, så de såg ingen mening med att testa mig. Jag dök glatt upp till sessionen med min rekordbok för att omedelbart få en signatur på den och var på väg att återvända hem när mina klasskamrater bad mig stanna och stå utanför dörren. Väl. Efter att ha placerat mig vid fönsterbrädan, vid utgången från kontoret, började jag vänta. Det hängde en annan kille bredvid mig, som också klarade provet automatiskt.
"Varför stannar du här," frågade jag
— ”Jag vill tjäna pengar genom att lösa problem. Varför är du här?
- "Jag med. Jag tänker bara inte tjäna pengar. Om du behöver hjälp, så bestämmer jag av mitt hjärtas vänlighet."
Min motståndare tvekade och muttrade något som svar.

Efter ett tag började klasskamrater lämna publiken och tog med sig vikta papperslappar som innehöll problem från tentan.
"Hjälp mig att bestämma", frågade den första våghalsen. "Okej, jag bestämmer mig nu", svarade jag. Det hade inte ens gått 5 minuter innan jag klottrade en lösning på ett skrynkligt papper med en kulspetspenna och gav tillbaka. När man såg att systemet fungerade började folk lämna publiken mycket oftare, och ibland till och med två eller tre åt gången.
Det låg tre högar med löv på min arbetsfönsterbräda. Ett paket innehåller nyinkomna TODO-ark. Framför mig låg ett ark med In Progress, och bredvid det låg ett paket "Done".
Det här var min finaste timme. Hela gruppen, som var nästan 20 personer, vände sig till mig för att få hjälp. Och jag hjälpte alla.
Och killen som ville tjäna pengar gick hastigt efter några minuter, och insåg att det inte fanns något att fånga här, all uppmärksamhet riktades mot altruisten.
Hela gruppen klarade provet med betyg 4 och 5, och jag har nu 20 vänner och orubblig auktoritet i programmeringsfrågor.

Första pengarna

Efter vinterpasset spreds rykten i hela fakulteten om att det fanns en kille som kunde lösa alla programmeringsproblem, som vi tilldelades hemma eller under passet. Och mun till mun spreds inte bara bland förstaårsstudenter, utan även bland seniorstudenter.
Som jag redan skrivit utvecklade jag vänskapliga relationer med alla i gruppen efter den "finaste timmen" på provet, och vi började kommunicera väldigt nära med ett par av killarna. Vi blev riktiga vänner och spenderade mycket tid utanför universitetet. För enkelhetens skull, låt oss kalla dem Elon och Alen (smeknamnen är nära de riktiga).
Vi kallade Elon vid namn, men Alain fick smeknamnet för att hedra Alain Delon, för hans förmåga att förföra vilken skönhet som helst. Flickor bokstavligen cirklade runt honom, i olika antal. När det gäller att träffa människor och starta relationer för natten hade Alain Delon ingen motsvarighet. Han var en riktig alfahane för det kvinnliga könet, vilket är helt ovanligt för de flesta IT-specialister. Förutom amorösa angelägenheter var Alain en designer av kall. Och om han behövde rita något, till exempel de då populära blinkande banderollerna i Web 1.0-formatet, så gjorde han det med lätthet.

Mycket mer kan sägas om Elon. Vi träffar honom fortfarande än i dag, tio år efter universitetet. Under sina första år var han en mager, ganska tyst kille. (Detsamma kan inte sägas om dagens stora kille i en jeep). Jag var dock likadan - smal och tystlåten. Därför tror jag att vi snabbt hittade ett gemensamt språk.
Ofta efter lektionerna samlades jag, Elon och Alen i en ölhall, täckt med en presenning. För det första var det tvärs över gatan från universitetet, och för det andra, för en "rubel" och 50 kopek, kunde du få lite godsaker för 2 timmars brandfest. Som fatöl och kex. Men poängen var en annan.
Elon och Alen var från andra städer och bodde i ett hyrt rum. De hade ständigt ont om pengar, och det fanns tillfällen då de var tvungna att gå hungriga. Lyckliga stunder, när de fick ett stipendium på 10 USD på sitt kort, firades samma dag och sedan var det dags att "spänna bältet" och leva på vad Gud sänder.

Naturligtvis motiverade denna situation besökande studenter att leta efter sätt att tjäna extra pengar. Och framför dem, på armlängds avstånd, satt ett "ljust huvud" i form av mig. Som också är följsam och sällan vägrar att hjälpa människor.
Jag vet inte om jag beskrev den situationen rätt, men i slutändan ledde dessa sammankomster på krogen till skapandet av det första IT-företaget i min karriär som heter SKS. Namnet bestod helt enkelt av de första bokstäverna i våra efternamn. Vårt unga företag, representerat av tre grundare, slet isär konkurrenter och hela universitetet under de kommande fyra åren.

Elon var en ROP. Det vill säga chefen för försäljningsavdelningen. Hans ansvar innefattade nämligen att hitta nya kunder till vår outsourcingverksamhet. Försäljningskanalen var horisontellt tryckta A4-broschyrer, med en enkel inskription: "Lösa programmeringsproblem." Och nedan är Elons telefonnummer.
Den här typen av utomhusreklam placerades på varje våning där studenter som studerar programmering kunde dyka upp.
Ytterligare en, starkare när det gäller kundlojalitet, var försäljningskanalen genom mun till mun.

Affärsmodellen var enkel. Antingen genom en rekommendation eller en annons kontaktade en universitetsstudent oss. Han gav en beskrivning av ett programmeringsproblem som behövde lösas inom en viss deadline, och jag löste det för studentpriset. Elon var involverad i försäljningen och fick sin procentandel. Alain Delon deltog mer sällan i vår verksamhet, men om vi behövde göra en design, en bild eller locka fler kunder var han alltid hjälpsam. Med sin charm tog han med sig ganska många nya människor till oss. Allt jag behövde göra var att bearbeta denna pipeline med en hastighet av 5-10 uppgifter per dag. Tidsfristerna var strikta – inte mer än en vecka. Och oftare än inte fick det göras igår. Därför lärde sådana omständigheter mig snabbt att skriva program i ett "flöde", utan att bli distraherad av varje liten sak som en jordbävning med magnituden 5,9 eller en stor olycka utanför fönstret.

Under den varmaste säsongen, innan passet, det vill säga i december och maj, verkade det som att jag hade hela universitetets uppgifter på min dator. Som tur var var de flesta av samma typ, speciellt när vi blev kontaktade av en grossist representerad av en representant för en hel grupp. Då var det möjligt att göra 20 uppgifter, till exempel i assembler, byta bara 2-3 rader. Under en sådan årstid rann bly som en flod. Det enda vi saknade var disketter. 2003-2005 hade fattiga studenter i vår stad inget sådant som att överföra pengar via Internet. Dessutom fanns det inga betalningsgarantier, som nu kallas deposition. Därför gjorde SKS-företaget, som en fullföljare av order, ett möte på universitetets territorium och vi gav Diskett med en lösning. Det fanns nästan ingen återbetalning (från den engelska återbetalningen - återbetalning av betalning på begäran av kunden). Alla var nöjda och fick sina 4-5 poäng om de kunde lära sig vad jag lade till i readme.txt-filen på disketten. Även om en enkel demo av ett fullt fungerande program också ofta orsakade en wow-effekt bland lärare.

Priset var såklart löjligt, men vi tog det i mängd. Till exempel kostar en vanlig hemuppgift 2-3 USD. Kursuppgifter 10$. Jackpotten i form av ett program för en kandidats arbete föll ut en gång, och det var så mycket som $20 för en ansökan till en doktorand som förberedde sitt försvar. Under den varma årstiden kan denna inkomst multipliceras med 100 kunder, vilket i slutändan var mer än den genomsnittliga lönen i staden. Vi kände oss coola. De kunde ha råd med nattklubbar och ha kul där, snarare än att kvävas av cheburek för sin sista krona.

Ur min synvinkel multiplicerade de med varje ny elevuppgift. Vi började få ansökningar från andra fakulteter, med ett annat utbildningsprogram. Några seniorstudenter använde redan Java och XML till sin fulla potential när vi lutade oss åt C++/MFC. Vissa behövde Assembler, andra PHP. Jag lärde mig en hel djurpark av teknologier, bibliotek, datalagringsformat och algoritmer för mig själv när jag skulle lösa problem.
Denna universalism har stannat kvar hos mig till denna dag. En mängd olika tekniker och plattformar används också när man arbetar med projekt. Nu kan jag skriva programvara eller en applikation för vilken plattform, operativsystem eller enhet som helst. Kvaliteten kommer givetvis att variera, men för den verksamhet som jag främst sysslar med är budgeten oftast viktig. Och en enmansorkester för dem innebär att man skär ner budgeten exakt lika mycket som antalet utvecklare jag kan ersätta med mina kunskaper.

Om vi ​​pratar om den största nyttan som studierna på universitetet gav mig så skulle det inte vara föreläsningar om algoritmer eller filosofi. Och det kommer inte att "lära sig att lära", som det är på modet att säga om universitet. För det första kommer det att vara personer som vi höll vänskapsband med efter träningen. Och för det andra är detta samma SKS-företag som smidde mig till en professionell utvecklare, med riktiga och mångsidiga beställningar.
Jag skulle vilja komma ihåg en fras som är mycket lämplig för den här delen av berättelsen: En person blir en programmerare när andra människor börjar använda hans program och betalar pengar för det..

Sålunda var SKS-företagets varumärke vida känt inte bara i elevkretsar utan även bland lärare. Det fanns till och med ett fall när en av lärarna kom hem till mig så att jag kunde hjälpa honom att skriva ett program för hans vetenskapliga behov. Han i sin tur hjälpte mig i hans specialisering. Vi blev båda så uppslukade av vårt arbete att vi båda somnade i gryningen. Han ligger i soffan och jag sitter på en stol framför datorn. Men de slutförde sina uppgifter och båda var nöjda med varandras arbete.

Ödets öde

Det fjärde året på universitetet började. Den sista kursen efter avslutad kandidatexamen ges. Det fanns praktiskt taget inga allmänna pedagogiska ämnen, utan bara de som hade med datorer och nätverk att göra. Nu ångrar jag ibland att jag inte hade tid eller inte visade intresse för samma elektronik eller nätverkens interna struktur. Nu avslutar jag detta av nödvändighet, men jag är säker på att denna grundläggande kunskap är nödvändig för alla utvecklare. Å andra sidan kan man inte veta allt.
Jag höll på att skriva klart min egen C++-kompilator, som redan kunde kontrollera kod för fel enligt standarden och generera monteringsinstruktioner. Jag drömde att jag var på väg att kunna sälja min kompilator för $100 per licens. Jag multiplicerade detta med tusen kunder och mentalt
transporteras till en Hammer, med 50 Cents bassprängning från högtalarna och snyggingar i baksätet. Vad kan man göra som 19-åring – det är prioriteringarna. Tricket med min hemmagjorda kompilator var att den producerade fel på ryska, istället för engelskan från Visual C++ och gcc, vilket inte är förståeligt för alla. Jag såg detta som en mördarfunktion som ingen i världen ännu hade uppfunnit. Jag tycker att det inte är någon idé att berätta mer. Det kom inte till försäljning. Men jag uppnådde en djup kunskap om C++-språket, vilket ger mig mat till denna dag.

Under mitt fjärde år gick jag mindre och mindre på universitetet eftersom jag kunde det mesta av programmet. Och det jag inte visste löste jag genom att byta med en student som förstod till exempel elektronik eller sannolikhetslära. Vad vi inte kom på då. Och osynliga hörlurar på en tråd där svaret dikterades. Och springa ut ur klassrummet så att en guru inom hans specialitet kan skriva ut lösningen på hela provet åt dig på 2 minuter. Det var en fantastisk tid.
Under samma kurs började jag fundera på ett riktigt jobb. Med kontor, riktiga kommersiella applikationer och en anständig lön.
Men på den tiden, i vår stad, kunde man bara hitta jobb som programmerare
”1C: Redovisning”, vilket inte passade mig alls. Fast av hopplöshet var jag redan redo för detta. På den tiden satte min flickvän press på mig att flytta till en separat lägenhet.
Annars är det inte alls comme il faut att sova med dina föräldrar genom väggen. Ja, och jag var redan trött på att lösa studentproblem, och jag ville ha något mer.

Problem kom från ingenstans. Jag tänkte annonsera på mail.ru om att jag letade efter ett jobb med en lön på $300 för positionen som C++/Java/Delphi-programmerare. Detta är 2006. På vilket de i princip svarade något i stil med: "Du kanske borde skriva till Bill Gates med sådana löneförfrågningar?" Detta gjorde mig upprörd, men bland en massa liknande svar fanns det en person som förde mig in i frilansandet. Detta var den enda möjligheten i vårt fattiga Las Vegas att tjäna bra pengar på att göra det jag visste hur man skulle göra.
Så studierna på universitetet flöt smidigt in i arbetet på frilansutbytet. När vi avslutar ämnet universitet kan vi säga följande: Jag gick inte på 5:e året. Det fanns en programmering och ett sådant koncept som "gratis närvaro", som jag använde 146%.
Det enda som behövde göras var att försvara ett specialistdiplom. Vilket jag framgångsrikt gjorde med hjälp av mina vänner. Det är värt att säga att jag genom den här kursen redan hade flyttat från mina föräldrar till en hyrd lägenhet och köpt en ny bil. Så började min karriär som professionell utvecklare.

Följande kapitel kommer att ägnas åt enskilda projekt, de allvarligaste misslyckandena och de mest otillräckliga kunderna. En karriär inom frilansande från 5 till 40 $/timme, lansering av min egen startup, hur jag blev avstängd från Upworks frilansbörs och hur jag från frilansande blev teamledare på det näst största oljebolaget i världen. Hur jag återvände till distansarbete efter kontoret och uppstarten, och hur jag löste interna problem med socialisering och dåliga vanor.

Fortsättning ...

Källa: will.com

Lägg en kommentar