Оно што сам научио прелазећи од Твиттер приправника до сталног инжењера софтвера за Твиттер

Више кодирања и раста!

* Гледајући календар * Вхоа! Је ли прошло већ шест месеци ?! Првог дана своје праксе на Твитеру знао сам да ће требати заувек да видим крај тунела, али ту смо. Ја сам стални инжењер на Твиттеру !! ?

Дефинитивно је био спринт и научио сам више него што сам могао да замислим. Срећан сам што сам могао упити већину знања. Сада желим да одвојим време да напишем своје искуство са завршетком програма. Знам да већина програма стажирања има једноставне путеве до сталног запослења. Зато желим да истакнем неке фазе кроз које сам прошао, замке са којима сам се суочио и размислим о свему што сам научио. Ако могу да помогнем једној особи на путу кодирања из овог поста, онда →? !!

Напомена: Ако вас занима како сам пристао на стаж на Твиттер-у, ту причу можете пронаћи овде: Како сам прешао из војног ваздухопловства у приправника софтверског инжењера @Твиттер

Узбуђење

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

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

Први корак ка изради остатка аутомобила била је Нев Хире Ориентатион. Овде сам схватио да Тецх Цомпани КСИЗ не заснива свој стацк на пројекту ФрееЦодеЦамп калкулатора.

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

У почетку изазива воах-ово-је-сулудо-сложен тип осећања. ? Након што стварно почнете да радите, имаће много више смисла. Одједном ћете радити на пројекту и наићи на ствари којих се сећате да сте их оријентисали. П аке сигурно се не осећате, размислите, желе, или узети у обзир потребу да се диве у сваки комад стек.

Ипак, ова објашњења на високом нивоу су корисна. Они вам помажу да сагледате ширу слику и како ваш тим доприноси мисији компаније. Дакле, док сам био нестрпљив да започнем, давање времена да се средим, омогућило би ми да кренем пуно глатко!

Новице

Почетак у новој компанији у потпуно новој индустрији која ради потпуно нови посао за мене је био огроман помак. Одједном сам осетио да сам поново на основном тренингу. Када сам почео, нисам ни знао како да користим Мац. ? Читав живот сам особа са рачунаром. Прилично је застрашујући осећај, јер као ново ангажовање желите да пружите вредност - и уместо тога понекад се можете осећати прилично бескорисно. Само будите стрпљиви са собом. Непостојање овог стрпљења била је једна од најизазовнијих ствари са којима сам се морао носити кад сам тек почео.

Као што рекох, имате овај мотор који је спреман за потпуно искључење. Али има мало посла који треба уложити пре него што преузмете свет! Стрпљење ће вам помоћи да брже будете продуктивни. Такође ће вам помоћи да се не осећате као губитак кисеоника док учите. ?

Нагомилавање

Да бих стекао вештине које су ми потребне да бих постао продуктиван, знао сам да ћу их морати поделити на фазе. Желео сам прво да научим најнеопходније вештине, неке вештине за повећање продуктивности итд.

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

За референцу, никада нисам користио већину технологија које бих користио у наредних шест месеци. Ок, осим Гита, али осим тога осећао сам се као да сам на новој планети!

На крају сам научио како да користим нови ИДЕ као свој први циљ. Уређивач који бих користио зове се ИнтеллиЈ и на њему је луда количина дугмади, а раније сам користио Атом. Дакле, још један огроман прекидач!

Када сам напокон био спреман да напишем неки код, мој први инстинкт био је да смислим како да направим мали пројекат који ми је био познат. У основи радим пројекат превођења са мојим новим алатима. Дакле, овде сам покушавао да дођем до хеллоВорлд Сцала програма (да ли ово рачунам као мали пројекат?) За штампање на конзоли. Осећао сам се као да је поново први дан ФрееЦодеЦампа.

Након што сам покренуо тај пројекат, добио сам већи пројекат вежбања. Једини проблем је био што нисам знао како да направим и тестирам овај пројекат са својим новим алатима. Оно што је било још луђе је то што сам раније градио овај пројекат вежбања (Тхе Бит.ли стиле УРЛ Схортенер). Тако сам знао како да имплементирам логику, а могао сам и да истрајем у подацима. Али, без Атома, НПМ-а, МонгоДБ-а и НодеЈС-а био сам изгубљен! Барем сам у овом тренутку био пристојан у навигацији око Маца.

Учење новог језика (Сцала) и ИДЕ (ИнтеллиЈ) истовремено ме је мало успорило. Непотребно је рећи да је то био спор процес за мене да се „осећам“ продуктивно.

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

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

Без обзира којом рутом кренули, све ће се то временом повезати. Само не стај. Ствар је само у томе колико ефикасни желите да будете! (Приус или Хеллцат?) Пре него што сам то знао, заправо сам градио пројекте! Радост коју сам осећао била је страва. Писао сам Сцала код, користећи ИнтеллиЈ, па чак и свој Мац, не гуглајући како да користим једноставне функције. Дефинитивно „В“, али још увек није време за одмор!

Самозванац

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

Доживљавам то готово сваки пут кад започнем радити на новом пројекту. Брзо откријем да се за готово сваки пројекат, без обзира колико је мали, треба припремити. Ова празнина у знању коју имам пре сваког пројекта чини да се осећам неадекватно. То ме природно доводи до питања „Да ли припадам овде?“ стање ума. И верујем да сам коначно схватио зашто!

Чињеница да немам формално ЦС образовање или чак обуку за камповање у кампу је део тога. Мислим, знам да нисам тотални почетник, али да такође знам да ми недостају комадићи основног ЦС знања. Једно време моје знање ЦС осећало се као комад швајцарског сира. Временом сам, међутим, попунио пуно тих празнина у знању и стекао више самопоуздања.

Али ово не значи да је то био крај осећаја као варалица! Готово сваки пут кад бих се суочио са новим пројектом, синдром варалице би се поново појавио. ? На крају сам сазнао да је ово обнављање настало само због тога што сам 0% -25% упознат са датим пројектом или базом података. Ово звучи као ствар „Па добро“, али кад ми је додељен пројекат, мозак би једноставно почео да се утркује да схвати како ћу се борити са тим. Мој мозак размишља о циљу, а истовремено зна да не разумем све замршене делове пројекта. Дакле, мој мозак каже нешто попут „Брате, ми немамо појма шта се овде дешава како ћемо то да урадимо ?!“.

Након копања у коду и читања документације, вратили бисмо се на „Схватио сам!“. Молим вас да вас остали сустижете. ? За мене је горња аналогија главни разлог зашто бих се осећао, а понекад се и даље осећам као варалица. Сад кад ово више разумем, могу се препирати са својим мозгом, а затим се опустити да бих је сустигао. Свако ко доживи синдром варалице зна да га увек „стигнемо“!

Мој савет

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

  1. Правите белешке (добро се сећам, али након састанака о различитим стварима неке ствари можете заборавити). Било је сјајно разговарати са мојим саиграчима у Слацку. Увек сам могао да се померим горе 24 сата дневно и да видим детаље. Кад бих то могао да имам за сваки разговор. ? О да, бележница или Гоогле документ.
  2. Дајте саиграчима више контекста када постављате питања. Осећам да је ово уобичајено питање за нове инжењере. Постављао бих питања понекад као да је друга особа радила у истој датотеци и на истој линији кода на којој сам радио. И није изненађујуће што би довело до забуне, ако не и погрешног одговора на моје питање. То је готово као да некога позовете телефоном и кажете „Хеј! Можете ли да ме упутите до куће? “. (Пре Гоогле мапа, ГПС-а и сличних ствари, наравно) Али ако кажете „Налазим се на раскрсници Блаха и Блах-а ка западу и покушавам да се вратим кући, можете ли помоћи?“ они сигурно могу много више да помогну! Ако имају мапу звану старији инжењерски мозак!
  3. Не буди гладијатор! Развој софтвера је тимски спорт. Међутим, нисам се могао отрести осећаја да морам да се докажем. Не да нисам желео да радим као тим, али осећао сам да морам да покажем да могу сам да се бавим пројектом. Једини проблем је био ... ..Нисам морао то да радим. Ова опсесивна мисија да се докажем само ме натерала да примим оно што сматрам једином главном негативном повратном информацијом током друге праксе. Ако не креирате стартуп, имат ћете тим који ће вас подржати! Радите са њима и сви имају користи!

Бонус: Поред тога што сте прецизнији у постављању питања, постарајте се за сва питања која имате. Ово је супер користан савет за нас који се учимо кодирати.

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

Ово није проблем док не чујете нешто што звучи као уобичајено инжењерско знање. Ако икада чујете друге инжењере како разговарају и помислите у себи „вероватно бих то требао знати?“ о томе говорим.

Како се испоставило, ПОТПУНО је у реду ако не знате. У ствари, неки старији инжењери постављају тачно питање на које сам размишљао. Тада схватите да сваки инжењер не зна све. Тада видите да сваки члан тима који зна добар износ је оно што тим чини моћним. А питања и дељење чине остало! Не седите у страху да ће тема бити нешто основно што бисте требали знати. Питајте!!

Закључак

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

Генерално, мислим да је прошло савршено. Из успеха које сам постигао заједно са конструктивним повратним информацијама које сам добио. Долазак из војске дефинитивно је учинио занимљивим! Нарочито након што сте годинама обучени да следите наредбе и одједном морате да одлучите за већи део свог свакодневног радног процеса.

Као и увек, знао сам да ћу то схватити. Баш као основна војна обука када смо били ћелави и збуњени и морали смо да схватимо случајне ствари за 1,5 секунде. Само што сада нисам ћелав.

Заправо имам пуно ствари које сам научио од војске и за које осећам да ми пуно помажу у техници. Ипак ћемо то сачувати за други пост. Такође желим да захвалим свима који су ми помогли на путовању и мојој породици што су се носили са временом који је далеко од њих. Буквално сам се осећао као да ме мало село одгаја за великог инжењера. Веома сам захвалан и срећан због система подршке који имам. Хвала вам за читање!