7 ключови стъпки за получаване на първата работа по софтуерно инженерство

Завърших начален лагер за уеб разработка през 2017 г. Нямах опит да работя като софтуерен инженер или в технологичната индустрия. Започнах да кандидатствам за работа през октомври и започнах да работя на пълен работен ден като инженер от Front End през декември.

Процесът на търсене на работа беше кратък, но стресиращ 5 седмици за мен. Имаше неща, които бих искал да знам, и други неща, които се изплатиха повече, отколкото очаквах. За да ви спестя много време и стрес, дестилирах наученото в седем ключови неща, които направих, за да си осигуря първата работа.

1. Направете портфолио от няколко забележителни проекта

Прегледах резюметата на други градски кадри, където те изброиха само един или два частично завършени проекта. Те не трябва да са перфектни (моята гадна игра Phaser.js не е), но трябва да показват напредъка, който сте постигнали като софтуерен инженер.

Това означава, че ако кажете, че познавате React, трябва да имате поне едно приложение React във вашето портфолио. Ако нямате опит в работата като разработчик, портфолиото от поне три проекта е от решаващо значение . Това също не трябва да са уроци - бъдете креативни! Колкото по-забавен е проектът за вас, толкова повече работа ще вложите в него. И колкото по-страстно ще звучите, когато го опишете на интервюиращия. (Бонус точки, ако създадете и свой собствен уебсайт за портфолио!).

Също така трябва да сте готови да обсъдите силните и слабите страни на вашия проект с интервюиращ . Няколко от моите интервюиращи извадиха моя Github и ме помолиха да разгледам кода си с тях. Определено забърках първия път, когато това се случи, тъй като бяха изминали седмици, откакто бях погледнал кода! Подготовката е от ключово значение .

След това се уверих, че мога да навигирам около своите проекти на Github и мога да говоря за едно трудно предизвикателство, което реших във всеки проект.

По темата за Git всички мои интервюиращи бяха впечатлени, че имам опит да използвам Git за контрол на версиите и сътрудничество. Препоръчвам ви да се запознаете с Git + Github . Ако никога не сте използвали Git за екипно сътрудничество, определено бих препоръчал да направите първия си PR на проект с отворен код. Добрите навици на Git също имат дълъг път. Един от моите интервюиращи току-що премина през историята ми на ангажименти, за да види как „мисля“ и бях много доволен, че това е проект с добри съобщения за ангажиране.

2. Подгответе се за техническото интервю

Има много проблеми с начина на провеждане на техническите интервюта, но факт е, че за много компании белите бордове са тук, за да останат. Има много страхотни ресурси, за да практикувате това (Pramp, InterviewCake и, разбира се, Cracking the Coding Interview, за да назовем само няколко).

Трябва да призная, че МНОГО се боря с това - съзнанието ми обикновено изчезва под натиск. Но най-важното е да тренирате да мислите на глас . Пълното неудобно мълчание по време на интервю е последното нещо, което искате и колкото повече мислите на глас, толкова повече интервюиращият ще знае докъде сте стигнали (и ще бъде в състояние да ви помогне, ако са толкова склонни!) .

Също така току-що купих бяла дъска и маркер за сухо изтриване, така че свикнах да работя без редактор на код (повярвайте ми, това е неприятно, преминавайки от кодиране с помощта на линер към празна стена!).

Не всички компании ще ви помолят за бяла дъска - но почти всички ще ви зададат някои основни технически въпроси, които аз наричам „любопитни факти“ поради липса на по-добър термин. За позициите, за които кандидатствах, тези въпроси обикновено се фокусираха върху HTML, CSS, JavaScript и уеб ефективността. Има и много онлайн ресурси със списъци с често срещани въпроси - току-що направих куп флашкарти и тренирах!

Малко са темите, с които всеки уеб разработчик с преден край или пълен стек трябва да се чувства удобно. Те включват цикъл на събития в JS, обещания и async / await, CSS модел на кутия, тежести на CSS специфичност и начини за ускоряване на времето за зареждане на уеб страница. Неведнъж са ми задавали въпроси за всичко това.

3. Определете каква компания или роля искате

В началото на търсенето на работа направих грешката, като хвърлих много широка мрежа, с мислене „просяци-не могат да бъдат избрани“. Но без значение къде ще кацнете, ще посветите по-голямата част от времето си на работа. Какъв е смисълът, ако едва можете да съберете вълнение от това да отидете в офиса или по-лошо, да се страхувате?

Съставянето на списък с приоритети за новата ви работа ще ви помогне да запазите отговорност за търсенето на работа, вместо да оставите лова за работа да ви управлява. Основните ми приоритети бяха:

  • Възможности за решаване на предизвикателни проблеми, които ме интересуват
  • Добър баланс между работа и личен живот
  • Възможности за работа с модерен технологичен стек

Тези приоритети ме накараха да се съсредоточа върху работни места в компании, в които имаше здравословна култура на работа (без работни нощи и почивни дни). Също така исках да използвам съвременни рамки (извинете jQuery). Те също трябваше да имат интересни мисии, които можех да изпълня (не, благодаря на бездушните корпорации).

Освен това не забравяйте, че интервютата не са просто време, в което компанията да ви оцени. Често ще можете да намерите предупредителни знаци, ако компанията е токсична или не е подходяща. Срещнах една компания, която издаде дълго предизвикателство за кодиране, преди дори да разговаря с кандидати. Друга компания работеше върху завладяващ продукт, но моите интервюиращи се настръхнаха, когато създадох баланс между работа и личен живот. Бих могъл да продължавам и продължавам за всички предупредителни знаци, които изпитах.

Винаги, винаги задавайте въпроси по време на интервюта . Това показва, че сте сериозни и заинтересовани, но също така може да ви помогне да откриете тези предупредителни знаци.

4. Бъдете организирани и проследявайте всичко

Имате няколко убийствени проекта под колана си, подготвени за техническо интервю и имате предвид целева компания. Сега е време да започнете да кандидатствате за работа. Но свети моли, проследяването на десетки приложения може да бъде кошмар! Преди поддържах приложения в папки на компютъра си, но ставаше тромаво и тромаво.

В крайна сметка използвах Airtable, за да проследя всичките си приложения. Използвах го за проследяване наобяви за работа, мотивационни писма, всякакви имейли или писмени съобщения, диапазони на заплатите, контакти, дневници на срещи и др.

Ето връзка към шаблона, който използвах. (За всички маниаци, които не са електронни таблици, Airtable е като дете на любовта на електронна таблица на Excel и релационна база данни.) Едно нещо, което харесвам в Airtable, е възможността за връзка между записи в различни таблици. Това ми позволи да поддържам изчерпателен списък с фирмени контакти и лица на страницата „Хора“ и на компании на друга.

Но защо да си правим труда да останем така организирани ?? Освен че задоволява любовта ми към електронните таблици, това улеснява много по-точното определяне на силните и слабите страни в стратегията ви за търсене на работа.

Например, тук е разбивка на състоянието на моите кандидатури за работа, след като бях получил работата:

От 40-те молби, които изпратих, не получих отговор от ~ 50% и предложения за работа от 20%. Не е лошо, като се има предвид подхода, който имах за изпращане на заявления. Но все пак не толкова високо, колкото бих искал.

Но ако разгледаме работните места, за които имах възможност да интервюирам:

Нещата изглеждат много по-добре. Имам 50% оферта. За една четвърт от работните места, за които съм интервюирал, все още бях между кръговете интервюта, когато приех предложението си за работа. Така че те също биха могли да се превърнат в оферти, ако продължа да интервюирам с тях. Бях отхвърлен само от една компания след интервю (и това беше вероятно, защото се засмях, когато разбрах, че средната им работна седмица е 60+ часа - доста неудобно интервю!)

Благодарение на моята щателна електронна таблица, разбрах, че веднага щом разговарях с действителен човек в компанията, шансовете ми да получа оферта се повишиха. Играта ми за интервюта беше предимно на място, но способността ми да взема това интервю не беше толкова голяма. Ако търсенето на работа беше продължило още няколко месеца, определено щях да променя стратегията си. Бих отделил по-малко време за писане на тон мотивационни писма и приложения и повече време за работа в мрежа и култивиране на препоръки.

Това ни води до следващите няколко точки ...

5. Напишете смислено резюме и мотивационно писмо

Вместо да пишете много нискокачествени приложения, отделете повече време за писане на специално пригодени приложения. В края на краищата, автобиография или мотивационно писмо с печатарски грешки или граматически грешки ще бъдат отхвърлени незабавно. Автобиографиите, които са над една страница, по-често се отхвърлят незабавно.

Общите мотивационни писма може да не бъдат отхвърлени веднага. Въпреки това, в море от заявления за работа, те наистина не правят нищо за вас. Отделете няколко минути, за да посетите уебсайта на компанията и измислете истинска причина, поради която искате да работите за тази конкретна компания . Ако не можете, добре, може би това е знак, че не е подходящата компания за вас.

Така или иначе, трябва да приспособите вашите отговори колкото е възможно повече. Избягвайте да копирате и поставяте шаблони, които намерите онлайн (наемащите мениджъри ще го гуглит, обещавам).

Бих могъл да напиша цяла статия за автобиографиите сам. Но като цяло трябва да подчертаете най-подходящите технически аспекти на предишните си работни места. Например, преди работех в разработването и набирането на средства с нестопанска цел - нищо в заглавието на длъжността не крещи „уеб разработчик“. И все пак, не забравях да подчертая работата си по мигриране на данни и управление на софтуер за набиране на средства. Освен това поставих трите си най-подходящи портфолио проекта в горната част на автобиографията си. Така моята техническа способност беше демонстрирана ПРЕДИ моята работна история.

6. Мрежа!

И така, ужасен съм в работата в мрежа. Аз съм срамежлив интроверт и ми е трудно да се смесвам в настройките на големи групи. Но дори и за мен това беше възможно. Теглех се на местни срещи и понякога дори се забавлявах в чата с други техници.

По-голямата част от срещите не доведоха до никакви водещи позиции, честно казано, но шепата, които наистина се отплатиха. Всъщност работата, която имам сега, е тази, за която научих чрез някой, когото срещнах на среща!

Така че наистина, наистина ви насърчавам да се поставите там и да присъствате на срещи, лекции и Slack групи за технически професионалисти. Дори свързването с хора / компании онлайн чрез социални медии е полезно. Най-добрите работни места често никога не се публикуват, така че е важно да се опитате да изградите своята професионална мрежа дори като новодошли в бранша.

И помнете - това е взаимноизгодна размяна! Много компании предлагат бонуси за препоръки на служителите, така че често е в техен интерес да подадат ръка за помощ.

7. Избягвайте да се задоволявате с по-малко и преговаряйте, преговаряйте, преговаряйте

Почти на всяка позиция, на която съм интервюирал, в даден момент ме питаха каква е целевата ми заплата. Това беше разочароващо, тъй като като цяло първият, който посочи номер, е в по-слаба позиция за преговори. В същото време не искате да губите времето си за интервюта във фирма, която пада далеч под желаната от вас заплата.

След като се зарових с този въпрос няколко пъти, най-накрая се събрах и проведох проучване на заплатите. Потърсих оценки на заплатите за разработчици с моето ниво на опит в моя град на уебсайтове като Payscale, както и проучване на заплатите от местната ми техническа среща. В по-големите компании можете също да търсите заплати в Glassdoor, за да сте по-сигурни, че вашият асортимент горе-долу е в съответствие с техния.

Затова, когато ме попитаха какви са изискванията ми за заплата, казвах: „Целевият ми диапазон на заплатите е от X до X X. Парите обаче не са най-важното нещо. Наистина търся компания, в която да продължа да се развивам и да допринасям за екипа. “ По принцип това беше начинът ми да посоча целевата си заплата по най-учтив начин, който знаех. Заявих диапазон, за да изразя своята гъвкавост, но се уверих, че дъното на диапазона е нещо, от което ще бъда 100% доволен.

И щом получите оферта, никога не се страхувайте да преговаряте. Никога не пречи да питате! Можете да преговаряте и за други неща, освен за заплата. Те могат да включват почивни дни, забавяне на началната дата и бонуси за влизане, които могат да бъдат по-гъвкави от базовото заплащане.

Заключение

Благодаря на всички вас, които стигнаха дотук! Надявам се, че сте намерили това за полезно при търсенето на работа. Последният ми съвет е следният: не се притеснявайте просто да си намерите работа. Има много търсене на софтуерни инженери, дори извън големите технологични центрове. Ако сте учили и се подготвили, ЩЕ УМЕТЕ да си намерите работа.

Съсредоточете се върху получаването на правилната работа - роля, която включва работа в технологии, които обичате, в компания, която се отнася добре със служителите си. Може да не винаги е възможно да получите и двете на първата си технологична работа, но след като влезете във вратата, преследването на следващата възможност ще стане много по-лесно. От тук става само по-добре.

Бъдете добри към себе си и внимавайте. Късмет!

PS Ако искате да чуете малко повече за личните ми преживявания на интервюта, както и къде най-накрая попаднах, разгледайте статията ми Интервюиране като софтуерен инженер в Niche.