Когда я в первый раз училась программировать, мне было 16 лет, и нужно было срочно освоить С++. Несмотря на поддержку одногруппников и преподавателей, я тянула с решением задач до последнего и в конце концов бросила это дело: очень сложно начать, когда есть глубокое внутреннее убеждение, что для решения задачи не хватит ни знаний, ни опыта, ни усидчивости.
В итоге я стала редактором. Но теперь, уже взрослая, я осваиваю веб-разработку, и впадаю в ступор каждый раз, когда прохожу испытания к курсам, которые выглядят сложнее, чем задания после пройденных уроков.
Такой ступор — распространенная проблема среди тех, кто только начинает осваивать новую профессию. Когда опыт есть, ты знаешь, с чего начать. Но что, если вообще ничего не понятно? И начать не с чего, и лучше тогда и вовсе не начинать — ведь ничего и так не получится. Рассказываю, что я делаю, чтобы наконец перестать бояться и написать код.
1. Признаю, что задача — сложная
Я стараюсь напомнить себе, что только начинаю, и массив информации, который нужно держать в голове, очень большой. Так что я постоянно забываю, как что работает, и вспомнить — невероятно, чудовищно, непереносимо тяжело. У меня нет контроля над этой ситуацией, и мне страшно, что ничего не получится: я никогда не научусь программировать и умру от голода под мостом. Это я. Это ок. Признание своей маленьковости и глупости — первый шаг к освобождению.
2. Нахожу знакомое
После того, как я прочитала описание задачи и испугалась, я открываю тренажер и смотрю на код, который там уже есть. Как правило, там есть что-то знакомое: по крайней мере, обычно я понимаю, какие классы за что отвечают и к каким объектам относятся. Сразу становится легче: хоть какой-то контроль уже есть, что-то да понятно.
3. Проверяю незнакомое
После того как я посмотрела на код, я возвращаюсь к описанию задачи. Мне уже легче ориентироваться: я видела код и примерно представляю, как сейчас там ведут себя элементы. Так что можно приступить к поиску понятий и свойств, которые мне знакомы смутно, и погуглить, что они значат и как работают. На этом этапе становится еще легче: сначала я не понимала, теперь незнакомого гораздо меньше, осталось только понять, как это применить.
4. Читаю про проблемы и нахожу людей, которым тоже непросто
Во вкладке «Обсуждения» всегда есть те, кто не может понять вообще ничего, люди, которые задают правильные вопросы и кто-то, кто решил все быстро и поделился опытом. Благодаря этому я еще лучше понимаю, как нужно применять свойства, о которых я только что прочитала, и каких ошибок я могу избежать. Конечно, всегда лучше сесть и подумать самостоятельно, но когда идет речь о том, чтобы избавиться от ощущения «это все зря», гораздо эффективнее переработать чужой опыт, чтобы дать себе зацепки и вернуть контроль над ситуацией. Кроме того, я вижу, что страдаю не я одна — принадлежность к группе помогает справиться с тревогой и вернуться к написанию кода.
Этими шагами я пользуюсь каждый раз, когда начинаю слишком сильно беспокоиться и прокручивать в голове мысли о том, что никогда не справлюсь с освоением программирования. Чаще всего решение проходит с первой-третьей попытки, и я с облегчением понимаю, что я совсем не такая маленькая и глупая, как мне казалось до этого. В последний раз я потратила на прохождение этапов 10 минут, а на написание кода — всего три, и убедилась, что если есть план, то все получится.
Надеюсь, это поможет и вам. А если у вас есть эффективные способы справляться с тревогой, возникающей при первом столкновении с задачей, обязательно поделитесь ими со мной — методов психологической самоподдержки много не бывает :)