Да сте ме пре годину дана питали шта је софтверски инжењер урадио, рекао бих нешто у стилу „решавања проблема помоћу кода“. То је једноставан одговор који указује на то како се оцењује рад који производимо. За инжењере у тимовима вођеним производима, ови проблеми могу укључивати како да се имплементирају нова функција коју су купци тражили , или како побољшати перформансе постојећих функција.




значај броја 44

Ако ми данас поставите исто питање, дао бих мало другачији одговор. Софтверски инжењери имају задатак да решавају праве проблеме помоћу кода — и када се ефикасно реше, постижу пословне циљеве. Проналажење проблема које треба решити и како их решити је најважнији део програмера, док су стварни детаљи имплементације секундарни.



Мој пут до софтверског инжењеринга

Заинтересовао сам се за програмирање након предавања у Упперлине Цоде лето пре моје прве године факултета. Добио сам ову прилику кроз програм спремности за колеџ и каријеру у којем сам био позван Оппортунити Нетворк .

Упперлине Цоде је био мој први увод у програмирање и где сам брзо схватио да ме занима учење кодирања. Касније тог лета, добио сам свој уписни пакет за Нотр Дам и прешао сам са Факултета уметности и књижевности на Факултет инжењерских наука да бих могао да дипломирам рачунарство (ЦС).

Неки од мојих омиљених ЦС курсева били су дизајн/анализа алгоритама, рачунарство у облаку и изазови програмирања. Проблеми су били занимљиви, а професори су били одлични у представљању нових идеја и објашњавању концепата.

Током студија сам знао да желим да радим као софтверски инжењер и да користим техничке вештине које сам стекао. Срећом, лето пре моје апсолвентске године, имао сам прилику да стажирам као софтверски инжењер у Сунг и упарите програме са другим инжењерима како бисте помогли у испоруци функција.

Моје искуство у стажирању, заједно са охрабрујућим разговорима мојих професора, дало ми је самопоуздање да се не задовољим ни једном другом улогом када сам први пут почео да се пријављујем за посао. Након доста времена проведеног у канцеларијским сатима, дипломирао сам 2021. са ЦС дипломом и прихватио понуду да будем сарадник софтверског инжењера овде на адреси Спроут Социал .



  Јулиус Боатенг и група колега из Спроут Социал

Смештање у Спроут Социал

Део тога што сте били нови у тој улози и нови у компанији био је развој општих вештина софтверског инжењеринга и знања из домена специфичног за Спроут. Открио сам да ми је најлакше решавати задатке који захтевају опште знање програмирања за разумевање. Међутим, задаци који су захтевали познавање Спроутове архитектуре требало је времена да се позабавим и морао сам да се ослоним на свој тим за помоћ. Иако постоје неки проблеми које можете решити читањем документације на мрежи, не можете увек да пронађете информације које су релевантне за посао који обављате – кључно је да питате друге за смернице.

Једна од првих ствари које су ми се истицале када сам се придружио Спроуту је колико је процес развоја колаборативан. Знао сам да су потребни читави тимови да развију функције, али нисам знао како то изгледа у пракси. Брзо сам схватио да објављивање успешне функције захтева много људи у различитим улогама да раде заједно — од менаџера производа који дефинишу захтеве пројекта, до дизајнера који креирају макете и инжењера који имплементирају функције. Сарадња није била необавезна, већ неопходна за постизање циљева нашег тима.

  Слика сарадника Јулија Боатинга и Спроута изван Калдера's Flamingo statue in downtown Chicago

Учење како да се крећете кроз различите базе кода и изградите ментални модел начина на који различите услуге међусобно комуницирају била је стрма крива учења. Пошто је Спроут-ов основни посао софтвер, његова архитектура је у великој мери обликована његовим пословним захтевима. Док сам се повећавао,  морао сам да будем свестан пословних проблема које су програмери покушавали да реше и зашто су донете претходне архитектонске одлуке.



У почетку, био сам мало заплашен да су захтеви за повлачењем захтевали прегледе пре него што би могли да буду спојени у базу кода. Разумевање да је главна сврха прегледа кода дељење знања и одржавање стандарда кода помогло је да променим моју перспективу.

Прегледавање кодова помогло ми је да изоштрим своје техничке вештине и побољшам квалитет мојих захтева за повлачењем. То што ми колеге дају савет шта да променим, упознају ме са новим обрасцима и упућују ми на релевантне области кодне базе било је од велике помоћи. Читање захтева за повлачењем других инжењера такође ми је дало вредан увид у друге услуге на којима не радим директно.

Ваша претходна искуства су важна

Преовлађује идеја да, како улазите у нове фазе у животу, ваша претходна искуства више нису битна. Када уђете на факултет, ваша средњошколска искуства више нису битна. Једном када уђете у радну снагу, ваша искуства са факултета више нису битна.


тајне анђеоске поруке

Али нешто што се често занемарује јесте да наша искуства, знање и навике имају сложени ефекат. Обично смо у могућности да постигнемо нове ствари само захваљујући послу који смо раније радили. Знања и вештине које сам претходно стекао у великој мери су утицале на то како приступам новим изазовима као почетнички софтверски инжењер.

Часови током основних студија који су имали најдиректнији утицај на мој свакодневни рад у Спроуту били су програмски изазови и концепти база података. Први ме је научио како да разбијем велике проблеме на мање делове да бих их ефикасније решио. То ми је помогло да постанем намерније у погледу тога како сам структурирао свој код и побољшао читљивост свог кода.

Концепти базе података су ме научили основним концептима релационих база података и покрили теме као што су дизајн шеме базе података и СКЛ. Научио сам како да пишем упите, што је било изузетно корисно јер ми често треба да постављам упите у наше базе података да бих решио проблеме или одговорио на питања.


значење 143

  Анимирани гиф комплета робота ТуртлеБот.

Прилике које сам имао ван учионице биле су подједнако вредне. Јава није био језик који је био покривен у већини мојих курсева, али сам имао прилику да радим на њему за пословни пројекат који је водио један од мојих професора. Стекао сам практично искуство писања Јаве, рада са МиСКЛ базама података и креирања Доцкер слика. Учење Јаве је било посебно корисно јер је већина Спроутових услуга написана на њему.

Постоји много других вештина које сам стекао током свог времена на основним студијама и које узимам здраво за готово, попут навигације командном линијом и разумевања основних концепта програмирања. Уобичајена је заблуда да, пошто је већина тема које се обрађују на додипломским студијама теоријске природе, оне вас неће припремити за каријеру софтверског инжењеринга. Међутим, верујем да је супротно – вештине које научите на додипломским студијама су важне, чак и ако нису директно применљиве на ваш свакодневни рад.

Рачунарство је изузетно широка област

ЦС покрива различите специјализације као што су вештачка интелигенција, машинско учење и наука о подацима. Искуство које стекнете на основним студијама служи као темељно знање које вам може добро послужити у различитим улогама на почетним нивоима, а не искључиво за софтверски инжењеринг. Прелазак са основне школе на позицију са пуним радним временом пружа прилику да истражите која врста улоге и специјалности вам највише одговара.

Ако тражите да започети каријеру у софтверском инжењерству , Спроут је одлично место за почетак.

Подели Са Пријатељима: