Как учить питон легкий путь (а не так, как я сделал)
Python должен быть одним из самых простых языков программирования для изучения. Зная, что заставило меня чувствовать себя довольно плохо, в первый раз, когда я пытался его узнать. Это было даже хуже во второй раз, когда я потерпел неудачу.
Но оказывается – и я узнал это на третьей попытке – что Python может быть действительно доступным, даже гуманитарным, любящим, как я. Вы просто должны подойти к нему правильно.
Как я потерпел неудачу в изучении питона … первый раз
Первый раз, когда я пытался изучить, Python был почти десяти лет назад. Я не был уверен, что я хотел сделать с этим – может быть, автоматизировать часть моей работы, может написать небольшое приложение. Это, казалось, как навык, который будет хорошо знать.
Так что я поднял копию тому не бесплатно Узнайте Python Твердый способ PDF и начал пытаться работать через него.
Первая стена, которую я ударил, стал Python, созданный в моей собственной системе. Особенно в то время большинство инструкций о том, как это сделать, были написаны для опытных программистов, и это вошло навсегда в него все.
Я хотел научиться писать код Python, и мой первый шаг должен был провести пять часов, сражающихся с командной строкой? Я был демотивирован до того, как я даже начал.
Как только я наконец-то настроил вещи, я мог бы написать код вместе с книгой. И я на некоторое время делал, замедляя кучу очень простых текстовых приключений.
Но когда я ударю первую реальную проблему – те моменты, которые всегда приходят в кодировке, где что-то не работает, и вы просто не можете понять, почему – я бросил.
У меня было более важные вещи, чем навязать голову к клавиатуре и головоломкам через неинтересованные сообщения об ошибках. Особенно, когда моя конечная цель заставила текстовую приключению, которую мне не волнуло, и что никто никогда не играл.
Как я потерпел неудачу в изучении питона … во второй раз
Несколько лет спустя я снова попробовал. К тому времени я работал журналистом, и я заинтересован в журналистике данных, а также веб-соскабливание.
Я знал, что наличие навыков кодирования Python, поэтому я нашел онлайн-платформу образования – я не скажу, какой из них – и начал начало курса Python.
Как и большинство MOOC, этот курс был на основе видео. Я бы посмотрел лекцию о теме, связанной с Python, отвечай на тесте на сайт курса, чтобы подтвердить, что я изучил материал, а затем перейти к следующему модулю.
Опытные программисты, вероятно, могут уже догадаться, что произошло дальше: когда я пошел, чтобы попытаться написать код Python для себя, я не мог сделать вещь.
Наблюдая за кем-то другим кодом в видео и прослушивание их объяснений, я думал, что я узнал, как это сделать для себя. И множественные выбора и заполнения в пустых викторинах я получал 100% на, казалось, подтвердил, что схватил материал.
Но, конечно, когда пришло время применить его самостоятельно, я не мог. Я мог бы вернуться через видео и скопировать то, что сделал лектор, но у меня было действительно трудное время, применяя все, что я научился своим собственным проектам.
Также было трудно оставаться мотивированным, потому что я работал над вещами, которые не казались актуальными.
Я хотел изучить веб-соскоб. Но вместо этого я изо всех сил пытался понять видео лекции о концепции объектно-ориентированного программирования (ООП). Что-то из этого нужно сделать с моими целями? Я не был уверен, и это облегчило выйти. Очередной раз.
Почему я потерпел неудачу
При ретроспективе не слишком сложно выяснить, почему я потерпел неудачу. Впервые мои большие ошибки были:
- Не имея четкую цель Отказ Почему я изучал Питона? Я не знал. Это делает очень легко уйти, когда происходит жестко – который он всегда будет, рано или поздно.
- Слишком много вызова перед спереди Отказ Рано или поздно мне придется выяснить, как получить Python на мою систему, но установить это с Ноль Соответствующий опыт, прежде чем я написал столько, сколько Печать (Hello World! ‘) был рецептом расстройства и неудачи.
Когда вы изучаете что-то сложное, особенно как полное начинающее, вам нужно ранние победы, чтобы помочь вам поверить, что вы действительно можете сделать это.
Начиная с расстраивающей проблемы, которая даже не включала кодировку, не гарантировало, что я не получил эти мотивации и подтверждая ранние победы.
Второй раз я избегал этих ошибок, но вместо этого я сделал несколько новых:
- Я не учился, делая. Смотреть видео и проезжающие викторины делали меня чувствовать Как я мог бы код, но я на самом деле не кодировал. Когда я сделал Попробуйте (и потерпеть неудачу), чтобы написать код, это было еще более разочаровано, потому что я думал, что я уже понял это. И потому что мне пришлось сделать кучу нажатия в каждом видео, чтобы пересмотреть разные разделы и религирующие вещи.
- У меня была четкая цель, но не явный путь к нему. Я знал, что хочу сделать данные журналистики и веб-соскабливания, но я принимал общий начальный курс Python. Это означало, что я изучал уроки, которые могли быть критическими для разработки программного обеспечения, но не были такими необходимыми для журналистики данных. Мне часто было трудно подключить основы, которые я учился в классе с тем, что я действительно хотел делать с кодом.
На протяжении всего этого я также сделал еще одну большую психическую ошибку. Я думал о изучении питона в очень черно-белых терминах. Либо у меня был “научился Питон” – все питон – или у меня не было.
Это сделало перспективу изучения действительно пугающими. Всякий раз, когда я ударил проблему, это было ухудшено тем, что я думал о некотором мифическом питоне «финишную черту», которая все еще была очень, Очень далеко.
Это ошибочно, конечно. Как устной язык, Python (и другие языки программирования) не то, что вы когда-либо действительно Готово обучение. И как устной язык, вам на самом деле не нужно свободно говорить в Python, чтобы сделать вещи.
Поскольку любой ученик обмена первого курса скажет вам, просто в состоянии спросить: «Сколько это?» и “Где ванная комната?” На местном языке может Действительно повлиять на ваше качество жизни.
То же самое верно для Python. Вам не нужно знать все – Или даже все это много, обязательно – сделать реальную разницу в вашей собственной жизни.
Но это урок, который я учился только случайно.
Как я на самом деле узнал (какой-то) Python
К 2018 году я отказался от обучения Python. Я пробовал дважды и дважды провалил! Но тогда я получил нанятие в DataQuest, компания, которая учит научные навыки данных – включая программирование Python – онлайн.
Моя новая работа не требовала каких-либо навыков кодирования, но я полагал, что мне все еще нужно было попробовать платформу обучения. Мне нужно было понять наш продукт, а какие наши учащиеся испытывали. Может быть, я подумал, что смогу даже узнать достаточно, чтобы сделать веб-соскоб, как я планировал раньше.
Итак, с каким-то трепетом я создал аккаунт и начал наш Python для тракта курса по изучению данных.
К моему удивлению, это было весело и легко. И к моему большему удивлению, это вообще не было много времени, прежде чем я почувствовал, что я мог бы построить некоторые проекты самостоятельно.
Я написал немного скрипта для сортировки электронной почты. Я использовал Python, чтобы быстро проанализировать некоторые данные обследования. И, в подходящих и запусках, я построил большой веб-проект соскоба и анализа, о котором я мечтал обратно, когда я был журналистом.
Я был – и все еще Я – На самом деле использует Python, чтобы облегчить мою работу и улучшить мою жизнь. Через пару лет я все еще новичок, но я могу взломать маленькие сценарии, чтобы облегчить и решать проблемы анализа данных, у меня на работе с помощью Python.
Это произошло потому, что больше случайно, чем по дизайну, я наткнулся на пути обучения Python, который избегал почти всех ошибок, которые я сделал с моими более ранними усилиями:
- Я пришел с ясной целью – узнайте достаточно Python, чтобы иметь возможность делать небольшую работу, чтобы я мог лучше понять наших клиентов.
- Я избегал вызовов AUP-Front Phodo Slashing Python полностью, потому что DataQuest позволяет вам учиться и писать код прямо в окне браузера.
- Я учился код, на самом деле кодировал, а не просмотреть кого-то еще код.
- Я учился на пути, который был разработан для данных Python, в частности, все, что я изучал, и каждое упражнение, которое я чувствовал.
- Я просто пытался узнать, что Я Нужно, не пытаясь выучить все питона.
Как облегчить обучение Python
Оглядываясь на мои ошибки, а затем мой случайный успех, я думаю, что это сводится к нескольким простым выходу:
Во-первых, войти с целью. Почему вы хотите изучить Python? Что, конкретно, вы хотите построить с ним? Если у вас нет хорошего ответа на этот вопрос, это будет очень трудно оставаться мотивированным.
Во-вторых, найдите способ учиться, делая вещь, которую вы действительно хотите сделать. Если вы можете найти целевой ресурс обучения, как платформа, которая учит Python специально для Game Dev, это здорово. Но общие учебные ресурсы могут работать слишком долго, когда вы применяете то, что вы учитесь с некоторыми Начинающие проекты Python Как вы учитесь.
Ваше обучение к коду должно включать в себя фактически записи кода, и он должен быть на самом деле писать код, который делает что-то Вы заинтересованы в.
В-третьих, избегайте опытной задачи для получения Python и различных библиотек, настроенных на вашей локальной системе.
Теперь есть много онлайн платформ, которые позволяют вам писать и запустить код в веб-браузере, или вы можете написать и запустить код в ноутбуке на Google Colab или аналогичная платформа. Просто постарайтесь сделать начало максимально легко на себе. Вы можете беспокоиться о вашей локальной установке позже.
В-четвертых, не пытайтесь «учиться Python». Это массивная долгосрочная цель, которая, возможно, вроде недостижима – даже лучшие Python Devs не знают буквально все об этом.
Вместо этого постарайтесь узнать, как использовать Python построить простую версию вашего проекта цели или одну часть этого проекта. Затем узнайте, как использовать Python, чтобы сделать этот проект больше или как перейти к следующему шагу.
Разбивайте большие задачи в меньшие куски и сосредоточитесь со своими целями на здание чего-то, чтобы вы получили психологическую награду, чтобы построить что-то, когда вы закончите.
Следуйте этим рекомендациям, независимо от вашей личной причины обучения Python, и я не сомневаюсь, что вы сможете достичь ваших целей без Недоставлена провалиться и уйти дважды по пути!
Как я начал учить Python и ничего не произошло
Вы когда-нибудь видели лендинги курсов по программированию? Наверняка да, ведь времена «мидлов за полгода» и «джунов за три месяца» отгремели совсем недавно. Страницы многих успешных эдтех-компаний здесь похожи. За обещаниями золотых гор на золотых песках удаленки мы вглядываемся в светлые лица преподавателей, и после reasons to believe нас встречает… программа обучения. Двух-, а то и трехуровневая простыня со всеми важными темами. И чем их больше, тем лучше: ведь на другой чаше весов уже поджидает стоимость курса.
Стремление показать товар лицом — это, конечно, похвально. Но есть у такой дотошности и обратный эффект: неуверенность в себе. Вчерашним «выпускникам филфака», к которым с натяжкой отношу себя и я, становится страшно. В этом посте я постараюсь всех нас ободрить и расскажу, как преодолел базовый курс Python.

Немного о себе. Моя работа всегда была связана с текстами. В основном айтишными. Я много пишу с экспертами на разные темы, но никакими системными знаниями о языках программирования в итоге не оброс. До этого курса моим высшим достижением был фан-сайт группы «Кино», написанный на информатике с Dreamweaver. На фоне одноклассников с кодом в блокноте выглядело круто, но в голове осталось немного (спасибо, визивиг).
Перемещаемся лет на 17 вперед. В конце прошлого года я получил для бесплатного знакомства экспресс-курс Python «Программирование — и точка». Не буду ссылаться на создателей, чтобы не обвинили меня в рекламе, по названию найти можно быстро.
А теперь время дневниковых записей: как я провел январь.
Первые «умные слова»
В моем экспресс-курсе не обошлось без обзорной лекции о базовых вещах. Что такое компьютер, я более-менее представлял. Думал, что совсем заскучаю, но получил в свой словарь два новых термина: «компилируемый язык» и «интерпретируемый язык». Следом в зачет пошел одобрительный кивок друга-программиста — когда за пивом поведал ему новость о своем курсе и вывалил эту пару определений. И это мне еще про Python ни слова не сказали!
Среда разработки
На курсе использовали среду PyCharm. Раньше я использовал среды разработки только «в режиме просмотра», чтобы, будучи гострайтером, копипастить чужой и непонятный мне код в чужие же посты. Теперь я встал на место тех самых экспертов и должен сам врубаться, что вижу в редакторе.
Здесь и далее я буду отражать свои эмоции от обучения. Они адресованы в первую очередь тем, кто делает первые шаги в программировании, как я, или вообще сомневается в этой затее. Так вот: современные среды разработки — это восторг. PyCharm сам готовит все необходимое для работы, нужно только скачать Pycharm и установить его (по дефолту это бесплатно). Цветовое выделение кода срабатывает на лету; со временем я запомнил, как должны выглядеть те или иные слова, что я вбиваю, и неправильный цвет мгновенно напоминал мне об опечатке или другой проблеме. А еще PyCharm сразу сообщает об ошибках, причем делит их на фатальные (без которых не заработает) и нефатальные («лучше так не делать, могут быть проблемки»). Максимально дружелюбная среда для работы.
Переменные, числа и математика
Пошли первые темы непосредственно о питоне. Получил пачку советов о том, как называть переменные. Правила здесь несложные, просто учту, что переменных может быть много и поэтому нужно называть их осмысленно. Но при этом не растекаться, потому что писать их придется часто. Написал hello world — бонус к мотивации!
Числа были вынесены отдельной темой. Точнее, типы чисел. Показалось, что это тема, скорее, для общего развития: концепциям, которые я осознавал и раньше, просто дали определения.
Условные конструкции
Начались задачи. Простые математические задачи на базовые арифметические действия и логику. Если понимаешь, как в принципе это делать, то оформить в код будет легко. Любую задачку всегда можно запустить в среде разработки, прежде чем копипастить код для проверки. Когда можешь проверить себя самостоятельно, это успокаивает.
Условные конструкции открыли и мой первый затык. Когда мы утверждаем, что нечто равно чему-то, нужно ставить “=”. Когда мы проверяем, что нечто равно чему-то, нужно ставить “==”. Двойное равно не входило в мой лексикон чуть ли не до финального проекта. А PyCharm не писал, что это ошибка. Много раз я шерстил вроде бы нормальный код вдоль и поперек, пока в голове не улеглось.
На этом этапе пришлось первый раз идти в гугл, потому что тип данных boolean проскользнул мимо внимания. Понял, что логические значения выглядят как обычные слова без кавычек, а еще Python может воспринимать из контекста, даже если они не написаны. Прямо как в человеческом языке 🙂 Впоследствии эта тема не особо мне пригодилась, но есть ощущение, что на более сложном уровне она становится важнее.
Списки и циклы
Если мы хотим перебрать что-то в диапазоне, например, от 1 до 5, мы пишем: for i in range(1, 6). Последнее число в диапазон НЕ включается, а первое включается. Ок, смирился. Можно обратиться к элементам диапазона с конца, используя отрицательные числа. Это удобно. Но при этом первый элемент списка — он для питона не первый, он нулевой, счет с нуля идет. Особенности нумерации — это первое, что меня удивило в языке. Вероятно, на более глубоких уровнях познания это имеет логическое обоснование. Привыкаю и смотрю дальше.

Ага, врубился
К этому моменту я уже привык, что в программировании все нужно объявлять и объяснять. Окей, я объявил, например, что ввожу с клавиатуры некоторый диапазон, в котором должен работать обработчик (обработчик?) for, вот этот самый range. Но как обозначить i так, чтобы обработчик понял, что нужно двигаться по диапазону? Да никак! Эта “i” выглядела для меня так, будто появляется из ниоткуда, но при этом подразумевала именно то, что мне нужно. В других примерах я увидел, что вместо “i” можно указать “_”, а потом узнал, что подойдет любой символ.
В этот момент я был как никогда близок к тому, чтобы все бросить. Спасибо, Stack Overflow, ты прекрасен! И спасибо другим ребятам, что проходили курс: в ответ на мое нытье они признались, что до циклов еще не дошли, порадовались моему прогрессу и вовремя приподняли мотивацию.
Функции и рекурсия
Объединил их в один раздел, потому что проскочил обе со всеми домашками быстро. Спойлер: это подвело меня в финальном проекте. Кроме того, я, кажется, не понял до конца, что нужно писать после названия функции в скобках, когда мы объявляем ее через def. Но этот пробел не помешал мне с заданиями, которые, видимо, были слишком простые.
Рекурсия, как концепция, показалась очаровательной. Вдохновила на внеклассное чтение, провел весь вечер, залипая на фракталы 🙂
Структуры данных
Здесь я почувствовал, что делаю какие-то реально полезные вещи. Некоторые домашки были связаны с обработкой произвольных текстов. Да я целый MVP «Антиплагиата» вот этими руками сваял! Помимо синтаксиса, нужно было усвоить понятие итерируемости, и дело в шляпе. Ах да, в памяти осталось, что кортежи очень нужны, но постигну их подлинное величие я когда-нибудь потом.

Классы
Курс клонился к завершению, и классы в нем рассматривали, как мне показалось, на базовом уровне. Вероятно, они становятся нужны в гораздо более масштабных проектах, чем те, с которыми я столкнулся в домашках. В заданиях по классам нужно было только продемонстрировать, что я понял синтаксис и смысл понятия. Ценнее здесь был ознакомительный микромодуль про ООП и другие парадигмы программирования. Возможно, я когда-нибудь копну эту тему глубже, но к тому моменту я уже очень хотел приступить к финальному проекту.
Модули
Классическое начало Fallout представляете? Вспомните момент, когда вылезаешь из убежища/пещеры в совершенно новый, открытый мир — где не знаешь, чего и ждать, так что ждешь всего и побольше. То же самое и с модулями Python. Целая вселенная возможностей оказалась на расстоянии строчки-двух импорта. Таким же когда-то мне представлялся мир модов на скайрим, но кайфа от побед в питоне я получил больше 🙂
Для финального проекта я подгрузил функцию выбора случайного элемента списка. И Tkinter.

Выход из убежища в Fallout 4
Итоговый проект
Курс не включал гайдов по итоговому проекту, но я знал, что согласно плану создателей курса, я должен был сделать тренажер с флеш-картами для изучения иностранного языка. Это когда тебе дают определение слова, а ты должен написать, что это за слово. И так много-много раз в случайном порядке до полного запоминания. К тому моменту я закончил прекрасную игру Yakuza 0, богатую новыми для меня словами и фразами на английском. В итоге выписал штук 80 — база готова.
Tkinter я кое-как осваивал уже сам, по многочисленным гайдам в Сети. Предварительно отрисовал простенькую блок-схему с user journey. Помимо рандомного выбора определений поставил ограничение на 20 карточек за сессию и подсчет правильных ответов — с выдачей какого-нибудь игрового персонажа в зависимости от результата.
Думаю, вы представляете, как это примерно должно работать. У меня получилось где-то 80 строчек кода (не считая словарную базу). В них входило 10–15 модулей (графических элементов) Tkinter и три функции — проверка ответов с подсчетом результата, переход на следующий вопрос с подсчетом показанных карточек, создание финального сообщения на основе числа верных ответов.
Самое классное здесь не то, что я сделал проект сам с нуля, нет. Самое классное — что в начале работы я не имел представления о том, как будет выглядеть большая часть проекта. Всё вырисовывалось постепенно, за каждым поворотом к цели я открывал что-то новое, переписывал, переставлял, стремился к тому, чтобы всё вышло по ТЗ. И оно вышло, да! Я смог сделать из этого готовое приложение — можно было показать его даже без пайчарма.
К чему всё это?
Все истории успеха начинающих программистов строятся по одному шаблону. Я и сам написал таких не один десяток. На сцену выходит лирический герой, вызывает сострадание, принимает волшебную таблетку программирования — и вот перед нами лучезарный рыцарь в сияющих IT-доспехах. Окей, таков путь.
Моя сюжетная арка обошлась без диснеевских штучек и даже в масштабе единственного персонажа не привела к особым переменам. Я продолжу заниматься тем, что умею вроде бы неплохо — мне это нравится. Но я просто не смог оставить без внимания то ощущение прекрасного, тот эмоциональный подъем, что дало мне знакомство с программированием.
Надеюсь, и в вашей работе всё еще находится место таким эмоциям. Успехов!
Почему большинству новичков-программистов не следует учить Python
Этот пост я посвятил тому чтобы предостеречь новичков которые начали изучать Python в надежде зарабатывать удалённо от ошибки, которую когда-то совершил сам.
Я не программист, не имею официального образования, но тяга к компьютерам у меня была всегда, как и желание разобраться в том, как всё в компьютере устроено, работает. Поэтому в свободное время я много читал статей на тему computer science, поверхностно знакомился с синтаксисом таких языков, как С, С++, но глубоко в это не погружался. В одно прекрасное время озадачился тем, чтобы мне освоить конкретное из области программирования, чтобы заниматься подработкой в сети. Вместо того, чтобы помониторить биржи фриланса я (ну не идиот ли?) стал искать ответ на свой вопрос на ютубе. Попалось мне видео некоего Бовсуновского в котором он рекламировал свою школу по обучению Python и Django. Раньше я об этом языке что-то слышал и только, но после просмотра видео решил узнать о нём побольше, посмотрел ещё с десяток видео других авторов, скачал Лутца и синтаксис языка мне очень понравился. Скажу больше, я был им просто очарован. К Бовсуновскому записываться не стал, решил осваивать Pythоn самостоятельно. После Лутца были и другие книги, а потом настала очередь погрузиться в Django. Параллельно поверхностно знакомился с JS, а HTML и CSS я уже знал хорошо. Ну и само собой пришлось знакомится с тем, что такое базы данных и прочее. Забабахал несколько сайтов на Django для себя в качестве портфолио. Я решил, что моих знаний достаточно для того чтобы искать в интернете простенькие и копеечные заказы и вот тут то меня ждал сюрприз. Оказалось, что на биржах фриланса заказов для Django почти нет, а если есть, то для уровня не ниже мидла. Про удалёнку лучше вообще не говорить – там везде обязательно наличие соответствующего образования и везде требуются только мидлы. Живу я не в Москве и вакансий для разработчиков Django тут просто не существует в природе. В итоге я понял, что то время, которое я потратил на освоение Python и Django слито в унитаз, мне не то, что не найти работу за 20 тыс, но нереально получить грошовый заказ на любой фриланс бирже.
Хорошо, что вместе с изучением Python и Django я хоть поверхностно юзал JS. Пришлось приступить к более углублённому изучению этого языка и заодно РНР. Потом осваивал Worpress, OpenCart и спустя полтора года мне таки удалось начать брать заказы.
Мораль: если вы, как и я не имеете официального образования и начали изучать Python для заработка на фирлансе, или удалённой работе, если надеетесь найти потом работу в офф-лайне, но проживаете не в Москве, то сразу бросайте это дело. Python замечательный язык, Django не менее замечательный фреймворк, но это не для самоучек – работу, подработку не найдёте 100%.

416 постов 10.4K подписчиков
Правила сообщества
Публиковать могут пользователи с любым рейтингом. Однако!
Приветствуется:
• уважение к читателям и авторам
• простота и информативность повествования
• тег python2 или python3, если актуально
• код публиковать в виде цитаты, либо ссылкой на специализированный сайт
Не рекомендуется:
• допускать оскорбления и провокации
• распространять вредоносное ПО
• просить решить вашу полноценную задачу за вас
Делаем хуйню, закономерно получаем нулевой результат, говорим что делать хуйню нежелательно. Глубокие выводы.
Теперь по порядку:
1. То что в вебе на просторах СНГ php популярнее python станет вполне очевидно, если потратить время на просмотр вакансий/заказов, поэтому если цель была начать зарабатывать деньги как можно быстрее, то python действительно плохой выбор.
2. Какой смысл забивать себе голову синтаксисом языков? Язык — инструмент, который следует применять в соотвествии с поставленой задачей. А значит надо определиться с направлением и выбрать популярный инструмент, который используется для решения задач в этой сфере.
3. На самом деле большинству стОит изучать программирование с python, потому что это простой язык (даже детей начинают учить с python) с большим коммьюнити и широкой применимостью (от сисадминов/девопсов до DS), а определившись уже с направлением изучать нужные инструменты. При этом зная один язык другой учить будет легче (с оговорками, но в целом это примерно так и работает)
Я прошу прощения, ТС, а сколько Вам лет?
Я бы так сказал: программирование создано для того, чтобы решать задачи. Под конкретную задачу есть конкретный язык/блок языков. И пайтон со своими задачами справляется аж бегом. Правильно тут говорят: не ищите копеечные заказы, устройтесь на работу джуном и растите.
А по теме заголовка я скажу так: с пайтона начинать не нужно по причине отсутствия строгой типизации данных. По хорошему надо сначала хорошенечко наполучать по губам от какого-нибудь сишарпа, который научит тебя уважать типы данных и работать с ними, а потом идти душить питона.
Заголовок не имеет ничего общего с содержанием. А если новичок решил учить питон для того чтобы углубиться в МО, а не чтобы искать копеечные заказы на джанго в глухомани?
Заголовок поменяй, а то какая-то кликбейтная хуета получается.

Топ 10 ресурсов на русском языке, которые могут помочь в изучении Python
Вот список из 10 ресурсов на русском языке, которые могут помочь в изучении Python:
1. Python.org на русском языке – официальный сайт языка Python, который содержит множество документации, руководств, обучающих материалов и примеров.
2. ‘A Byte of Python’ на русском языке – это онлайн-учебник, который предназначен для начинающих программистов и помогает освоить основы языка Python.
3. Pythontutor.ru – это онлайн-платформа с интерактивными задачами и упражнениями, которые помогают закрепить теоретические знания.
4. Rus-linux.net – это портал, который содержит множество статей и обучающих материалов по Python.
5. Learnpython.ru – это онлайн-курс, который предоставляет пошаговый и практический подход к изучению языка Python.
6. Pythonworld.ru – это онлайн-учебник по Python, который содержит подробные описания синтаксиса языка, примеры и задачи для решения.
7. Pythonicway.com – это сайт, который содержит множество статей, видеоуроков и других материалов, которые помогают в изучении Python.
8. Coursera.org – на этой платформе можно найти большое количество курсов по Python от ведущих университетов и экспертов в области программирования.
9. Geekbrains.ru – это онлайн-платформа, которая содержит множество курсов по Python и другим языкам программирования.
10. Tproger.ru – это портал о технологиях и программировании, где можно найти множество материалов о Python и других языках программирования.
Хороший Ютуб-канал по программированию Python для уровня посерьезнее, чем у моей аудитории
Мне многие пишут про то, что я в материалах о программировании слишком простые вещи разбираю и надо бы что посложнее да поинтереснее. Но они не правы. Дело в том, что они не моя аудитория. Для такой аудитории, что уже получше да посильнее разбирается в программировании и кому хочется глубже в Python двигаться, есть другие авторы. Вот недавно наткнулся, очень много полезных материалов про тонкости, фишечки и т.д. Всем, кому актуально, подписываться на него на Ютубе и смотреть.

С днём рождения, Python
Python сегодня исполняется 32 года 🎂
20 февраля 1991 года Гвидо опубликовал исходники версии 0.9.0.

Все бы тебе тараканов гонять по монитору, сын. #1
Сижу я значит как-то в аэропорту Внуково, рейс отложили, и дай думаю скачаю себе на телефон игру такую, чтоб рпг, да с автобоями, и чтобы не пять чибриков было как во всех идлах, а 1 и с системой прокачки. Искал, искал и не нашел ничего внятного, ну вот совсем. Плюнул, ладно думаю, демоны, сам сделаю!
И ведь сделал бы. Вот только был ма-а-аленький нюанс, игр то я никогда ни делал, рисовать не умею, а знакомство с программированием ограничено 2-мя уроками Python на рандомном сайте, и десятком решеных задачек на Сodewars.
Чтож, решено. Открываю значит я урок 3, и что вы думаете? Урок 3: Пишем текстовый квест!
Ну вот же оно. Это ли не знак?
Так input(), print(), ну понятно погнали.

Значит что имеем:

Система боя с критами, блоком, скоростью атаки, уворотом, промахом. — чек
Генерация этажей/мобов — чек
Пассивные способности — чек
Активные способности — чек
Характеристики — чек.
Сохранение/Загрузка — чек
Генерация итемов разной рарности с модами — чек.
Магазин — чек
Состояния (горение, переохлаждение, шок, яд) — чек



Сильно древние ребята создали когда-то башню испытаний, чтобы тренировать и собственно испытывать воинов. Выйти из нее можно было только пройдя все этажи. Всем понравилось, ведь силы полученные в башне, оставались с тобой навсегда. Но с каждым поколением, из башни возвращалось все меньше людей. Стало понятно что башня становится сильней с каждым погибшим в ней воином, она забирает их силу. В какой-то момент люди из башни совсем перестали возвращаться. А последнюю тысячу лет ее и вовсе использовали только чтобы убирать неугодных, и казнить преступников, просто отправив в башню, очень удобно. Вот и от вас решили избавиться.
Играние в игру преимущественно осуществляется посредством нажатия на кнопки принятия решений (зеленая и красная), в зависимости от принятого решения игрок получает очки «безумия» либо очки «хладнокровия». По достижению 20 очков получает статус «Берсерк» либо «Манчкин» соответственно. Каждый статус дает свои плюшки сам по себе (к примеру у Берсерка растет урон при падении хп, а Манчкин с некоторой вероятностью находит дополнительно золото на привалах), количество и качество которых растет с увеличением очков безумия либо хладнокровия. Так же пассивки получают разные бонусы в зависимости от вашего статуса и количества очков.
Бои проходят на автомате, единственное влияние это активные заклинания. У заклинаний имеется ощутимый кулдаун, который в половину величины распространяется на другие заклинания, к примеру «Восстановление» имеет кулдаун 16сек, и соответственно при касте уводит в кд другие скиллы на 8сек . Поэтому тут надо четко прикидывать что и когда кастовать. Алсо заклинания вместо маны жрут ресурс «осколки душ» который также является деньгами.
Все остальное это поиск билда и прокачка характеристик, выбор и прокачка пассивок, выбор активок, и подбор итемов под билд.
Чего не имеем:
Графониум — не чек. Непонятно будет ли. В целом идеи как это реализовать на киви есть, нет особо времени. Возможно займусь после того как закрою остальные моменты. В принципе все сообщения в окне боя: это вызовы опр. функции генерирующей сообщения, при желании можно в нее передавать запрашиваемую анимацию/спрайт.
Интерфейс — не чек.(30%)
Контент — не чек. (пока готовы 10 этажей с боссом)
Сюжетка — пока только в голове(не чек)
Что в планах:
Ограничить количество смертей до 10.
Сделать сохранение платным и доступным только в конце этажа. (цена этаж*20)
Сделать магазин доступным только в конце этажа.
Добавить кристаллы с рандомными перманентными усилениями в магазин, усиление роллится после активации, в момент покупки различаются только силой и ценой.
Добавить несколько активок вызывающих горение, переохлаждение, шок.
Добавить в генерацию предметов мод на +% урон к огню/яду и.т.д.
Добавить несколько пассивок работающих с состояниями.(шансы/сила/доп/эффекты)
Доделать меню создания персонажа(возможно добавить расы с бонусами)
Дорисовать интерфейс.
Окно характеристик, с подробной информацией о персонаже.
Окно развития навыков «Безумия» и «Хладнокровия».
Окно ачивок.(?)
Туториалы и подсказки.
Ладдер таблица(очень далекий план).

Как я написал бота в Whatsapp, чтобы не писать отчёты о выполненной работе. Рассказ не программиста
В своё время на Пикабу я начал сидеть благодаря рассказам о своей работе от совершенно разных людей. Сам я что-то давно про работу не писал. Щас напишу!
В моём отделе у инженера, занимающегося ремонтом оборудования, есть два состояния:
Когда инженер не паяет, он пишет четыре одинаковых отчёта, о том, что он там напаял. И меня эта ситуация напрягает немного. Так как административного ресурса изменить ситуацию у меня нет, я родил чисто техническое решение в виде бота, который из одного отчёта делает несколько.
Этот проект интересен в первую очередь мне. Инженерам, труд которых он оптимизирует, всё равно. Руководству презентую его, когда обкатаю, а может к тому времени всё вообще изменится, и не презентую вовсе. Из этого следует, что:
Всё делается на моём энтузиазме, в мои обеденные перерывы, без привлечения других отделов и без любых денежных вложений.
Я осознаю, что инструменты, которые я использую, не предназначены для данного функционала, и решения получились где-то черезжопные.
Итак, от какой точки мы пляшем:
По результатам ремонта инженер должен четыре раза отчитаться:
Закрыть заявку в 1С.
Сделать запись в журнале выполненных работ/передачи смен, так как модуль, используемый в 1С катастрофически неинформативен, и туда, в силу истерически сложившихся причин, попадают не все ремонты.
Написать о выполненном ремонте в специальный чат в ватсапе, в котором, в силу истерически сложившихся причин, ведётся вся коммуникация внутри завода.
Сделать запись в ежедневном чек-листе, который требуется главному механику, так как он унифицирует анализ по всем ремонтным подразделениям завода.
План значится такой. Работа в 1С сейчас на мне. Там я могу действовать на основании оперативной информации с поля, которая живёт в журнале.
Журнал, мы начали вести аж в 2018 году, когда кто-то из электриков начал мечтать, что вот, как удобно бы было вести записи в электронном виде, а мы такие: а давай вести.
Начинался он вот так:

И к началу 2023 имел такой вид:

Далее мы пойдём по пути физиков, которые сначала объединили электрические и магнитное взаимодейстивие, а потом начали соединять полученное с ядерными силами в одну теорию.
Сперва я научил таблицу собирать чек-лист из журнала. Для этого мне понадобились всего две функции «FILTER»: по дате и по имени сотрудника.

Понятно, что будет бот, который читает журнал и отправляет в чат только новые записи (причём не все, а только те, где стоит пометка о том, что ремонт закончен и станок сдан в эксплуатацию).
Тут важно ограничить внесение данных в журнал вручную, чтобы какой-нибудь неаккуратный тычок в таблицу не отправил в чат пустое сообщение, которое всем будет интересно читать, или не начал сообщения наоборот дублировать.
Я полез курить формы. И наткнулся на JotForms. Боже, как они восхитительны. Там такая система условных переходов и автозаполнений, а ещё интеграция со всем на свете, что на них можно запустить Doom, наверное. Но ограничение в 100 заявок для бесплатного использования немного ставят на этой затее крест.
Разумеется, я, как любой нормальный человек, инструкцию читаю, когда всё уже перестаёт работать. Систему отчёта на JotForms я полностью реализовал и запустил, сука. Потом, когда лимит был превышен, пришлось объяснять людям, что факир был пьян, и мигрировать на GoogleForms. Там есть система подключаемых модулей, есть в чём покопаться и сперва всё выглядит архисложно и не так фильдиперстово, но с точки зрения человека, который эту форму будет заполнять, вроде не особо много разницы.

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

Следущая задача: научиться читать данные из таблицы. Вот это было самое сложное. Чтобы авторизоваться и начать пользоваться Google API мне пришлось пошагово выполнять какие-то действия в консоли разработчика Google, которые я нашёл в статье на хабре, смысл которых не понимаю и повторить, если что-то слетит точно не смогу. Надо заходить в одни и те же окна, чото копировать, назначать себе какие-то права и так по кругу. Таких кругов, по ощущениям, нужно сделать писят, не меньше. Никому не советую.
Потом учимся работать с ватсяпом. Тут тоже засада, ибо сами они ботоводство не поощряют, средства для него предоставляют неохотно и за большие деньги и, как следствие, в инете можно найти фирмы, которые вам слепят бота и будут его поддерживать, но блин, как я объясню руководству, что надо тут заплатить, чтобы реализовать мой пет-проект.
Короче. Условно-бесплатные API для ватсапа есть. Просто они не на первой странице поиска, а на второй.
Пишем функцию, которая умеют читать строку из таблицы, функцию которая умеет отсылать сообщение в чат ватсапа, функцию обратного отсчёта, чтобы было видно, что наша программа не повисла и чтобы она стучалась в гугль не постоянно а с интервалом в 10 секунд, например. И цикл, который проверит первую функцию, что она не опухла или как, и найдя новые данные запустит вторую. Добавим повторную авторизацию в случае потери связи и пробуем запустить. Ловим баги, пробуем запустить, ловим баги, пробуем запустить, так до получения удовлетворения.

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


Начальник взял в руки лопату

Телеграм канал для тех, кому интересны другие мои приключения руководителя в IT.

Как я написал свою поисковую систему для быстрого поиска личной информации

Предыстория
Все началось с того, что мне стало трудно находить нужную информацию, файлы. Чем больше файлов и папок у меня образовывалось, тем больше времени уходило на поиски нужного. Я понял, что каждый раз искать в бесконечных списках файлов и папок, особенно с условием вложенности это не вариант для больших объемов данных.
Что касается поиска по названию файла, то количество символов, указанных в названии ограниченно и слова при поиске должны быть в строго определенной последовательности. Тем более, если система индексирует другие, не нужные для поиска файла (системные файлы, файлы проектов), то поиск выдает много «мусора».
Поиск по содержанию файла даёт не самый релевантный результат. Может выдать бесполезные результаты с содержанием содержащие ключевые слова, но не относящиеся к тому, что действительно необходимо найти.
Более того по содержанию можно искать только текстовые файлы.
Структура содержания информации
Структура папок представляется собой в виде дерева. Мне это не нравится, потому что каждая папка может содержать только определенные файлы, если не учитывать копирование и ссылки.
Так же это можно представить с примером из реальной жизни, для того, чтобы найти зелёное свежее яблоко сорт «девственный». Необходимо найти отдел с фруктами, затем отдел с яблоками, затем ищем зеленные, затем сорт, ну там ещё их на свежие, не свежие фасуют в этом воображаемом примере и наконец найти нужное apple.
Усложняется ещё все и тем, что я не помню есть ли там вообще яблоки, и если есть, то хранятся ли они в отделе фрукты там продаются.
А почему бы об этом просто не попросить прихвостня(они уже у всех есть, правда?) -«Принеси мне зелёное свежее яблоко».
Как сразу становится удобно!
В общем, всем этим я хочу сказать, что поиск нужной информации в папках хорош, если папок немного и если помнить какие папки существуют, а не перебирать все подряд.
А вот если мы не знаем существуют ли яблоки вообще, то спрашиваем прихвостня:
— «Есть, господин! Сотни, игрушечные, красные, гнилые..».
— «Мне нужно свежее яблоко».
— «Понял! Есть красное свежее яблоко «Сирота», красное свежее яблоко «курага». «.
— «А что насчёт зелёного свежего яблока».
— «Есть! Зелёное свежее яблоко «Пух-тибидух» и Зелёное свежее яблоко «Девственный»».
— «В таком случае, принеси мне, пожалуй, Зелёное свежее яблоко «Девственный»».
Вот последняя фраза как раз таки и стала названием приложения. Как ответ на команду пользователя — «Yes Sir».
Возвращаясь к яблокам. Заметили, что в первом случае нужно искать яблоки не пойми где, а во втором мы задаём уточняющие условия к запросу!?

Для нахождения нужного результата, используя древовидную структуру(папки) приходится обходить все узлы. А в случае графа(теги) можно получить результат, в лучше случае за проход по единственному узлу.
Приведу пример более реалистичный. Есть папка с музыкой и подпапки для разделения на жанры. Но что если в какой-то момент мне захочется послушать французскую музыку не зависимо от жанра. Вот тут то и вся проблемность древовидной структуры папок вылазит. Можно конечно, как советовали на форумах, создавать отдельные папки под язык произведения и кидать ссылки, но опяяяттть папкии..
А вот, что произойдет, если каждому файлу установить теги с жанром, языком, ну и конечно что это музыка, песня.
В этом случае возможно группировать, сортировать музыку гораздо гибче. Например скомбинировав 3 тега: французская, русская, рок можно получить то, чего стандартными средствами Windows не возможно, ну или я чего-то не знаю.
Попытки найти готовое решение.
Первой идеей было воспользоваться «тегированием» файлов, папок. Таким образом можно искать информацию комбинируя теги, не зависимо от порядка слов. И лучшими приложениями для этого, могу выделить XYplorer и Tagging for windows. Первая из себя представляет отдельный файловый менеджер с опцией тегирования. Второе приложение — дополнение к стандартному файловому менеджеру. Однако они позволяют искать файлы только на ПК и конечно нельзя написать как в Гугл поисковике запрос близкий к пользователю, а алгоритм уже бы сам выбрал из запроса теги и отсортировал информацию по приоритету. В последствии удалил обе, они подвисали и крашились частенько (возможно дело в моих надстройках Windows, не хочу делать антипиар этих отличных программ).
Визуальный поиск
В попытках найти оптимальный способ поиска доходило до странного. Я больше визуал и поэтому загружал изображения более менее подходящее по теме информации в социальную сеть ВКонтакте, а саму информацию сохранял в комментариях под изображениями. Это дало некоторый прирост в скорости поиска и пользоваться можно с любого устройства. Но как вы, наверное, понимаете долго это продолжаться не могло. В конечном итоге я стал задумываться а к какой информации относится это изображение : «Рельсы означает адреса знакомых или желаемые места для путешествия..». Ну а уж то, что под одним изображением образуется портянка из информации без возможности вложенности — это фиаско, бро.
Я подумал, что было бы отлично разработать приложение, которое бы подходило по таким критериям:
1. Можно использовать с любого устройства без возможности подключения к интернету.
2. Поиск личной информации настолько быстро, насколько это возможно.
3. Поиск должен быть простым как Google Search.
4. Возможность сохранить всю текстовую информацию в текстовый файл.
Выбор технологий
1. По первому пункту из желаний было решено разработать веб приложение, так как с любого устройства, на котором есть браузер, можно получить к нему доступ. Данные хранятся в localstorage браузера, но при открытии сайта сразу выгружаются в переменную для обеспечения лучшей скорости.
Для синхронизации данных с другим устройством, браузером я взял базу данных mysql от 000webhost бесплатно, но потом перестал использовать из-за ограничений на обьем.
Сейчас единственный способ для обновления пользовательских данных — импорт и экспорт файла. Однако я делаю это очень редко, тк в основном пользуюсь только со смартфона.
Что касается оффлайн режима — я использовал serviceworking. Необходимо только один раз зайти на сайт, чтобы все ресурсы сайта подгрузились и дальше использовать полностью оффлайн из браузера.
2. Быстрый поиск.
Раз поиск должен осуществляться подобно Гугл поисковику, то нужно чтобы каждое слово из запроса проверялось на существующий из уже созданного блока информации. Таким блоком у меня выступает объект с ключами: уникальное название блока, действие(показать информацию, открыть ссылку..), содержимое, теги.
Итак по ключу «теги» у нас будет храниться массив из символов(слов) для конкретного блока информации.
Сразу возьмём пример блока:
Название: как создать сайт,
Действие: показать информацию,
Содержимое: берём html, добавляем js и украшаем css,
Теги: создание сайта, веб программирование, верстка.
Массив из тегов формируется из текстов полученных с полей ввода для тегов и названия. Каждое слово это тег, разделять можно запятой и пробелом. Была идея конечно сделать как на Ютубе, теги как словосочетания, но я я решил остановиться на более широкой выдаче по ключевым словам.
Из примера блока выше массив тегов будет таким: [«как», «создать», «сайт», «создание», «сайта», «веб» «программирование», «верстка»]
Теперь самое важное — определиться как будет происходить поиск. Первое что пришло в голову это брать каждое слово из поискового запроса и сравнивать с каждым словом из тега каждого блока. В голову как пришло, так и ушло, это отвратительная идея. Следующей идеей было создание объекта, в котором каждый тег это отдельный ключ а значение это массив из индексов блоков.
3. Итак, при вводе запроса проверяется существует ли слово в хранилище тегов, если да, то блок добавляется в массив на отображение.
Теперь нужно отсортировать по приоритету. Чем выше результат в выдаче, тем более он подходит запросу. Это я реализовал с помощью количества ключевых слов в запросе, чем больше слов из запроса содержится в массиве тегов блока, тем более блок прионитетнее.
4. И насчёт сохранение в файл совсем кратко. Можно сохранять и импортировать файл в виде json.
Так же мой опыт с использованием ВКонтакте как поисковик по изображениям дал мне идею для возможности добавлять изображение к каждому блоку при желании.
В результате я сделал то, чем пользуюсь уже больше года. Как веб, так и ПК версия оказались очень полезными. Использую для работы и личной жизни. Скорость поиска, которую я в итоге получил меня многократно выручала, когда нужно было найти что-то очень быстро.
Ответвление в другие проекты
Веб приложение мне настолько понравилось, что я захотел написать программу для исполнения программ по команде от запроса пользователя на ПК. Вдохновлённый голосовыми помощниками, я создал программу, которая ищет и исполняет файлы, ссылки на которые сохранены в программе, у которой поиск соответственно так же подобен веб поисковику. Особенность в том, что можно перетащить файл/файлы напрямую в программу и алгоритм автоматически установит теги исходя из названия файла и папок, в которых он содержится. Но это тема другого поста, если этот окажется интересным..
Послесловие
Буду рад любым комментариям. Узнать ваше мнение по поводу идеи. Полная ли это ерунда. Или, в чем я почти не сомневаюсь, есть уже приложения с подобной реализацией.
Ответ на пост «Бесплатно помогаю пикабушникам учить программирование, часть 20: "Как преодолеть синдром самозванца ?"»
Хочу поблагодарить Дмитрия, создателя канала @prodigal.son, телеграм-канала https://t.me/LearnRubyForPikabu и тематического чата https://t.me/LearnRubyForPikabuChat за составленный им план обучения на Руби программиста с нуля.
Расскажу немного о себе: 33 года, учился на филолога, потом работал на административных должностях в офисе. В декабре 2021 года наткнулся на пост @prodigal.son о том, что любой человек может самостоятельно научиться программировать на Руби в достаточной степени, чтобы затем получить начальную должность в сфере ИТ.
У каждого есть своя причина начать изучать программирование: кого-то интересует повышение дохода, другого гибкий график и возможность «удалёнки», третьего перспективность карьеры программиста. В моем случае, все эти причины повлияли на то, что с начала 2022 года я начал обучение по плану @prodigal.son. К июлю я дописал свой пет-проект и в начале августа устроился стажёром ROR на удаленной основе в компанию, которая развивает свою платформу на Rails.
Хотел бы дать несколько советом тем, кто также обучается по этому или схожему плану, которые, как я надеюсь, помогут другим на пути к карьере в ИТ.
1. Обязательно выполняйте практические упражнения из книг, и, вообще, чем больше практики программирования у вас будет, тем легче вас дастся старт работы.
2. Постарайтесь не только прочесть, но также усвоить как можно больше учебного материала.
3. Язык Руби очень легко читается и, по моему мнению, дает хорошую базу для дальнейшего изучения других языков программирования. Если вы хотите дальше развиваться и стать, например, дата аналитиком на python или разработчиком игр на C++, то Руби легко научит вас основным концепциям и шаблонам программирования.
4. Если у вас, как и у меня, гуманитарное образование и нет никакого опыта работы в ИТ, то не ждите, что вас сразу примут на должность джуниор разработчика. Конечно, если вы обладаете исключительными навыками, то и это возможно, но в большинстве случаев, будьте готовы к стажировке на протяжении 3 или 6 месяцев, как минимум.
5. Любая стажировка научит вас куда большему, чем самообучение. По своему опыту, чего только стоит понимание, как устроена «внутренняя кухня» и как налажена работа в команде. Каждый работодатель хочет нанять сотрудника, который приступит к выполнению заданий в наикратчайшие сроки, поэтому между самоучками и недавними стажерами, HR отдают предпочтение последним.
Спасибо за ваше внимание и ещё раз спасибо @prodigal.son за крупицы ценного знания, собранные в единый план. Без этого плана, мне бы понадобились годы на обучение и смену карьеры.
Если вы поставили себе целью карьеру в ИТ, то упорный труд и терпение обязательно доведут вас до цели.
Как (не)нужно искать IT-фрилансера
Я подрабатываю на бирже фриланса (пишу научные работы на заказ). Параллельно учусь на фронтенд. Попалось как-то раз задание «Зарегистрироваться на фриланс площадках и опубликовать объявление на создание чат-бота». Оплата средняя, ну, думаю, почему бы и не откликнуться на халтурку?
Спустя какое-то время мне пишет заказчик и спрашивает — где я буду публиковать объявления, если он меня выберет. Я дала ему наводку на пару сайтов, и дальше посыпался град вопросов, из которых далеко не все были по теме задания, как, например, могу ли я связываться с заказчиком в зуме и проходила ли я когда-либо онлайн-марафоны по успешному успеху. Я заподозрила неладное и отвечала без особого энтузиазма. Но через час пришло уведомление, что меня выбрали исполнителем. Ну, думаю, ладно, отстреляюсь по-быстрому и получу свои 1,5к.
Во-первых, как оказалось, ТЗ на создание бота существовало только в мыслях заказчика. Я предупредила, что никогда не формировала ТЗ для разработки, и лучше для этого нанять другого человека. На что заказчик уверенно заявил, что там ничего сложного, и что он мне все-все расскажет, а мне просто нужно будет это написать. Окей, попробуем. Полтора часа он рассказывал мне в зуме то, что можно было укоротить в 15 минут. Суть: заказчик сначала сам собрал чат-бот (для телеги) на конструкторе, потом понял, что он тормозит и не справляется с большим потоком людей, и теперь ему нужен специалист, который все переделает или соберет бот с нуля.
Я оформила ТЗ и постаралась передать в нем всю суть, чтобы разработчик на том конце четко понял задачу. Зарегистрировалась на двух площадках, коих, по моему скромному мнению, было достаточно, чтобы найти исполнителя. Создала объявление. Дальше начался цирк с конями.
(З)аказчик: Добавьте еще площадок, две мало.
Я: Эти две — самые популярные и результативные.
Зарегистрировалась еще на четырех полудохлых биржах, создала объявление.
З: Отлично! Теперь составьте таблицу со всеми исполнителями, которые откликаются. Своеобразный рейтинг, параметры на ваше усмотрение.
Параллельно разговаривая с потенциальными исполнителями, вношу их данные в таблицу (4 колонки по типу рейтинга на бирже, отзывам, портфолио и проч.)
З: Добавьте еще колонок для отбора. Как разговаривает, какие стоимость и сроки предлагает.
/примерно через час/
З: Добавьте еще тестовый вопрос, чтобы отсеять тех, кто нам не подходит. Пусть предложат эффективную архитектуру для бота, лучше с подробностями. И еще пусть расскажут, какую бд будут использовать и приведут все плюсы и минусы этой бд. И может еще другие бд посоветуют.
Здесь и далее я уже перестала ждать чего-то адекватного. Просто смотрела на этот кринж дальше.
/еще через пару часов/
Я: Вот есть .krutoy_razrab и .esho_krutoy_razrab. Выбирайте из них.
З: Супер! Но давайте еще повыбираем. Добавьте в таблицу три тестовых задания: разошлите претендентам видео с багами предыдущего бота. Пусть предложат решение этой проблемы. И еще добавьте колонку, согласен ли созваниваться со мной в зуме.
Я: Вы хотите, чтобы потенциальные разработчики фиксили баги бесплатно? Да и на зум вряд ли кто-то согласится, насколько я понимаю.
З: Давайте оставим наш прошлый опыт в прошлом и ориентироваться на наши возможности! Добавьте эти колонки в таблицу и опросите исполнителей.
Никого и ни о чем я не спрашивала и уже начала думать, как отказаться от дальнейшего сотрудничества.
З: И еще, я хочу завтра в 9:15 и в 9:40 созвониться в зуме с двумя потенциальными исполнителями, и провести конкурсную беседу, после чего выберем разработчика для сотрудничества.
Я: Вы изначально хотели выбрать фрилансера-разработчика методом конкурсного отбора с таким количеством этапов?
З: Конечно! А как же искать тех, кто в ресурсе?
И тут меня осенило. Я поискала социальные сети этого заказчика. Нашла, увидела миллион фотографий с Бизнес молодости, Марофонов Успешного успеха, пару инфоцыганских проектов. Закрыла. Вселенная схлопнулась и все встало на свои места.
Сказала заказчику, что не буду дальше с ним работать. Небольшую предоплату оставила себе за написание ТЗ.
Позже он еще попросил вернуть 500 рублей, кстати. А я потеряла по ощущениям 3кг нервных клеток. Перед исполнителями, с которыми я разговаривала, до сих пор немного стыдно.
Ищу доброго человека, с крепкими нервами)
Зовут меня Александр , мне 33 года и за плечами у меня 12 лет общепита. Работал на разных позициях начиная с заготовщика до Шеф-повара. Но в силу здоровья и всеми известной болячки, пришлось уйти из этой чудесной сфера деятельности, хотя люблю готовить до безумия.
И собственно стал вопрос, чем же можно заменить тягу к созданию чего то прекрасного . Попробовал себя в маркетинге, но оказалось что вообще не моё. Всегда хотелось что создавать и видеть результат сразу, по этому волна хайпа унесла меня в IT. И вот бывший повар, нашёл свои первые курсы по Front-End разработке, и полетел скорее учиться. Учеба заняла пол года и я её успешно закончил, параллельно самостоятельно изучил React, начал двух метровой палкой тыкать TypeScript, но с ужасом осознал что по факту, всё что я могу создать, это обложка. Да красивая, да интересная но обложка. Стало ясно что для того что бы завершить своё блюдо под названием сайт, нужно учить Бэк.
Дальше было прочитано кучу инфы, просмотрены сутки разных роликов, по поводу выборы языка. Пробовал писать на PHP/NODE.js но всё что то не то. И вот однажды я познакомился Python. Это была любовь с первого взгляда. И само собой я сразу же полетел учить основы языка. Да кто то может сказать что нельзя распыляться, и что не имея опыта свитчиться между языками нет смысла. Но тем не мение , за время изучение основ Питона я узнал очень много новых фишек и подходов, в том же JS-e.
Собственно что я понял исходя из всех курсов и учебы. Что очень важно иметь человека который будет тебя поправлять и направлять в нужном направлении , по этому:
То что знаю на данный момент:
3. Возможно правильно понял ООП
Так о чём пост:
Ищу ментора ( или просто человека который направит на путь истинный) с знанием Python (django). Который поможет выучить django и позволит мне наконец до конца «приготовить», свой первый сайт.
Есть есть кто то кто сможет помочь, отзовитесь. Усидчивости и желания у меня хватит с лихвой, да и отступать уже некуда
Ответ charmag в «График работы и последствия»
После окончания универа, тоже думала, вот поработаю пару лет «на дядю» (в мое случае правда тётя была) наберусь опыта в разработке и сопровождении и тоже на фриланс уйду, сама на себя работать буду. Поработала, заработала нервный срыв, ненависть к пользователям, полное отвращение к профессии программиста.
Вообще, в этой профессии разочаровалась. Так как представления о данной работе были совсем иные, не спорю, может быть у тех, кто работает в разработке, да ещё в иностранных компаниях или хотя бы в Мск, всё ништяк. Однако меня жизнь завела в сопровождение и поддержку/доработку 1С т.е. разработка есть, но на минималках. И при этом всём регулярно общаешься с пользователями, решая их проблемы. И по большому счету, вся работа превращается в сплошное решение чьих-то проблем. Там не формируется, тут не выгружается, здесь был Вася, а вот там ошибка. И у всех сраки горят. Сделайте мне большую красную кнопку «Работать» и что б оно всё работало за меня, ТЗ я не дам, сами придумайте, че Вы не программисты што ле? И т.д. просто ааааааа убивать хотелось.
Собиралась идти трусами торговать, а не вот это вот всё. Но в итоге устроилась в другую адекватную компанию. И поняла одну простую вещь, да нахрен мне этот фриланс сдался. Я тут стабильненько с 9.00 до 18.00 поработаю, после 18.00 рабочий телефон в отключу, почту закрываю, и всё никто меня не дергает. Свой оклад я точно получу, хорошо поработаю ещё и премию тоже. И мне не нужно искать заказчиков, общаться с ними на прямую, работать по ненормированному графику, откладывая в сторону свою жизнь и свою семью. Переживать будут ли заказы, всё ли мне оплатят и т.д.
В общем, лично для меня работа в нормальной компании, куда комфортнее фриланса. Потому что на фрилансе я бы получила, тоже самое, что и на первом месте работы. И когда читаешь про то, что кто-то на фрилансе по 30 часов подряд работает, по запарке ест из собачей миски и т.д. Лично мне не понятно, а оно того стоит вообще? Даже если Вы при этом зарабатываете куда больше, если б работали в компании, свободное время на деньги не купишь.
Еще один рассказ про "войти в айти после 30". Продолжение

Предыстория ( Еще один рассказ про "войти в айти после 30". Предыстория ) закончилась на том, что я продал авто и встал на тернистый путь веб-разработчика. Теперь вкратце о том, как это было)
Какой ключевой навык должен быть у каждого в этой отрасли? Естественно — вёрстка. Понимание, из чего состоит страница и как управлять её внешним видом — это как дышать. Даже при разработке бэка, хотя при этом не обязательно быть супер-верстальщиком.
Я долгое время перебирал ютуб, искал контент, подходящий для начинающего и желательно содержащий весь цикл вёрстки, от создания index.html до написания последнего стиля в мобильной версии футера.
Проблема была в том, что материала крайне много, но большая часть либо устаревшая, либо сделана на пофиг, либо содержит какие-то обрывочные куски информации, не дающие полную картину происходящего на экране.
Но вот, спустя некоторое время, был найден айтишный канал с прошлогодним курсом по вёрстке. Там было всё, от настройки редактора и нарезки макета до его завершения. Скриптовую часть правда писали на jquery да и там брали готовые решения, без особых пояснений, но это было не главное, так как на старте важно понять и научиться писать разметку и стили. Мне очень зашёл формат подачи материала, поэтому данный видеокурс стал моим основным средством обучения на ближайший месяц.
Да, именно на месяц, хотя можно было и сильно быстрее, но я учился только по вечерам и не каждый день.
Закончив курс, я решил получить какую-нибудь практику на фрилансе. и обломался) Там нужен был опыт и примеры работ, хотя суммы оплаты копеечные. Тогда я поставил себе цель сверстать три макета для портфолио и повторить попытку.
Один макет я нашёл в сети, два других скачал там же на фриланс-бирже, взяв из реальных задач)
JavaScript я тогда не знал совсем, но меня выручил Bootstrap. Всякие модальные окна и выпадающие меню на нём можно делать и без знания кода.
Вёрстка макетов заняла ещё недели две-три. В это же время я передал все дела на работе и окончательно уволился.
И вот, середина сентября 2019г.
Я, такой радостный, зарегался на 6-7 фриланс биржах, разместил там свои «проекты» и начал усиленно оставлять отклики на все заказы, которые подходили под мой уровень знаний или не сильно превышали его.
Только вот хрен)) Никто не давал мне работу.
Каждое утро у меня начиналось с того, что я открывал все биржи, оставлял отклики и садился за учёбу. Также в обед и вечером.
Результат был нулевой.
Недели через полторы-две я начал впадать в уныние и думать, что всё, надо искать нормальную работу, но вдруг случилось чудо) Мне ответил один из заказчиков и я получил символический заказ по правке вёрстки на сайте. Цена работы была — 700 рублей. Я сделал это за один вечер, на следующее утро этот же заказчик предложил мне поправить кое что в скриптах. Я согласился, хотя и боялся, что не справлюсь.
В общем, на моё счастье, сайт верстал тоже джун, который везде использовал бутстрап, либо говнокодил на jquery. Я не сразу, но нашёл нужный участок кода, внёс необходимые правки и счастливый сдал работу, за которую, в общей сложности, получил вроде бы 1200р.
Это были копейки, но сам факт, что я способен что-то делать невероятно поднял мой боевой дух и я продолжил штурмовать биржи.
Потом был ещё один заказ на вёрстку полноценного лендинга, потом ещё один такой же.
Я на каждой выполняемой задаче старался чему-то учиться. Пытался сам писать скрипты модальных окон и мобильных меню, пробовал делать табы и аккордеоны. В общем все эти мелочи, которые вроде умеет бутстрап, но хотелось бы научиться самому, так как кастомизация своего кода и своей вёрстки намного проще, чем готовой библиотеки.
Но в плане дохода всё было очень грустно. Я получал заказ не чаще одного раза в неделю, зарабатывал на нём в среднем 3000-4000, 25 процентов из которых съедала комиссия биржи и комиссия за вывод денег оттуда.
Первые месяца полтора после моего старта в айти, мы с женой жили на её зарплату и остатки моей. Следующий месяц кое как только на её ЗП и микроскопический доход с фриланса.
Потом мне пришлось устроится на подработку. Я нашёл вакансию мерчендайзера в местном гипермаркете. Зарплата 13-15к, гибкий график, неполный рабочий день.
Теперь мои будни выглядели так — с утра поиск заказов и учёба, после обеда поход на работу в гипермаркет, выкладка всякого товара в течение 2-4 часов и обратно домой за комп.
Короче, было тяжело и хреново. Но, проходя через всё это дерьмо, я получал практический опыт в вёрстке и джаваскрипте.
Учёба была моим основным времяпрепровождением. Чтение учебника по js и говнокод в песочнице. Чуть-чуть пхп, так как заказчики обычно хотели чтоб формы с сайта отправляли им куда-то письма. Я скачал для этого какой-то готовый скрипт, но толком не понимал как оно всё работает.
Пытался изучить что-то из трёх китов фронтенда — Реакт, Ангуляр, Вью. Но на тот момент познания в js были очень слабыми, так что это было плохой идеей.
Вью мне не понравился в целом, Ангуляр я просто не осилил, а вот Реакт внезапно зашёл. Я какое-то время копался в доках, что-то пытался писать в своих песочницах, а потом даже запилил два небольших заказа на фрилансе. По сути это были интерактивные квизы вопрос-ответ. Заказчику было пофиг, а я немного попрактиковался)) Но на этом всё. В основном везде нужны были Senior React Developer, но я под эти критерии не подходил никак. Так что реакт отошёл на второй план.
Между делом, я мониторил hh.ru и авито, периодически оставляя отклики на вакансии и пытаясь устроиться на постоянную работу. Безуспешно.
Как-то так прошли первые 6-8 месяцев вхождения в айти.
А потом какой-то китаец поел говна летучей мыши и началась пандемия)
Как ни странно, для меня это сыграло положительную роль, так как все ушли на удалёнку, начали переносить продажи в онлайн и всячески приводить в порядок свои сайты.
Один клиент с фриланса перешёл со мной на прямое сотрудничество, минуя биржу, и я начал пилить ему собственный многостраничный сайт, с кучей джаваскрипта и анимаций. Это был офигенный опыт, хотя и через огромный стресс, потому что я всё время боялся облажаться и не вытянуть какую-либо задачу)
Помимо этого я делал какие-то одностраничники и, через знакомых, на меня вышел ещё один клиент с сайтом на WordPress. Им часто нужны были доработки, вёрстка новых страниц и всякие мелкие правки.
Примерно через месяц после начала карантина я уволился с подработки, так как работы по вёрстке стало реально много и я не успевал. Но, к сожалению, длилось это всего 3-4 месяца, а потом пошло на спад и вернулось к 1-2 небольшим заказам в неделю.
Вот тогда я снова решил устроится на работу. Но блин, даже с небольшим портфолио и некоторым опытом в боевых проектах, мне везде отказывали или игнорили. Но в этот раз я решил пойти до конца и всё таки устроился. Программистом-стажёром 1С)))
Стандартная история — компания-франчайзи набирает нулевых стажёров и учит их работе с 1С. Кто-то потом уходит в кодеры, кто-то в консультанты, кто-то увольняется. В моей группе изначально было 7 человек. Четверо отвалились на этапе обучения, ещё один через пару месяцев. Двое, один из которых я, прошли обучение и испытательный срок.
Я пытался изучать бухучёт и всякие конфигурации 1С, но шло не очень, если честно.
Помогло удачное стечение обстоятельств. В компании, где я работал существовали и отделы по веб-разработке, но не в моём убогом городке, к сожалению.
Как-то раз в один из таких отделов, потребовался дополнительный сотрудник на некоторое время, пока свой штат не справлялся.
Я на собеседовании говорил, что занимался сайтами, поэтому мой руководитель предложила мне попробовать. Отказываться было глупо. и понеслось. Вёрстка, пхп, битрикс, вордпресс, базы данных. Обучение, обучение, обучение.
Мне недоставало опыта в разработке, но я ко всему подходил ответственно и старался делать задачи максимально качественно, по мере своих возможностей, поэтому веб-отделы других городов стали часто прибегать к моей помощи. По сути я вообще стал всё время работать на них, хотя числился 1С-ником.
Так прошло ещё примерно полгода и мне предложили на фуллтайм перейти в отдел веб-разработки в другом филиале, работая удалённо из своего города.
Там я работаю и по сей день. С момента старта моего обучения вёрстке до текущего момента прошло примерно 1 год и 9-10 месяцев. Уровень дохода сейчас +- как обещает реклама айти курсов))
В последний месяц я снова подсел на реакт. Пилю на нём пет проект, параллельно изучая серверный js. Планирую, в обозримом будущем, полностью уйти в продвинутый фронтенд и бэк на js. Что из этого выйдет — жизнь покажет.
Личный путь и опыт становления Python разработчиком
Всем привет! В этой статье, а точнее целой истории, я хотел бы поделиться своим путем становления в качестве разработчика на Python и рассказать о некоторых идеях и советах, которые я усвоил за это время. Начиная с моих первых проектов и заканчивая моей текущей деятельностью, я поделюсь накопленным опытом и попробую осветить проблемы, с которыми я столкнулся на своем пути. Кого-то данная статься вдохновит начать свой собственный путь в разработке, а кому-то будет интересно прочитать историю успешного кейса входа и закрепления в ИТ.
В любом случае, я надеюсь, что моя история покажет, что нет никаких преград в освоении и достижении определенного уровня даже в такой, казалось бы сложной области, как программирование, и что вы сможете отметить полезные моменты для себя.
После каждого описанного этапа моей карьеры я буду оставлять список книг, каналов и прочих материалов, которые я использовал в той или иной момент, и которые я в целом могу рекомендовать к изучению. Думаю, кто-то сочтет это полезным для себя. Ссылки на пиратские источники оставлять не буду, если захотите, то сами сможете легко найти данные материалы в интернете.
Считаю, следует отметить, что данная статься является чем-то вроде вводной истории для знакомства со мной, в первую очередь, как с человеком, а также, как с разработчиком, т. к. я планирую вести свой телеграм-канал про ИТ в целом, и в частности про разработку. К слову, о канале я расскажу в конце статьи, если, конечно, я не наскучу вам раньше и вы с интересом дочитаете до конца:) И последний, на мой взгляд, важный момент для общего понимания: я не претендую на то, чтобы быть источником истины в последней инстанции, я лишь рассказываю свою историю, свои личные выводы и взгляд через призму моего опыта.
Кстати об опыте: мой опыт в серьезной или коммерческой, если хотите, разработке насчитывает около 3 лет, а осваивание Zen of Python продолжается на протяжении уже 5 лет.
Начать я хотел бы с моего бэкграунда.
Меня всегда привлекала тема компьютеров и все, что с ними связано. Интерес этот, в первую очередь, основывался на желании провести время в компьютерных играх. В далеком для меня 2009 году, когда мне было около 8 лет, родители подарили мне мой первый ПК на Intel Pentium SU2700. На то время сборка с таким пеньком позволяла играть во многие игры, что для меня являлось ключевым моментом. Для меня открылся новый огромный мир интернета и компьютерных игр.
Будучи учащимся 7 класса я решил, что хочу стать программистом. Как я упоминал выше, тема компьютеров меня привлекала, и на тот момент я думал, что работа программистом заключается в ежедневном просиживании штанов в компьютерных играх, копанием в компьютерном железе и афк фармом зеленых бумажек.
Спойлер: Как же я ошибался
Хоть я и не люблю клишированные выражения, но все же стоит отметить, что у меня гуманитарный склад ума в том смысле, что все гуманитарные науки вроде географии, истории или иностранных языков мне давались очень легко без каких-либо заметных усилий, а со строгими науками вроде математики или физики у меня всегда были большие проблемы.
Основываясь на тех же клишированных предрассудках общества, якобы «гуманитарий не может стать программистом» у меня присутствовал страх, что я не смогу, что я слишком глупый для подобного рода деятельности, да и вообще — пусть программистами становятся талантливые математики с соответствующим складом ума и мышлением. Простыми словами, мне казалось, что программирование не для меня.
Тем не менее, я всегда считал, что будущее за технологиями. На мой взгляд, моей особенностью и сильной стороной всегда являлось то, что когда мне интересен процесс или же когда я чего-то одержимо хочу — все свободное время уходит на изучение/познание данного процесса.
Исходя из моего интереса к компьютерам, должен был настать момент, когда я захочу чего-то большего, нежели перебирания компьютерных железок или же бесконечного коротания времени в играх.
В определенный момент я начал предпринимать попытки попасть на курсы по разработке. Это были популярные на тот момент ИТ-курсы в моем городе(к слову, они очень популярны и сейчас) . Придя туда впервые я увидел аудитории с классными современными ПК, огромными мониторами, студентами, которые были увлечены процессом обучения. Я был воодушевлен! Желание попасть на эти курсы многократно возросло. После общения с местным эйчаром меня отправили на «мини техническое собеседование». К сожалению или к счастью, мой уровень математической базы был недостаточным и мне порекомендовали подтянуть азы (все было совсем плохо) . Впрочем, в дальнейшем я этим и занимался. Родители наняли мне репетитора по математике, чтобы он подготовил меня к тестированию для поступления в университет, а заодно и к ИТ-курсам. К слову, прозанимался я с этим репетитором около двух лет и где-то на третий месяц я решил, что готов и отправился на повторное собеседование.
Во второй раз все прошло замечательно. Я без проблем прошел тестирование и подписал все бумаги о зачислении меня на курсы. К слову курс, протяженностью в год, назывался «Профориентация в ИТ» и содержал в себе несколько модулей:
- Введение в Computer Science
- Программирование на Python
- Введение в графический дизайн
С этого момента начался мой путь становления в качестве разработчика. На дворе шел 2018 год.
После первых занятий я не ощутил какой-то сложности и в моем возбужденном сознании мне уже во всю представлялись моя карьера успешного айтишника-программиста и, как мне тогда казалось, крутой план по развитию этой самой карьеры:
- Окончание курса и запись на новый, тематика которого сводилась только к программированию
- Поступление на физико-математический факультет одного из лучших технических вузов моего города
- Переезд в кремниевую долину и трудоустройство в Google или хотя бы в Microsoft
- Чилл, лежа на диване и ежесекундные +10000$ к балансу на моем счете
Маленький спойлер: мой план сломался уже на первых двух пунктах. На второй курс я не попал из-за несерьезного отношения к делу, а в желанный вуз я так и не поступил:)
Основной профориентационный курс я все же закончил. И чем ближе дело было к поступлению, тем больше я осознавал всю утопичность моего плана. После неудачной попытки залететь в тот самый технический ВУЗ я упал духом, но все же подал документы в другое место и все-таки поступил. Но не в так желаемый мной физмат, а в экономический университет.
После двух лет у репетитора и года ИТ-курсов я почувствовал себя, без преувеличения, ни на что неспособным и глупым. Два года математики не помогли мне поступить куда я давно хотел, а год курсов не дал мне желаемого толчка и только лишь разочаровал в своих силах и в разработке как в сфере деятельности. Многое казалось мне скучным. Модуль графического дизайна казался мне более интересным, нежели скучное, а в некоторых моментах непонятное решение математических задачек при помощи питона.
Здесь мой путь приостановился.
Я забил на программирование.
Мое время в основном уходило на учебу в университете И *барабанная дробь* на игры.
В таком формате проходили 9 месяцев моей жизни. В мае я уже заканчивал первый курс и весь июнь провел в таком замечательном тайтле, как 3 ведьмак. Меня затянуло. И если вы вспомните, когда меня что-либо затягивает — все время уходит на объект моего интереса. Играл я с утра до вечера с перерывами на естественные потребности.
После пары недель такого ритма жизни я начал что-то осознавать. Не могу точно описать свои чувства на тот момент, но определенно что-то было не так. Я наблюдал за некоторыми сверстниками, которые уже во всю реализовывались в определенной сфере, или же банально зарабатывали деньги. Кто-то успешно помогал родителям в бизнесе, кто-то работал грузчиком на складе, кто-то оканчивал курсы программирования и усердно искал работу. Все это время от времени вызывало у меня гнетущие мысли, но что-либо сделать у меня не хватало мужества и настойчивости. Ведь всегда легче списать все на внешние факторы: не та погода, не те условия, не те возможности, не те способности и так далее. Такими дефолтными отговорками я себя и «успокаивал».
Но в тот момент случился еще один, совершенно случайный, но ключевой момент в моей жизни. Отец скинул мне видео одного журналиста, который снимает интервью на YouTube. Тематикой этого видео являлась поездка журналиста в Калифорнию, а именно в кремниевую долину. Сначала у меня не возникало сильного желания смотреть данный ролик, ведь длился он около 3-х часов. Но я начал смотреть и не заметил, как досмотрел до конца. Мне стало интересно, и опять же,
Я с восхищением смотрел на истории соотечественников, которые выбрались из своей зоны комфорта, уехали в другую страну и принимали непосредственное участие в создании ИТ-бизнесов с мировым именем, таких как Google, Meta(aka Facebook) и т. д.
Данное видео оставило на мне сильный отпечаток. Оно дало долгожданный толчок в развитии и желании поменять что-то в своей жизни и стремится к высоким целям.
Примерно в тот момент знакомому отца на работе понадобился новый сайт. Занимался он книжным издательством, соответственно, его бизнес нуждался в современном решении, интернет-магазине. Старый сайт создавался примерно в 2006 году. Я же, полный энтузиазма решился попробовать. Друг отца тогда сильно удивился, что я, будучи совсем неопытным, берусь за подобный проект.
Абсолютно зеленый, без какого-либо опыта в разработке веб-сайтов и с маломальским опытом в программировании, я все же решился. В тот момент было большое волнение, что у меня ничего не выйдет, что я не смогу. Это волнение было похожим на те чувства, которые возникали у меня в школьные годы по поводу моей потенциальной карьеры в технической специальности.
Я начал очень усердно учиться и одновременно разрабатывать проект. Первое время я выезжал за счет мотивации, но после непродолжительного времени
Т. к. у меня уже был опыт в питоне, я решил не изобретать велосипед и использовать возможности данного языка. Я уже узнал о существовании фреймворков и библиотек, т. е. специальных инструментов, для достижения той или иной цели. Самым популярным на тот момент питоновским фреймворком для создания веб-сайтов являлся Django. Его я и выбрал.
Я приобрел и прошел несколько курсов по питону и джанго, а также смотрел тонны видео на YouTube. Также, я зависал на тематических телегарм-каналах, где бородатые дядьки-программисты неохотно отвечали на вопросы зеленых джунов:)
*Огромное спасибо Вам за то, что отвечали! Это правда очень помогало и на тот момент данная помощь была незаменимой! *
Я занимался сутками. Поднимался я примерно в 10 часов утра и занимался до поздней ночи. Распорядок моего дня на протяжении 2-3 месяцев был примерно таким:
- Подъем
- Завтрак
- Разработка проекта и изучение тех вещей, которые требовались от меня для продолжения разработки сайта
Мне очень нравился процесс. И я вам скажу такую вещь:
Я испытывал кайф и дорогой дофамин в моменте обучения и нереальный кайф в моментах, когда у меня получалось решить задачу.
За пару недель я изучил базовую работу в Figma и создал готовый макет. Слишком много времени это не заняло, т. к. у меня уже был опыт в похожих программах, вроде Adobe Photoshop. Учился я по мини-курсам на том же YouTube, изучил несколько готовых макетов других авторов в телеграм-каналах. Смотря на этот макет сейчас я вижу кучу недостатков некоторые из которых я исправлял во время верстки, но для моего первого макета весьма неплохо, я считаю.
После этого за короткий промежуток времени я изучил верстку на нужном для реализации простого интернет-магазина уровне. Потратил я на это около 1-1.5 месяцев. Учился, опять же, на YouTube и задавал непонятные вопросы в чатах.
Остальное время ушло на саму backend разработку и минимальное изучение SQL. Как вы можете догадаться, данная часть вызывала у меня наибольшие трудности в изучении реализации. Методом кучи проб и ошибок у меня получалось реализовать нужный функционал по модулям. Пришлось часами зависать на YouTube, чатах, форумах, читать книги вроде «Django 2 в примерах» и учиться, учиться и еще раз учиться.
После нескольких месяцев упорной разработки и учебы наконец стал виднеться горизонт завершения и сдачи проекта. При помощи онлайн-поддержки я подключил базовую платежную систему, задеплоил свое приложение на хостинг. Сайт был готов.
После сдачи проекта заказчик, то бишь знакомый моего отца остался очень доволен, ведь конечный продукт сильно отличался в положительную сторону в сравнении с тем что было до этого.
Таким образом я заработал свои первые 300$ на разработке.
Я работал один. Весь процесс разработки занял у меня около 5 месяцев. Я был сам себе проджект-менеджером, frontend-разработчиком, дизайнером, backend-разработчиком и так далее. Я ничего не знал о правильном флоу и жизненном цикле разработки в целом. Были моменты, когда хотелось сдаться, плюнуть, забить на все и сдаться. Имели место перегорания, приходилось делать перерывы в несколько дней. Но в конечном счете у меня все получилось. Мои ванильные мечты о легкой карьере разработчика были разбиты в дребезги. Я понял, что легкий путь на расслабоне — это не про АйТи.
Только лишь в процессе постоянного обучения, развития, переступания через себя можно добиться результата. И эти правила относятся не только к IT-отрасли. Это правила жизни, но в данной сфере по-другому ну вообще никак.
Что я понял на данном отрезке моего становления как разработчика?
- Легко не будет. Добиться результата можно только упорным трудом и реальной! заинтересованностью делом.
- Совершать ошибки — это абсолютно нормальное явление в процессе работы и обучения. Отсутствие ошибок — признак того, что вы стоите на месте и не развиваетесь.
- Склад ума, предрасположенность, слова «я не смогу» и прочие отговорки — одного поля ягоды. Ничто из этого не влияет на достижение вашей цели. Главный ключ достижения этой цели — ваше отношение к делу.
- Развитие Вас как специалиста в разработке приносит плоды, только в том случае, если вы делаете это постоянно.
- Укус Питона(анг. A Bite of Python) , Swaroop C. H. Классная книга для начинающих. Понятным языком рассказано о структурных основах питона. Читается просто и на одном дыхании.
- Django 3 By Example — Third Edition, Antonio MeleНа тот момент я использовал устаревшую версию книги (Django 2 By Example) . В новой, актуализированной версии заменены устаревшие версии используемых автором пакетов. Отличная книга, которая помогла зеленому новичку разобраться в основах Django. В купе с официальной документацией у меня получилось создать полноценный интернет-магазин. В книге автор подробно разбирает большое количество проектов на Django, начиная от блога, заканчивая платформой дистанционного образования. Только учтите, что книга доступна только на английском. На русском имеется лишь устаревшая версия вместе с Django 2.
- На YouTube могу выделить несколько качественных каналов. Шикарный преподаватель Тимофей Хирьянов на своем канале выкладывает свои университетские лекции по языку Python. Для новичков зайдет на отлично (даже мне было интересно недавно пересматривать записи его лекций)
- В то время я изучал уроки Гоши Дударя. Да, многие скажут, что уроки у него отстойные, да и что сам он не программист, но на тот момент его уроки неплохо помогали мне разобраться в практической части изучения Python и Django. Я также покупал его платный курс и основной толчок мне дали именно они.
- Также, классный канал имеется у Миши Омельченко, называется он Django School. Тут я вообще промолчу. Тонны видео с объяснением основ Django, множетсво циклов видео с разработкой целых проектов. Очень полезный канал.
- Шикарный канал про верстку и фронтенд, называется Фрилансер по жизни, ведет его Женя Андриканич. На тот момент я не понимал, как выучить верстку и научиться хотя бы немного работать с JavaScript за короткий промежуток времени. Канал Жени очень помог мне в этом. Автор простым языком и на примерах объясняет принципы разметки, css-стилей и т. д. Одновременно с просмотром канала Жени, я сам находил разные тг-каналы, вроде этого, с готовыми макетами, и в тупую садился и верстал. Сквозь боль и слезы, спустя около 5-7 макетов я стал легко разворачивать html-конструкции, понимать, где какие теги использовать, как создать мобильную верстку и так далее.
- Не меньшую помощь оказали тг-чаты. Например вот этот. Ребята там хорошие, без помощи я никогда не оставался. Главное, сначала пробуйте решить вопрос сами, и только после того, если у вас не получилось — пишите в чат.
- Бонус. «Изучаем Python», Марк Лутц. Да-да, старый добрый Лутц. Какой python-разработчик не слышал об этой книге? На тот момент, к сожалению, данную книгу я не прочитал, но могу порекомендовать ее сейчас. Данная книга — это базовый учебник по программированию на Python. Она состоит из двух томов и содержит все базовые знания для того, чтобы начать программировать. Единственный, на мой взгляд минус этой книги — она написана сложны языком. Опытные программисты шутят: «Если вы смогли дочитать эту книгу до конца, то прошли экзамен на профпригодность и точно сможете стать программистом».
Согласен, вступление было достаточно объемным. Но я считаю, что для полной картины оно необходимо. Еще не устали? Тогда, с вашего разрешения, я продолжу.
После успешного кейса разработки интернет-магазина, назовем это так, в моей голове созрел логичный вопрос:
А что делать дальше?
К этому времени я уже учился на втором курсе универа.
Благодаря завершенному интернет-магазину со мной связался старый знакомый. К этому времени у него уже была своя молодая ИТ-компания, состоящая из 25-30 человек. Он расспросил меня про сайт и по итогу пригласил меня на собеседование. Мое первое собеседование! Еще и офлайн…
Я был одновременно в восторге, но и в состоянии дикого волнения. У меня не было опыта собеседований в ИТ. Я судорожно начал повторять все, что я знаю о разработке на Python, ведь собеседование поставили на конец недели, а до этого времени у меня оставалось несколько дней.
Это решение стало одной из моих главных ошибок, из-за чего я не попал в эту компанию
Да, звучит угрожающе. Но что здесь не так? А я вам отвечу:
Не нужно забивать голову всем подряд перед собеседованием. Конечно, всегда полезно хорошо подготовиться к собеседованию, особенно на должность разработчика. Однако нет необходимости или возможности знать все. Это попросту невозможно. Вместо этого сосредоточьтесь на четком понимании технологий и языков программирования, связанных с описанием работы и вашим прошлым опытом. Освежите в памяти распространенные вопросы на собеседованиях и будьте готовы подробно обсудить свои проекты и опыт. Также важно быть знакомым с компанией и ее технологическим стеком, чтобы показать свой интерес и энтузиазм в отношении должности.
За сутки до собеседования вы вообще должны забыть о любой подготовке. Да, просто займитесь своими делами. Сходите на прогулку, полежите на диване, посмотрите любой сериал или фильм. Отдых — чрезвычайно важный компонент борьбы со стрессом и собранностью в важный момент. Отдохнув перед интервью, вы придете со свежей головой и уверенностью в своих знаниях.
Как вы уже поняли, на работу меня не взяли. Я пришел на собеседование с винегретом в голове. Чрезмерный поток информации в купе с волнением и стрессом на время «вымыли» все знания из моей головы. На многие вопросы я ответил на нормальном уровне, на некоторые я мог бы и ответить, но условия, в которые я себя сам и поставил не дали мне этого сделать. Факап случился на лайв-кодинге. Я впал в ступор на, казалось бы, простой задачке.
В целом, в любом случае данный опыт стал очень ценным для меня. Развернутый фидбек помог мне определить очертить границы моего текущего уровня, а самое главное — дал ориентир куда мне двигаться дальше. Этим я, в общем то, и занялся в будущем.
К моему удивлению, в моей университетской группе было несколько ребят, которым были интересны программирование, веб-дизайн и ИТ в целом. Были ребята, окончившие различные курсы или же просто самоучки.
Администрация получила финансирование на открытие лаборатории при университете. И по счастливому совпадению (или нет) , двух моих одногруппников пригласили туда работать. Были открыты позиции веб-разработчика и графического дизайнера. Дело в том, что университет мог нанять 3 студентов. Получилось так, что я в нужное время оказался в нужном месте: ребята порекомендовали меня. Таким образом, спустя две недели после моего первого собеседования, моя карьера на ближайшие 9 месяцев была определена.
Я не буду уделять много слов этому отрезку, скажу лишь пару вещей. Я работал вместе с другим начинающим веб-разработчиком, душа которого лежала в frontend-разработку. На протяжении этих месяцев мы работали с ним в паре, создали несколько проектов для университета, а также работали на фрилансе. Из этого опыта я могу выделить закрепление уверенности в правильности выбранного мной направления, т. е. backend-разработку. Я развивался, закреплял полученные знания в Django, изучил фреймворк Flask на базовом уровне, научился уверенно работать с БД, основам клиент-серверной архитектуры и разработке API при помощи Django Rest Framework, прокачался в Figma на достойном уровне. Но самое главное, чему я научился за это время — это:
Нельзя недооценивать влияние soft-skills на современного инженера. Умение коммуницировать с командой и с людьми в целом — это важнейший навык, который по приоритетности ничуть ни ниже, а то и выше, чем технические навыки. Что я подразумеваю под «софт скиллс»? Если Вы умеете коммуницировать с миром вокруг, а следоавательно получать нужные ответы на Ваши вопросы — вы никогда не останетесь «в дураках».
При наличии софт скиллов решение любой задачи упрощается в несколько раз, ведь вы всегда можете посоветоваться с более опытным специалистом. Еще раз, делаем вывод:
Гугление, или же нахождение нужной информации — важный навык
Правильная формулировка вопроса, не важно, общаетесь ли вы с реальным человеком или же с нейросетью вроде ChatGPT, или в конце концов пишите запрос в поисковой строке — первый из двух шагов решения любой задачи. Программист — это не ходячая энциклопедия или справочник. Программист, в первую очередь, — это, еще раз, человек, умеющий найти и использовать нужную ему информацию.
После работы в университете, я все-таки решил, что хочу записаться на более углубленные и узкоспециализированные курсы. Я выбрал компанию и записался на курс по Python разработке. После 5 месяцев учебы я защитил свой дипломный проект. К слову, проект был написан, опять таки, на Django и являлся клоном игровой площадки Steam.
Я не буду сильно углубляться в процесс обучения на этих курсах, скажу лишь то, что они дали мне желанные обобщение знаний и новые знакомства с такими же, как и я людьми. После окончания курса меня даже позвали на интервью (парень в зеленом), чтобы я поделился впечатлениями и рассказал о себе:)
Прошлые веб-источники остались теми же, добавились дополнительные каналы на YouTube, вроде:
-
Классный англоязычный канал, тонна познавательных видео не только по питону и Django, но и по другим языкам и технологиям Также англоязычный канал по Django и Django Rest Framework.
Ко всему этому также добавились курсы с площадки Udemy. Тут я в основном изучал курсы по конкретным технологиям:
Вообще, на Udemy есть множество хороших курсов и авторов. Вы можете сами поискать нужные вам курсы, оценив их качество по количеству студентов и их оценке.
На 6 месяце разработки при университете из 9-ти я понял, что нужно двигаться дальше.
Мне хотелось поработать в реальной большой команде, при полном составе и на большом проекте.
Для простоты отслеживания хронологии: на дворе лето/осень 2021 года.
Я создал резюме. Описал в нем все: свой опыт, стек, образование, интересы и т. д. Стал откликаться на множество вакансий. за пару месяцев я поучаствовал в примерно 7-8 собеседованиях, большинство из них проходили в онлайн формате.
Удача улыбнулась мне на последнем. Меня пригласили в офис компании. Интервью проходило великолепно, ведь на этот раз я придерживался уже другой стратегии, которую описывал выше. Да и будучи натасканным на предыдущих собесах я чувствовал прилив уверенности в своих силах.
Спустя пару недель мне ответили:
Хотела сообщить вам, что мы приняли решение пригласить вас на работу. Мы предлагаем вам оффер.
Моему счастью не было предела. Я получил серьезный оффер в серьезную компанию. Все, как я и хотел: большая команда (на самом деле нет, в компании было
20 разработчиков) , задачи, развитие. Мне казалось, что я попал в компанию мечты.
Занималась данная компания аутсорсом. Также разрабатывался внутренний продукт с ИИ.
Я поэтапно развивался, самообразовывался. Работа состояла из множества митингов, огромного количества самообразования и приемлемого количества тасок. И так по кругу.
За чуть более года я научился лучше понимать людей, защищать свои интересы как сотрудника, улучшил коммуникативные навыки и в целом навыки работы с командой, повысил свой уровень как разработчика, изучая и работая с новыми технологиями.
Было несколько классных проектов, я смог немного углубиться во frontend, с нуля разрабатывать приложение в небольшой команде. Я побывал на тимбилдингах и корпоративах. Все это для меня было новым и интересным.
Конечно, без трудностей не обходилось. Я не буду вспоминать конкретные случаи, вам лишь достаточно понять, что на рабочем месте никогда не было и не будет так, как вам хочется. У Вас нет возможности контролировать все и всех. Нужно учиться относится к вещам проще и с пониманием. При хладнокровной оценке текущей ситуации, в которую вы попали Вы никогда не будете находится в проигрышном положении. Наоборот, по сравнению с многими другими Вы будете иметь определенное преимущество.
Первая компания — это всегда особенное место, особенный опыт, особенные люди. Первая компания дает вам билет в долгий и увлекательный путь разработчика. Как бы вы не относились к Вашей первой компании, но вы запомните этот опыт на всю жизнь.
Не бойтесь и пробуйте. Все время пробуйте новое! Ходите на собеседования, развивайтесь, изучайте. Было бы слишком безрассудно и глупо бояться пойти навстречу своей мечте из-за своих предрассудков или надуманных комплексов.
Я готов сделать выводы о данном отрезке моего пути разработчика. Так что же я понял?
- Не бывает идеальных компаний. Везде есть как свои плюсы, так и свои недостатки.
- Нужно относиться ко всему проще. Делать выводы и принимать решения хладнокровно.
- Нельзя перерабатывать в ущерб себе. Выгорание — блокер мотивации и развития.
- Нужно защищать свои интересы. Никому нет до вас дела, кроме вам самих.
- Не бояться пробовать новое. Выходить из зоны комфорта на пользу собственного профессионального роста.
- Нарабатывайте новые профессиональные знакомства. Это точно поможет вам в будущем.
- Индивидуальный вывод. Лично для себя я понял, что мне не нравится аутсорс. Модель взаимодействия внутри компании в целом, работа этой системы — это не мое. Мне не нравится такой подход. (Существует множество классных компаний, как в аутсорсе, так и в продукте. Все подобные выводы строго индивидуальны. Чтобы найти свое — нужно поработать в разных средах.)
На данном этапе я могу поделиться стоящими книгами, которые мне посчастливилось прочесть (или прочесть не полностью) за этот период:
- Грокаем алгоритмы. Иллюстрированное пособие для программистов и любопытствующих. Адитья Бхаргава. Уже наверное все слышали о этой шикарнейшей книге. Она идеально подойдет для знакомства с алгоритмами. В книге очень простым и понятным языком, с иллюстрациями и примерами описываются популярные алгоритмы разной сложности. Вы познакомитесь с нотацией О большое, сложностью и временем выполнения алгоритмов и т. д.
- Чистый Python. Тонкости программирования для профи. Дэн Бейдер. Да, я еще раз упомянул данную книгу, т.к. не закончил ее, да и в целом к этой книге я возвращался не единожды. Я бы рекомендовал ее тем, кто уже познакомился с Python и его конструкциями на определенном уровне и уже имеет опыт практической разработки. С этой книгой вы сможете сосредоточиться на практических навыках, которые действительно важны разработчику. Автор утверждает, что вы раскопаете «скрытое золото» в стандартной библиотеке Python и начните писать чистый код уже сегодня.
- Two Scoops of DjangoПолезная книга о Django best-practices. Данная книга познакомит вас с различными советами, хитростями, шаблонами, фрагментами кода и техниками, которым авторы научились за годы использования и разработки на Django.
- Python one-linersКлассная англоязычная книга, рассказывающая о том, как научиться создавать, а главное понимать однострочные конструкции кода в Python. Вот как эту книгу описывает автор:
Если вы не можете читать и писать однострочные фрагменты кода, как вы можете надеяться читать и писать более сложные кодовые базы? Однострочники Python могут быть столь же мощными, как и длинная и утомительная программа, написанная на другом языке и предназначенная для выполнения того же самого. На других языках (например, Java) это было бы почти невозможно, но в Python это сделать намного проще. Хитрость в том, чтобы придумать что-то, что «сделает многое с помощью малого». Самое главное, что читать и писать об однострочниках Python (например, в этом посте) очень весело! Существует даже целая субкультура, которая может написать самый короткий код для решения различных проблем.
- Также я открыл для себя шикарный YouTube канал, называется он Диджитализируй!Автор — приятный человек, объясняющий сложные вещи понятным языком. На канале собрано множество интересных фишек языка Python, разборы многих современных технологий для веб-разработки. Отдельно бы порекомендовал вот это видео про PostgreSQL
Примерно на 9 месяце работы в компании я снова понял, что пора развиваться и двигаться дальше. Я снова стал откликаться на множество вакансий, прошел несколько интервью. Некоторые из них оказались удачными. После одного из таких собеседований мне предложили оффер. Я думал над ним около недели и по итогу отказался, хоть и все условия были в разы лучше, чем на моем текущем месте. Как так, спросите вы? Все просто. Моя потенциальная деятельность в этой компании расходилась с желаемой. Я хотел развиваться в качестве backend инженера, используя современные технологии. В той компании использовали язык-надстройку над питоном, в целом эта технология являлась очень узкоспециализированной. Компания, к слову, являлась партнером одного из конкурентов американского Salesforce.
В дальнейшем я не пожалел о своем решении. Спустя месяц на меня вышла другая, но уже иностранная компания, которая занимается своим собственным продуктом. Команда разработки была маленькой, около 5 человек. Меня это заинтересовало. После работы в аутсорсе мне хотелось осуществить свитч в продукт, как минимум, чтобы иметь сравнительную оценку двух больших сфер в разработке.
Собеседование прошло успешно и спустя несколько дней мне предложили оффер. Я, долго не думая, согласился. Условия оффера уже на старте существенно превосходили мои текущие.
Было страшно, но я добрался до начальства в текущей компании и мы расставили все на свои места. Мы поняли друг друга и договорились, что я поработаю еще месяц, а за это время мне найдут замену и я закрою незавершенные таски.
Месяц пролетел быстро и вот я, снова полный энтузиазма уже сижу на онбоардинг митинге и все внимательно слушаю. Мне все нравилось. Спустя пару дней я уже получил свои первые таски.
Я удаленно работаю в данной компании уже около 6 месяцев и меня все более чем устраивает. Я получаю удовольствие от командных митингов, от интересных и разнообразных задач, от уютного общения с командой.
Я сильно подтянул техническую часть. Я, наконец, взялся за чистый Python. Основная часть задач реализована именно на нем, без всяких фреймворков. Конечно, их мы тоже используем, например новомодный FastAPI. Но я не об этом.
За это непродолжительное время, я научился лучше работать с конструкциями языка, его фишками. Это определенно пошло мне на пользу, ведь можно быть разработчиком на Django или React, но не Python и JS разработчиком соответственно. Хорошо понимая сам язык и его концепции Вы без проблем сможете изучить инструменты, которые предоставляет этот язык.
На данный момент я понял следующие вещи:
- Пробуйте работать в разных компаниях. Да, я выделил этот совет еще раз. Только так Вы найдете свою компанию мечты.
- В первую очередь изучайте язык и его конструкции, и уже во вторую фреймворки и технологии.
- Читайте техническую литературу. Я даже больше говорю о фундаментальных вещах, вроде «Чистой Архитектуры», нежели о конкретных технологиях, хотя они тоже важны. Фундаментальные вещи на то и являются таковыми, ведь они не изменяются быстро и основательно. Книги о конкретных технологиях быстро устаревают, т. к. эти самые технологии постоянно меняются. Лучший источник для их изучения — официальная документация.
- Не опускайте руки и постоянно развивайтесь. Вы не знаете, когда перед Вами откроются новые возможности, но вы должны быть к ним готовы.
Как я отмечал ранее — хороший программист должен развиваться всегда, к чему я и стремлюсь. Все так же смотрю технические видео с YouTube или же на других площадках, вроде Udemy.
Вот еще один список книг, которые я прочитал и читаю до сих пор на данном этапе моей карьеры разработчика:
- Чистая архитектура. Искусство разработки программного обеспечения. Роберт Мартин. Это фундаментальная работа в мире разработки программного обеспечения. В этой книге Роберт Мартин рассказывает, как достичь высот профессионализма. «Чистая архитектура» продолжает эту тему, но не предлагает несколько вариантов в стиле »решай сам», а объясняет, что именно следует делать, по какой причине и почему именно такое решение станет принципиально важным для успеха. Также автор даёт прямые и лаконичные ответы на ключевые вопросы архитектуры и дизайна. Я считаю, что эту книгу обязаны прочитать разработчики всех уровней, системные аналитики, архитекторы и т. д. , то есть все, кто хотят подняться по карьерной лестнице или хотя бы повлиять на людей, которые занимаются данной работой.
- Паттерны объектно-ориентированного проектирования. Эрик Гамма и др. Данная книга рассказывает о паттернах проектирования. Данную тему в принципе нельзя назвать легкой, но из-за стиля написания и немного устаревшего формата чтение этой книги усложняется еще больше. Если вы не боитесь перечитывать предложения по несколько раз — взамен получите подробное описание и примеры использования множества паттернов проектирования, и в целом понимание архитектурной стороны паттернов объектно-ориентированного проектирования.
Вот таким выходит (и продолжается!) мой путь становления в ИТ в качестве python разработчика. Кто-то может отметить, что мне просто повезло и доля правды в их словах, конечно, присутствовать будет. Но удача будет способствовать Вам, только если Вы будете упорно работать и идти к поставленной цели. Как говорил один из известных английских писателей:
Победа над самим собою — единственное торжество, в котором удача не имеет доли
В заключение хотел сказать, что статья, надеюсь, оказалась для вас полезной и вы извлекли из нее кое-что ценное. Моя прогрессия в области IT и изучения Zen of Python все еще находится в начальной стадии, но я уже могу поделиться своими впечатлениями и советами, которые, по моему мнению, могут быть полезными для других.
В начале статьи я обещал, что немного подробнее расскажу о своем новом телеграм-канале.
Причина создания этого канала простая — я хочу развиваться.
Поэтому, если вам понравился мой стиль изложения мысли, или же в целом, вы сочли данную статью интересной, то вы можете перейти по ссылке и подписаться. Там я буду рассказывать о закулисье ИТ и разработке на Python глазами практикующего инженера.
Спасибо Вам за уделенное внимание! Опыт написания статей у меня минимальный, поэтому буду рад услышать фидбек или же просто пообщаться в комментариях!