image

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

Мы запускаем цикл статей в которых подробно расскажем о каждой профессии через опыт людей. В первом выпуске обсуждаем Python-разработчиков. Свои истории рассказали Артем Сухаренко и Данила Лобанов. Они пришли в профессию совсем недавно, но успели набраться опыта в других сферах. А экспертом выступил Алексей Петренко — декан факультета Python в Geekbrains.

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

Для чего учить Python


Артем Сухаренко учился в СибГИУ на кафедре автоматики и информатики. Его специальность была инженерной, но не связанной с программированием. После выпуска Артем устроился работать на завод ЗСМК — один из самых крупных металлургических комбинатов в России.

«Я обалдел, насколько там все ужасно», — говорит он, — «Полуразвалившийся советский электропривод, никакой модернизации, специалисты особо не нужны». Долго на заводе он не задержался, но продолжил работать с электрикой дальше. Вырос до ведущего инженера в Сибирьтелекоме, затем переехал из Сибири в Москву и устроился в коммерческий ЦОД, где отвечал за инфраструктуру.



Программирование иногда подразумевалось. Артем пытался работать с микроконтроллерами, делать что-то более сложное, но всегда упирался в отказы работодателей и заказчиков — им это было не нужно. Хватало элементарных вещей, которыми, как говорит Артем, интересно заниматься только первые 15 минут, и особых скиллов для этого не нужно.

«Может быть, я не туда совался, но развития для себя не нашел. Пять лет вуза — просто чтобы крутить провода. Это было так обидно».

Однажды коллега подал Артему идею изучать программирование не для электрики, а чтобы стать разработчиком. Он стал читать книги, пробовать разные задачи, но не решался сменить профессию. «Желание у меня назревало долго. Сначала не давали сменить профессию ипотека, финансовые вопросы, личный страх».

В 36 лет Артем пошел на курсы Python-разработчика.



Веб-разработка стала клондайком для многих людей, кому интересны технические профессии. А Python — одним из популярнейших языков программирования для входа в профессию. Он привлекает простотой и универсальностью.

«Зная Пайтон можно делать много всего — от простейших скриптов до анализа данных и построения нейронных сетей. Но конкретно разработка на Пайтоне — это бэкенд для веб-серверов, разработка скрытой части интернета — той, которую не видят обычные пользователи. Сервер, его логику, взаимодействие с базами данных», говорит Алексей Петренко, декан факультета Python в Geekbrains.

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

«Хоть Python и пропагандируется как язык для всего, по факту у него только две сферы применения: всякие data science, ML и прочая математика — и веб-разработка. В этом он меня немного разочаровал», — говорит Данила Лобанов, бывший сисадмин, который недавно стал Python-разработчиком.



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

Данила тесно познакомился с компьютером относительно поздно, примерно в 18 лет. От высшего образования он отказался и почти сразу пошел работать сисадмином. Начинал с самых элементарных задач, потом приступил к изучению Linux и программирования.

«Я попытался изучать С, PHP, Java еще какие-то языки, но не заходило — начинал и бросал. Не мог писать даже простейшие скрипты. Когда я ходил на курсы по С, у меня получалось читать код, но не получалось его писать. Мне давали задачу, я смотрел на нее и не представлял, как делать. Преподаватель садился рядом, писал построчно, объяснял, и я понимал, что именно так и надо было делать. Но мне давали аналогичную задачу, и я снова был в ступоре».

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



«Новичку лучше первым делом разобраться в синтаксисе», — считает Алексей Петренко, — «Только потом стоит думать, куда хочется идти дальше. Чем больше ты учишься, тем больше уходишь от синтаксиса к библиотекам, паттернам проектирования, отдельным шаблонам».

Данила все-таки выбрал Python потому, что язык считался легким. «Синтаксис реально оказался простым», — говорит он, — «Как писать текст на английском языке. Сначала я изучал его самостоятельно по видеоматериалам на Ютубе, по статьям, решал задачи на pythontutor.ru. Но потом понял, что ресурсы в интернете — это только основы и азы. Они доступны всем и везде, и не помогут научиться программированию основательно. Я понял, что надо искать курсы, которые дадут все то же самое, только систематизировано, а потом поведут меня дальше».

Что надо знать перед началом обучения


Перед тем, как серьезно погружаться в изучение языка, Алексей Петренко рекомендует выяснить заранее — а нравится ли программировать вообще. «Я бы советовал попробовать написать несколько программ, пройти бесплатные уроки. Перед началом обучения лучше уже понимать, что такое переменная и как две переменные сложить.

Чтобы курсы не стали бесполезными, поможет только одно — практика. Если только смотреть и слушать, ничего не получится. Для новичка практикой будет даже переписать код, который преподаватель показывает на экране. Переписывать и думать, как он работает.

Необходимый минимум для занятий — четыре часа в неделю. Два дня в неделю по два часа. Но я бы рекомендовал выделять час в день на написание собственного кода. Главное не нырять в программирование с головой, чтобы не было буйства магии. Когда три дня учишь все подряд — в голове получается каша.

Начать может быть легко, но впереди ждут трудности


Артем продолжал работать электриком днем, а вечерами начал учиться на курсах, несмотря на усталость. «Как и у всех наивных людей, у меня было ожидание магии от курсов. Я пришел не совсем нулевым. В багаже было несколько книг и даже простых сайтиков, в том числе на PHP (грешен, признаю). Я ждал, что на курсах надмозги меня выдрессируют, и я стану волшебником. Реалии оказались другими — там такие же люди, которые просто знают чуть больше».



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

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

«Все признавали, в том числе сотрудники Geekbrains, что уровни 2 и 3 в программе по Python были одними из самых сложных курсов в университете. Очень много информации в слишком сжатые сроки, очень большие домашние задания. Многие усваивали только часть материала. Я лично два раза переводился в следующий поток. Мы просили облегчить программу, нас спрашивали как, и я предлагал разбить два курса на три. Что-то из этого приняли во внимание и сейчас реализовали».

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

«Преподавать программирование тоже очень сложно. Всем кажется, что раз человек может писать программы, значит может и научить. Это не так. Когда мышление перестроено, и знаешь много всего — уже не можешь вспомнить, каково это — не понимать».

Алексей предупреждает, что Python легкий только в начале. А после легкой базы придется приложить усилия, чтобы освоить более серьезные аспекты — библиотеки и фреймворки. «Если сравнить язык программирования с водоемом, то, например, язык С — это океан. Ты ныряешь с обрыва на огромную глубину, и либо плывешь, либо тонешь. Язык Пайтон — это пляж с чистым песком, где ты можешь далеко зайти, спокойно поплавать, и если понял, что хочешь двигаться дальше — то за красивым пляжем есть огромная впадина, по глубине сопоставимая с С и Java».



«Асинхронное программирование в Python — это мозгодробительная штука», вспоминает Артем. «Мы проходили это как-то поверхностно, и потом даже на собеседованиях, когда по нему спрашивали, я чувствовал, что плыл.

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

Данила же вспоминает модуль select как самое трудное: «Все три потока помнят мою боль с селектами. Есть такой модуль, и он мне прямо очень не давался в свое время. Сейчас-то он для меня простой — я теперь не понимаю, как его можно не понять».





«В базовой конфигурации Python лежит около 70 функций и несколько десятков зарезервированных слов, но даже крутой программист не обязательно использует их все. То есть, чтобы выучить сотню слов и понять, что они делают, можно потратить одну-три недели при желании и активной работе», говорит Алексей.

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

Чтобы в будущем работать в команде и показывать код кому-то еще, надо знать общепринятые стандарты стиля. В Python они называются «Пепы» (Peps). Я бы советовал читать Pep8 параллельно с изучением синтаксиса. Это соглашение программистов, которые пишут на Пайтоне. Оно рекомендует как правильно писать, а как неправильно.

Несколько лет назад в Python произошло разделение. Был Python 2.7, а потом вышла версия 3. Вторая версия все еще используется, но только в старых фирмах для поддержания легаси-кода. Если устроиться в такую фирму, то изучать Python 2 придется, но я бы рекомендовал учить третью версию. Все современные проекты и сторонние библиотеки пишутся под нее».

Как выдержать первые собеседования


Артем и Данила закончили курсы очень по-разному. Данила после нескольких попыток решил не заканчивать обучение, потому что не нашел взаимопонимания с преподавателем последних курсов, но зато нашел работу. Артем же вместе с сокурсниками уже во время обучения вырастил учебный проект в стартап, который начал приносить реальные деньги.

«Проект назвался GoLiving. Это что-то вроде AirBnb, только задумка такая: в Америке есть люди, которые часто ездят работать в разные города на непродолжительный период. И они могут между собой меняться жильем с гарантированной страховкой, чтобы точно быть уверенным, что не вернешься в разгромленную квартиру. Сейчас я не знаю, насколько далеко пошел этот ресурс, кажется финансирование приостановили. Но тогда у нас даже были инвесторы».





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

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

«Мой опыт в Geekbrains показывает, что некоторые студенты находят работу, до того как они заканчивают годовой курс обучения», говорит Алексей. «Работодатель хочет видеть у серверного разработчика элементарное умение работать с синтаксисом, знание как работают сайты, как устроен бэкенд, тот же самый набирающий популярность Django. Я бы сюда ещё добавил работу в команде и знания баз данных, потому что любой бэкенд любого сайта неразрывно связан с хранением информации.


Ежемесячно на «Моём круге» открывается порядка 200 вакансий python-разработчиков, вы можете посмотреть самые свежие и подписаться на рассылку о новых вакансиях.

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

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

Данила на собеседовании больше всего удивило то, что ему не задали ни одного технического вопроса: «Не давали никаких заданий — просто общались о том, как я учился, чем интересуюсь. В итоге предложили работу, и я согласился».

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

«Я считаю, не спрашивать технические вещи — это правильный подход», говорит Данила. «Очень известный в Python-сообществе Григорий Петров тоже говорит, что скилы по программированию (хард скилы) подтянуть всегда можно. Главное сойтись во взглядах на жизнь, чтобы было комфортно вместе работать. Я с ним согласен.

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



«Собеседование, которое проходил я, расплавило мне мозг еще как», вспоминает Артем. «Когда я вышел, состояние было, как будто иду на автопилоте — так сильно продолжали жужжать мысли».

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

Сначала пошли житейские вопросы, все эти «как себя видишь, как себя чувствуешь». Потом за меня принялся фулстек, погонял меня по Python, по Django. Он прямо на бумаге накидывал примеры и спрашивал по ним. Не сложные, но с подковырками.

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

Честно, даже не ожидал, что мне перезвонят. Тем не менее — получил оффер. Через несколько дней будет первый рабочий день».

На какие деньги стоит рассчитывать


Люди идут в ИТ не только по зову души. Это индустрия с одними из самых быстро растущих зарплат в России. И иногда кажется, что зарплаты программистов по сравнению со среднестатистическими профессиями отличаются как зарплаты в Москве и в регионах. Тем не менее, ни Артем, ни Данила не шли в эту профессию за богатством. Больше того — они его пока так и не нашли.

«Даже в Москве на начальных позициях программистам предлагают 40-50 тысяч, может даже меньше. В регионах 20 тысяч для джуниора тоже не редкость. Это не такая уж высокооплачиваемая работа, как все утверждают. Да, когда достигаешь уровня синьора, зарплаты могут переваливать за 200-300 тысяч. Но где таких зарплат нет? Недавно одна такси-компания показала доходы таксистов, которые больше всех заработали. Там 230, 240 тысяч.

image
На диаграмме зарплат python-разработчиков с разбивкой по квалификациям видно, что медиана для джуна составляет почти 60 000 рублей, тогда как мидл получает уже в среднем чуть больше 100 000 рублей. Зато разница между показателями медиан для сеньора и лида совсем небольшая — 151 000 рублей и 167 000 рублей соответственно.

При построении диаграммы были использованы данные зарплатного калькулятора «Моего круга».

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

«Зарплаты зависят от региона», говорит Алексей, «Кто-то устроится за 40 тысяч как начинающий, кто-то может и сразу на 100 тысяч. Смотря как себя проявить. Если покажешь, что можешь писать не только код, но и разбираешься в архитектуре, можешь набросать схему проекта целиком, всех модулей, сервисов, связей между ними».

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



Несмотря на то, что в программировании одна из самых четких и понятных градаций по уровню мастерства (джуниор, мидл, синьор) — она все равно остается относительной и постоянно разжигает споры размытостью своих критериев. Споры в духе «ты в компании Х синьор, а в компании Y и джуниором не возьмут» или «пока десять лет не работал — не синьор».

«До уровня мидла можно прокачаться в течение года обучения. Например, в Geekbrains есть обязательные курсы и дополнительное. Все их надо пройти полностью чтобы честно сказать — я прокачался до уровня мидла. То есть, получается год основной программы и ещё полгода параллельных курсов», — считает Алексей, — «А синьор — это человек, у которого есть богатый опыт. Это тот, кто разбирается в разных фреймворках, способен масштабировать задачи, понимать каких ресурсов они требуют. Человек, который не изобретает велосипеды. Кто на собственном опыте разобрался во всех аспектах и нюансах работы.

Если человек через три года работы называет себя синьором — почему бы и нет. Все зависит от фирмы, стремления и навыков. Если человек одаренный и целеустремленный, то я в это поверю.


Полное интервью с деканом факультета Python в GeekBrains — как и для чего учить язык начинающим

Комментарии (115)


  1. newbie_java
    29.05.2019 17:06
    +2

    Весьма отечественный cable-management за спиной у первого героя на первой фотке.


    1. aPiks
      29.05.2019 20:00
      +1

      Железки крутить скучно ему, а вот провода запутывать — распутывать, совсем другое дело!


  1. ardraeiss
    29.05.2019 18:37

    Третий абзац снизу сам себе противоречит. Всё, что там написано, суммируется как «четких и понятных градаций по уровню мастерства по факту нет».


    1. arttom Автор
      29.05.2019 18:40

      Противоречивая сама ситуация. Градация есть, четких критериев нет, поэтому все вечно спорят за джунов и синьоров. Во многих других сферах все просто размыто — ни четкой градации, ни нормальных критериев.


  1. LeonidIsakov
    29.05.2019 18:37
    -2

    Учу сейчас этот язык.


    1. Bandicoot
      29.05.2019 19:29
      +3

      Держите нас в курсе


  1. REDkiy
    29.05.2019 19:17
    +1

    Я тоже админил больше 10 лет. Курсов не заканчивал. Через 4 года стал миддлом. Учавствовал в 2 довольно больших проектах, сейчас в третьем и делаю свой маленький веб-сервис. И что ж я теперь не могу честно сказать, что я разработчик среднего уровня?


    1. w3ga
      30.05.2019 14:23

      нет, не можешь, не тем ты занимался 10 лет

      «До уровня мидла можно прокачаться в течение года обучения. Например, в Geekbrains есть обязательные курсы и дополнительное. Все их надо пройти полностью чтобы честно сказать — я прокачался до уровня мидла. То есть, получается год основной программы и ещё полгода параллельных курсов»


      видишь как всё просто, именно так и становятся мидлом, а ты хернёй страдал


  1. pavnen
    29.05.2019 19:17
    +7

    Я попытался изучать С, PHP, Java еще какие-то языки, но не заходило — начинал и бросал. Не мог писать даже простейшие скрипты. Когда я ходил на курсы по С, у меня получалось читать код, но не получалось его писать. Мне давали задачу, я смотрел на нее и не представлял, как делать.

    IT, которое мы заслужили…


    1. KamAdm
      30.05.2019 07:19

      Вот это меня больше удивило. Как так?


      1. Smiz001
        30.05.2019 12:21

        Может сложность в типизациях?:) Больше ничего придумать не могу.


        1. astralNord
          30.05.2019 13:47

          У меня первые ассоциации:

          • Низкая способность(или отсутствие способности) к алгоритмическому мышлению
          • Низкая способность(или отсутствие способности) к самостоятельному обучению

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

          Ну либо просто в тех попытках вообще никакой мотивации учится не было, кто-то из под палки заставлял =)


          1. agarus
            30.05.2019 18:25
            -1

            Во-первых, это вполне естественный процесс обучения.
            Во-вторых, вы путаете навыки и (не)способности.


      1. prs123
        30.05.2019 12:46

        Как мне кажется, потому что в C, Java и иже с ним думать надо что и как сделать, и чтобы оптимально.
        А в питоне написал какой-то скриптик и в ус не дуешь, дума о том, что он сьел из памяти


        1. spballiance
          30.05.2019 12:48

          ну не все же живут в 640Кб в 2019 году)


          1. prs123
            30.05.2019 12:50

            Ну да, а мы потом жалуемся что какой-то калькулятор с 10 кнопками сожрал полгига, а браузер так вообще все 4 Гб


            1. spballiance
              30.05.2019 13:00

              ну вы массовые приложения с личными разработками явно путаете. Если человек написал себе скрипт, он съел 4гб, но результат работы устраивает, то это его личное дело и его купленная на его деньги память. Если для оптимизации скрипта потребуется 10 человекочасов ради 1гб памяти на его личной машине, то это не оптимизация, а убыток. Если это коммерческая программа, то пользователи вольны высказать производителю свое недовольство и не покупать его продукт.


            1. VolCh
              30.05.2019 15:45

              Как раз браузер на Python не пишут ;)


      1. emerald_isle
        30.05.2019 16:44

        Взглянешь на качество программного кода везде и всюду, и как раз ничему такому не удивляешься. Всё закономерно.


  1. DollaR84
    29.05.2019 20:10
    +1

    Жаль что таки вакансии python востребованы только или для web, или для машинного обучения, а ПО совсем не востребовано…


    1. Voliker
      29.05.2019 21:39

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


      1. DollaR84
        29.05.2019 23:40

        Ну инструментов для отрисовки UI наверно да нету особо хороших, но он довольно просто кодом пишется. А вот с мобильными приложениями то да, согласен, никак.


    1. ardraeiss
      30.05.2019 17:52

      Ещё плагины к Blender, например.


      1. artskep
        30.05.2019 19:31

        Плагины на Питоне это вообще отдельная песня, и очень правильная. И я очень удивлен (вру, не удивлен, т.к. статья явно продает курсы по распространенным направлениям), что не оказались покрытыми огромные территории, где Питон реально рулит:
        — простая автоматизация (bash скрипты это забавно и old school, но очень многое реально проще и очевиднее делается на питоне). Странно, что бывший сисадмин не разу не столкнулся с Питоном в своей профессиональной деятельности.
        — gamedev (естественно, не там, где рендеринг, а там, где логика). Майнкрафт вам, так сказать, в пример.
        — плагины к приложениям, как уже было сказано.

        Ну, и не забудем про то, как офигенен Питон в прототипировании (хотя, может быть, это только я так по нему угораю в этой роли).


        1. ardraeiss
          30.05.2019 23:41

          Эк я умудрился полностью забыть про геймдев. Это при корабликах в анамнезе и мелкорогулайке на tcod'е для развлечения буквально позавчера.

          Протитипровать удобно. Раз-два — и уже видно «работает/не работает».


        1. VolCh
          31.05.2019 09:14

          Для прототипирования веба мне больше понравился руби с рельсами. Сделали прототип, показали, собрали фидбэк и переписываем на PHP.


          1. artskep
            31.05.2019 19:01

            Я с вебом практически не работал (и как-то не тянет), так что прототипировать обычно приходилось только что-то типа алгоритмов обработки или отображения какой-то фигни. Тупая процедурная парадигма (для прототипа подчас больше не надо) плюс «batteries included» плюс реально интерактивный CLI…
            При всем моем уважении к внутренней красоте Руби и некоторому опыту работы с ней (без рельс), до удобства Питона не дотягивает.


  1. Matshishkapeu
    29.05.2019 20:55

    Истории про то, что питон это или вэб на джанге, или датасатанизм со всякими сайкитлерн — не совсем правда. Для энтузиастов есть варианты вплоть до микропитона, который на контроллерном железе исполняется. И даже случалось работать с системами автоматизации где на нем были десктопные приложения и через обертки рулежка вполне себе промышленной автоматикой на Beckhoff TwinCAT.


    1. spballiance
      29.05.2019 22:11
      +1

      были десктопные приложения

      PyQT вот прям сразу в голову пришел


      1. DollaR84
        29.05.2019 23:54

        pyQT как-то не зашел мне. А вот wxpython как по мне прекрасное решение для GUI. Но как говорится: на вкус…


      1. Matshishkapeu
        30.05.2019 10:00

        >> PyQT вот прям сразу в голову пришел
        На нем и было сделано.


  1. saipr
    29.05.2019 21:23
    -1

    «Асинхронное программирование в Python — это мозгодробительная штука»

    Лучше Tcl ничего нету! И учить одно удовольствие. А потом хотите Python, хотите Ruby.


    1. sukhe
      29.05.2019 23:10

      Это вы, возможно, Rebol не видели :)

      Интерпретатор всего 830кб, но есть куча встроенных типов данных, сразу-же есть работа с сетью, графикой, оконная система.

      Например, сколько будет, если к без десяти двенадцать прибавить полчаса?

      >> 11:50 + 0:30
      == 12:20

      Вот простенький сканер портов:
      repeat n 100 [if not error? try [close open probe join tcp://localhost: n] [print [n «is open»]]]

      А это просмотрщик картинок (с выбором нужного файла):
      view l: layout[origin 0x0 b: box «Load» [error? try [b/image: i: load first request-file b/text: "" l/size: b/size: i/size show l]]]

      Редактирование и отсылка E-Mail:
      view layout [e: field «Email» s: field «Subject» m: area «Body» btn «Send»[send/subject to-email e/text m/text s/text alert «ok»]]

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

      Языков много вяких придумано. Но, например, вряд-ли кто вспомнит REXX, GPSS или Clipper. А ведь писалось на них и применялось в работе.


      1. VolCh
        30.05.2019 08:57

        А мне Clipper не зашёл, FoxPro больше понравился


      1. saipr
        30.05.2019 09:22

        Интересная зверушка. Все эти возможности, естественно, есть в tcl/tk, который живет и здравствует и каждый из нас опосредованно сталкивается с ним ежедневно (в интернет все ходим). Но вы аьсолютно правы:


        Языков много вяких придумано.


  1. DmitrySpb79
    29.05.2019 22:07
    +3

    По сути, все верно написано — начать с питона можно, но путь будет непростым. Если честно, я бы даже не рекомендовал начинать с питона.

    Python — популярный язык с низким порогом входа, его знают практически все, и изучают даже в школах. Но это же минус для трудоустройства. Чтобы найти хорошую работу на Python, надо знать его очень хорошо до всяких тонкостей, плюс обычно требуются конкретные специфические фреймворки под конкретные задачи. Обычно это либо web, либо data science либо автоматизированное тестирование. Но для data science обычно требуют PHD-level, и просто так с улицы туда тоже не попасть.

    Так что надеяться закончить месячные курсы и получать хорошую зарплату, это наивно. Любой может написать hello world на Python за 10 минут, только никто за это не заплатит. Python он как английский язык — его знают все в ИТ, но для трудоустройства этого недостаточно.

    PS: Написано исходя из опыта нескольких лет разработки на Python ;)


    1. spballiance
      29.05.2019 22:22

      Раньше крестьянину писать и читать не требовалось, а теперь программирование как хобби набирает обороты. И что будет проще, тем и будут пользоваться
      Трудоустроятся единицы, но познакомятся тысячи


      1. DmitrySpb79
        29.05.2019 22:29
        +1

        Просто сейчас набирает обороты [нае]бизнес типа «Курсы программистов за 2 месяца». И ведь кто-то платит деньги, надеясь потом трудоустроиться.

        А для хобби да, ничего плохого нет.


        1. spballiance
          29.05.2019 22:33

          И ведь кто-то платит деньги,

          кто-то абонемент в зал на год покупает, а сходит 2 раза.
          Их деньги, их жизнь, их ошибки, их поиск себя… Хуже когда кроме пива и телика нет интересов


        1. nile1
          30.05.2019 00:58
          -1

          «Курсы программистов за 2 месяца»

          С++ за 21 день
          image


          1. saipr
            30.05.2019 09:08

            В книге 819 страниц. Это только читай по 40 страниц в день.
            В далеком 1988 году мне удалось приобрести копию книги Эндрю Таненбаума «Operating Systems: Design and Implementation». И в ней было дано описание языка Си, которое занисало всего на 12 страницах. Это было очень красиво. И я всегда ставлю в пример именно это описание языка Си.


          1. darthslider
            30.05.2019 17:33

            image
            Классика же :)


    1. VolCh
      30.05.2019 09:01

      А я бы как раз рекомендовал начинать обучаться программированию с программирования на Python. Но именно чтобы понять, что такое программирование вообще, без конкретных планов использования его как профессиональный программист.


      1. DmitrySpb79
        30.05.2019 10:55

        Да, для обучения для себя Питон классная штука.

        А если цель — начать зарабатывать как можно быстрее, наверное лучше смотреть в сторону Kotlin, или Swift или каких-нибудь модных web-направлений (HTML5+C#+...). Будет все равно не быстро, но быстрее чем на Python имхо.


        1. VolCh
          30.05.2019 15:42

          Я бы и для начала карьеры программиста его порекомендовал. Но именно как способ погружения в программирование, не рассчитывая особо, что он будет первым рабочим языком. Для "получить первую работу как можно быстрее, а то есть нечего будет" скорее в сторону JS надо смотреть


    1. nkorolko
      30.05.2019 12:20

      Мне кажется Python отлично подходит как основной язык программирования, если вакансия подразумевает некоторую степень программирования, но в которой программирование не является основой работы. То есть, для Software Engineer — нужно знать что-то более фундаментальное. А для Data Analyst, Data Scientist, ML Engineer, Quantitative Analyst/Researcher — вполне должно хватить.


    1. DarkGenius
      30.05.2019 15:45

      Но для data science обычно требуют PHD-level

      Интересное наблюдение. В вакансиях так и пишут, что им нужен PhD?


  1. ideological
    29.05.2019 23:03
    +4

    Ох уж эти новые программисты, те что не по призванию, а по моде.
    Научиться в формате игры / за 5 минут / после курсов. Рукалицо.


    1. Tp0yaH
      30.05.2019 15:59
      +1

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


      1. oracle_and_delphi
        31.05.2019 07:49

        Проблема в том, что если он не технарь, или не математик, или не физик, а чистый гуманитарий, либо вовсе без образования, то из-за отсутствия теоретической базы, которую на курсах не дают (а дают в ВУЗе), он через некоторое время упрётся в потолок своей ограниченности… и будет биться лбом об стену.


        1. Neikist
          31.05.2019 07:59

          Зачем биться? Я вот понемногу эту самую базу осваиваю. Еще математику подтягивать собираюсь в будущем.


        1. Tp0yaH
          31.05.2019 09:55

          и будет биться лбом об стену

          И тут два варианта — либо пойдет учить дальше, либо пойдет в смежную сферу — где работу надо работать, но математика не нужна. Например, в вебе, много таких мест.


  1. Alesh
    29.05.2019 23:23
    +1

    "До уровня мидла можно прокачаться в течение года обучения"


    До уровня мидла вы прокачаетесь только на реальном проекте. Возможно хорошо зазубрив все и освоив методику прохождения собеседований вы сможете попасть в Яндекс, не представляю что они делают с такими "мидлами"?) Но возможно о все кончится хорошо)


    1. Source
      30.05.2019 01:23
      +3

      Ага, даже интересно посмотреть на такого кадра, который возьмёт на позицию мидла человека с резюме "в течение года учил Python на курсах".


      Я понимаю, что пост — реклама Geekbrains, но нельзя же настолько топорно впаривать.
      Вот ещё фееричный пассаж:


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

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


      1. achekalin
        30.05.2019 12:33

        Более того, судя по посту, ваша аналогия может быть записана так: «в русском языке всего 33 буквы, то есть чтобы их выучить достаточно потратить один-три дня, но даже хорошо владеющий русским человек не обязательно использует их все».

        У меня сразу мысль была: а что, на курсах учат все же все «около 70 функций и несколько десятков зарезервированных слов», или только те, что используют крутые программисты? А вообще программированию и подходам к разработке именно на Pythone учат?


        1. Source
          30.05.2019 15:07

          Ну, я не стал в очередной раз по бедной букве Ё проходиться )))


          1. achekalin
            30.05.2019 15:09

            Судя по посту (рекламному, намекаещему, что даже 70 функций учить не придется) в нашей с вами аналогии не только про ё должна речь идти, но и про ы, й, а то и про ш. 70 функций? Вот ещё, кому это надо, автору языка только забыли сказать о том!


      1. Kealon
        30.05.2019 18:33

        ну что вы сразу правду матку, каждый выживает как может
        люди прочитают и подумают, раз уж у Geekbrains такая лапота, то что у остальных???

        ох уж этот ветер перемен


  1. sshmakov
    29.05.2019 23:45
    -1

    По моему скромному разумению связка Python 3 + PyQt5 + Qt Designer + PyCharm + PyInstaller покрывает все потребности в разработке десктопного ПО — по удобству среда аналогична IDEA (что понятно) и почти такая же, как Qt Creator, по скорости разработки язык лучше и дружелюбнее, чем Java или C++, но строже JavaScript, по функциональности и проработанности Qt бьёт .Net/WinForms/Swing. То есть данная связка — это такой современный Delphi — комплект для быстрой разработки десктопных приложений. Только бесплатно.

    А вот те люди, что говорят, что Python не пригоден для этих целей, наверное, так не пробовали.


    1. apxi
      30.05.2019 08:14

      Какой зоопарк! А что будет если обновится один из этих компонентов? Не проще поставить делфи?


      1. spballiance
        30.05.2019 08:31

        Какой зоопарк!

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

        Для сенсорных и мультитач есть Kivy.


      1. sshmakov
        30.05.2019 09:50

        Кому-то проще, кому-то нет. Мне не проще, потому что не корпоративный стандарт, кроме legacy на D5, и нет экосистемы, в отличие от Python.
        А все перечисленные обновляются весьма часто, проблем нет.


    1. atoro
      30.05.2019 13:45

      Вопрос больше не в том, что можно на Питоне, а чего нельзя, а в том, насколько востребован будет человек уровня джуна с резюме типа «вебом не занимался, датасайнс не моё, зато умею десктопные приложения на питоне писать» относительно людей с эквивалентным набором скиллов в том же бэкенде.


      1. sshmakov
        30.05.2019 16:35

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


  1. KonstantinSpb
    30.05.2019 00:41

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


  1. Source
    30.05.2019 00:53
    +1

    Мы запускаем цикл статей в которых подробно расскажем о каждой профессии через опыт людей. В первом выпуске обсуждаем Python-разработчиков.

    Кхм, а ничего, что не существует такой профессии?
    Профессия называется инженер-программист. А инженер-программист, владеющий только одним языком программирования, — это примерно как столяр, который только одним видом пилы умеет пользоваться.


    1. Wyrd
      30.05.2019 01:36

      Пила-рокстар, рубанок-ниндзя, стамеска-гуру… где спрос там и преложение.


    1. Kroid
      30.05.2019 13:34

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

      Я тот, кого сейчас называют фулстек, разбираюсь в разных областях, и я скажу, что мне очень далеко до специалиста, который, к примеру, последние 5 лет сидел и изучал только лишь PostgreSQL. Так же как и ему будет далеко до меня в других областях. Это разные компетенции, не надо их противопоставлять. «Инженер-программист» — так называется профессия в какой-нибудь госконторе. А в коммерческих огранизациях ищут людей для конкретных задач. И там профессия вполне будет называться «разработчик под android».


      1. Source
        30.05.2019 18:25

        А что это вы так узко — столяр?

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


    1. VolCh
      31.05.2019 09:17

      Кроме профессии инженер-программист (обычно выпусник вуза по соотв. специальности), есть профессии техник-программист (выпусник техникума/колледжа) и просто программист (выпусник ПТУ/лицея). Это без учёта всяких математик-программист и т. п.


      1. Source
        31.05.2019 15:29

        И тем не менее, ни одна из этих профессий не ограничивается знанием Python.


  1. WeltRogg
    30.05.2019 02:08

    Парню скучно было администрировать и он стал программером? Ну такое себе решение, разработка еще та нуднятина, если хочет веселья лучше вообще из ИТ, есть другие нормальные области где и общения хватит и уместно-творческих задач


  1. Terras
    30.05.2019 03:32

    шаг-1. Пошел такой на гикбрейн
    шаг-2. Выбрал там курс питона
    шаг-3. Прошел курс питона
    шаг-4. Устроился работать джуном
    шаг-5. Поднял за год себе уровень до мидла
    шаг-6. Получил зп 180к.

    99,9% людей отвалятся на 4 шаге.

    Проекты уровня hello world на питон не пишут, там изначально идет уже какой-то кастом. И Джуны такое обычно не тянут.


    1. VolCh
      30.05.2019 09:03
      +2

      Шаг 3 многие не пройдут, имхо :)


  1. neurocore
    30.05.2019 05:56
    +1

    А что, автор озвучил горькую правду it:
    учишь питон — датасаентист или веб
    учишь C++ — микросхемы и высокопроизводительные финансы
    учишь C# — геймдев (Unity)
    учишь Java — android и нормальные приложения
    учишь Haskell — сидишь без работы высокооплачиваемый специалист


    1. VolCh
      30.05.2019 09:05

      С# вроде вполне годен для "нормальных приложений", если заявления о его кроссплатформенности соответствуют плюс-минус фактам о Java


    1. Terras
      30.05.2019 09:58

      С# — геймдев, ну это такое. Юнити, конечно, тащит C# — но это далеко не все.

      На .net написана большая часть софта для гос.предприятий. Документооборот на нем делается очень клево.


    1. playermet
      30.05.2019 10:17
      +1

      Почему горькую то?


      1. neurocore
        30.05.2019 17:29

        Потому что в начале пути кажется, что универсальное средство есть


    1. Suvitruf
      30.05.2019 10:53

      1) Под каждую задачу свой инструмент — это нормально.
      2) Странно, что вы только C# отнесли к геймдеву, а тот же C++ нет, хотя есть не менее популярный UE.
      3)

      учишь Java — android и нормальные приложения
      А чего ещё хочется? Сам факт того, что на Java стало возможно не только на серверах что-то писать, уже круто.


      1. VolCh
        30.05.2019 15:35

        А когда на Java можно было писать только на серверах? По ощущениям взлетела она прежде всего благодаря десктопам и мобайлу(до андроида)


        1. sshmakov
          30.05.2019 16:39

          И ещё апплетам


          1. VolCh
            30.05.2019 18:14

            Угу, забыл про них.


    1. emerald_isle
      30.05.2019 16:50

      Вы забыли «учишь LISP — кушаешь мамкин борщ».

      На самом деле выучить вначале можно что угодно и быть почти кем угодно — сложнее потом менять «специализацию». Причём технически тоже несложно (если голова есть), сложно именно найти работу джуна python, например, с пятилетним опытом java — просто отфутболивать будут с формулировкой «а зачем оно вам?».


      1. Neikist
        30.05.2019 21:49
        +1

        Нашел работу андроид разработчиком на котлин спустя 4 года в 1с. И даже потерял всего процентов 20-30 по доходу (зато получил офис получше с бесплатным питанием, спортзалом и игровой). Ответить на вопрос «зачем оно вам» довольно просто обычно, вот несколько вариантов (список естественно не конечный):
        а) область/стек видятся более перспективными в финансовом плане;
        б) текущий стек в чем то ограничивает/не устраивают возможности;
        в) хочется перейти в другую предметную область так как с выбором текущей промахался/за несколько лет наскучила;
        г) узнал о чем то в желаемом стеке технологий от чего нереально торкает…


      1. VolCh
        31.05.2019 11:23
        +1

        Просто надо искать работу не джуна python, а сеньора python с пятилетним опытом в java. Желательно (но не обязательно) пару раз внедрив что-то в продакшен на python пока работаешь с java


    1. nick_gabpe
      30.05.2019 17:20

      Python применяют не только в Data Science и в Web разработке, а, например, в тестировании для автоматизации, да и помимо тестирования при помощи python можно автоматизировать многие вещи. Не нём быстро писать, его просто читать, он кроссплатформенный.


    1. LMSn
      31.05.2019 11:56

      учишь C# — геймдев (Unity)

      Ммм… Забавно читать такое, когда ты пишешь бэкенд на C# для большой высоконагруженной системы.


      1. vassabi
        01.06.2019 18:10

        а сколько у вас людей в отделе? Много вакансий \ часто ли собеседуете?


  1. zim32
    30.05.2019 10:39

    На питоне еще много всяких консольных утилит. Правда его там потеснит ГО, но все же.


  1. olegl84
    30.05.2019 11:08

    Быть программистом это значит иметь аналитическое мышление и главное уметь составлять алгоритмы.
    Поэтому первый язык должен обязательно быть максимально строгий. Как минимум типизированый. С моей точки зрения самый лучший это Object Pascal, жаль Delphi почил в бесконечности.


    1. vassabi
      30.05.2019 11:14

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


      1. spballiance
        30.05.2019 11:16

        а еще нужно знать 20 пород лошадей, уметь танцевать 5 бальных танцев, знать 4 иностранных языка, включая латынь, и минимум раз в неделю пороть крепостных.
        Каждый раз улыбаюсь словам «должен»


      1. Neikist
        30.05.2019 11:36

        ассемблер — там вообще максимальная строгость языка и типизации

        Шутите?


      1. VolCh
        30.05.2019 15:37

        Ассемблер вообще без типизации по сути, максимум из типизации там — согласованный размер операндов в битах.


        1. vassabi
          30.05.2019 19:37

          вот видите: меньше типов — меньше проблем.


          1. VolCh
            31.05.2019 11:24

            Это в ассемблере-то меньше проблем?


            1. vassabi
              31.05.2019 11:44

              1) да, там самые минимальные проблемы изза типов (или их неявного приведения компилятором\транслятором)
              2) В зависимости от ассемблера, там можно добавить структур (и получить проблем с типами, но это уже ваши проблемы, а не проблемы языка).
              3) потом все видишь в разрезе «а как это можно сделать на ассемблере», никакой магии. И поэтому легко перебежать на другие императивные языки.


    1. Source
      30.05.2019 22:21

      Да вроде Embarcadero ещё жива, и буквально полгода назад свежий релиз Delphi был.
      Lazarus опять же есть. Так что поучиться есть на чём.


  1. JTG
    30.05.2019 11:39

    Говорят, выучить английский и стать лингвистом легко. Правда?


  1. atoro
    30.05.2019 12:21

    За статью спасибо. Потвердила мои опасени. А то я в каком-то смысле как первый герой статьи, уже 15 лет как сижу не на металлургическом заводе конечно, но и от коммерческой разработки мои поделия на С/С++ да Андройде бесконечно далеки. А покритиковать в силу специфики работы особо некому — заказчки доволен, значит всё норм. Решил к окончанию контракта сферу сменить, с тихим омутом своим рапрощаться, почитал, что в коммерции востребовано — схватился за питон. Первый месяц конечно один восторг от языка, а потом начали первые смутные подозрения возникать, что язык-то красивый, но дорожки у него всего две — или Django или AI c Data. Первое вроде как теоретически возможно с моей базой освоить до уровня пары пет-проектов в резюме к следующей осени, но внутреннего энтузиазма и возбуждения не вызывает, как например мобильная разработка и те же Dart+Flutter. Data наоборот энтузиазм вызывает, но даже если я сейчас всё брошу, найду лекции интституские и буду год алгебру с матстатистикой долбить, кому я буду нужен в этой области в свои 40 лет и радиоэлектронным дипломом? Вот уже недели три последние по инерции книжки по питону дочитываю, с вебом знакомлюсь, задачки решаю… Вроде и бросать не хочется в самом начале, язык-то красивый и простой, но и времени не так много, чтобы тратить из «любви к искусству». А прочитав статью да комменты окончательно осознал, что наверное питон для следующей жизни надо оставить, в суровую реальность этой он уже не вписывается.


    1. sshmakov
      30.05.2019 16:37

      В 40 лет кому-то еще интересно, какой у вас диплом? Есть, и ладно.


  1. Chagevare
    30.05.2019 12:21

    Интересная статья, буду следить за циклом. А то я уж было подумал, что я один такой рисковый, раз решил в 36 лет новую карьеру с нуля начать. Кстати, не раскрыта очень важная тема проблемы трудоустройства стажером после 30.


  1. Hedgehog7
    30.05.2019 14:24

    Возможно, меня сейчас заминусуют, но отмечу «Зная Пайтон можно делать много всего» — лучше так не говорить, потому что знать язык на 100% просто невозможно ввиду того, что язык постоянно развивается и совершенствуется


  1. eyeofhell
    30.05.2019 15:28

    «Очень известный в Python-сообществе Григорий Петров тоже говорит, что скилы по программированию (хард скилы) подтянуть всегда можно. Главное сойтись во взглядах на жизнь, чтобы было комфортно вместе работать. Я с ним согласен.


    Я больше про то, что про прочих равных не стоит зацикливаться на конкретных технологиях. Если программист умеет писать код и делает это в нужной нам области, то смена языка или фреймворка для него не будет большой проблемой. Нанимая опытного спеца по мобильной разработке не очень разумно искать доскональные знания последних версий Android и синтаксиса Java наизусть. Велик риск, что через полгода вся команда будет срочно переучиваться на Kotlin или Dart. В современном мире гораздо ценнее умение быстро изучать новое, искать ответы на stack overflow без копипасты, понимать зачем и для чего пишется тот или иной код.


    1. OBIEESupport
      30.05.2019 15:48

      А в мире энтерпрайза все гораздо спокойнее. Пишут люди пару модулей и сидят до смены парадигмы. Мигрировали возможности с Python 2 на 3 — ну и отлично, поправим патчами в модуле пару фич — будет новая выкладка. «Мой круг» — вообще молодцы. Еще бы раздел в статью добавили «Куда я денусь после Питона», и было бы клевое, вполне рабочее резюме.
      Машину чинить кривыми ключами — это какой же мастер согласится?


    1. VolCh
      30.05.2019 15:51

      Зависит от кадровой политики и бизнес-модели. Когда нужны конкретные навыки, а то и знание предметной области, чтобы уложиться в дедлайн, а не закрывать бизнес, то очень точное попадание нужно, зато платить могут не разумные деньги


  1. ShinRa
    31.05.2019 09:08

    А почему все думают что стать разработчиком, это только выучить язык и писать на нем?


    1. olegl84
      31.05.2019 10:55

      Во во. Умение программировать важнее знания инструмента. Кроме того в современной коммерческой разработке во всех областях нужна знание множества языков и инструментов. Фронтэнд — JavaScript, HTML, CSS, LESS/SASS, React, Angular. Backend — Python/PHP/Ruby, языка шаблонизатора, HTML, SQL, работа с базами данных, Desktop — С#,SQL, Linq / C++,QT,SQL,Windows, AI — Python/какая нибудь библиотека AI, например TensowFlow/математическая теория.


  1. TonySlave
    31.05.2019 11:58

    Прочитал эту рекламу ГикБранс — никогда им не верил.
    А теперь вопрос как же мне главному инженеру в сфере эксплуатации инженерных сетей в свои 33 года, бросить на х… эту работу и уйти работать в разработку (хотя интересно «машинное обучение»), ибо хочу развития и движения, а на нынешней работе его уже не будет. Взялся за питон (книжка+онлайн книга, пару курсов прошел онлайн), до этого также прошелся по вэб разработке, только обучался (HTML, CSS, PHP, JS), но это не вдохновило — хочется в последствии получать сложные задачи. Пайтона пока выбрал так как «низкий уровень входа», для того чтобы реально развиваться нужно работать в программировании, но при этом и кушать что-то, все эти курсы на мой взгляд вяло дотягивают до уровня джуниора, все курсы которые я вижу в русскоязычном интернете лажа и маркетинг, остается только саморазвитие. Так вот господа программисты скажите мне какова должна быть структура и программа моего обучения, чтобы через пару лет я мог стать джуном и также как я стал главным инженером (начиная со слесаря-наладчика 3 разяда) в итоге был шанс поднятся до сеньора?


    1. oracle_and_delphi
      31.05.2019 12:07
      +1

      Именно вам, будучи инженером, лучше не питон учить, а плавненько перейти на смежную с вашей работой ITшную специальность и попрактиковаться в этом в рабочее время, а затем набрав уверенную практику, уже на собеседовании:
      — честно заявить, что занимаетесь вы этим именно на работе,
      — и честно сообщить сколько лет вы уже там работаете
      то есть, начнёте вы в таком случае отнюдь не джуном.
      Далее, с этой смежной специальности, вы при желании сможете перейти на смежную этой специальности, но не связанную с вашей работой, специальность.

      Например:
      — электронщик может выучив C/C++ перейти на своей работе к самостоятельному программированию микроконтроллеров на C/C++,
      — а, затем, набрав практики, на собеседовании сообщить, что хотел бы с C/C++ перейти на C# без микроконтроллеров.


    1. kapash
      31.05.2019 12:16

      у вас нет на работе разработчиков? Начните тусоваться с ними и все само получится.


      1. TonySlave
        31.05.2019 12:31

        У меня есть только сисадмин и с ним мы тусуемся уже несколько лет ) Но у него нет желания в программную инженерию соваться.


  1. BurLik
    31.05.2019 11:58

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


    1. vassabi
      01.06.2019 18:22

      хоть системно, хоть внесистемно — невозможно учить язык без конкретной задачи.
      Даже смочь вывести «привет мир» — уже одно это весьма конкретная задача (сначала — поставить среду, а потом скомпилировать\запустить под интерпретатором).