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

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

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

Я побаловался с VBA и решил, что найду кодирование интересным. Я исследовал различные виды разработки программного обеспечения и решил, что хочу! В идеале я хотел бы иметь возможность уйти со своей должности и сосредоточиться на смене карьеры. Однако по финансовым причинам это было просто невозможно. И поэтому мне нужно было подготовиться к смене карьеры параллельно с основной работой.

Каким разработчиком вы хотите стать

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

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

Когда я прошел через этот процесс, я решил, что хочу быть Full-Stack разработчиком. Я обнаружил, что мне нужно изучить HTML, CSS, JavaScript, а также внутренний язык и фреймворк. Для серверной части я выбрал Python с Django.

Измельчение, чтобы учиться

Как только я закончил свое исследование того, каким видом разработки программного обеспечения я хотел заниматься, пришло время учиться! Моя методика обучения заключалась в том, чтобы программировать вместе с курсом Udemy. Я воспроизводил видео со скоростью 1,25x и старался усвоить как можно больше информации. Попытка запомнить синтаксис не является эффективным способом обучения, поэтому я хотел убедиться, что все мое время уходит на изучение новых понятий.

Но при чем тут гринд?

Позвольте мне начать с того, что то, что я сделал, было определенно нездоровым! Я категорически не одобряю этого и рекомендую вам взять мою идею и смягчить ее… сильно!

Я бы учился по 4 часа в день, каждый день. Если бы я закончил в 23:00, а на следующий день у меня была бы смена в 7:00, я бы все равно получил свои 4 часа обучения (если только я хорошо не спланировал и уже не закончил часть этих 4 часов до работы).

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

Я рекомендую начинать с 1 часа в день (при условии, что у вас есть другие обязательства). Я считаю, что выжимание часа в день, даже если вам нужно разбивать его на части, достижимо для большинства людей. Причина, по которой я решил рекомендовать только час в день, заключается в том, что я понимаю, как трудно мотивировать себя. Тяжелая работа не доставляет удовольствия. Может быть трудно мотивировать себя делать что-то, когда вы предпочитаете получать удовольствие, занимаясь чем-то другим.

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

Что может дать вам час занятий в день?

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

Короче говоря, чем больше времени вы потратите, тем быстрее вы научитесь.

Как только вы выучите язык программирования

После того, как вы выучили язык программирования, пришло время подумать о проекте, который вы можете создать. Уже? Да!

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

Моим первым проектом, когда я закончил учиться писать HTML, CSS и JavaScript, была маленькая игра на JavaScript. Как только вы закончите изучение своего первого языка программирования, потратьте некоторое время на работу над небольшим побочным проектом и загрузите его на GitHub. Это действие само по себе поможет вам развить свои навыки программирования, а также навыки решения проблем.

Сила коммитов GitHub

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

Как вы, как соискатель, можете выделиться?

Вклады с гитхаба!

Ниже представлена ​​карта, показывающая мой вклад GitHub в 2021 году:

Ниже представлена ​​карта, показывающая чужой вклад GitHub (не буду называть и стыдиться):

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

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

Учитывая мощь карты вкладов GitHub, вы должны убедиться, что вы кодируете и делаете коммиты ежедневно. Если у вас есть частные репозитории, обновите настройки, чтобы отображались материалы из ваших частных репозиториев. Не волнуйтесь, это не раскроет ваш код, а только обновит график.

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

Сайт портфолио

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

Как и в случае с вкладами GitHub, сайт-портфолио — это то, чем пользуются не все. Это отличная новость для вас! Тогда это просто еще один способ выделиться среди конкурентов.

Ваш сайт должен содержать:

  • Информация о себе
  • Ваше резюме/резюме (не забудьте удалить любую конфиденциальную информацию, такую ​​как ваш адрес)
  • Ваши проекты
  • Ссылки на ваш GitHub и LinkedIn

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

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

Заявки на работу

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

Метод распыления и молитвы

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

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

Рекрутеры

Рекрутеры могут стать для вас отличным способом найти работу. Самое первое, что вы хотите сделать, это установить свой статус «открыт для вакансий» в LinkedIn, чтобы открыть. Конечно же, с вами свяжутся некоторые рекрутеры, и они помогут вам направить заявки.

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

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

Собеседования

Наконец-то вас пригласили на собеседование! Поздравляем! Но чего ожидать?

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

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

Характер и общение › Технические навыки

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

Краткое содержание

Подводя итог, ваше путешествие должно быть разделено на четыре части:

  • Исследовать
  • Обучение
  • Демонстрация
  • Применение

Исследования

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

Обучение

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

Демонстрация

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

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

Что еще должно быть непрерывным? Ваши коммиты на GitHub! Не забывайте совершать что-то ежедневно, чтобы показать свой энтузиазм в программировании.

Подача заявки

Работая над двумя предыдущими задачами, начните подавать заявки на работу. Лично мне больше удавалось подавать заявки на работу утром — возможно, потому, что она была вверху списка адресов электронной почты?

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