Руководство по становлению инженера-программиста-самоучки: Лучшие инструменты и методы

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

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

💡 Хорошая новость заключается в том, что научиться стать инженером-программистом с нуля вполне возможно. В этой статье мы поднимем занавес и покажем вам, как это сделать. Читайте дальше!

Кто такой инженер-программист? 👨💻

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

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

Почему именно программная инженерия?

Плюсы работы разработчика программного обеспечения

  • Высокая зарплата 🤑

По данным indeed.com, средняя базовая зарплата инженера-программиста в США составляет примерно $93 858 в год.

  • Удаленная работа / обязанности WFH 🌴 / 🏠

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

  • Удивительные преимущества работы 🎉

Наиболее распространенные льготы для инженеров-программистов включают: 401(k), стоматологическое страхование, страхование на случай болезни и жизни, абонемент в спортзал, медицинское страхование, программа помощи сотрудникам, оплачиваемый отпуск, оплачиваемый больничный лист, помощь в профессиональном развитии, неограниченный оплачиваемый отпуск, помощь при переезде, пенсионный план, опционный план и многое другое.

  • Непринужденная рабочая обстановка 👖👒💞

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

Раскрытие информации: Я являюсь гордым бенефициаром некоторых ресурсов, упомянутых в этой статье.

👣Как стать инженером-программистом без диплома

1. Начните правильно

Соберите вдохновение 🔷 💫/📝

Чтение историй успеха других людей, которые начинали так же, как и вы, вдохновит вас и сохранит мотивацию 🎙 В подкасте Learn to Code With Me Podcast есть много вдохновляющих историй людей, которые прошли этот путь.

Также вы можете прочитать эту статью о 15 инженерах-программистах-самоучках от Денниса

🔷 Выучить язык программирования 🖥

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

  • Javascript — Если вы совсем новичок в программировании, хорошим правилом будет начать с HTML/CSS и JavaScript, поскольку эти языки дают хорошее введение в программирование и веб-разработку.

Полезные ресурсы :

  1. HTML/CSS: Создание отзывчивых веб-сайтов реального мира с помощью HTML и CSS» Йонаса Шмедтманна.
  2. JavaScript: Полный курс JavaScript 2022: От нуля до эксперта! Валид Морган
  • Python — Если вы не совсем уверены в том, на чем хотите специализироваться, возможно, вам стоит изучить Python.

Для начинающих я бы посоветовал начать с Python (или аналогичных языков сценариев), — говорит доктор С.М. Йиу. Этот язык легко освоить, он очень продуктивен, а также полезен во многих практических ситуациях, например, при анализе данных.

  • Java — Это может быть хорошим вариантом, если вы планируете заниматься разработкой внутренних компонентов.

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

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

🔷 Изучите структуры данных и алгоритмы 📚.

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

Полезные ресурсы :

  • Введение в структуры данных и алгоритмы
  • Краткий курс по структурам данных
  • Специализация по структурам данных и алгоритмам
  • Визуализатор алгоритмов
  • GeeksforGeeks

2. Учитесь с умом

🔷 Выберите хорошую платформу или курс

Существует так много платформ и курсов, что есть из чего выбрать. Однако я перечислю самые важные платформы, которые помогли мне на моем пути.

  • Coursera
  • Udemy
  • LinkedIn Learning
  • Udacity
  • Pluralsight
  • Codecademy
  • Freecodecamp
  • Skillshare

🔷 Практика, практика… еще практика

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

Учиться на практике — это единственный способ совершенствования навыков.

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

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

🔷 Знакомство и использование инструментов, которыми пользуются инженеры-программисты.

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

  • Git или GitHub — посмотрите курс The Ultimate Git Mastery Course от Code With Mosh, который обучает владению Git.
  • интерфейс командной строки
  • Bitbucket

🔷 Оставайтесь в курсе 👀

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

Полезные подкасты, которые помогут вам оставаться в курсе событий:

  • Techmeme Ride Home
  • Брифинг технологических новостей

Полезные информационные бюллетени о технологиях, которые помогут вам оставаться в курсе последних событий :

  • StrictlyVC
  • TLDR
  • Построено в Нью-Йорке
  • Информационные бюллетени

3. Создайте портфолио на Github 🎨.

Учитесь кодить, практикуйте код, создавайте проекты и размещайте их на Github. Github — это идеальное место, где можно изложить свое видение/навыки, показать примеры своих работ и резюме, а также разместить контактную информацию. Кроме того, добавление проектов или кода на GithHub является доказательством того, что вы знаете, что делаете.

Посмотрите эти курсы, чтобы начать изучать Git и использовать его в своих проектах:

  • Контроль версий с помощью Git на Udacity
  • The Ultimate Git Mastery Course от Code With Mosh
  • Git Complete: Окончательное, пошаговое руководство по Git на Udemy
  • Выучите достаточно Git, чтобы быть опасным
  • Освоение Git на Pluralsight
  • Введение в Git на Datacamp

4. Получите поддержку 🤜

🔷 Найдите сообщество 🫂

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

🔷 Развивайте свою профессиональную сеть 🤝.

Участвуйте в жизни технологических сообществ и вносите в них свой вклад, и почти неизбежно возможности появятся на вашем пути.

  • Посещайте местные мероприятия и встречи

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

Проверьте Meetup — платформу социальных сетей для проведения и организации личных и виртуальных мероприятий, собраний и событий для людей и сообществ со схожими интересами, хобби и профессиями.

Также Eventbrite, сайт для управления мероприятиями и продажи билетов, который позволяет пользователям просматривать, создавать и продвигать местные мероприятия.

  • Ведите блог

Блоги обеспечат вам известность. Сосредоточьтесь на создании качественного контента, ценного для других; это поможет вашему блогу (а значит, и вам) завоевать поклонников.

Наиболее подходящие платформы для ведения блогов для инженеров-программистов

🔹 Hashnode

🔹 Dev To

🔹 Medium

🔹 Hacker Noon

  • 🙋 Волонтер

Вы можете быть волонтером на мероприятиях, помогать в организации и проведении мероприятий и т.д.

  • 🗣 Выступать на мероприятиях

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

  • 👀 Создайте профессиональное онлайн-представительство

Очень важно создать цифровое присутствие в качестве инженера-программиста. Создайте свое онлайн-присутствие на:

LinkedIn

GitHub

Twitter

Личный сайт (или сайт портфолио)

5. Пройти собеседование по кодингу 💼

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

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

Еще один полезный ресурс — книга Cracking the Coding Interview.

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

  • Interview Cake

  • AlgoExpert

  • Byte by Byte

  • Skilled.dev

6. Расширяйте свои знания

📖 ПРОДОЛЖАЙТЕ УЧИТЬСЯ!

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

Единственная константа в технологии — это перемены.

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

Лучшие практики для поддержания актуальности

Начните с постановки целей. Их должно быть несколько, и все они должны быть достижимыми.

🔷 Установите расписание

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

🔷 Устраните все отвлекающие факторы

На что вы тратите свое время, то и получаете.

«Если вы не отделите себя от своих отвлекающих факторов, ваши отвлекающие факторы отделят вас от ваших целей и жизни, которую вы хотите».

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

Зиг Зиглар однажды сказал: «Неважно, сколько у вас силы, гениальности или энергии, если вы не используете ее, не сфокусируете на определенной цели и не удержите ее там, вы никогда не достигнете того, чего требуют ваши способности».

🔷 Отслеживайте свой прогресс

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

Я предлагаю фантастические сообщества, такие как dev.to, hashnode или medium.

🔷 Практика, практика и еще больше практики

Начав с первой программы «Hello, world!», через несколько месяцев вы перейдете к созданию бэкендов, отзывчивых макетов, веб-приложений и даже мобильных приложений и игр. Возьмите за правило выполнять каждый код по мере изучения. Также создавайте проекты по ходу обучения. Отрабатывайте каждую концепцию на практике.

🔷 Вам не нужно знать все Практически невозможно знать все о программной инженерии. Освойте основы, изучите достаточно, создавайте проекты и продолжайте учиться, практикуясь. Вы всегда найдете что-то новое для себя.

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

  • См. Принципы SOLID
  • Читайте также: «Чистый код: A Handbook of Agile Software Craftsmanship» Роберта К. Мартина.

🔷 Глубина над широтой Глубокое изучение одной вещи лучше, чем крошечное изучение множества вещей. Выберите один стек и станьте мастером.

NB: На этом пути так легко выпасть из процесса, выдохнуться и сдаться. Последовательность является ключом к становлению инженера-программиста — убедитесь, что вы сохраняете мотивацию и сфокусированы на своем пути.

Отмечайте свои победы 🔷 Отмечайте каждую веху или достижение, каким бы маленьким оно ни было. Я веду учет своих побед в Google Keep, чтобы постоянно напоминать себе о том, как далеко я продвинулся, когда мне хочется сдаться.

Заключительные мысли

В мире существует множество инженеров-программистов, не получивших формального образования в области программной инженерии. На самом деле, многие из них — самоучки. Назовите их: Ада Лавлейс, Элон Маск, Билл Гейтс, Марк Цукерберг, Алан Тьюринг, Чарльз Бага, Фрэн Аллен, я 🤓 и многие другие. Значит, если они это сделали, то и вы сможете. Множество людей добились всего этого самостоятельно, с помощью самообучения и общения. (Буткемпы по кодингу также являются хорошим вариантом, если у вас есть время и бюджет.

Вот лучшие из них, которые я могу порекомендовать:

Flatiron School

💰 — Цена: $15 000 (возможно финансирование)

  • Продолжительность: Самостоятельное обучение (но большинство студентов заканчивают обучение за 4-12 месяцев)

Fullstack Academy Remote

💰 Цена: $17,910 (доступны стипендии и финансирование)

Продолжительность: 17 недель

The Tech Academy

💰 Цена: $18,640-$26,640

Продолжительность: 22 недели (40 недель неполного рабочего дня)

Чего вы ждете? Возьмите чашку кофе, откиньтесь на спинку кресла и начните свое путешествие по изучению программной инженерии СЕГОДНЯ!

Давайте общаться: Twitter | Linkedin | Github | Instagram

🤩 Счастливого обучения 🤩

Оцените статью
devanswers.ru
Добавить комментарий