Советы программистам, которые учатся самостоятельно🙇

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

Наши советы программистам

-Определитесь, нужно ли вам это
Если вы хотите погрузиться в программирование, должна быть причина. Такой причиной может быть страсть к написанию кода или карьерный рост. Возможно, вы постоянно взаимодействуете с Excel, и хотите автоматизировать процессы.
Причина должна быть серьёзный, варианты вроде «в будущем нужны будут только программисты» крайне абстрактны. Программирование − это трудно, а иногда и разочаровывающе. Причина должна стать целью, которая всегда перед вами. Напишите эту причину на бумаге и положите её на видное место − некоторым это действительно помогает двигаться вперёд.

-Получите фундаментальные знания
Это менее распространенный совет, но не менее важный. Прежде чем вы начнете писать код, повторите алгебру старших классов, потому что программирование − чистая алгебра, умение работать с функциями и переменными крайне важно. Чтобы не потерять много времени на поиск достойных источников, советуем просто пройти первый курс в Khan Academy.

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

Данный совет можно назвать основным, а главное − реализуемым. Даже в маленьких городах есть группы программистов, которые тянутся друг к другу. Если такого всё-таки нет, станьте частью dev.to и сообщества CodeNewbie. Последний имеет Twitter-чат, Slack-группу и подкасты. На первом проходят активные дискуссии в комментариях, а свои вопросы можно постить с помощью тега #discuss.

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

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

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

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

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

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

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

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

-Боритесь с собой, но в меру
Когда вы пытаетесь решить проблему самостоятельно и в условиях ограниченности ресурсов, важно перебороть лень. Тем не менее, так можно вообще демотивировать заниматься новым делом. Если что-то долго не получается − отдохните, а потом попросите совета у более опытных.

-Поймите, что неудачи − это нормально
Программирование − дело трудное, и поиск правильного ответа может занять много времени. Это крайне обидно, когда часы, сутки, недели потрачены на реализацию заведомо нерабочей концепции. Лучший способ минимизировать риск провалов − быть внимательным. А если относиться с юмором к тому, что вы убивались над тем, что не может работать, то переносить трудности будет проще.

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

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

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

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

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

Если Google и Stack Overflow не могут вам помочь, скорее всего, вы либо гений, либо пошли не туда. Всё уже давно придумано и лежит на поверхности.

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

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

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

Программирование − это круто
Опустили руки? Прочтите цитату известного программиста Санди Меца:

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

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

Отслеживать лучшие вакансии Вам помогут супер-фильтры, которые находят проекты более точно и быстрее конкурентов. Руководство по супер-фильтрам: https://www.youtube.com/watch?v=g5lqGO9H1vo

Также, много полезной информации Вы можете найти в нашей группе ВКонтакте.

Подписывайся: https://vk.com/alotpro