Иногда для достижения цели сложнее всего просто начать. Если вы начинающий разработчик или если вы только начинаете свою карьеру, вы можете быть перегружены многочисленными советами. Вы также можете бояться выучить не тот язык программирования, бояться экзаменов по программированию или нервничать по поводу участия в дискуссиях в социальных сетях.
Хотя все эти чувства естественны, есть несколько способов, как преодолеть эти страхи. Мы встретились с Ризель Скарлетт из нашей команды по связям с разработчиками, чтобы получить советы из ее собственного опыта.
1. Насколько важен выбор языка программирования и специализации на начальном этапе?
Ризель: Когда дело доходит до выбора между Python, Java или JavaScript, это не имеет большого значения. Важнее всего понимать основы.
Когда вы были ребенком, вам нужно было выучить какой-нибудь язык, чтобы выразить свои мысли. Когда вы будете изучать второй или третий язык, ваш мозг будет опираться на знания синтаксиса и грамматики родного языка, используя его за основу.
К основам языков программирования относятся:
- Создание и вызов функции.
- Создание переменных.
- Понимание и объяснение условных конструкций.
- Выполнение вызовов API.
- Понимание области видимости, строк, действий с массивами и структур данных (которые будут различаться в зависимости от языка программирования).
Если вы можете продемонстрировать отличное знание этих основ для конкретного языка, большинство менеджеров по найму поймут, что вы не ограничены своим текущим языком.
2. Должны ли начинающие разработчики изучать классические языки перед знакомством с другими популярными языками и фреймворками?
Ризель: Я слышала, что люди начинают изучать фреймворк, прежде чем овладеть основами, и у них в дальнейшем все хорошо. Я лично не думаю, что это подошло бы мне. Поскольку многие из этих фреймворков основаны на фундаментальных языках, на мой взгляд, изучить фреймворк и разобраться в нем будет легче, если вы уже знаете язык. Думайте о фреймворках как о диалекте языка: будет сложно выучить AAVE (афроамериканский диалект), если вы не знаете английского.
3. Если в настоящее время у меня нет постоянной работы в качестве разработчика, что я могу сделать для получения опыта?
Ризель: Моим первым и главным советом было бы присмотреться к сообществам с открытым исходным кодом, потому что это больше всего похоже на опыт работы в команде. Вы будете делать pull requests
и работать в классном месте, и это даст вам возможность выделиться среди остальных соискателей.
Мое второе предложение — начать свой личный проект и сделать что-то, что подтолкнет вас к созданию чего-то необычного. Начните с проекта, который вы сделали по учебному пособию или во время стажировки. Заставьте себя подумать: «Что еще я могу добавить?»
Также еще вы можете подать заявку на наставничество и стажировку. Это не то, о чем часто думают разработчики начального уровня (но о чем думает любой неординарный разработчик), но я считаю, что это хорошая возможность войти в профессию, не неся слишком большой ответственности.
4. Я заинтересован в работе над проектом с открытым исходным кодом, но понятия не имею, с чего начать. Есть советы по выбору проекта?
Ризель: Вы можете начать с github.com/topics, где вы можете найти проекты с открытым исходным кодом, где используются интересующие вас языки программирования или инструменты. Когда вы только пришли в проект с открытым исходным кодом, вам следует обратить внимание на задачи с меткой good-first-issue, которая указывает на то, что задача нуждается в свежем взгляде со стороны. Существует также целая куча инструментов, которые объединяют и выявляют good-first-issue в проектах.
First Timers Only предоставляет список агрегаторов, которые находят для вас good-first-issue. В нем также есть руководство, которое поможет вам изучить и понять рабочий процесс Git для участия в проектах с открытым исходным кодом. Это немного отличается от работы над вашим проектом или проектом вашей компании.
Также есть аккаунт в Twitter под названием «Good First Issue» , который публикует задачи с этой меткой. Мне нравится такой подход, потому что вы можете сразу же получить уведомление, прежде чем кто-то заявит о нем.
5. Что я должен включить в свое портфолио?
Ризель: Во-первых, я думаю, что совершенно нормально, если ваше портфолио простое. Включите ссылку на свой код, размещенный на GitHub, GitLab или BitBucket. Это позволяет рекрутерам и менеджерам по найму видеть доказательства того, что вы умеете программировать, отслеживать рост с течением времени и получать представление о ваших навыках решения проблем.
Если вы хотите сделать все возможное, вы можете добавить биографию и необычные штуки, которые продемонстрируют вашу индивидуальность, или проект, над которым вы работали и которым вы увлечены. Но я думаю, что на самом базовом уровне вы можете ограничиться кратким разделом о себе, ссылками на ваши социальные сети и на ваш размещенный код.
Если вы ищете инструменты для создания своего портфолио, то, как вариант, присмотритесь к GitHub Pages, но вы также можете просто добавить ReadME. Мой ReadME – это мое портфолио.
6. Как мне искать наставника и чего мне ожидать от наставничества?
Ризель: Вы можете получить наставничество, присоединившись к официальной программе. У меня есть наставник от Girls in Tech. Вы можете найти наставника в вашем учебном заведении или во время обучения на курсах по программированию.
В таких группах, как #100Devs, есть люди, которые рады стать наставниками. Вы также можете взаимодействовать с людьми в Twitter, не только писать им в личные сообщения «можете ли вы наставлять меня», но и внимательно изучать их твиты. Иногда люди в Twitter пишут, что они открыты для общения с другими через Zoom. Забронируйте с ними время и получите возможность учиться у них. Имейте в виду, что они обычно очень заняты, и, самое главное, не ждите, что они найдут вам работу.
7. Как я могу использовать социальные сети для правильного продвижения своего бренда?
Ризель: Используйте любое средство, которое вам больше всего нравится, чтобы задокументировать свой путь, будь то Twitter или другая платформа, и используйте его, чтобы поделиться тем, над чем вы работали, любыми новыми навыками, которые вы получили, и т. д. Вам не нужно быть экспертом по созданию социального контента. Публикуйте по мере того, как вы учитесь, даже если вам кажется, что это мало. Открытый исходный код — это совместное использование и совместная работа, поэтому не бойтесь делиться своим кодом/работой с сообществом.
Никогда не бойтесь показаться слишком неопытным – люди поддержат вас.
На кого из отличных разработчиков стоит подписаться для вдохновения?
В Twitter я настоятельно рекомендую следующее:
Я также пишу о новых вещах, которые я изучила, а также откровенно делюсь тем, что знаю, так что подпишитесь на @blackgirlbytes. 🙂
8. Я боюсь показаться слишком неопытным, когда комментирую что-либо. Как мне это преодолеть?
Ризель: Я понимаю беспокойство о том, что, возможно, вы будете чувствовать себя недостаточно опытным. Я думаю, что мы все чувствовали это раньше. Но нет ничего плохого в том, чтобы быть новичком. Вы определенно хорошо знаете какие-либо вещи. Покажите, что вы знаете! Кроме того, будьте честны в том, чего вы не знаете. Для ИТ-сферы это также важно.
9. Как лучше подаваться на вакансию?
Ризель: Подайте заявку на максимально возможное количество должностей, независимо от титулов. В некоторых вакансиях для младших позицих не будет слова «джуниор». Прежде всего, будьте осторожны при подаче заявки на роль без наставничества. Это может быть обескураживающим, ошеломляющим опытом, и, возможно, даже может привести к смене отрасли. Компании часто гибки со своей системой уровней и ролей, поэтому поначалу ничего не исключайте.
Когда вы ищете работу, посмотрите, знаете ли вы людей, которые работают в интересующей вас компании. Эта связь всегда помогает в предварительных переговорах. Свяжитесь с людьми в LinkedIn и Twitter, если вы знакомы или если друг или коллега может представить вас. Связи и отношения имеют огромное значение в вашей карьере.
10. Как подготовиться к экзамену по кодингу?
Ризель: Такие веб-сайты, как HackerRank, LeetCode, codewars.com и pramp.com, могут помочь вам подготовиться к собеседованию по программированию. Вы также можете попросить наставника или друга-разработчика взять у вас тренировочное интервью и дать вам обратную связь в режиме реального времени. Люди также предлагают прочитать книгу Cracking the Coding Interview.
Что касается меня, я использую метод «грубой силы», т. е. рассматриваю интервью как практику. Я предпочитаю данный метод, потому что получаю реалистичное представление о моем опыте, а также понимание того, над чем мне следует поработать для любых позиций, на которые я буду претендовать в будущем.
11. Что отличает новичка от разработчика среднего уровня?
Ризель: Это зависит от компании и является темой, достойной отдельной статьи. Честный ответ заключается в том, что отличия есть. В некоторых стартапах, в которых я работала, меня до сих пор считают джуниором. Но, когда я общаюсь с людьми, некоторые из них считают меня мидлом. Я оцениваю себя скорее как мидла. Некоторые измеряют годами опыта, который составляет от нуля до трех лет для начинающего разработчика и от трех до пяти лет для разработчика среднего уровня. Это базовые показатели, и они полезны, но не должны быть непреложной истиной.
С моей точки зрения, начинающим разработчикам может потребоваться дополнительная помощь, чтобы понять, с чего начать или как лучше решить задачу, в то время как разработчики среднего уровня могут иметь более четкое представление о том, с чего лучше начать. Мидлы, вероятно, планируют, исследуют и проектируют немного больше, прежде чем писать код, чтобы убедиться в оптимальности решения. Это не означает, что разработчикам среднего уровня не нужна помощь, но они лучше представляют себе проблему и ее решение, потому что видели нечто подобное в прошлом.
Комментарии