Программисты сейчас — рок-звезды: у них нестандартный образ жизни, они знают, как работать со сложными математическими и техническими конструкциями. Кажется, что специалистам, далёким от разработки, невозможно даже приблизиться к профессии. Бесстрашные — welcome на курс «Разработчик на Python», новый поток стартует 29 сентября. Остальные — читайте вдохновляющую историю, как побороть страх перед программированием и совершить пивот из редактора в тестировщики благодаря Python.

Как всё начиналось

Все, кто работает с онлайном, так или иначе знакомы с кодом: вставляли счётчик аналитики на сайт, делали вики-разметку во ВКонтакте, вносили правки в html, если «поехала» статья или забрался лишний символ в email-рассылку.

Всё это делала и я. Но меня не покидало чувство, что я делаю это как собака Павлова — не осмысляя и не понимая, что за этим стоит. Мне было непонятно, как исполняется код и что такое язык разметки.

Я долго думала, как мне подступиться к программированию и с чего начать. Думаю, ответа на мой вопрос не существовало, пока в Москве не решили провести первый Django Girls.

8 часов кода на Django Girls

Django Girls — это однодневный интенсив, где группы из 4-8 девушек под руководством ментора проходят весь туториал по работе с фреймворком Django. Про то, что такое Python и Django, я не знала ничего.

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

Python — это высокоуровневый язык программирования. Его придумал Гвидо ван Россум, чтобы сделать разработку более удобной. Отличительные черты: минималистичный синтаксис (грубо говоря, нужно написать меньше слов для работы программы) и широкие возможности для применения. Язык удобен как для объемных вычислений (big data), так и для более прикладных нужд, например, блогов.

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

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

За один день у меня не получилось развернуть сервер и запустить свой блог на Django. Я развернула его на второй день, и это было настоящим счастьем: я сама запустила блог, я понимаю, как там всё устроено! 

Курс молодого бойца

С того момента меня понесло. Я по-прежнему не знала, что делать со своим интересом и не придумала ничего лучше, чем пойти в IT-журналисты. Правда, на работе я больше занималась госрегулированием, отраслевыми новостями и мемологией.

Но желание кодить никуда не уходило. Тогда я решила: пойду на курсы по Python — хотя бы слова знакомые. И пошла учиться, правда не в #tceh.

С первого раза у меня не получилось. Со мной в группе были люди с 8-летним опытом разработки на Java или C++, которые быстро схватывали синтаксис и выполняли задачи. Я не успевала за их темпом и ушла. Вернулась на другой набор курса, и там уже народ попроще был — SMMщики, маркетологи, продажники. В общем, ребята, которые до курса не кодили.

Но было всё равно сложно. В первую очередь, пришлось привыкать к абстракции. Когда вы пишете текст, вы так или иначе выражаете свою позицию. Иван Иванович у вас всегда либо за закон о снижении налоговой нагрузки на IT-компании, либо против. У переменной «x» в выражении никакой общественно-политической позиции нет.

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

У Python в вопросе привыкания к абстракции есть преимущество. Это язык с достаточно простым синтаксисом. В нём что напишешь, то и будет. Его учишь почти как иностранный.

Что дальше

Сейчас я работаю тестировщиком, учусь на рабочих задачах. Думаю насчет автоматизации тестирования. Там, кстати, тоже есть популярные инструменты, где используется Python. Знания, оставшиеся от курса, очень помогают мне в работе: у меня не возникает вопросов, что такое git, клиент-сервисные приложения и зачем нужен http. :) 

Научиться web-разработке можно за 3 месяца на курсе «Разработчик на Python». Python отлично подходит тем, кто выбирает первый язык программирования. Смотрите программу курса и регистрируйтесь.

Таня Кулагина,

Автор #tceh