7 ключових кроків до отримання вашої першої роботи в галузі програмного забезпечення

У 2017 році я закінчив bootcamp з веб-розробки. У мене не було досвіду роботи інженером-програмістом або в технічній галузі. Я почав претендувати на роботу в жовтні, а в грудні почав працювати штатним інженером-спеціалістом.

Процес пошуку роботи був для мене коротким, але напруженим 5 тижнів. Були речі, про які я хотів би знати, та інші речі, які окупились значно більше, ніж я очікував. Щоб заощадити вам багато часу та напруги, я переклав те, що навчився, на сім ключових речей, які я зробив для забезпечення своєї першої роботи.

1. Складіть портфоліо з кількох визначних проектів

Я переглянув резюме інших випускників bootcamp, де вони перерахували лише один або два частково завершені проекти. Вони не повинні бути ідеальними (моя грізна гра 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. Напишіть змістовне резюме та мотиваційний лист

Замість того, щоб писати багато неякісних додатків, витрачайте більше часу на написання високопрофільних програм. Зрештою, резюме або супровідний лист із друкарськими помилками чи граматичними помилками негайно буде відхилено. Резюме, яке розміщується на одній сторінці, частіше за все, негайно відхиляється.

Загальні супровідні листи можуть бути відхилені не відразу. Однак у морі заявок на роботу вони дійсно нічого не роблять для вас. Приділіть кілька хвилин, щоб відвідати веб-сайт компанії, і придумайте справжню причину, чому ви хочете працювати в цій конкретній компанії . Якщо ви не можете, ну, можливо, це ознака того, що вам не потрібна компанія.

У будь-якому випадку, ви повинні максимально адаптувати свої відповіді. Уникайте копіювати та вставляти будь-які шаблони, які ви знайдете в Інтернеті (обіцяю, менеджери з найму будуть шукати в Google).

Я міг би написати цілу статтю про резюме самостійно. Але загалом, вам слід виділити найбільш відповідні технічні аспекти вашої попередньої роботи. Наприклад, я раніше працював у сфері розвитку некомерційних організацій та збору коштів - нічого про назву посади не кричить «веб-розробник». Втім, я обов’язково висвітлив свою роботу з міграції даних та управління програмним забезпеченням для збору коштів. Крім того, я розмістив свої три найкращі портфоліо-проекти у верхній частині свого резюме. Таким чином, моя технічна здатність була продемонстрована ДО моєї історії роботи.

6. Мережа!

Отже, я страшний у мережі. Я сором'язливий інтроверт, і мені важко змішуватися в налаштуваннях великих груп. Але навіть для мене це було можливо. Я тягнув себе на місцеві зустрічі, а іноді навіть веселився в чаті з іншими техніками.

Переважна більшість зустрічей, чесно кажучи, не призвело до жодної роботи, але жменька, яка справді дала свої результати. Насправді, робота, яку я маю зараз, - це та, про яку я дізнався через когось, кого зустрів на зустрічі!

Тож я справді закликаю вас побувати там і відвідати зустрічі, лекції та групи Slack для технічних професіоналів. Навіть спілкування з людьми / компаніями в Інтернеті через соціальні мережі є корисним. Найкращі робочі місця часто навіть не розміщують, тому важливо спробувати створити свою професійну мережу навіть як новачок у галузі.

І пам’ятайте - це взаємовигідний обмін! Багато компаній пропонують співробітникам бонуси за перенаправлення, тому часто в їхніх інтересах подати руку допомоги.

7. Уникайте задоволення меншого, а ведіть переговори, домовляйтесь, домовляйтеся

Майже на кожній посаді, на яку я брав інтерв’ю, у якийсь момент мене запитували, якою була моя цільова зарплата. Це засмучувало, оскільки загалом перший, хто назвав номер, знаходиться в слабшому становищі для переговорів. У той же час, ви не хочете витрачати свій час на співбесіду в компанії, яка опускається набагато нижче бажаної зарплати.

Кілька разів перебираючи це питання, я нарешті зібрався і провів кілька досліджень зарплати. Я шукав оцінки заробітної плати для розробників з рівнем досвіду роботи в моєму місті на таких веб-сайтах, як Payscale, а також опитування заробітної плати в місцевій технічній зустрічі. У великих компаніях ви також можете шукати зарплати на Glassdoor, щоб бути впевненішим, що ваш асортимент більш-менш узгоджується з їхнім.

Тому щоразу, коли мене запитували, які вимоги до моєї зарплати, я відповідав: «Мій цільовий діапазон заробітної плати становить від X до X X. Однак гроші - це не найголовніше. Я дійсно шукаю компанію, де я можу продовжувати рости та робити свій внесок у команду " В основному це був мій спосіб викласти цільову зарплату ввічливим чином, як я знав. Я вказав діапазон, щоб висловити свою гнучкість, але переконався, що нижня частина діапазону - це те, чим я був би задоволений на 100%.

І як тільки ви отримаєте пропозицію, ніколи не бійтеся вести переговори. Ніколи не шкодить запитати! Ви також можете домовитись про інші речі, крім зарплати. Сюди можуть входити дні відпусток, затримка дати початку та бонуси за вхід, які можуть бути більш гнучкими, ніж базові виплати.

Висновок

Дякую всім вам, хто пройшов так далеко! Я сподіваюся, що ви знайшли це корисним у пошуку роботи. Моя остання порада така: не турбуйтеся про те, щоб просто влаштуватися на роботу. Існує маса попиту на інженерів програмного забезпечення, навіть за межами основних технологічних центрів. Якщо ви навчилися і підготувались, то зможете влаштуватися на роботу.

Зосередьтеся на правильній роботі - роль, яка передбачає роботу в улюблених технологіях у компанії, яка добре ставиться до своїх працівників. Можливо, не завжди вдається отримати обидва на першій технічній роботі, але як тільки ви заб’єте ногу у дверях, наступна можливість стане набагато простішою. Звідси стає тільки краще.

Будьте добрими до себе і бережіть. Удачі!

PS Якщо ви хочете почути трохи більше про мій особистий досвід співбесіди, а також про те, де я нарешті опинився, перегляньте мою статтю Інтерв’ювання як інженер-програміст у Ніші.