Что нужно знать, уметь и понимать, чтобы не иметь проблем с поиском работы питонистом

    Язык — лишь малая часть того, что вам нужно знать. Может быть около 5%, а то и меньше.

    Эта статья повторяет и дополняет содержание моего выступления «Что отличает джуниора от сеньора или как питонисту не иметь проблем с поиском работы» на последнем MoscowPython Meetup 39. Многие обращались ко мне после выступления с вопросами и я обещал опубликовать статью на Хабре и обсудить в комментариях.

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

    no problem


    Ответы будут чуть ниже


    Сперва расскажу о результатах опроса с митапа (если кто был там или слушал трансляцию):

    Кто же приходит на митап?


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

    Есть ли вообще проблема?


    Далее на митапе я спрашивал есть ли у присутствующих проблема поиска работы. Для неуверенного большинства проблем нет, но соотношение, на вскидку, примерно 60/40 (из тех кто поднял руки). Так что тема определенно актуальна и статья многим может стать полезной.

    Как устроиться работать джуниором?


    Это почти самый популярный вопрос, на который я отвечу так: работодатель вряд ли наймёт вас, если вы вообще ничего не знаете и не имеете никакого опыта. Весьма редко работодатели нанимают джуниоров и это зачастую что-то типа экперимента — вдруг поймаем реально таланта, который резко станет мидом, а мы сможем платить ему зп джуниора? Поэтому мой вам совет: не старайтесь устроиться джуниором, а лучше как следует изучите то, что здесь написано и сразу цельтесь в миды. Многие не знают и половины того, что надо и их берут только из-за «опыта» (зачастую бестолкового). Короче не бойтесь и не считайте себя ни на что не способными, вооружайтесь знаниями, практикуйтесь и ничего не бойтесь!

    need to know

    Что нужно знать


    • Английский язык. Он нужен для чтения документации, примеров на stackoverflow и статьей, а так же чтобы клеить иностранок, когда будете ездите в отпуск. Многие в России имеют печальный опыт обучения языку в школе и в институте, но на самом деле, ребят, это действительно на 95% проблема системы образования, а на остальные 5% — отсутствие реальной необходимости в языке. Не существует людей (не считая немых и больных амнезией), который не смогли бы научиться говорить на английском, а уж тем более свободно читать. Почти все вы уже умеете читать со словарем и для начала этого вполне достаточно.

    • POSIX-операционная система. Конечно с появлением docker и прочих vagrant'ов это стало не так критично как ранее, но все же работать на UBUNTU или MacOS на порядок комфортнее из-за нормальной нативной консоли (особенно под убунтой) с ее командами ls, cd, cat, ps, grep, kill, killall, vim, ssh, cp/scp и множеством других, используемых ежедневно в работе. Оболочка bash, переменные окружения, ssh и ключи доступа к удаленным машинам — все это используется весьма и весьма часто. Как изучать? Да никак особо, просто установите и пользуйтесь, постепенно само все изучится, ну можно статейки по отдельным командам посмотреть.

    • Python и его структуры данных. Структуры данных называются в питоне немного иначе, чем в других языках. Для изучения синтаксиса я настоятельно рекомендую самый обычный туториал на официальном сайте, он отлично написан — если не сильны в английском заодно и попрактикуете. Помните, если вы собираетесь работать питонистом, то английский нужен будет постоянно.

    • Библиотеки Python. Именно знание их в основном от вас будут ожидать работодатели. О существовании некоторых достаточно просто знать, а некоторые нужно знать хорошо. Django сейчас в тренде и хорошее знание этого фреймворка сильно упрощает поиск работы. Вкратце: с одним лишь знанием языка вы нафик никому не нужны. Нужно иметь представление о популярных библиотеках, а найти список таких можно просто полистав вакансии.

    • Форматы данных XML, HTML, JSON. Это форматы данных, без которых нынче никуда. Для изучения XML я рекомендую почитать документацию lxml (и попробовать все примеры оттуда), для HTML — htmlbook.ru, для json — хотя бы просто погуглите что это.

    • Протокол HTTP. Имхо, самое полезное в нем это знать статусы сообщений HTTP, что такое cookies, session, заголовки, тело и reason. Мне кажется статьи в википедии хватит для начала, но может кто подскажет хорошую статью?

    • Базы данных. Их можно изучать годами — настолько обширная тема и хорошее знание баз данных, умение оптимизировать структуру и запросы необходимы чтобы стать ведущим разработчиком с большой зарплатой. Но для начала вам нужен хотя бы минимум — уметь установить СУБД и знать что такое INSERT, UPDATE, SELECT, JOIN, GROUP BY для реляционных баз. Лично я рекомендую PostgreSQL, так как она хорошо поддерживает гео-данные, которые нынче в каждом втором стартапе. Помимо реляционных, вам надо знать, что есть ещё noSQL типа Mongo (и зачем они нужны) и key-value хранилища типа Redis.

    • (очень желательно) Javascript, jQuery и прочие AngularJS. Сейчас все больше сайтов уже не генерят HTML, а асинхронно обмениваются с сервером информацией и ее отображают. Надо понимать зачем это все и из этого вытекает следующий пункт.

    • (желательно) Архитектуры информационных систем. Фактически хорошее понимание архитектур вкупе с хорошим знанием баз данных делает вас сеньором. www.insight-it.ru — к сожалению мало обновляется последнее время, но даже то что там есть я нахожу крайне полезным.

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

    Не пугайтесь такого большого списка. Английский и ОС изучаются по ходу, не нужно отдельно тратить на это месяцы и годы; Python, основы баз данных, форматы данных, HTTP изучаются за считанные дни, доскональное их знание не требуется, если это не отмечено в вакансии отдельно. Изучение архитектур, знакомство с Javascript — этим конечно можно заниматься годами, но для начала тоже можно лишь ознакомиться.

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

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

    skills required

    Что нужно уметь?


    • Читать чужой код — если не умеете, то фактически вы не умеете пользоваться существующими ресурсами и каждый раз будете пилить велосипед. Как правило это не эффективно (ну давайте может быть еще язык программирования каждый раз снова создавать под каждую задачу?). Со временем вы поймете, что иногда быстрее написать что-то свое, но по началу — старайтесь учиться у других. Даже если вы в итоге решите писать что-то свое, у вас будет уже хоть какое-то представление о том как надо или как не надо делать.

    • Владеть IDE — это и ускорение написания кода и возможности отладки, тэстирования кода, подсказки ошибок и недочетов, где вы не следуете гайдлайнам, множество полезных инструментов. Я рекомендую PyCharm или PyDev — они достаточно зрелые и имеют хороший функционал прямо из коробки.

    • Сразу осваивайте и пользуйтесь стандартными инструментами — virtualenvwrapper, pip. Недавно наткнулся на pyenv — имхо тоже хорошая штука.

    • Немножко сисадминить — это пересекается со знанием ОС, рано или поздно надо все-таки уметь настраивать софт на сервере где ваше приложение/сайт будет жить (Дима, привет).

    • Совсем забыл сказать на митапе и ребята подсказали: конечно же системы контроля версий — хотя бы только git, но не помешают и mercurial с svn — мало ли где с ними столкнетесь. НИКОГДА не используйте архивы и прочий PHP-стайл. Владение git должно быть чуть ли не выше, чем самим Python, если вы устраиваетесь на работу в команду. Посмотрите github.com, bitbucket.org.

    • (желательно) освоить такие средства как vagrant, docker, puppet/chef/ansible, fabric — если у кого в этом пробелы, советую Moscow Python Conf, я вот сам пойду, если будет возможность.

    Все это — постоянно используемые в работе инструменты, без знания которых даже отлично владея языком вы будете обузой для команды, потому что либо вы будете медленно работать (не используя IDE), либо постоянно писать велосипеды не используя существующие решения (не читая чужой код; особенно извращенная форма — не изучив даже код своих коллег в рамках проекта), будете испытывать проблемы с переходом на новые версии используемых библиотек (не используя virtualenvwrapper), дергать других при любой задаче связанной с сервером (не имея элементарных навыков админа), создавая лютый зуд в заднице коллег косячными коммитами (не зная git). Вас проще будет убить, чем прокормить в команде, а ваша эффективность может быть даже отрицательной, потому что другие могут тратить время на исправление ваших косяков и помощь вам. Поэтому потратьте немного времени, освойте эти инструменты, это тоже совсем-совсем не долго.

    what to understand

    Что нужно понимать


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

    Язык — лишь малая часть того, что вам нужно знать. Может быть около 5% или даже меньше.

    Таблица соответствия того, что нужно работодателю и как вы можете ему с этим помочь
    Мечта работодателя Что от вас требуется
    делегирование — поставил задачу и её сделали правильно без твоего участия не боитесь брать на себя ответственность и достаточно компетентны
    скорость разработки (основное преимущество питона) владеете языком, знаете сторонние библиотеки и понимаете, что скорость разработки очень важна
    надежность системы тэстирование собственного кода насколько это возможно или требуется
    поддерживаемость (еще одно преимущество синтаксиса и рекомендаций питона) знакомство с гайдлайнами (pep, import this) и по возможности следование им
    эффективность системы знакомство со свежими технологиями, библиотеками и другими приложениями
    эффективность разработчика заинтересованы в проекте. Тут я советую действительно выбирать проекты, которые интересны.
    предсказуемость, возможность планирования ваши планы на ближайший год ясны

    top secret
    Интересно что он ей такое сказал на самом деле?

    Советы


    1. Развивайте коммуникацию. Когда ищете работу — ходите на как можно больше собеседований. Успех собеседования напрямую зависит от навыка коммуникации и она отлично оттачивается на собеседованиях.

      Вот вам пример
      Приехали мы как-то в баню, и там чувак вениками орудует. А я веников 3 года не видал — в Азии туго с ними. Ну я ему “ого, братюня, фартануло тебе, где ты веников раздобыл?”. Он мне: “да вот привез с собой из России, че хочешь я тебя тоже напарю?”. Ну я не дурак отказываться, конечно. Пообщались с ним, нормальный такой чувак. Ну и разъехались по домам. Через пару недель опять приезжаем — там он же, опять с веником, стали снова общаться, он меня и спрашивает, мол, “а ты вообще чем занимаешься?”. Я говорю ну так-сяк, вот коворкинг у меня свой, а в свободное время на питоне программирую. Он “да ладно? Мне как раз питонщики нужны”. Оказался он основателем небезызвестной компании и я до сих пор с ним работаю.

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

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

      Антипример:
      Жил у нас в коворкинге один парень — крутейший JS-программист, уровня сеньора с зп 120000+. Работает за 80, потому что неловко себя чувствует на собеседованиях, не может себя правильно позиционировать.

    3. Привирайте. Слегка, ну может процентов на 20, не больше. Например, можно сказать, что вы знаете что-то, о чем вы всего лишь слышали или слегка знакомы.

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

    4. Чаще меняйте работу. Профессиональный рост на новом месте работы длится обычно порядка 2-3 месяц, изредка до полугода, потом начинается рутина и мало нового. Чтобы этого избежать, надо как можно чаще менять место работы (примерно раз в полгода-год). Как вариант — переходить на другую должность или в другой проект в рамках одной крупной компании, но если вы засиделись на одной позиции уже год и никаких изменений не предвидится — смело уходите.

      Исключения
      Исключения для этого совета: если вам ну очень интересен проект в котором вы работаете и/или у вас есть опцион и проект явно ждет успех.

      UPD Этот пункт вызвал много споров в комментариях. Дело в том, что вас нанимают не за карму, а за ваше умение делать работу. Сидение 5 лет в одной конторе и делание одного и того же все это время сделает из вас мастера делать это одно и то же, но не сделает вас действительно хорошим специалистом. Умение решать любую задачу — это ценно, для этого вам надо сталкиваться с как можно большим количеством различных задач. Не надо впадать в крайности и менять работу каждые 2 месяца — это конечно чересчур (но и бояться уйти с говноработы где вам реально не нравится тоже не стоит — уходите и не парьтесь). В конечном итоге удержать вас в проекте — это головная боль работодателя, а не ваша. Это немного цинично, но это лишь совет и вам самим решать. Просто имейте ввиду — если вы уйдете с работы где как вы чувствуете у вас остановилось развитие или тем более вам что-то не нравится — скорее всего будет хорошей идеей.
    5. Изучайте смежные отрасли, новинки, новые библиотеки. Дедушка Ленин завещал ведь.

    6. Работайте за валюту напрямую на иностранных работодателей. Хорошим специалистам — на toptal.com, попроще — на upwork.com. С хорошим английским переехать в США, Австралию, Германию и прочие Великобритании дело вообще не хитрое.

      как я английский выучил
      Сперва я 9 лет изучал английский в школе, потом 3 года в институте и уже мог разве что читать и переводить со словарем. Потом я несколько лет оттачивал навык чтением документации, но сказать сложнее «how much for coconut» получалось с трудом. Первым действительно эффективным шагом был просмотр видеоуроков Дмитрия Петрова «Полиглот» с канала Культура, следующим шагом — практика общения с иностранцами в нашем коворкинге на Пхукете, ну а совсем легко стало после женитьбы на филиппинке. Кроме всего прочего один мой знакомых открыл школу английского с уникальным методом, который позволяет за месяц-два обучиться, правда это на Пхукетике опять же.

    7. Идите вообще на воркшоп. В США это нормальная практика — окончив школу (даже не вуз, представьте себе) пойти отучиться 2-3 месяца на воркшопе и всё — ты уже востребованный специалист, который без труда найдёт высокооплачиваемую работу наравне с выпускниками вузов и с опытом работы. Это мне рассказал один молодой-парень, американец, который жил у нас в коворкинге и прошёл именно такой путь. У нас в России такой практики пока, к сожалению, нет (чаще это трата 5 лет в вузе, просто курсы синтаксиса языка, который, как я надеюсь вы поняли — лишь малая часть того, что нужно знать). После митапа у меня возникла идея организовать воркшоп, но в конце октября я уже улетаю обратно в Азию и просто не успею провести его здесь. Поэтому если есть желающие уехать на зимовку вместе с нами, а заодно научиться всему тому, что я тут написал — пишите в личку, что-нибудь придумаем.


    UPD: В комментариях выразили мнение, что эта статья относится только к веб-разработке на питоне. Это не совсем так, просто веб-фреймворк Django, который я советую к изучению является самым востребованным на данный момент в чем легко можно убедиться. Вы можете запросто выбрать другое направление и большая часть статьи так же останется актуальной, но легко ли вам будет найти работу — я не знаю. Более того, совет про изучение других популярных библиотек именно на то и нацелен, чтобы вы не ограничивались только лишь Django и расширяли свои знания по другим направлениям.

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

    Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.

    Так как у вас с поиском работы?
    Поделиться публикацией
    Ой, у вас баннер убежал!

    Ну. И что?
    Реклама
    Комментарии 182
    • +3
      Скажите, а если изменить название статьи на: «Что нужно знать, уметь и понимать, чтобы не иметь проблем с поиском работы программистом», то суть статьи сильно изменится?
      • +1
        Вообще-то да, потому что там много специфичного именно для экосистемы питона и особенностей этого языка. Но примерно половина, пожалуй, общие.
        • +7

          Не согласен, статья полностью посвящена применению Python для веб-программирования. Поэтому легко можно заменить "питонист" на "веб-программист". В статье мало специфичного именно для Python, и при желании всю эту специфику легко можно заменить на аналоги для других языков.
          Замены примерно такие:
          Python -> название другого ЯП
          Django -> популярный full-stack веб-фреймворк под другой ЯП
          PyCharm или PyDev -> IDE для другого ЯП или даже универсальный редактор типа Sublime или Atom + плагины под выбранный ЯП
          Плюс список стандартных инструментов (virtualenvwrapper, pip, pyenv) тоже надо будет заменить.


          В общем, я бы сказал, что в статье достаточно заменить порядка 10 слов, чтобы она стала про Ruby, ну или любой другой ЯП, применяемый для веб-разработки.

          • 0
            То есть надо было писать «вам надо изучить какой-нибудь IDE, освоить какой-то менеджер пакетов, популярный фреймворк и язык — и вот вы уже какой-то программист»? Напишите свою статью на эту тему, я не буду на вас в суд подавать за нарушение авторских прав :-)
            P.S. Единственный похожий на Python язык — это Ruby, все остальные отличаются довольно и для них некоторые пункты статьи будут не актуальными или даже вредными.
            • +4
              А чем будут отличаться требования к PHP, или, скажем, к Node.JS. 90% пунктов не изменится.
              • +1
                Не работал ни с PHP, ни с Ruby, но насколько я знаю в случае с Node.js больше будут спрашивать про асинхронность и промисы. Плюс там NoSQL базы более популярны, та же Mongo DB. В случае с PHP обычно идет MySQL, настройка Apach'a часто встречается. Разница в подходах разная, у PHP проснулся, обработал запрос, умер, у node.js однопоточность и асинхронность.
                • +1
                  Для js (особенно фронтовой части) вам придется каждые 3 месяца изучать новые бестпрактис, нужно будет постоянно будет бежать чтобы оставаться хотя бы на месте. И миллиард маленьких однострочных библиотек тоже придется изучить.
                  • +2
                    миллиард маленьких однострочных библиотек тоже придется изучить.

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


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

                • 0

                  Не "какой-нибудь", а популярный для конкретного языка. Это ведь гуглится за 5 минут.
                  Я не говорю, что в статье надо было писать как-то по-другому… Просто Python-специфики в ней как раз те самые 5%, о которых Вы же и писали.


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

                  Интересно, что из них Вы считаете вредным, скажем, для того же PHP или Go или даже Elixir?
                  Очевидно, что у каждого языка своя специфика… Но все Ваши пункты об общих вещах, а не о специфике. Да специфики там маленько есть в названиях инструментов, но, как я писал выше, их легко заменить на аналогичные инструменты, без потери смысла остального текста.


                  P.S. По-большому счёту это Вам же комплимент, что статья получилась достаточно универсальная.

                  • +1
                    Например, если вы работаете в Enterprise-сфере с применением Java, то совет про смену работы каждые полгода — вряд ли будет полезным и скорее всего навредит.
                    Вообще-то я далеко не только веб-программист и если тут написано про Django и не написано про Tornado, Pandas, Celery, Twisted, Scipy и кучу других мощнейших фреймворков, то это не значит, что статья только для веб-разработчиков.
                    Я понятия не имею что надо изучать Go или Elixir-разработчику, так же как и PHP, поэтому я об этом не говорю. Если вы считаете, что копипастой моей статьи и заменой отдельных слов на другие можно адаптировать эту статью под другие языки — копируйте и публикуйте. Я лично так не считаю, поэтому пишу только о питоне.
                    • 0
                      А как вариант перечислять несколько вариантов для других языков?
                      Допустим, python - django - virtualenvwrapper
                      второй вариант nodeJS - angular - npm(?)
                      третий php - <крутойФреймворк> - <то же что-то крутое>
                      И сможете убить всех зайцев))
                      ЗЫ: для меня, как для начинающего nodeJS & C++ программиста, тут 90% информации оказалось полезной. Всё кроме каких-то virtualenvwrapper, pip и тому подобных.
                      Кстати, на работу тоже берут по такой же логике, как и Вы говорили.
                      • 0
                        я рад, что это полезно не только питонистам, но и всем остальным!
                        • +2
                          ruby — ror — rvm/rbenv
                        • 0
                          Например, если вы работаете в Enterprise-сфере с применением Java, то совет про смену работы каждые полгода — вряд ли будет полезным и скорее всего навредит.

                          Конкретно этот совет в принципе спорный… Если проект устраивает, то нет никакого смысла менять работу чаще, чем раз в 3-5 лет. Да и Enterprise Java — это и не про веб-разработку, как правило.


                          это не значит, что статья только для веб-разработчиков.

                          Перечитайте статью… помимо Django, там про HTML, JSON, JavaScript, jQuery, AngularJS, HTTP-стек, Mongo, Redis, vagrant, docker, puppet/chef/ansible и т.д… Это всё конечно очень нужно для применения Python в научных расчётах и для анализа данных, не то что фундаментальные знания высшей математики :-)


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

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

                          • 0
                            Научные расчеты в институтах профессора делают, а программисты чаще всего занимаются формшлепанием. Если вы придете устраиваться на работу и расскажете как вы в институте делали научные расчеты и больше ничего — вряд ли вас кто-нибудь возьмёт.

                            Анализ данных — это не про работу программиростом, а про работу аналитиком. Использование питона как калькулятора я не отношу к работе программистом.

                            Не надо думать, что весь мой мир ограничен питоном, я не понаслышке знаком с другими языками. Я считаю, что идеология питона и его область применения накладывает определенный шаблон на то, что нужно изучить для того, чтобы было легко найти работу. Я знаю, что у других языков это другой набор, пусть частично и пересекающийся.
                            • –1

                              К чему было тогда вспоминать Pandas и Scipy, если Вы считаете, что программисты такими вещами не занимаются xD


                              Если вы придете устраиваться на работу и расскажете как вы в институте делали научные расчеты и больше ничего — вряд ли вас кто-нибудь возьмёт.

                              Почему же? Я, вполне вероятно, взял бы на Data Scientist. Учитывая, нынешнюю популярность тем Machine Learning и BigData, такому человеку найти работу гораздо проще, чем тому, кто с нуля какой-то воркшоп прошёл.


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

                              Судя по Вашим комментариям, в это верится с трудом… Т.е. понятно, что был печальный опыт с PHP лет 7 назад или раньше, ну и JavaScript само собой. Касаемо всего остального, Вы по-моему следуете своему 3-му совету… Хоть и непонятно зачем, я ж Вас не собеседую ;-)

                              • –2
                                Вы сравниваете человека, который умеет machine learning и big data с человеком прошедшим воркшоп по пайтону? Нанимаете системных аналитиков написать сайт или запилить парсер какой-нибудь? Интересный у вас подход, нестандартный.
                                • –1

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


                                  Нанимаете системных аналитиков написать сайт или запилить парсер какой-нибудь?

                                  Прекрасно. Вы ещё не в курсе кто такие системные аналитики и чем они занимаются. Аж настолько, что они у вас с Big Data ассоциируются xD


                                  P.S. Чтобы устроиться джуном по теме ML не надо уметь ML, достаточно хорошо знать математику.

                                  • –2
                                    Видел я как люди «умеющие алгоритмы» программисты с дипломом о высшем пишут неподдерживаемый лапша-говнокод на питоне.
                                    Веб, апи, пасеры/скрапперы — 90% работы питонистов и советовать людям изучать еще как писать консольные утилиты, всякие scipy и pandas (которые требуют также много месяцев изучения математики) не нахожу разумным.
                                    Django — топ-1 python-фреймворк по востребованности и простоте изучения, и почему-то все игнорируют пункт в статье про изучение других популярных библиотек после знакомства с джанго. Просто писать еще 10-20 библиотек сразу — TMI, вы не задумывались об этом?
                                    • –1

                                      Давайте я резюмирую:
                                      1) Питонисты — это программисты, использующие Python
                                      2) "Веб, апи, пасеры/скрапперы" пишут веб-программисты
                                      3) Множества питонистов и веб-программистов имеют непустое пересечение
                                      4) Ваша статья подходит практически для всего множества веб-программистов, но далеко не для всего множества питонистов


                                      На мой взгляд, все 4 утверждения — очевидные факты. Просто возможно Вы не встречали людей, которые пишут на Python и никакого отношения к веб не имеют.

                                      • 0
                                        Давайте сделаем проще:
                                        https://rabota.yandex.ru/search?text=python&rid=225
                                        Это агрегатор всех вакансий рунета и немного за его пределами. Надеюсь вы примете его как объективный аргумент.

                                        Полистайте, посмотрите что ожидают от Python-разработчиков и посчитайте скольким вакансиям противоречит моя статья. Пожалуй, единственное в кого я не попал это редкие вакансии разработчиков десктоп-приложений на PyQt, автотестировщиков (больше похоже на QA) и что-то больше похожее на аналитиков где желательны scipy, pandas и прочие hadoop.

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

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

                                        Где-то внутри меня сидит сомнение, что веб-разработчики это все кто угодно, кто имеет дело с данными передаваемыми по HTTP или пишущие что-нибудь, что как-то связанно с сайтами. Все кто работает в гугле веб-программисты? ведь google.com — это сайт. Очень смешно, ага. Facebook — тоже сайт, наверное и там все веб-программисты. Давайте будем отдавать отчет в том, что на питоне чаще разрабатываются информационные системы (и иногда эти системы имеют в том числе и веб-интерфейс), а внутри этих систем может быть множество совершенно разных задач и направлений разработки, так ведь?
                                        • 0

                                          Не вижу смысла продолжать с Вами общение, т.к. Вы продолжаете спорить с тем, чего я не писал, и тупо минусуете всё, что не понимаете, вместо того, чтобы сделать усилие над собой и осознать, что конкретно Вам пишут.
                                          P.S. Будьте благодарны работодателям, которые Вашу поверхностность терпят по полгода )))

                                          • –1
                                            Удивительно, так значит, я не один, кому надоел спор с автором. Автор, похоже, считает, что всё, с чем он не сталкивался и что не соответсвует его чувству прекрасного просто не существует. Иначе объяснить его реакцию на неугодные комментарии, похоже, нельзя.

                                            и тупо минусуете всё, что не понимаете, вместо того, чтобы сделать усилие над собой и осознать, что конкретно Вам пишут

                                            Прям мое мнение выразили.
                                            • 0
                                              Правильно, когда у вас кончились аргументы, а на объективный аргумент против вашего «далеко не всего множества питонистов» вам оказалось нечего ответить остается только сказать «сам дурак, не буду больше с тобой общаться и вообще я ничего такого не говорил».
                                • +3
                                  Здравствуйте, я 0xd34df00d, и я программист, делающий научные расчёты. Я рассказываю на собеседованиях, какие именно научные расчёты я делал до этого, и мне задают довольно мало вопросов по программированию и довольно много вопросов по математике. На одном из самых приятных собеседований, например, за день мы C++ обсуждали полтора часа суммарно, а всякий матан, от простенького теорвера до применения теории категорий в машинном обучении — всё оставшееся время.

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

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

                                  Но при этом я не знаю все эти ваши докеры, ангуляры и node.js. И рад этому.

                                  Ну а так-то систематическая ошибка вполне себе объяснима. Программисты, не умеющие делать научные расчёты, не тусуются в среде программистов, делающих научные расчёты.
                                  • 0
                                    Плюсы знаю достаточно хорошо, представляю, как работает процессор, чтобы этот весь машин лёрнинг писать оптимально и профилировать эффективно, могу написать компилятор (ну ладно, оптимизирующий компилятор в сишечку) и применить лемму о разрастании, чтобы не тратить время на использование CFG-инструмента для описания грамматики.

                                    Как связаны научные расчёты (численные методы? Численное обучение?) и теория формальных языков? Или вы просто хвастаетесь тем, как много областей математики знаете?
                                    • 0
                                      Обучаться неплохо бы на каких-то конкретных данных, а эти данные неплохо иногда откуда-то получать. При этом уже может быть выбран некоторый формальный язык для описания правил получения данных, парсер которого и надо написать.

                                      А математику я знаю весьма плохо, кстати.
                                    • –1
                                      А можете сказать соотношение сколько в мире требуется программистов с вашими навыками и с навыками описанными в статье? вряд ли.
                                      И еще статья все-таки для Python-программистов, а не для сишников. Сишником за пару месяцев таки вряд ли станешь.
                                      У меня нет проблем с математикой, я выигрывал все олимпиады по математике, физике и химии, вышку в институте сдавал не бывая на парах, просто потому что очень много решал задачек на заказ по всей общаге, так же как делал курсачи на заказ по архитектуре микропроцессорных систем. И знаете. проработав 8 лет программистом мне ни разу не пригодились все те знания. Да, мозги это, возможно, развивало. А может не так уж и сильно. Может быть начни я сразу программировать вместо изучения матана, тервера и начертательной геометрии прогресс был бы намного больше? Никто не узнает. Ваш пример крут, но его могут повторить единицы — все-таки не каждому матан легко дается.
                                      • +1
                                        А можете сказать соотношение сколько в мире требуется программистов с вашими навыками и с навыками описанными в статье?

                                        Я не знаю, сколько их требуется, но я вижу, что имеется их недостаточно. Их с руками отрывают.

                                        И знаете. проработав 8 лет программистом мне ни разу не пригодились все те знания.

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

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

                                        Может быть начни я сразу программировать вместо изучения матана, тервера и начертательной геометрии прогресс был бы намного больше?

                                        Хороший вопрос. Я вот с программирования начал, лет в 12 за это дело сел :) Интересно, как бы оно было, если бы я в молодости больше времени уделял математике?

                                        все-таки не каждому матан легко дается

                                        Он и мне не так уж легко даётся. Просто важно методично изучать вещи. Ну и всё-таки, наверное, тут как и с программированием — если какого-то удовольствия от изучения предмета нет, то далеко не уедешь.
                                        • +1
                                          Подписываюсь под каждым словом)
                                          Конечно есть разные области. Конечно моя статья не описывает вашу — для того чтобы стать таким как вы надо методично идти к этому много-много лет и начинать в таком возрасте, когда люди еще не задумываются как они будут на хлеб с маслом зарабатывать. Даже в институте, возможно, уже поздно.

                                          Но если вдруг кто сейчас учится в институте и читает мой коммент: ребята, 0xd34df00d дело говорит — учите матан и Си, можно и питон и, как видите, проблем с работой не будет.

                                          Матан не дается? Не отчаивайтесь — читайте статью и пробуйте. Ну а если это не попрет, не отчаивайтесь — в крайнем случае всегда можно пойти в менеджеры, там ни программировать не надо уметь, ни математику знать :-)
                        • +2
                          2-3 месяца на одной работе… однако…
                      • +2
                        делегирование — поставил задачу и её сделали правильно без твоего участия
                        К сожалению, многие конторы нанимают программистов даже без понимания того, зачем они это делают, и к мечтам работодателя добавляется анализ предметной области и постановка задач самому себе, а от тебя, как программиста, начинают требоваться аналитические скиллы (и порой не только).
                        • +2
                          ну бывает конечно всякое. Я тут не написал еще об одном частом кейсе (посчитал оффтопиком), когда в проекте нет ни одного человека заинтересованного в настоящем успехе проекта/идеи включая основателей и даже инвесторов — только в раздутии «ценности» и в дальнейшей продаже своей доли.
                          Это намного чаще чем можно подумать, ходят слухи что чуть ли не в половине случаев.
                        • +1
                          Проблема очень актуальна, в регионах вообще ни черта нет, пытаюсь хоть как-то в свободное время добить джангу до мидла, мб выйти на удалёнку, но вот уже как около полугода пытаюсь найти в своём регионе и вообще по нулям, хотя и город не особо маленький…
                          • –1
                            А зачем ты ограничиваешься только своим регионом, бро? Имхо, очень бесперспективная стратегия.
                            • +1
                              Семейные обстоятельства
                              • +3
                                неужели тебе семья запрещает работать удаленно?
                                • +1
                                  эм, ну я как бы про это и написал, это и сделать собираюсь. на удалёнку выходить нужно уже более уверенным в своих знаниях, коим я пока не являюсь, к тому же пока могу решить не столь обширный список задач, чтобы обеспечить себя постоянной удалённой работой. А джуны и полумилды — они же сроду никому не сдались.
                                  • +1
                                    Не соглашусь с вами. Я начал искать работу когда был ещё совсем trainee. Но попал в хорошие руки) Удалённо. Меня не стали валить вопросами по скайпу. А дали нормальные тестовые задания, и выделили ментора. Я успешно прошел тестовое, не без помощи ментора, за 3 недели. И вот работаю там уже 10-ый месяц. И при помощи код ревью из меня и ещё одного коллеги которого взяли в то же время воспитали вполне нормальных программистов на django. Не знаю какой я сейчас уровень но все скиллы которые перечислены в статье я знаю.
                                    • 0
                                      Если у вас все эти скилы, то вы уже как минимум мид. Отличный пример, как можно проскочить junior-stage всего за несколько месяцев
                                      • +3

                                        Не вводите людей в заблуждение… Никакой уровень проскочить нельзя. Т.к. они распределяются по объёму практического опыта, а не по кол-ву знакомых слов. А опыт нарабатывается годами применения технологий на практике, поэтому мидлов без, как минимум, 2 лет (чаще 3 лет) практического опыта не бывает. Как говорится, в теории нет разницы между теорией и практикой, а вот на практике всё немного иначе…
                                        Впрочем, кол-во лет само по себе тоже недостаточный критерий… бывает, что джуны никогда не дорастают до мидлов. Вроде и терминов уже на 5 страниц мелким текстом знают, а всё равно самостоятельно выполнить маленькую нетривиальную задачу не в состоянии.

                                        • 0
                                          Согласен с вами. Ну я до того как начал искать работу и приступить к тому тестовому заданию изучал питон 7 месяцев, вечером после работы или на выходных. Поэтому с питоном я знаком полтора года, ну а профессиональной веб разработкой django(+ иногда на фронте react.js) занимаюсь 10 месяцев. И мидом я себя ещё точно не считаю. С задачами разного уровня сложности вроде норм справляюсь, но все таки 10 месяцев опыта это не много.
                                          • 0
                                            А я знаю сеньоров, которые не знают и 70% того, что тут описано. Все эти границы условны
                                            .
                                            Кстати, парень-американец, про которого я в спойлере писал вообще не работал джуниором и после вокршопа сразу устроился на приличную работу.

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

                                              Это всё про умение себя позиционировать… То, что он, будучи джуниором по факту, устроился на работу мидлом, не делает из него мидла.
                                              Просто мы тут про разные вещи говорим, я про реальные уровни, а Вы про надписи в вакансиях.

                                        • +1
                                          Думаю вам больше повезло. Сам одно время искал работу питонистом, но убился о то, что junior-вакансий практически нет, а где есть — нужен опыт работы от года, либо знание дополнительных языков (C/Java), либо ещё что-то. В итоге, не смотря на всю любовь, пришлось его забросить и усиленно взяться за JS и Node.js как более перспективные. Что и подтвердилось — работу и, соответственно, практический опыт получить удалось в разы быстрее. Тешу себя надеждой, что когда доросту до уверенного миддла — будет больше свободного времени на python и смогу, в итоге, перекатиться куда-нибудь в data science. А пока… Angular и очередной сайт.
                                          • +1
                                            Да, не могу отрицать долю везения в моём успехе. Вакансий дейстивильно единицы для джунов, и уже тем более для trainee. На тот момент когда я начал проходить тестовое, я писал сервис по мониторингу аптайма сайтов на bottle. Простейший, можно было добавить сайты и удалять в мониторинг, и смотреть статистику. Хотя не думаю что на него сильно смотрели при рассмотрении моего резюме. Ну и тестовое, что бы его сдать три недели у меня не было отдыха) Я приходил с работы и делал тестовое, делал его на выходных и несколько раз вообще не спал, просо вставал из-за компа и шел на работу) Поэтому не знаю конечно что бы меня ждало не будь этой вакансии, но я действительно старался что бы получить свою первую работу.
                                            • 0
                                              Я в какой-то другой вселенной живу :D Тестовое обычно просят сделать за 3 дня, неделю — максимум. И даже если сделал его на отлично (по словам работодателя) — потом топят на собеседовании. Для себя понял, что для собесов придётся что-то тупо наизусть заучивать, т.к. лично мне сесть за клавиатуру и реализовать задачу в разы проще, чем на словах рассказать что и как я буду делать.
                                              А так, интересная история. Вы — молодец, что так упорно трудились ^^
                                        • 0
                                          Не бойся, подучи все что описано в статье и просто ищи работу будто ты это знаешь. Будет задача — найдешь и решение, так и вырастешь.
                                  • +1

                                    Регион — понятие растяжимое. Кто-то считает регионом всё, что не столица, а кто-то всё, что не крупный город-миллионник. Или подразумевалась вся страна целиком?

                                    • 0
                                      Существует расхожая шутка, что IT в России есть только в четырёх городах — Москве, Питере, Новосибирске и Екатеринбурге, а за их пределами нет ничего кроме 1C.
                                • –5
                                  но все же работать на UBUNTU или MacOS на порядок комфортнее

                                  Это вкусовщина. Винда ничуть не хуже в повседневном использовании для разработки. Говорю как человек, сидящий дома за macOS, а на работе — под виндой.
                                  • +5
                                    Для разработки под андроид и многое другое программирование — возможно.

                                    Сколько знаю людей пытавшихся под виндой кодить на питоне — все локти искусали. Даже библиотеки не все там работают (например hiredis тупо не устанавливается в виртуальное окружение под виндой). Это не вкусовщина, а опыт.

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

                                    P.S. А еще под виндой многие ставят антивирус и работа превращается в сущий ад даже на мощном компе. Но если вы называете вкусовщиной комфортную работу, то ок.
                                    • –5
                                      P.S. А еще под виндой многие ставят антивирус и работа превращается в сущий ад даже на мощном компе.


                                      А многие не ставят. А многие ставят, и не испытывают проблем. Это зависит от множества факторов, поэтому экстраполировать на всех не стоит.

                                      Даже библиотеки не все там работают (например hiredis тупо не устанавливается в виртуальное окружение под виндой).


                                      Hiredis не является жизненноважной библиотекой для разработки на питоне, так-то. Для некоторых типов приложений — возможно. Правда, то, что она не ставится под какой-то конкретной ОС это вина ее разработчиков, а не пользователей этой ОС.

                                      Сколько знаю людей пытавшихся под виндой кодить на питоне — все локти искусали.

                                      Знаю людей, пишущих на питоне под виндой и жалоб от них не слышал. ПО пишется под виндой, а в продакшене работает под дебианом.

                                      но не пытайтесь ввести людей в заблуждение, что это так же комфортно как под убунтой или макосью

                                      И вы не пытайтесь вводить людей в заблуждение. Если вам комфортнее под конкретной ОС — то и пишите что комфортно именно вам. Вы же пишете так, что можно счесть, что на питоне комфортно можно разрабатывать только под конкретной ОС и приводите субъективные утверждения о наличии.отсутствии софта. Те, кто этот софт не используют, с вами не согласятся.
                                      • +6
                                        во-первых отсутствующий софт — это отнюдь не субъективно.
                                        во-вторых, я писал, что это мое мнение, однако оно не от того, что я какой-нибудь хейтер винды. Я люблю винду так же как все остальные оси, но кодить именно на пайтоне в разы удобнее под UBUNTU, на втором месте — MacOS.
                                        Буквально недавно мой коллега в течение двух месяцев утверждал, что справится с задачами на винде, потратил кучу времени чтобы у него завелось все что нужно. Дергал меня чтобы я тэстировал его код. В итоге перешел на убунту, предварительно потратив кучу своего и моего времени (и соответственно денег). Это тоже субъективно?
                                        Факты и жизненный опыт объективнее ваших теоретических докадок, сэр.

                                        Можно и в блокноте писать код, он тоже будет работать. Есть инструменты более удобные и менее удобные. Я написал без подробного объяснения почему, иначе это будет не статья, а книга.
                                        • –2
                                          во-первых отсутствующий софт — это отнюдь не субъективно.

                                          Я этого и не утверждал. Я говорил, что отсутствие По под ОС — не вина разработчиков ОС, а вина разработчиков ПО.

                                          но кодить именно на пайтоне в разы удобнее под UBUNTU, на втором месте — MacOS.

                                          А кодить на пайтоне ПО, задачей которого является работа под виндой все ещё удобнее под Ubuntu? (да, название этой ОС пишется именно так).

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

                                          Буквально недавно мой коллега успешно завершил работу над ПО, которое должно работать под Debian-ом (и только под ним). Работа велась под виндой, жалоб на то, что винда не подходит для разработки на пайтоне я от него не слышал.

                                          Факты и жизненный опыт объективнее ваших теоретических докадок, сэр.

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

                                          Есть инструменты более удобные и менее удобные.

                                          А есть понятие субъективные и объективные. Удобство — субъективное. Например, привычные всем ножницы могут быть неудобны, если человек левша. Вместе с тем, левше могут быть неудобны специальные ножницы для левшей, а правша может носить наручные часы на правой руке.

                                          Я написал без подробного объяснения почему, иначе это будет не статья, а книга.

                                          Ну хоть бы кто-нибудь такую книгу написал.
                                          • –5
                                            Плюсую.

                                            Сам сижу на винде + PyCharm. Да иногда приходит вносить некоторые правки в проект на продакшене, но это не такая уж и большая проблема.

                                            Маки, учитывая их текущую цену, идут в задницу. Платить свыше 100к я как-то еще не готов, когда такое же решение по мощности и комфорту на винде собирается за 35к.+ 5к за лицензию PyCharm.

                                            Убунту — на серверах использую CentoS, проблем не вижу. Но в качестве рабочей станции — это какое-то садомазо. Писал бы какие-то серверные утилиты или решения под линукс, то да. А для веб-дева — смысла не вижу.
                                            • 0
                                              Недорогой б/у мак можно взять за 35К — собственно так и получилось недавно, но это оффтопик
                                        • 0
                                          Hiredis не является жизненноважной библиотекой для разработки на питоне, так-то. Для некоторых типов приложений — возможно. Правда, то, что она не ставится под какой-то конкретной ОС это вина ее разработчиков, а не пользователей этой ОС.

                                          Представляю, что бы было, если бы я на своей первой же работе сказал тим-лиду: «Извини, у меня не получилось развернуть у себя локально проект, потому что вы используете библиотеку Hiredis, но она у меня не ставится. У меня Винда, понимаешь. Но ты не думай, что это моя вина. Это вина разработчиков этой библиотеки. И вообще она не является жизненноважной библиотекой для разработки на питоне. Поэтому ваша команда может ее убрать из проекта и я приступлю к работе». :)
                                        • 0
                                          Хороший вариант — виртуалка с Линуксом в которой и работаешь.
                                          • 0
                                            Это как раз так себе вариант. Лучше чем ничего, но уровень комфорта намного ниже, к сожалению. Если бы это было действительно удобно, я бы так и написал, у меня нет предвзятого отношения к винде.
                                            • 0
                                              Я имею в виду, если от Win как хост машины никак не избавиться. А так конечно — лучше уж нейтив.
                                            • –1
                                              Вариант по-лучше — винда с cmder+gitbash.
                                              • +1
                                                Где-то тут написали уже про засаду со сборкой Psycopg2. И не только него.
                                          • +1
                                            Не хуже, но приходится быть внимательней, чтобы код был платформонезависимым. Иначе после переноса в прод окружение появляется дополнительная работа по отладке и багфиксингу. Ну и вначале нужно потратить больше усилий на сбор и настройку инструментов разработчика(нормальная консоль, ssh-клиент, интерпретатор со всеми нужными зависимостями и т.д.). Конечно это все сильно зависит от того что вы кодите.
                                            • –3
                                              На питоне пишут не только то, что потом переносят в прод. На питоне пишут в том числе и то, что потом тиражируется на машины пользователей.

                                              нормальная консоль, ssh-клиент,

                                              Опять же, нужно далеко не всем.
                                              • +1
                                                то есть хотите сказать, что Putty сравнимо по удобству со встроенной консолью убунты? И уж тем более terminator? Вы вообще когда-нибудь пользовались убунтой как основной рабочей системой хотя бы несколько месяцев кроме как для прослушивания музыки и вебсерфинга?
                                                • –7
                                                  Нет, не пользовался. Во-первых не было такой необходимости, а во вторых — не было такого желания, так как я не вижу для себя в ней ничего, что могло бы улучшить качество моей работы.

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

                                                  Я хочу сказать, что консоль — не самое главное в операционной системе для меня. Только и всего. Поэтому утверждения, что какая-то ОС лучше другой за счёт того, что в ней «консоль лучше» для меня является вкусовщиной, так как консоль не является для меня определяющим фактором при выборе ОС.
                                                  • +4
                                                    Вы понимаете, что я — человек, который постоянно пользуется всеми тремя семьями ОС, а вы — нет. И вы пытаетесь используя аргумент «ну, на вкус и цвет» что-то доказать.
                                                    Это как если бы вы были отчаянным линуксоидом и предлагали фотографу, которому все что надо — это Lightroom навязать Digikam или Darktable. Да, они тоже могут RAW-файлы читать и накладывать изменения на них не ломая исходники, но они в 100 раз менее удобны, к сожалению. Или тоже скажете «ну это на вкус и цвет»?
                                                    • –5
                                                      И вы пытаетесь используя аргумент «ну, на вкус и цвет» что-то доказать.

                                                      А вы пытаетесь что-то доказать, используя аргумент «я знаю, а вы нет».

                                                      Это как если бы вы были отчаянным линуксоидом и предлагали фотографу, которому все что надо — это Lightroom навязать Digikam или Darktable.

                                                      Это как если бы я был инженером-проектантом и использовал Autocad, а вы пытались бы меня убедить, что для проектирования лучше Sketch'а ничего нет, я бы пытался вам объяснить, что я решаю другие задачи, а вы бы настаивали, что вам лучше знать, потому что ваш коллега пытался проектировать GUI в Autocad'е и у него ничего не получилось. Вы просто не хотите понять, что есть задачи, которые решаются другими инструментами и другими способами, отличными от тех, которые вы считаете удобными для решения ваших задач, но пытаетесь представить, как абсолютное решение всех проблем одной области.
                                                      • +3
                                                        Мой коллега приводил еще 100500 аргументов и в итоге оказался неправ.

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

                                                        Единственное что порой заставляет разработчиков оставаться на винде — это когда они используют какой-либо софт, не связанный с разработкой на питоне, существующий только под винду. Тогда да, как пишет tema_sun — виртуалка, пайчарм и удаленный интерпретатор. Но говорить, что виртуалка + удаленный интерпретатор это так же комфортно, как тоже самое, что и без них… ну-ну, чо)

                                                        • –5
                                                          Мой коллега приводил еще 100500 аргументов и в итоге оказался неправ.

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

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


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

                                                          Для разработки на питоне вы не используете никаких инструментов, которых нет на убунте

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

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

                                                          Конечно, бред, ведь я этот аргумент взял с потолка, чтобы проиллюстрировать свою точку зрения на нашу дискуссию. Вы утверждаете, что убунта более удобна для разработки на питоне, а я пытаюсь вам показать, что удобство это субъективное понятие и категорично заявлять что что-то одно удобно, а что-то другое нет неправильно, так как есть задачи, где или не важно, под чем разрабатывать, или удобно обратное, а убунта будет только мешать. А все потому, что как и в моем примере про автокад и скетч — задачи разные. Судя по вашему примеру с hiredis вы занимаетесь серверной разработкой или веб-проектами, что также подтверждает ваше мнение о том, что питонисту нужно знать JS, Django, Angular и прочее.

                                                          Спорить с вами мне, если честно, надоело. Я лучше запущу на своей винде пайшарм и пойду доделывать свои задачи.
                                                          • 0
                                                            Пожалуйста, вспомните тему статьи: как питонисту не иметь проблем с поиском работы. Работа питонистом писать десктопные приложения — редкий кейс. Я писал о том что нужно знать, чтобы охватить как можно больше вакансий. Большинство из них — серверная разработка, веб-, celery и прочие парсеры. Да, можно писать и десктоп-приложения (dropbox, например), но это не самое популярное применение языка.

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

                                                            Для читателей ваш пример с потолка иллюстрирует, что вы не в теме, даже если для вас он иллюстрирует ваше отношение.

                                                            Еще раз: я не предвзят в отношении винды. Хорошая система, со своей, возможно самой большой в мире экосистемой и никакого капца ей не настанет пока есть десктопы.
                                                  • 0
                                                    Xshell 5 нормально работает под винду. Работать можно.
                                                    • –1
                                                      А в чем собственно особая разница? Какие аргументы за нативную консоль против Putty?
                                                    • +4
                                                      Похоже мы по разному понимаем значение слов «профессиональная разработка». В моем понимании она охватывает весь спектр возможных задач с которыми придется столкнутся, а не ограничивается вырожденными случаями конкретного проекта в котором не нужно никаких зависимостей и т.д.
                                                      Если в текущем проекте все зависимости простые(читай на чистом питоне), то все заведется легко и просто в любой ОС. Но стоит например захотеть поработать с БД то окажется что под виндой pip install psycopg2 завершится ошибкой, потому что не сможет скомпилить сишные части и тогда придется гуглить уже скомпиленый модуль или гуглить что же нужно установить и где его взять для нормальной компиляции. В то же время на убунту это сведется либо к aptitude install python-psycopg2, либо если нужна другая версия к тому же пипу, который сразу скомпилит модуль потому что зависимости в 90% случаев уже есть в системе или опять же к aptitude install <список зависимостей>. В итоге да вы сможете использовать модуль в своем софте на обеих ОС, только время потраченное на подготовку к работе заметно отличается.
                                                      И на каждый новый проект или новый сложный модуль в проекте нужно будет тратить доп время.

                                                      Потому мы и говорим о разном уровне удобства.

                                                      P.S.
                                                      На питоне пишут в том числе и то, что потом тиражируется на машины пользователей.

                                                      Машины пользователей в данном случае и есть прод.

                                                      P.P.S. Лично я пишу на питоне под убунту и виндой как веб так и десктоп софт, потому мнение основано на личном опыте.
                                                      • –1
                                                        В моем понимании она охватывает весь спектр возможных задач с которыми придется столкнутся, а не ограничивается вырожденными случаями конкретного проекта в котором не нужно никаких зависимостей и т.д.


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

                                                        окажется что под виндой pip install psycopg2 завершится ошибкой, потому что не сможет скомпилить сишные части

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

                                                        На питоне пишут в том числе и то, что потом тиражируется на машины пользователей.


                                                        Машины пользователей в данном случае и есть прод.

                                                        И поэтому, когда вы пишите под убунтой, вам не
                                                        приходится быть внимательней, чтобы код был платформонезависимым

                                                        ?
                                                  • –1
                                                    Для меня самым удобным вариантом оказалось писать в PyCharm'е под Win, а запускать все это дело на виртуальной машине под Ubuntu, с очень близким к продакшену окружением. Благо в PyCharm есть удаленный интерпретатор и автоаплоад.
                                                  • –3
                                                    >прочий PHP
                                                    Не писал, но осуждаю? :)
                                                    • +2
                                                      Писал :-)
                                                      Если честно, я уважаю PHP: фейсбук, контакт — это все PHP-проекты. Глупо говорить, что они не очень.
                                                      Но там речь шла о подходах. Ведь и PHP-код можно хранить в git, не так ли? Но в коммунити PHP распространено копировать папочки с именами *_new, отправлять код архивами и прочие не самые хорошие методы.
                                                      Конечно это не только в PHP, я, например, и на Python видел отвратительнейший лапша-код, такой что jQuery-разработчики нервно курят в сторонке
                                                      Надеюсь вы поняли меня :-)
                                                      • 0
                                                        Видимо очень давно писали:)
                                                        Именно в коммюнити PHP уже давно так не принято. Одиночки и ретрограды, которые варятся в собственном соку не в счет. Такие и в пайтоне есть. Но, справедливости ради, их меньше:)
                                                        • +1
                                                          Да, давно, но тогда в питоне уже были virtualenv и практика использования репозиториев, экосистема бибилиотек, а в PHP это появилось только через пару лет как я его забросил (или даже больше).
                                                          Рад, что ситуация меняется, но смысла переходить обратно не вижу никакого по целому ряду причин.
                                                        • +1
                                                          У вас очень устаревшее мнение о php-комьюнити. Сейчас php находится в топ 5 по популярности на гитхабе, а проекты выше уровня «мой первый wordpress блог» активно используют composer. Шутки уровня «архивы и прочие практики php» в 2016 году вызывают уже не горькие мысли о неполноценности php и его экосистемы, а скорее мысли о некомпетентности автора относительно этой самой экосистемы.

                                                          И обидно не то, что кто-то пошутил, а то, что несведующий новичок прочитал и поверил компетентному в питоне, но некомпетентному в пхп автору.
                                                          • –1
                                                            Вообще частенько рекомендую людям использовать PHP, когда им нужен сайтец. Но это ведь статья про Python в Python-хабе, можно немного и потроллить PHP ;-)
                                                          • 0
                                                            jQuery-разработчики нервно курят в сторонке

                                                            Резиг-то чем вам не угодил? Там вроде чуть ли не с 1.1 все очень толково.

                                                        • 0
                                                          В кратце: с одним лишь знанием языка вы нафик никому не нужны.

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

                                                          • +1
                                                            Питон достаточно простой язык чтобы еще во время учебы в вузе написать на нем CMS или хотябы хорошо освоить django.
                                                            >начинающие претенденты на работу не умеют гуглить, читать и не подозревают, что для библиотек пишется документация
                                                            Да, так оно и есть.
                                                            • 0
                                                              получается так :-)
                                                              • +1
                                                                Если человек знает только язык (синтаксис, стандартные пакеты), то, впервые увидев, скажем, Django, даже при наличии документации и скилла к гуглению, не факт, что он быстро поймет внутреннюю кухню того, как это работает и сможет на этом реально писать, а не собрать блог по туториалу или напихать копипаст с SO или из gist.

                                                                P.S. я основываюсь чисто на своем опыте, с тем, чтобы написать что-то действительно реальное, нужно подержать в руках иснтрумент, поработать с CLI, разобраться в базовых сущностях фрэймворка/библиотеки/тулзы какой-то.
                                                                • 0
                                                                  Но туториал — самый быстрый способ начать осваивать Django, например. Конечно одного его недостаточно чтобы стать тру-джангистом)
                                                                  • +1
                                                                    Несомненно, тем более, официальный. Я вообще люблю официальные доки и уважаю разработчиков этих инструментов, которые уделяют этому пункту достаточно внимания и своевременно обновляют доки и туториалы
                                                              • +2
                                                                В общем:

                                                                1) Официальная документация
                                                                2) html+css+js
                                                                3) SQL
                                                                4) Деплой

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

                                                                По моей практике:

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

                                                                Пилить свой проект (чаще всего это будет Django)
                                                                Учить: Celery/Rest/React.js/Angular
                                                                Искать компании, которым нужно поддерживать текущие проекты и расширять их функционал
                                                                И уже потом идти во что-то серьезное.

                                                                Если это Москва/Питер — то вариантов куча, хоть начинать с автоматического тестирования или стажировок от яндекса, мыла.
                                                                • 0
                                                                  Ну если вы с регионов, то всегда можно демпинговать первый год, а потом вы уже готовый спец)
                                                                  Москва/Питер это тоже ограничение, не забывайте, что когда вы там устраиваетесь на позицию джуниора с зп 30тр вам все еще нужно будет платить за жилье и еду побольше, чем в регионах
                                                                  • 0
                                                                    Ну справедливости ради регион региону рознь. На дальнем востоке, говорю за Владивосток, жилье, еда, техника(для работы все-таки нужно хорошее железо) дороже, чем в столицах. Фактически Москва дороже тока жильем, все остальное дешевле. Питер в принципе дешевле во всем. А работы здесь крайне мало, тока 1С, царица IT, тока хардкор.
                                                                • 0
                                                                  json — хотя бы просто погуглите что это — вот давно существующий ресурс, все емко по этой теме: http://www.json.org/
                                                                • +4
                                                                  Вижу, что автор активно отвечает. Респект. И вопрос. Совет про смену работы раз в полгода-год — это серьёзно? После пары-тройки лет работы в таком режиме получите не широкий кругозор и опыт, а строго негативную карму. Вход в энтерпрайз, к деньгам, закроется навсегда. Или нет?
                                                                  • +1
                                                                    Спасибо
                                                                    Смена работы — очень хорошо для профессионального роста.
                                                                    Я запросто менял работу иногда и через месяц-два — и никаких проблем с трудоустройством.
                                                                    То о чем вы говорите скорее относится к трудоустройству в банки и прочие конторы-левиафаны, но там чаще Java на серверах, а не Python.
                                                                    • 0
                                                                      Мне, как джависту, этот пункт показался совсем странным :) Но если у вас в Питоне такая специфика, то не осуждаю :)
                                                                      • +1
                                                                        А сколько Вам лет, если не секрет? И сколько лет Вы каждые 2-3 месяца меняете работу?

                                                                        PS Я как-то раз менял работу 2-3 месяца, потом мне кадровички 2-3 года отказывали с работой.
                                                                        • 0
                                                                          Похоже вы неправильно поняли. я не менял работу каждый раз через 1-2 месяца, просто если мне не нравилось места или я не нравился работодателю — нет ничего страшного в том чтобы уйти не отработав там годы.
                                                                          Мне сейчас 31 если это имеет какое-то значение.
                                                                          Не ходите на собеседования с кадровичками — только со специалистами. У кадровичек одни и те же шаблоны на вас, на уборщиц и на бухгалтеров.
                                                                          • 0
                                                                            Не ходите на собеседования с кадровичками — только со специалистами. У кадровичек одни и те же шаблоны на вас, на уборщиц и на бухгалтеров.

                                                                            Совет настолько же великолепный, насколько и бесполезный!

                                                                            Потому что Вы ни словом не обмолвились о том, как проскочив кадровичек попасть на беседу со специалистом.
                                                                            • +1
                                                                              Нетворкинг и это всё. Условно, не резюме через раздел Careers на сайте засылать, а через знакомых и знакомых знакомых узнавать про новые интересные вакансии.
                                                                              • +1
                                                                                Совет — исключительно для гипер-общительных экстравертов.
                                                                                • 0
                                                                                  Отнюдь. Я вообще хиккан каких поискать в реальной жизни.

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

                                                                                И это не единственный вариант. про нетворкинг вот заметили, там же в посте я делал сноску как я, например, нашел последнюю работу — в сауне. Глупо думать, что я рекомендую искать работу там, но надо понимать, что людей которые могут дать вам работу много. Опять же про посещение мероприятий читали?
                                                                                • 0
                                                                                  посещение мероприятий

                                                                                  Не каждый работодатель будет с радостью отпускать для посещения мероприятий в рабочее время сотрудника, который работает пару месяцев.
                                                                                • +1

                                                                                  На резюме, размещенные на StackOverflow Careers, откликаются специалисты более-менее высокого уровня.


                                                                                  Хороший github profile и проиндексированные записи в блоге на английском языке тоже помогают. Причем, они не обязаны быть бриллиантового качества.

                                                                          • +1
                                                                            Вход в энтерпрайз, к деньгам, закроется навсегда.
                                                                            Это когда приходишь на собеседование, успешно проходишь HR, доходишь до директора, а он:
                                                                            — Как-как вы говорите ваше ФИО? О-о, да вы тот самый человек который меняет работу раз в полгода? Вы же знаменитость, не знали? Мы на последнем всероссийском собрании директоров IT фирм как раз вас и обсуждали. Простите, но мы провели голосование и решением подавляющего большинства решили больше вас никогда на работу не принимать. Приговор окончательный, и действует на всей территории РФ. Карму вы себе испортили бесповоротно, очень-очень жаль, вы ведь такой молодой… Но у вас ещё есть шанс попробовать себя в другой профессии.
                                                                          • +1
                                                                            Странно видеть совет работать за валюту в статье для новичков — если уйти в одиночное плавание с недостатком опыта в целом, то очень легко прекратить развитие и всю жизнь писать плохой код.
                                                                            • +1
                                                                              Это если не изучать ничего нового. Я работаю на Upwork примерно полгода и могу сказать что с неделями опыта только прибавляется. Это конечно при условии, что заказы разные делать по сути, а не один и тот же web-scrapping — хотя там так же хватает где можно прокачать скилы.
                                                                              • 0
                                                                                Я работаю на Upwork примерно полгода
                                                                                А какой у вас выходит процент соотношения сухого рабочего времени с одной стороны и простаивание в поиске заказа+переговоры+обсуждение ТЗ с другой?
                                                                                • 0
                                                                                  Я переговоры и обсуждение включаю обычно в рейт. Пока везло — все время была работа. Но она у меня part time.
                                                                              • 0
                                                                                А почему в одиночное плавание-то? Там точно такая же работа — чаще всего в команде. Кроме того, если вы работаете на апворк, например, то более быстрое развитие вам почти обеспечено, так как будет больше разнообразия в задачах.
                                                                                А вот качество кода — это скорее зависит от того какие требования к качеству кода предъявляются к вам, особенно в первых проектах + от уровеня вашего перфекционизма. Я работал в одной крупной российской компании, где весь проект — лапша-код, написанная очень востребованным программистом, которого с руками оторвали потом в Яндекс. Как правило у работодателей в критериях нет «пишет качественный код».
                                                                                • 0
                                                                                  Я бы сказал, что реально в команде с интенсивным взаимодействием на фрилансе — скорее исключение, но тут зависит от языка, размера проектов, специализации и т.д.
                                                                                  • 0
                                                                                    Нет, это не исключение, совершенно нормальное явление.
                                                                              • +3
                                                                                Если знаешь это:
                                                                                Javascript, jQuery и прочие AngularJS

                                                                                то можно итак неплохо устроится и без питона, администрирования и знания баз данных.
                                                                                • 0
                                                                                  +1!

                                                                                  Но тогда придется писать на JS, а не на Python, а это не православно :-(
                                                                                  • +1
                                                                                    Ну можно и на ClojureScript, Elm и т.д. Это будет куда православнее :)
                                                                                • 0
                                                                                  Воркшоп — это или техникум или колледж? Так у нас их хватает.
                                                                                  • +1
                                                                                    Если это буржуйское понятие, то воркшоп — это типа курсов от «гуру». Где тебе в конце дают бумажку, что ты не обезьян, что-то можешь и могешь.
                                                                                  • 0
                                                                                    Это такое обучение, когда ты на 1-3 месяца интенсивно погружаешься в какую-то тему, как правило фул-тайм и оффлайн. Хороший воркшоп за 3 месяца позволяет вполне вырасти в мида.
                                                                                    Они в России пока непопулярны, а в США — нормальное явление
                                                                                  • +5
                                                                                    Чаще меняйте работу… примерно раз в полгода-год

                                                                                    Хочется знать, что думают работодатели, когда видят такую трудовую книжку? Старшее поколение вообще отрицает такое подход) Есть плохой вариант развития событий, что я за 5 лет поувольняюсь со всех возможных работ в своем городе, а потом, видя ситуацию, меня все посылать куда-подальше будут.

                                                                                    • +4
                                                                                      Как работодатель скажу — в книжку не заглядываю, это не интересно. А вот в то, что в серьёзный проект входить нужно как раз полгода-год — верю. И соответственно, понимаю, что такой кузнечик собственного опыта разработки не имеет.

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

                                                                                      Не сам ушёл — ещё хуже. Человеку дали время и возможность проявить себя — не проявил.

                                                                                      Конечно, для быстрых и мобильных стартаперов это всё нудно и неинтересно, но тут уж ничего не поделаешь. Каждому своё.
                                                                                      • –3
                                                                                        полгода-год в проект входить? это каким слоупоком надо быть?)) за такое время в продакшен почти любой проект можно запустить. Поддержка проекта конечно требует более долгого входа, но не годы же))
                                                                                      • 0

                                                                                        Насколько я понял, автор имеет в виду формат фриланса, т.е. в трудовой книжке никаких записей об этом не будет.

                                                                                        • 0

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

                                                                                          • 0
                                                                                            я лично и в офисах работал и по фрилансу, статья довольно универсальна.
                                                                                        • +1
                                                                                          1. не ограничивайтесь одним городом.
                                                                                          2. конечно ни одному работодателю не понравится этот совет, но я ведь не для них статью пишу. Задача работодателя — замотивировать вас, чтобы вы работали у него как можно дольше, это его головная боль. Он может дать вам опцион, побольше ответственности, делать реально интересный, общественно полезный проект, абонемент в спортзал, массажисток в офис и личную секретаршу с 4ым размером, которая будет делать вам кофе сразу после минета. Ну и зарплатой можно удержать иногда. Но это не отменяет того, что в развитии вы скорее всего довольно быстро затормозитесь, а может даже и начнете деградировать (потому что зациклитесь на старом стеке технологий).
                                                                                        • 0
                                                                                          А это точно не рубрика вредные советы? Смутили пункты про алгоритмы и высшее образование. :(
                                                                                          • –3
                                                                                            Она самая. Изучайте до посинения алгоритмы и получайте 3 высших — работой будете обеспечены! А потом не забудьте написать статью как вам везде рады ;-)
                                                                                            • +2
                                                                                              Даже не знаю как ответить на этот комментарий. Зачем утрировать и входить в крайности?

                                                                                              Соглашусь, про высшее довольно спорная тема. Тут мнения у людей частенько расходятся. Но алгоритмы…
                                                                                              Если человек хочет клепать формочки всю жизнь, то наверное, да тут алгоритмы не нужны. Хотя у меня даже на должность клепателя форм частенько спрашивали всякие алгоритмические задачки.

                                                                                              Плюc, топовые компании смотрят и на алгоритмы и на степень, мне кажется с этим сложно поспорить.
                                                                                              • +1
                                                                                                Давайте сперва определимся о каких алгоритмах мы говорим и потом — областях применения, хотя бы в общих чертах.
                                                                                                if… else, for и прочая логика, вы об этих алгоритмах? думаю нет. Это то, что программисты пишут 90% времени.
                                                                                                Алгоритмы обработки изображений и видео вы пишете каждый день по три штуки? я лично использую Pillow или ffmpeg в таких случаях, когда нам нужно было работать с RAW использовался библиотеку draw и не написал ни строчки алгоритма.

                                                                                                Наверное чтобы работать в яндекс.поиске надо хорошо знать алгоритмы, математику и вероятно лингвистику, а может еще надо уметь крестиком вышивать. Но в команде яндекс поиска работает 10 человек, и подобных команд можно пересчитать по пальцам в России, а устроиться туда джуниором или мидом вряд ли возможно, согласитесь? Наверное туда же нужны и 3 высших и еще личная рекомендация Грина. Это как раз относится к крайним случаям, дружище.

                                                                                                Если сейчас кто-то без высшего образования захочет стать программистом я не порекомендую ему идти учиться в вуз. ШАД разве что, но все равно это ведь целых 2 года, кажется.
                                                                                                Воркшоп — 3 месяца и ты хороший спец, который без труда найдет работу. 5 лет вуза — и ты нафик никому не нужен. Есть разница? Да, эти советы мало имеют общего с общепринятыми шаблонами, но они реальны и эффективны.
                                                                                                • +1
                                                                                                  Воркшоп — 3 месяца и ты хороший спец, который без труда найдет работу. 5 лет вуза — и ты нафик никому не нужен.

                                                                                                  Чет я пока у нас в Украине сталкиваюсь с обратной ситуацией. 3 месяца курсов и ты нафиг никому не нужен, зря заплатил бабло. Вузы же в свою очередь сотрудничают с топовыми компаниями и многие уже курса с 3 работают. Но как я уже говорила выше — это довольно спорная тема и я не считаю свое мнение единственно правильным :)

                                                                                                  Алгоритмы обработки изображений и видео вы пишете каждый день по три штуки? я лично использую Pillow или ffmpeg в таких случаях, когда нам нужно было работать с RAW использовался библиотеку draw и не написал ни строчки алгоритма.

                                                                                                  Как я уже говорила выше — я такой же формашлепер, который в основном использует стандартные библиотеки :) Знания алгоритмов мне пригождались в основном на собеседованиях, а в работе всего пару раз от силу. Хотя с другой стороны оценивать сложность используемых библиотечных алгоритмов приходится довольно часто :)

                                                                                                  Наверное чтобы работать в яндекс.поиске надо хорошо знать алгоритмы, математику и вероятно лингвистику, а может еще надо уметь крестиком вышивать. Но в команде яндекс поиска работает 10 человек, и подобных команд можно пересчитать по пальцам в России, а устроиться туда джуниором или мидом вряд ли возможно, согласитесь? Наверное туда же нужны и 3 высших и еще личная рекомендация Грина. Это как раз относится к крайним случаям, дружище.

                                                                                                  Я не говорила про работу, я говорила про то что бы попасть. Реалии таковы, что для того что бы попасть в топовую компанию нужны знания алгоритмов. Такой ли это крайний случай?

                                                                                                  Ну и на эту тему отличное обсуждение, имхо. https://www.quora.com/Work-Do-engineers-at-Facebook-Google-Dropbox-etc-actually-use-their-algorithmic-knowledge-in-their-day-to-day-work-or-is-it-just-used-as-a-way-to-weed-out-unsuitable-candidates
                                                                                                  • +1
                                                                                                    очень разумные аргументы, согласен.
                                                                                                    3х-месячные курсы обучения языку != 3х-месячный воркшоп. Фул-тайм обучение нацеленное на делание из вас спеца и выкачка бабла курсом, в котором вам за неделю преподают лишь туториал питона — разные вещи.
                                                                                                    К сожалению сложно отличить зерна от плевел, но, пожалуй, можно сделать такой фильтр: если в содержании курса нету всего что написано в статье — это скорее всего довольно бесполезные курсы, ну либо они должны быть многошаговыми, где сначала вас, допустим, обучат языку, а потом будут уже натаскивать на все остальное, постепенно. Но таким образом это может занять целый год и встанет такая же проблема как в системе образования, когда английский язык учится 12-13 лет и люди на нем не могут двух слов связать, хотя реально научиться свободно говорить можно за несколько месяцев.

                                                                                                    Нет ничего плохо в формашлеперах и большинство нужд бизнеса — чтобы программисты шлепали формы и хтмл-шаблоны внедряли в проект, и таки нет, я формами вообще редко занимаюсь :)

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

                                                                                                    Как-то так
                                                                                                    • 0

                                                                                                      Итог, — для базового уровня поход сгодится, но… потом придётся таки заочно вышку, а лучше — ещё и аспирантуру с защищённой кандидатской, получить, иначе в такие вот места работы как это — путь будет закрыт.
                                                                                                      Вы сами то — хотели бы работать в таком месте?, скажем, где нибудь в Цюрихе, и готовы ли поступиться "принципами" и всё таки закончить заочно топовый программистский вуз — лучше, если не отечественный; диссерок защитить — а лучше и два параллельно (один из диссеров — по, обязательно, финансовой математике, — никто не запрещает иметь две или более научные специальности, а не одну, да и нужно это будет, ой ой ой как нужно будет, в таких местах...)

                                                                                                      • 0
                                                                                                        Тут надо определяться чего вы хотите от жизни — работать в таких конторах или просто стабильно иметь работу и хорошую зарплату.
                                                                                                        Я не готов тратить 5 лет жизни ради того, чтобы пробиться именно в ЭТО место.
                                                                                                        Вы будете смеяться, но чтобы легко находить работу полезнее будет пойти на театральные курсы. Такой вот парадокс)
                                                                                                        • 0

                                                                                                          Аспирантура и ВУЗ для меня были как приключение… путешествие в страну мечты (а не мучение в пятилетнем заключении).
                                                                                                          А удовольствие от классной математики в прочитанной научной работе — не хуже переживаний от великолепной музыки…
                                                                                                          В ВУЗ и аспирантуру нужно приходить настроенным самостоятельно, с боем, брать знания а в жизни после них нужно просто систематически работать над конвертацией знаний в звонкую монету — тогда и будешь работать в весьма интересных и хлебных местах.
                                                                                                          Напоследок пошучу: в моём вузе прекрасно знают о благотворном влиянии театрального искусства на трудоустаиваемость — не даром, в нём имеется театральный кружок для студентов и аспирантов под руководством неплохого артиста...:)

                                                                                                      • 0
                                                                                                        3х-месячные курсы обучения языку != 3х-месячный воркшоп. Фул-тайм обучение нацеленное на делание из вас спеца и выкачка бабла курсом, в котором вам за неделю преподают лишь туториал питона — разные вещи.

                                                                                                        Честно говоря, не встречала хороших курсов, а воркшопов в таком формате как вы говорите, не встречала вообще. (если что я могу говорить только про Украину). И я очень сомневаюсь, что за 3 месяца можно обучиться программированию с 0 и быть готовым для коммерческой разработки. Я бы сказала полгода-год более реалистично. Имхо.

                                                                                                        Нет ничего плохо в формашлеперах и большинство нужд бизнеса — чтобы программисты шлепали формы и хтмл-шаблоны внедряли в проект, и таки нет, я формами вообще редко занимаюсь :)

                                                                                                        Использовала «формашлепство» как нечто нарицательное для корпоративной разработки, которая в большинстве своем не требует супер знаний.

                                                                                                        Насчет фильтров… все правильно. действительно есть конторы, которые вас по алгоритмам гоняют на собеседовании.

                                                                                                        Тогда зачем вы советуете людям совсем забить на алгоритмы? Они же потом будут менее конкурентоспособны на рынке труда.

                                                                                                        Но как вы представляете себе «обучиться писать алгоритмы»? что посоветовать читателям? «ну, эта, почитайте 100500 книг, может научитесь»? идите на курсы написания алгоритмов?

                                                                                                        Ой я вас умоляю. Опять вы утрируете. Не 100500 книг, а есть вполне себе классика типа Кормена или Седжвика. По поводу курсов вы кстати попали в точку, я вот сейчас прохожу эту специализацию на курсере и буду советовать ее всем — https://www.coursera.org/specializations/data-structures-algorithms Там отлично объясняется теория алгоритмов и для каждой темы дают задачки на программирование, где эти алгоритмы можно применить. Твое решение проверяется автоматически на большем количестве тестовых примеров, оно валидируется по времени и по памяти. Причем задачки не всегда в лоб — типа реализуйте алгоритм, а иногда какие-то более хитрые проблемы из реального мира, где этот алгоритм надо применить. И кстати нечто похоже мне давали пару раз на собеседованиях так что…

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

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

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

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

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

                                                                                                        Ну норм, это адекватно.