Jei prieš metus manęs paklaustumėte, ką padarė programinės įrangos inžinierius, būčiau pasakęs kažką panašaus į „problemų sprendimas naudojant kodą“. Tai paprastas atsakymas, nurodantis, kaip vertinamas mūsų atliktas darbas. Produktais pagrįstų komandų inžinieriams šios problemos gali apimti, kaip įdiegti nauja funkcija, kurios klientai prašė , arba kaip pagerinti esamų funkcijų veikimą.



Jei šiandien užduotumėte man tą patį klausimą, atsakyčiau kiek kitaip. Programinės įrangos inžinieriams pavesta išspręsti tinkamas problemas naudojant kodą, o efektyviai išsprendus, jie pasiekia verslo tikslus. Išsiaiškinti, kurias problemas ir kaip jas išspręsti, yra svarbiausia kūrėjo dalis, o tikroji įgyvendinimo detalė yra antraeilė.



Mano kelias į programinės įrangos inžineriją

Programavimu susidomėjau po pamokos Viršutinės linijos kodas vasarą prieš mano pirmakursius koledže. Šią galimybę gavau per koledžą ir pasirengimo karjerai programą, kurioje dalyvavau Galimybių tinklas .

„Upperline Code“ buvo mano pirmoji pažintis su programavimu ir greitai supratau, kad man įdomu išmokti koduoti. Vėliau tą vasarą gavau įstojimo į Notre Dame paketą ir iš Menų ir literatūros koledžo perėjau į Inžinerijos koledžą, kad galėčiau studijuoti kompiuterių mokslą (CS).

Kai kurie mano mėgstamiausi CS kursai buvo algoritmų projektavimas / analizė, debesų kompiuterija ir programavimo iššūkiai. Problemos buvo įdomios, o dėstytojai puikiai pristatė naujas idėjas ir aiškino sąvokas.

Visą bakalauro studijų laikotarpį žinojau, kad noriu dirbti programinės įrangos inžinieriumi ir panaudoti įgytus techninius įgūdžius. Laimei, vasarą prieš baigiamąjį kursą turėjau galimybę stažuotis programinės įrangos inžinieriaus pareigose Dainavo ir suporuokite programą su kitais inžinieriais, kad padėtumėte pristatyti funkcijas.

Stažuotės patirtis ir dėstytojų pokalbiai suteikė man pasitikėjimo, kai pradėjau pretenduoti į darbą, nepasitenkinti jokiu kitu vaidmeniu. Po daug laiko praleidau darbo valandomis, 2021 m. baigiau CS laipsnį ir priėmiau pasiūlymą būti asocijuotuoju programinės įrangos inžinieriumi Sprout Social .




1010 numerologijos reikšmė

  Julius Boateng ir kolegų grupė iš Sprout Social

Įsikūrimas „Sprout Social“.

Dalis naujojo vaidmens ir naujokės įmonei buvo turėti bendrųjų programinės įrangos inžinerijos įgūdžių ir specifinių „Sprout“ srities žinių. Pastebėjau, kad užduotis, kurioms suprasti reikia bendrųjų programavimo žinių, man buvo lengviausia išspręsti. Tačiau užduotis, kurioms reikėjo žinių apie Sprout architektūrą, man reikėjo laiko, todėl turėjau pasikliauti savo komanda. Nors yra problemų, kurias galite išspręsti skaitydami dokumentus internete, ne visada galite rasti informacijos, susijusios su jūsų atliekamu darbu – labai svarbu paprašyti kitų patarimų.

Vienas iš pirmųjų dalykų, kurie mane pastebėjo prisijungus prie „Sprout“, buvo kūrimo procesas. Žinojau, kad funkcijoms sukurti prireikė ištisų komandų, bet nežinojau, kaip tai atrodo praktiškai. Greitai supratau, kad norint išleisti sėkmingą funkciją, reikia daug žmonių, atliekančių skirtingus vaidmenis – nuo ​​produktų vadybininkų, apibrėžiančių projekto reikalavimus, iki dizainerių, kuriančių maketus ir inžinierių, įgyvendinančių funkcijas. Bendradarbiavimas buvo ne neprivalomas dalykas, o būtinybė siekiant mūsų komandos tikslų.

  Juliaus Boatingo ir Sprout bendradarbių už Calder nuotrauka's Flamingo statue in downtown Chicago

Mokymasis naršyti įvairiose kodų bazėse ir įvairių paslaugų sąveikos tarpusavyje modelio kūrimas buvo staigi mokymosi kreivė. Kadangi „Sprout“ pagrindinė veikla yra programinė įranga, jos architektūra labai priklauso nuo verslo reikalavimų. Kai pradėjau augti, turėjau žinoti, kokias verslo problemas bandė išspręsti kūrėjai ir kodėl buvo priimti ankstesni architektūriniai sprendimai.



Iš pradžių mane šiek tiek gąsdino, kad ištraukimo užklausas reikia peržiūrėti, kad būtų galima jas sujungti į kodų bazę. Supratimas, kad pagrindinis kodo peržiūrų tikslas yra dalijimasis žiniomis ir kodo standartų palaikymas, padėjo pakeisti mano požiūrį.

Kodo peržiūra padėjo patobulinti mano techninius įgūdžius ir pagerinti ištraukimo užklausų kokybę. Bendraamžių patarimai, ką keisti, supažindinti su naujais modeliais ir nurodyti atitinkamas kodų bazės sritis, buvo tikrai naudinga. Perskaičius kitų inžinierių prašymus gauti informacijos, taip pat supratau kitas paslaugas, su kuriomis aš tiesiogiai nedirbu.

Jūsų ankstesnė patirtis yra svarbi

Vyrauja mintis, kad įžengus į naujus gyvenimo etapus ankstesnė patirtis nebėra svarbi. Įstojus į koledžą jūsų vidurinės mokyklos patirtis nebėra svarbi. Kai įeisite į darbo jėgą, jūsų patirtis koledže nebėra svarbi.

Tačiau dažnai nepastebima, kad mūsų patirtis, žinios ir įpročiai turi sudėtingą poveikį. Paprastai naujų dalykų galime pasiekti tik anksčiau atlikto darbo dėka. Anksčiau įgytos žinios ir įgūdžiai padarė didelę įtaką man, kaip pradinio lygio programinės įrangos inžinieriaus, sprendžiant naujus iššūkius.

Pamokos bakalauro metu, turėjusios didžiausią įtaką mano kasdieniam darbui Sprout, buvo programavimo iššūkiai ir duomenų bazių koncepcijos. Pirmieji mane išmokė, kaip suskaidyti dideles problemas į smulkesnes dalis, kad jas būtų galima efektyviau išspręsti. Tai padėjo man labiau apgalvoti savo kodo struktūrą ir pagerinti kodo skaitomumą.

Duomenų bazės koncepcijos išmokė mane pagrindinių reliacinių duomenų bazių sąvokų ir apėmė tokias temas kaip duomenų bazės schemos projektavimas ir SQL. Išmokau rašyti užklausas, o tai buvo labai naudinga, nes norint išspręsti problemas ar atsakyti į klausimus man dažnai reikia pateikti užklausas mūsų duomenų bazėse.

  Animuotas TurtleBot roboto rinkinio gif.

Galimybės, kurias turėjau už klasės ribų, buvo tokios pat vertingos. Java nebuvo kalba, apie kurią kalbėdavau daugumoje mano kursų, tačiau turėjau galimybę dirbti su ja verslo projekte, kuriam vadovavo vienas iš mano profesorių. Įgijau praktinės patirties rašydamas Java, dirbdamas su MySQL duomenų bazėmis ir kurdamas Docker vaizdus. „Java“ mokymasis buvo ypač naudingas, nes dauguma „Sprout“ paslaugų yra parašytos joje.

Yra daug kitų įgūdžių, kuriuos įgijau studijuodamas bakalaurą ir kuriuos laikau savaime suprantamu dalyku, pavyzdžiui, naršyti komandų eilutėje ir suprasti pagrindines programavimo sąvokas. Įprasta klaidinga nuomonė, kad kadangi dauguma bakalauro studijų temų yra teorinio pobūdžio, jos neparengs jūsų programinės įrangos inžinieriaus karjerai. Tačiau aš tikiu, kad yra priešingai – įgūdžiai, kuriuos įgyjate bakalauro studijose, yra svarbūs, net jei jie nėra tiesiogiai taikomi jūsų kasdieniame darbe.

Informatika yra labai plati sritis

CS apima įvairias specializacijas, tokias kaip dirbtinis intelektas, mašinų mokymasis ir duomenų mokslas. Patirtis, kurią įgyjate bakalauro studijose, yra pagrindinės žinios, kurios gali puikiai pasitarnauti atliekant įvairius pradinio lygio vaidmenis, nesusijusius su programinės įrangos inžinerija. Perėjimas iš bakalauro į etatą suteikia galimybę išsiaiškinti, koks vaidmuo ir specialybė jums tinka.

Jei jūs ieškote pradėti programinės įrangos inžinieriaus karjerą , Sprout yra puiki vieta pradėti.


ką veikia 4444

Dalykitės Su Savo Draugais: