Этот пост изначально был опубликован в блоге Codementor

«Я не хочу быть программистом. Я просто хочу создать State of K, но к этому моменту я, вероятно, уже изучил все темы в Django ».

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

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

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

Таким образом, имея только базовые знания HTML и CSS, изученные на рубеже веков, он попытался создать макет веб-сайта, составив таблицу с HTML: «Потому что это то, что люди сделали в 2001 году». Работа была выполнена, но он также быстро понял, что его знания устарели, и их явно недостаточно, чтобы воплотить в жизнь идею, которая была у него в голове.

После долгих исследований Ингрэм выдвинул теорию «очень сложного способа» создания веб-сайта и решил найти наставника или старшего разработчика, который мог бы дать ему обратную связь. «Первый человек, которого я встретил на Codementor, сказал мне, что мой план реализации был полностью неправильным», - засмеялся он. К счастью, это было не напрасно: наставник указал ему правильное направление: изучить Django.

Так он и сделал. Но как штатному юристу с ограниченным свободным временем Ингрэм нуждался в способе изучения кода, который мог бы вписаться в его плотный график. Но традиционные методы обучения не подходили: «Для буткемпингов вам нужно физически находиться на месте или придерживаться их расписания преподавания». Вместо этого он начал учиться, купив книгу, просмотрев видео на Youtube и купив несколько курсов Udemy.

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

Он выбрал последнее.

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

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

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

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

При обучении использует целенаправленный подход. «Обычно я знаю, что хочу создать», - сказал Ингрэм о своем процессе обучения. Он проводит время, просматривая онлайн-ресурсы и документацию - «бесплатная официальная документация для Python и Django была самой полезной» - прежде чем придумать план реализации, которым он делится с наставником. «Я стараюсь делать все, что в моих силах, и на раннем этапе получить одобрение Джессамин», - поделился он, - «Это итеративный процесс. Обычно, если я заранее обдумываю это, концепция срабатывает с первого раза, но иногда соображения, о которых я даже не думал, всплывают, когда я начинаю реализовывать ».

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

Прошло четыре года с тех пор, как Ингрэм начал свой путь в программировании, и State of K неуклонно расширяет свою базу пользователей. Хотя его процесс обучения можно охарактеризовать как «решение проблем», на данный момент он «вероятно, уже изучил все темы библиотеки Django и может применить эти знания в других проектах». Этому вторил его наставник Джессамин: «Ингрэм продемонстрировал невероятный рост как разработчик за те несколько лет, которые я активно наставлял его. Он прошел путь от новичка до способного разрабатывать довольно сложные функции ».

«Я изучал Django медленнее, чем кто-либо другой? Определенно. Но я также делал это, работая полный рабочий день, что, на мой взгляд, тоже неплохо.

Изначально опубликовано на Codementor.