Как перейти к карьере в разработке программного обеспечения

1656663263 kak perejti k karere v razrabotke programmnogo obespecheniya

Мэрилин Магнусен

3EHodgieEa9qowG7OIDgV8UiHxsG045J7n48
Фото Марка Басараба на Unsplash

Некоторое время я учился кодировать, преимущественно как хобби по вечерам и на выходных. Это произошло от пары часов в месяц до замены моей зависимости от судоку.

В одну субботу я сидел в нашем офисе (заходил и пользовался удобными диванами, безлимитным чаем и стабильным Wi-Fi). У меня был один из тех моментов, когда ты смотришь на себя извне и понимаешь, что вместо того, чтобы делать обычные вещи жаркого летнего дня, я был сам, в офисе, прикован к компьютеру.

Именно тогда я решил совершить прыжок и стать разработчиком на полный рабочий день. У меня никогда не было того, что мне нравилось и можно продавать как навыки на рабочем месте.

После нескольких месяцев жонглирования учебой и работой я оставил свою работу в стартапе программного обеспечения, чтобы сосредоточиться на полном обучении. Люди вокруг меня говорили, какой я был смелым, чтобы добиться своей мечты, но выражения их лиц ясно свидетельствовали, что я сумасшедший, чтобы отдать все ради неизвестных. Я бы соврал, если бы сказал, что не был «очень» напуган.

Плюсом является то, что уборка парашюта внезапно фокусирует вас. Это не случай «это может сработать», а случай «это должно сработать». Плана Б не было.

Прошло немного больше трех месяцев, чтобы принять мою первую роль разработчика программного обеспечения.

Вот некоторые из вещей, которые я хотел бы знать раньше, и, надеюсь, они помогут всем, кто хочет отправиться в подобное путешествие.

Знай свою причину

Почему ты этого хочешь? Это должен быть самый важный вопрос. Конечно, все знают о единорогах, IPO, неограниченном количестве пива и ряде бонусов. Этого недостаточно, чтобы поддерживать вас, когда вы смотрели на ту же ошибку в течение последних 15 минут или наткнулись на блокпост и должны найти другое решение.

Каков окончательный финал игры? Вы в конце концов захотите создать собственную компанию? Или внештатный? Или возглавить команду разработчиков? Вы хотите получить больше кошек онлайн? (это вполне нормально). Или ты хочешь изменить мир? Какова бы ни была ваша мотивация, убедитесь, что вы действительно ее понимаете и держитесь за эту дорогую жизнь.

Выполните работу

Прекрасная вещь в программном обеспечении состоит в том, что оно преимущественно меритократическое. Все меньшее значение имеет ваша академическая квалификация, (умных) работодателей волнует только то, есть ли у вас соответствующие навыки или способность научиться этим навыкам на работе. Используйте это в свою пользу.

7l5EWinZp1j3oLQuT6DdMuULfH2oltthwhtC
Изображение из UKBlackTech

Независимо от того, выбираете ли вы интерфейс или бэк-энд, найдите время, чтобы действительно понять основные концепции. Сосредоточьтесь на изучении языка ваниль вместо того, чтобы полагаться на фреймворки. Твердое понимание чего-то типа JavaScript поможет вам изучить любой фреймворк JavaScript, но обратное не верно. Вас поймают со спущенными штанами, когда придет время налаживать, и вы не знаете, вызвана ли проблема фреймворком или вашим кодом.

Покажите свою работу

Вы должны иметь работу, чтобы показать. Если у вас есть опыт информатики, у вас есть квалификация, чтобы показать, что вы сделали. Если у вас нет никакой формальной квалификации, это еще более важно. Просто обращение с просьбой о работе не поможет. Вы должны иметь возможность показать код, который вы написали (в идеале что-то более существенное, чем учебник в блоге).

Покажите, как вы решали реальные проблемы и путь, который вы прошли, чтобы добиться окончательного решения. Вам не нужно иметь десятки проектов — качество важнее количества. Первое собеседование, на которое я попал, основывалось исключительно на том, что они видели в двух проектах моего GIT. Это была кипучая куча, но я мог объяснить каждую строчку, что он сделал и почему я принял определенные решения.

Не бойтесь собеседований

1ni90KzjpzhjBtgFzCypya4jZkcwHvdxkRLu
Изображение из UKBlackTech

Единственный способ стать лучшим на собеседованиях – проводить собеседования.

Это совет, который я получил от моего друга-разработчика в начале. Звучит как ситуация с курицей и яйцом, но вы можете начать, практикуясь при любом случае.

Есть такие сервисы, как interviewing.io, которые помогут вам потренироваться. Общайтесь с людьми, которых вы знаете, и ищите общий вопрос для интервью для младших разработчиков в Интернете. Есть даже видео на YouTube, которые помогут.

От вас не ожидается прохождение теста на белой доске в младшем возрасте, но вас попросят объяснить понятие или рассказать о разных сценариях своими словами. Они не пытаются вас задеть, они дают вам возможность сиять и показать, что вы знаете. Если вас спросят о том, что вы не знаете, запишите. (Да, я действительно держал с собой блокнот/ноутбук во время собеседований, чтобы записывать вещи).

В конце собеседования спросите их о некоторых вещах, в которых вы были не совсем уверены. Это покажет, что вы хотите устранить пробелы в своих знаниях и поможет собственному пониманию. Лучшие интервью, по которым я проходил, всегда давали мне знать больше, чем я знал.

Это улица с двусторонним движением

Вы должны оценивать их так, как они оценивают вас. Если бы вы там работали, были бы вы счастливы и успешны? Насколько четко написана задача? Вовремя отвечают на ваши электронные письма? Охотно ли они отвечают на вопросы или защищаются на определенные темы? Кажется ли, что люди в офисе рады быть там или они одним глазом смотрят на часы?

Цель состоит не просто в том, чтобы получить работу, это получить понравившуюся работу, которая позволит вам развиваться и совершенствоваться в написании программного обеспечения. В конце концов, я отклонил предложение перейти на второй этап одного процесса собеседования, потому что я не думал, что они могут поддержать меня как младшего. Три года + и, наверное, было бы хорошо, но я не имел впечатления, что у них будет время или ресурсы, чтобы поддержать мое обучение как нового разработчика. Это тип вещей, которые вы должны принять во внимание.

Попросите отзыв

Спрашивайте отзыв при любом случае. Вы вряд ли получите отклик только о том, что подали заявку, но вы должны стремиться получать отклик во время каждого собеседования. Это поможет закрыть ваши слабые места. Напишите электронное письмо с вопросом о них, если они ничего не предлагают. Когда вы получите свою первую роль, вам понадобится постоянная обратная связь, чтобы совершенствоваться, поэтому это хорошая привычка, которую стоит выработать в начале.

Кажется, мы генетически запрограммированы быть неблагоприятными для любого типа социального взаимодействия, включающего потенциальное неудобство/негативность. Такое мышление убьет вашу карьеру и ваш рост. Вы не ожидали бы объединения без проверки кода, и как вы можете ожидать, что вы выйдете с другой стороны, не пройдя аналогичный процесс проверки и отклика?

Узнайте, как работать с существующей кодовой базой.

Об этом особенно больно говорить, но я делаю это в духе помощи другим.

Одно из моих интервью было с удивительным агентством, которое работало для брендов, о которых я мог только мечтать. Они вспомнили, что много работают со SASS, поэтому я часами читал и практиковался.

Когда я дошел до собеседования, задача кода была достаточно простой: создать функцию в пределах существующей кодовой базы. Это может показаться безумным, но для редактирования кода, созданного другими, требуются другие навыки, чем для редактирования собственного кода. Это все равно что открыть наполовину написанную книгу и попытаться самому закончить историю.

Я понял, что впервые работал с кодом, который написал кто-то другой, как раз во время собеседования, и я вдруг переключился. Это похоже на тот кошмар, когда вам нужно сдавать экзамен по английскому языку, осознавать, что вы изучили не ту книгу, и просыпаться в поте. Но вместо того, чтобы проснуться, у вас есть час, когда вы должны печатать что-то. Что угодно. Буквально нет выхода, даже пожарной лестницы или плохо сделанного окна.

5dmvZEVbhJdcyIKyNJXkVvHLfvr0IxYU982r

Старайтесь как можно больше практиковаться в работе с существующим кодом. Проводите хакатоны, участвуйте в проектах с открытым исходным кодом или даже собирайтесь с любыми другими программистами, которых вы знаете, и найдите что-нибудь небольшое для работы. Ирония состоит в том, что после того, как я вернулся и вытер глаза, было достаточно легко сотворить с нуля, я просто не мог понять то, что уже было начато.

Это нормально не знать

Не бойся того, что не знаешь. Один интервьюер попросил меня оценить себя по шкале от 1 до 10 по моим знаниям из внешней среды. Я был честным и сказал, что в начале процесса я бы, вероятно, сказал примерно 4. Но после всей работы, которую я проделал, я, наверное, поставил бы 1.

Это было не для самообвинения, а потому, что каждый документ или статья, которые я читал, знакомил меня с примерно 10 новыми концепциями. Итак, чем больше я узнавал, тем больше я понимал, сколько еще нужно было научиться. Как разработчик, вы должны смириться с мнением, что никогда не узнаете всего. Каждый день появляются новые языки, фреймворки и технологии. Вы можете читать 24/7 и все равно не поцарапать поверхность.

Имейте правильное отношение

В конце концов отзывы, которые я получил от работы, на которую я согласился, заключались в том, что я был наименее квалифицированным из всех кандидатов (это очень верно, поскольку у меня было ровно 0 лет опыта). Но я с лихвой компенсировал это энтузиазмом, и я выглядел как человек, с которым они на самом деле хотели бы работать.

В начале вы мало что можете сделать по своему опыту или квалификации, но то, что вы можете сделать, это дать себе наилучший шанс проявить себя лучше. Расскажите о том, что вы совершили, и покажите свою страсть к роли. Это может включать статьи, которые вы написали, мероприятия, на которых вы были, книги, которые вы прочитали или даже подкасты, которые вам нравятся, связаны с этой сферой.

Забудьте о льготах, покупайте собственные пончики

Многие программные роли будут предлагать многочисленные бонусы, чтобы соблазнить разработчиков. Я не буду делать вид, что они не имеют значения. Но на этом этапе вашей карьеры они должен быть. Важнейшей должна быть фактическая команда, с которой вы будете работать, и возможности для обучения и развития. Они создают пару кодов? Экспертные оценки? Есть ли время для личного развития?

3uHBNbdQaibke2f17lYoENB1NmANraLQ9MCb

В последующие годы, когда придет время сделать следующий шаг, вам нужно будет продемонстрировать свои знания теперь, когда вы разработчик с X-летним опытом. Они не отдадут ни одной суммы, сколько вам платили за вашу предыдущую роль или сколько бесплатных бонусов вы съели. Но они будут удивлены, если вы сможете показать все новые технологии, которые вы научились, как вы работали над решением различных проблем и что вы сделали, чтобы помочь в обучении в вашей первой роли.

Сосредотачиваясь на льготах, когда пора принять предложение, вы продаете себя в тупик и можете также работать на волшебные бобы.

Создайте сеть.

UzfnbvW-uy7E25VE3dhHYr4rjAIrxxeV0Onh
Изображение из UKBlackTech

Мне удалось попасть в стартап по программному обеспечению и жить и работать в центре программного обеспечения в Лондоне. Здесь полно встреч и групп. Codebar – это, пожалуй, самое лучшее, в чем я участвовал. Они не только объединяют вас с разработчиками для обучения, но это бесплатно, они проводят отличные разговоры, вы получаете доступ к инсайдерам отрасли, и это абсолютно безвредная среда, где вы можете спросить что угодно.

Если вы живете где-то похожим, воспользуйтесь всеми преимуществами и выйдите туда и познакомьтесь с людьми. Да, для нетворкинга, но важнее потому, что то, что вы поглощаете в этом окружении, принесет дивиденды в несколько раз. Менеджеры по найму также любят быть вовлеченными в сообщество, и ваш следующий работодатель вполне может присутствовать на следующей встрече, которую вы посетите.

Вы нам нужны настолько, насколько вы этого хотите

Синдром самозванца хорошо задокументирован и, безусловно, есть чем-то, от чего я страдал в те моменты неуверенности в себе. Есть тысячи людей, которые заканчивают курсы CS и обучающие курсы — разве я был нереален даже попробовать такую ​​карьеру, зная, чему я сам научился?

Правда, в том, что разработчиков почти не хватает, чтобы удовлетворить спрос на открытые вакансии. Пока у вас есть основные навыки, правильное отношение и желание учиться, у вас есть шанс. Работодатели не могут позволить себе нанимать только на основе квалификации.

Эта следующая часть немного болезненна – вопрос разнообразия. Каждый, не живущий под камнем, знает, что технологии имеют огромную проблему разнообразия. Когда я начал подавать заявку, я не мог не заметить, что каждый лидер команды, которого я искал в LinkedIn, был мужчиной.

Правда заключается в том, что я ни разу не чувствовал, что меня не приветствуют или меня не уважают как равноправного члена команды. В каждом моем взаимодействии я чувствовал, будто каждая из этих команд протягивает руку, желая, чтобы я добился успеха. Теперь я действительно верю, что большинство компаний хотят увеличить разнообразие в своих командах и активно это делают.

Если вы не отвечаете стереотипным представлениям о том, как должен выглядеть разработчик и что? Технология хочет и нуждается в вас. Стол велик, и места хватит всем.

Если вам понравился этот пост, пожалуйста, похлопайте, чтобы выразить свою благодарность.

Вы можете также оставить комментарий ниже.

Найдите меня в твиттере: Мэрилин Магнусен

Добавить комментарий

Ваш адрес email не будет опубликован.