Uzziniet Savu Eņģeļa Numuru
Iegūtās atziņas kā sākuma līmeņa programmatūras inženieris
Ja pirms gada man jautātu, ko darīja programmatūras inženieris, es būtu teicis kaut ko līdzīgu 'problēmu risināšanai, izmantojot kodu'. Tā ir vienkārša atbilde, kas norāda uz to, kā tiek novērtēts mūsu paveiktais darbs. Produktu vadītu komandu inženieriem šīs problēmas varētu ietvert to, kā ieviest jauna funkcija, ko klienti ir lūguši , vai kā uzlabot esošo funkciju veiktspēju.
Ja jūs man šodien uzdotu to pašu jautājumu, es sniegtu nedaudz savādāku atbildi. Programmatūras inženieru uzdevums ir atrisināt pareizās problēmas, izmantojot kodu, un, ja tās tiek atrisinātas efektīvi, viņi sasniedz biznesa mērķus. Izdomāt, kuras problēmas un kā tās atrisināt, ir vissvarīgākā izstrādātāja sastāvdaļa, un faktiskā ieviešanas informācija ir sekundāra.
Mans ceļš uz programmatūras inženieriju
Es sāku interesēties par programmēšanu pēc nodarbības plkst Augšējās līnijas kods vasara pirms mana pirmā kursa koledžā. Es ieguvu šo iespēju, izmantojot koledžas un karjeras gatavības programmu, kurā es piedalījos Iespēju tīkls .
Upperline Code bija mana pirmā iepazīšanās ar programmēšanu, un es ātri sapratu, ka mani interesē mācīties kodēt. Vēlāk tajā pašā vasarā es saņēmu savu Notre Dame uzņemšanas paketi un pārgāju no Mākslas un vēstuļu koledžas uz Inženierzinātņu koledžu, lai varētu apgūt datorzinātnes (CS).
Daži no maniem iecienītākajiem CS kursiem bija algoritmu izstrāde/analīze, mākoņdatošana un programmēšanas izaicinājumi. Problēmas bija interesantas, un profesori lieliski prezentēja jaunas idejas un skaidroja koncepcijas.
Visā studiju laikā es zināju, ka vēlos strādāt par programmatūras inženieri un izmantot iegūtās tehniskās prasmes. Par laimi, vasarā pirms mana vecāko kursu man bija iespēja stažēties par programmatūras inženieri plkst Dziedāts un savienojiet programmu ar citiem inženieriem, lai palīdzētu nodrošināt funkcijas.
Mana prakses pieredze kopā ar manu profesoru uzmundrinātajām sarunām deva man pārliecību, ka, kad sāku pieteikties darbā, nesamierināties ar citu lomu. Pēc daudz laika, kas pavadīts biroja stundās, es 2021. gadā absolvēju CS grādu un pieņēmu piedāvājumu būt par asociēto programmatūras inženieri šeit plkst. Sprout Social .

Iekārtošanās Sprout Social
Daļa no jaunās lomas un uzņēmuma jaunumiem bija gan vispārējās programmatūras inženierijas prasmju attīstīšana, gan Sprout specifiskās domēna zināšanas. Es atklāju, ka uzdevumi, kuru izpratnei bija nepieciešamas vispārīgas programmēšanas zināšanas, man bija visvieglāk atrisināmi. Tomēr uzdevumiem, kas prasīja zināšanas par Sprout arhitektūru, man bija vajadzīgs laiks, un man bija jāpaļaujas uz savu komandu, lai saņemtu palīdzību. Lai gan ir dažas problēmas, kuras varat atrisināt, lasot dokumentāciju tiešsaistē, jūs ne vienmēr varat atrast informāciju, kas attiecas uz jūsu veikto darbu — ļoti svarīga ir iespēja lūgt norādījumus citiem.
Viena no pirmajām lietām, kas mani uztrauca, kad pievienojos Sprout, bija tas, cik sadarbīgs ir izstrādes process. Es zināju, ka funkciju izstrādei bija vajadzīgas veselas komandas, taču nezināju, kā tas izskatās praksē. Es ātri sapratu, ka, lai izdotu veiksmīgu līdzekli, daudziem cilvēkiem ir jāstrādā kopā dažādās lomās — no produktu vadītājiem, kas nosaka projekta prasības, līdz dizaineriem, kas veido maketus, un inženieriem, kas ievieš funkcijas. Sadarbība nebija obligāta, bet gan nepieciešamība mūsu komandas mērķu sasniegšanai.

Mācīšanās, kā orientēties dažādās kodu bāzēs, un garīgā modeļa veidošana dažādu pakalpojumu savstarpējai mijiedarbībai bija straujš mācīšanās līkne. Tā kā Sprout pamatdarbība ir programmatūra, tā arhitektūru lielā mērā nosaka tās uzņēmējdarbības prasības. Palielinoties, man bija jāapzinās biznesa problēmas, ko izstrādātāji mēģināja atrisināt, un kāpēc tika pieņemti iepriekšējie arhitektūras lēmumi.
Sākotnēji mani mazliet iebiedēja tas, ka vilkšanas pieprasījumiem bija nepieciešama pārskatīšana, pirms tos varēja apvienot kodu bāzē. Sapratne, ka kodu pārskatīšanas galvenais mērķis ir zināšanu apmaiņa un koda standartu uzturēšana, palīdzēja mainīt manu skatījumu.
Kodu pārskatīšana ir palīdzējusi uzlabot manas tehniskās prasmes un uzlabot manu piesaistes pieprasījumu kvalitāti. Tas, ka vienaudži man sniedz padomus, ko mainīt, iepazīstināja ar jauniem modeļiem un norāda uz attiecīgajām kodu bāzes jomām, ir bijis ļoti noderīgi. Izlasot citu inženieru piesaistes pieprasījumus, es arī ieguvu vērtīgu ieskatu citos pakalpojumos, ar kuriem es tieši nestrādāju.
Jūsu iepriekšējā pieredze ir svarīga
Pastāv uzskats, ka, ieejot jaunos dzīves posmos, jūsu iepriekšējai pieredzei vairs nav nozīmes. Kad jūs iestājaties koledžā, jūsu pieredzei vidusskolā vairs nav nozīmes. Kad esat ienākuši darba tirgū, jūsu koledžas pieredzei vairs nav nozīmes.
Taču bieži tiek ignorēts tas, ka mūsu pieredzei, zināšanām un ieradumiem ir sarežģīts efekts. Mēs parasti spējam sasniegt jaunas lietas, tikai pateicoties iepriekš paveiktajam darbam. Iepriekš iegūtās zināšanas un prasmes ir ļoti ietekmējušas to, kā es kā sākuma līmeņa programmatūras inženieris pieeju jauniem izaicinājumiem.
Nodarbības bakalaura laikā, kam bija vistiešākā ietekme uz manu ikdienas darbu uzņēmumā Sprout, bija programmēšanas izaicinājumi un datu bāzes koncepcijas. Iepriekšējais man iemācīja, kā lielas problēmas sadalīt mazākos gabalos, lai tās efektīvāk atrisinātu. Tas man palīdzēja apzinātāk strukturēt savu kodu un uzlabot koda lasāmību.
Datu bāzes koncepcijas man iemācīja fundamentālas relāciju datu bāzes koncepcijas un aptvēra tādas tēmas kā datu bāzes shēmas dizains un SQL. Es iemācījos rakstīt vaicājumus, kas ir ļoti noderīgi, jo man bieži ir nepieciešams vaicājums mūsu datu bāzēs, lai atrisinātu problēmas vai atbildētu uz jautājumiem.
eņģeļu numuri 9

Iespējas, kas man bija ārpus klases, bija tikpat vērtīgas. Java nebija valoda, kas tika apskatīta lielākajā daļā manu kursu, tomēr man bija iespēja strādāt pie tās biznesa projektā, kuru vadīja viens no maniem profesoriem. Es guvu praktisku pieredzi, rakstot Java, strādājot ar MySQL datu bāzēm un veidojot Docker attēlus. Java apguve bija īpaši noderīga, jo tajā ir rakstīta lielākā daļa Sprout pakalpojumu.
Ir daudz citu prasmju, ko ieguvu, mācoties bakalaura programmā un kuras uzskatu par pašsaprotamām, piemēram, navigāciju komandrindā un programmēšanas pamatjēdzienu izpratni. Izplatīts ir nepareizs uzskats, ka, tā kā lielākā daļa pamatstudiju tēmu ir teorētiskas, tās nesagatavos programmatūras inženiera karjerai. Tomēr es uzskatu, ka taisnība ir pretēja — prasmes, ko apgūstat bakalaura studijās, ir svarīgas, pat ja tās nav tieši piemērojamas jūsu ikdienas darbā.
Datorzinātne ir ārkārtīgi plaša joma
CS aptver dažādas specializācijas, piemēram, mākslīgo intelektu, mašīnmācību un datu zinātni. Pieredze, ko iegūstat bakalaura grāda iegūšanai, kalpo kā pamatzināšanas, kas var jums noderēt dažādās sākuma līmeņa lomās, kas nav tikai programmatūras inženierija. Pāreja no bakalaura uz pilnas slodzes amatu sniedz iespēju izpētīt, kāda veida loma un specialitāte jums ir piemērota.
Ja jūs meklējat sākt karjeru programmatūras inženierijā , Sprout ir lieliska vieta, kur sākt.
Dalieties Ar Draugiem: