Как стать автором
Обновить

Комментарии 190

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

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


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

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

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


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

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


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

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


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

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

Как так? И в JS и в C-lang надо не только писать код, но и доставлять его. А значит надо в любом случае делать пакеты. Просто названия другие, но они тоже есть: npm, mason, cpm и так далее.

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

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


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

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


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

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

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

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

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

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


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

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


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

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

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

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


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

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


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

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

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


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

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

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

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

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

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

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

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

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

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

Как связаны научные расчёты (численные методы? Численное обучение?) и теория формальных языков? Или вы просто хвастаетесь тем, как много областей математики знаете?
НЛО прилетело и опубликовало эту надпись здесь
А можете сказать соотношение сколько в мире требуется программистов с вашими навыками и с навыками описанными в статье? вряд ли.
И еще статья все-таки для Python-программистов, а не для сишников. Сишником за пару месяцев таки вряд ли станешь.
У меня нет проблем с математикой, я выигрывал все олимпиады по математике, физике и химии, вышку в институте сдавал не бывая на парах, просто потому что очень много решал задачек на заказ по всей общаге, так же как делал курсачи на заказ по архитектуре микропроцессорных систем. И знаете. проработав 8 лет программистом мне ни разу не пригодились все те знания. Да, мозги это, возможно, развивало. А может не так уж и сильно. Может быть начни я сразу программировать вместо изучения матана, тервера и начертательной геометрии прогресс был бы намного больше? Никто не узнает. Ваш пример крут, но его могут повторить единицы — все-таки не каждому матан легко дается.
НЛО прилетело и опубликовало эту надпись здесь
Подписываюсь под каждым словом)
Конечно есть разные области. Конечно моя статья не описывает вашу — для того чтобы стать таким как вы надо методично идти к этому много-много лет и начинать в таком возрасте, когда люди еще не задумываются как они будут на хлеб с маслом зарабатывать. Даже в институте, возможно, уже поздно.

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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


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

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

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

И обидно не то, что кто-то пошутил, а то, что несведующий новичок прочитал и поверил компетентному в питоне, но некомпетентному в пхп автору.
Вообще частенько рекомендую людям использовать PHP, когда им нужен сайтец. Но это ведь статья про Python в Python-хабе, можно немного и потроллить PHP ;-)
Давайте назовем вещи своими именами об этом комьюнити:
В PHP не создано ни одного фреймворка, который сам себя обслуживает — сам биндится на порт, сам отвечает на запросы (и при этом не компилирует код под каждый запрос, как это делают костыли FPM или Symphony WebServer или что еще они там накостылили).
А я напоминаю, что языку уже почти четверть столетия.

К чему я это упомянул? К тому, что это шикарный показатель зрелости комьюнити, которое вообще не хочет никак развиваться. По сути все причины, почему троллят PHP — это безрукость и безалаберность его комьюнити, а не косяки самого языка.

Сейчас php находится в топ 5 по популярности на гитхабе

Миллионы не могут ошибаться
То есть php-сообщество виновато в том, что использует существующие вебсерверы вместо того, чтобы написать свой уберсервер? Скриптовый язык виноват в том, что он скриптовый, а не компилируемый? Весьма странные претензии. Раз уж вы решились закинуть ссылку с лурка, давайте на ее примере посмотрим: мухи внутри своего вида действительно не ошибаются. Но ошибкой является проецировать особенности их вида на человечество, а не само их поведение. Если вы ждете от языка А чего-то, что привыкли использовать в языке Б, но это реализуется непривычным для вас образом, это ваша проблема, а не сообщества. Если вы хотите решить задачу, для которой язык А не предназначен на этом языке — это опять же ваша проблема, а не сообщества. Php программисты не пишут операционные системы, сервера и системы контейнеризации, они пишут сайты и веб-приложения и 80-95% требований этот язык удовлетворяет тем или иным образом.
То есть php-сообщество виновато в том, что использует существующие вебсерверы вместо того, чтобы написать свой уберсервер?

Ну так вы написали свой — PHP-FPM. Не в этом дело.
Дело в монолитности процесса. Вы не контролируете по сути рантайм своей программы. Поэтому баги на PHP ищутся годами, а дебаг принтами — это каноны работы.
А на диски ложится такая нагрузка, что кажется, что их насилует лысый из brazzers, потому что контейнер FPM перманентно ходит к диску при каждом запросе — даже если время его жизни где-то по середине.
Я уж молчу, что у вас дополнительное звено в цепи и вместе с ним IPC, который траблшутить еще веселее в условиях почти нулевого знания Linux у большинства членов сообщества (да даже мне с 15-ти летним опытом в Linux тяжко дебажить UNIX-сокеты).

Скриптовый язык виноват в том, что он скриптовый, а не компилируемый?

Пожалуй, самое жуткое заблуждение большинства людей из мира PHP — «PHP потому компилируется при каждом запросе по HTTP, что он скриптовый».
Ну так я могу назвать вам 20-30 фрейворков на скриптовых языках, которые компилируют свой код один раз при старте и потом неделями, если не годами, держат в готовом виде: Django, RoR, etc.
(речь конечно же не идет о полной компиляции, как у C-lang, а то eval'ы поломаются, но вы поняли, о чем я).

Поэтому баги на PHP ищутся годами, а дебаг принтами — это каноны работы.

Сообщество пишет документы с best practices, в которых упоминает xdebug, выпускает удобные для дебага пакеты типа debugbar, зачем тут писать домыслы о принтах и выдавать их за истину?

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

И зачем php фреймворкам брать на себя функции Opcache?
Вы не слушаете, что я вам говорю. Давайте я лучше вопросы позадаю наводящие.

Возьмем любой фреймворк (они все одинаковые в нашем контексте). Например Symphony.

Распишите пожалуйста пошагово, как он запускается и как он выгружается из памяти. Если для этого надо взять какой-то сторонний сервер — берите. Но распишите очень подробно как оно происходит.
Php программисты не пишут операционные системы, сервера и системы контейнеризации, они пишут сайты и веб-приложения и 80-95% требований этот язык удовлетворяет тем или иным образом.


Я знаю, что у вас миллион отмазок, почему вы не хотите знать матчасть. Но если бы вы ее знали, то понимали, что требования эти на 80-95% не удовлетворяются. Не хочу в это уходить, потому что не хочу сваливаться в холивар против языка. Мы говорим только о сообществе.
jQuery-разработчики нервно курят в сторонке

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Если сейчас кто-то без высшего образования захочет стать программистом я не порекомендую ему идти учиться в вуз. ШАД разве что, но все равно это ведь целых 2 года, кажется.
Воркшоп — 3 месяца и ты хороший спец, который без труда найдет работу. 5 лет вуза — и ты нафик никому не нужен. Есть разница? Да, эти советы мало имеют общего с общепринятыми шаблонами, но они реальны и эффективны.
Воркшоп — 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
очень разумные аргументы, согласен.
3х-месячные курсы обучения языку != 3х-месячный воркшоп. Фул-тайм обучение нацеленное на делание из вас спеца и выкачка бабла курсом, в котором вам за неделю преподают лишь туториал питона — разные вещи.
К сожалению сложно отличить зерна от плевел, но, пожалуй, можно сделать такой фильтр: если в содержании курса нету всего что написано в статье — это скорее всего довольно бесполезные курсы, ну либо они должны быть многошаговыми, где сначала вас, допустим, обучат языку, а потом будут уже натаскивать на все остальное, постепенно. Но таким образом это может занять целый год и встанет такая же проблема как в системе образования, когда английский язык учится 12-13 лет и люди на нем не могут двух слов связать, хотя реально научиться свободно говорить можно за несколько месяцев.

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

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

Как-то так

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ну норм, это адекватно.
Не знаю насчет Украины, я знаю о таких примерах в США, за 3 месяца вполне реально. Просто тратить время на обучения алгоритмам в это время не нужно. Изучать алгоритмы — пожалуйста, архитектуры, паттерны, внедрять agile, боже можно столько всего!) но это не является необходимостью — об этом статья.
Серьезно, многие настолько зациклены на алгоритмах, но при этом даже не задумываются, что простота, написание документации, лаконичность, стиль написания кода — важнее для бизнеса, которому нужно лишь шлепнуть форму, а потом чтобы другой разработчик мог ее изменить за минимальное время :-)
Эта статья была написана чтобы развеять эти мифы, чтобы кто-нибудь вышел из цикла и задумался над тем, что на самом деле имеет больший приоритет.
А развитие по всем направлениям в том числе в алгоритмах — я ничего против этого не имею
По поводу курсов вы кстати попали в точку, я вот сейчас прохожу эту специализацию на курсере и буду советовать ее всем — https://www.coursera.org/specializations/data-structures-algorithms


Отличный курс. Застрял пока на Структурах данных из-за цейтнота, но я в себя верю
самостоятельно обучаетесь?
Курс-то онлайн. Да, самостоятельно. Воркшоп тоже штука интересная, но я видел только один на страницах Хабра и тот по-моему офлайн в ДС.
Да, воркшопы как правило оффлайн, иначе не эффективны
НЛО прилетело и опубликовало эту надпись здесь
ну да, расскажите это людям только что закончившим вуз, которые месяцами не могут найти работу даже джуниорами.
НЛО прилетело и опубликовало эту надпись здесь
кул стори, бро) напиши статью о том что ты делаешь так, пусть каждый желающий повторит)
Да нет, вполне реально. Даже есть шутка про 23 сеньера )
НЛО прилетело и опубликовало эту надпись здесь
Вы утрируете вам не кажется? Хочу примеров, есть нормальные вузы, вузы сотрудничают с компаниями. С 4 курса где-то есть вполне реальная возможность устроиться на летнюю стажировку. Плюс преподаватели частенько помогают хорошим студентам с трудоустройством. Но если ты пошел в какой-то средненькой руки вуз или всю учебу плевал в потолок, то конечно да, устроиться тяжеловато… Я бы поверила если бы вы говорили про юристов, экономистов хз про кого, но айти — сириосли?
НЛО прилетело и опубликовало эту надпись здесь
То есть соотношение 3 месяца к 5 годам вас не смущает?
НЛО прилетело и опубликовало эту надпись здесь
Любой вуз дает фундаментальное образование. Использование этого образования чаще всего сводится к нулю, если вы не идете потом работать по специальности. Если идете — на 20% от силы.
Самые ценные навыки, которые получают (или не получают) подавляющее большинство людей (не считая тех, кто становится научными сотрудниками) — это социальные связи, навыки коммуникации и прочие вещи, мало имеющие отношения к учебе. Можно запросто зарабатывать 2-3 тысячи долларов в возрасте 6-10 лет, можно стать хорошим программистом и в 15 и нет никакой необходимости в вашем этом фундаменте.
Есть у меня один знакомый бородатый парниша — программист до мозга костей, который с легкостью пилит мобильные приложения, веб, игры и в общем-то единственная проблема поиска работы для него — не самые сильные коммуникативные навыки. При этом все его образование после школы — пара лет в ветеринарном училище.
Расскажите как много он потерял от того, что не отучился 5 лет в вузе и о том, что уже на третьем курсе он мог бы хорошо работать.
НЛО прилетело и опубликовало эту надпись здесь
Уууу… вечный спор он ненужности и излишности учёбы! С примерами двоечников забивших на учёбу, которые стали крутыми миллионерами (и полным игнориром тех двоечников, что пошли в дворники).
Самые ценные навыки, которые получают (или не получают) подавляющее большинство людей (не считая тех, кто становится научными сотрудниками) — это социальные связи, навыки коммуникации...

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

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

О чём и речь! Люди без дипломов — очень любят приводить такие примеры, забывая о том, что дворников без дипломов — на порядки больше!
армию менеджеров с высшим образованием, которые стали менеджерами лишь потому, что как специалисты они настолько никакие...

Ну, а с ними-то какие проблемы? Менеджер, как правило, зарабатывает больше специалиста, потому что он его начальник. Так что у них всё прекрасно!
Более того такой менеджер и есть столь любимый Вами — троечник-экстраверт с очень развитыми навыками общения. Потому что, когда все учились, он забив на учёбу — развивал социальные навыки, с помощью которых он и делает своё карьеру.
Чем-то Вас такой человек не устраивает? Вы ведь сами писали о том, насколько важны социальные навыки и общение. Что такой менеджер — и демонстрирует, и очень ярко.
НЛО прилетело и опубликовало эту надпись здесь
Я до сих пор считаю, что основным подспорьем в моем изучении английского стал в свое время HTTP RFC. Удалось убить двух зайцев сразу (правда разговорный английский стал на время до боли напоминать legalese).
НЛО прилетело и опубликовало эту надпись здесь
Что ж, скажу честно, хоть мой коммент и заруинят миллионы адептов текстовых редакторов, может даже карму сольют.
Я считаю, что полноценная IDE эффективнее. Я часто пользуюсь sublime, например, но не для разработки на питоне. Всегда использую vim на серверах — он меня вполне устраивает.
Я знаю, что там есть миллиарды плагинов. Но мне нравится, что в Pycharm я могу работать из коробки не заморачиваясь с изучением плагинов.
Это моё имхо. Для быстрого обучения разработке на Python тратить время на изучение зоопарка плагинов и экосистем emacs/sublime/vim — не эффективная трата времени. К слову в программу моего воркшопа освоение туториала vim входит, я нахожу его полезным.
НЛО прилетело и опубликовало эту надпись здесь
Я бы не связывал это с командой, скорее об эффективности для самого человека — я считаю, особенно в начале, лучше сфокусировать внимание на изучении более важных навыков.
Однако если в команде все работают в одной IDE, то с этого определенно может быть хотя бы небольшой профит, когда коллеги могут рассказывать друг другу о полезных фичах.
Уже ведь было где-то, примерная цитата: «консольные вимы и емаксы, какие бы плагины вы к ним не прикрутили, останутся текстовыми редакторами не понимающими особенно что именно там редактируется. Оно работает на уровне отдельных буковок. Полноценная IDE это не только редактор но еще и разбор на токены, лексический/синтаксический анализатор и т.д.»
Хорошая статья. Теория конечно это хорошо, но это не все. Нужна практика, а где эту практику получить? Сам начать самостоятельно программировать какой-нибудь сайт на Django? можно конечно, но навряд ли это как-то «зачтется» на собеседовании. Всегда нужно учиться/драться/работать с умными/с сильными/ с опытными, чтобы быстрее научиться и стать опытнее и востребованным. Где найти такого Джедая?). Было бы хорошо, если был такой вид услуги.
Зачтется гарантированно, особенно если этот сайт будет не Hello World!
Как раз сейчас продумываю воркшоп, на котором можно будет и портфолио сделать и знания целостные получить и иметь возможность воспользоваться «помощью джедая»))
Воркшоп это конечно хорошо, но не все могут собираться вместе если есть люди из регионов(их конечно не мало). Если воркшоп будет удаленно — это было бы хорошо.
Как я все это мне видится.
Система знания состоит из трех категорий(части, разделы и тд)(например А- базовый, Б — средний, С сложный).
например в категорий А 100 задач, которые охватывают все темы языка программирования(от Ввода/Вывода до классов).
В категорий Б там уже посложнее, ну и самый сложные задачи в категорий С.
Пока пользователь не решит все 100 задач из категорий А то ему не откроется категория Б.
Ответы должны хранится в системе для просмотра(например для соискателя, Джедая, ментора и тд(они могут смотреть как человек решил задачу(на сколько он креативен))), но не для другими пользователями.
То, что я описал — это не воркшоп, но можно сделать так, чтобы каждый человек, который открывает категорию Б, мог участвовать в команде(в команде можно выполнять категорию С) или продолжал один выполнять задачи. Если ты не можешь пройти категорию А, то ты не можешь участвовать в команде(это будет стимулом для пользователей)
любопытная идея

ну вот и сделай такой сайт, это точно зачтётся

Как работодатель скажу, что у меня есть проекты по автоматизации промышленного производства. И для того чтобы написать «банальный» алгоритм по разузловке двигателя надо знать производство, техпроцесс, уметь читать документацию и наперёд думать за заказчика. И это помимо навыка выуживания информации по крохам из ответственных сотрудников предприятия… К чем это я… Если ко мне придёт кузнечик, то какой бы он продвинутый не был, я даже разговаривать с ним не стану, т.к. только на понимание производства уйдёт не один год.
Беру я людей у которых есть огонёк в глазах, здоровая инициатива и желание найти интересную работу НАДОЛГО. Знание языка программирования — это конечно здорово, фреймворка — вообще класс, написать грамотный sql запрос — отпад. Но этому можно и научиться за те же 2-3 месяца.
Знает соискатель супер-пупер новомодный фреймворк — пусть идёт в геймдев, пасьянс писать… У меня не будет смена парадигмы и инструментария каждые полгода…

Пы.Сы. Вышесказанное не отменяет моё шпыняние программеров на еженедельное изучение новых технологий и написание кратенького отчёта в абзац длинной и чём-то новом)))
Скажите, какую зарплату вы платите работникам?
Вы не поверите, от 20 тыс тем, кто не хочет учиться, например, женщины 50+. Им поручается рутиная работа. До 45 тыс максимум, причём я регулярно спрашиваю сотрудников, что им не нравится, что хочется изменить, какие-то пожелания… Так вот зарплата как правило стоит где-то на 3-4м месте среди всех желаний. Самый популярный ответ почему люди не уходят от меня — это интересная работа, которая не надоедает :) Как вы понимаете в управлении заводом — очень много разнообразных направлений :) Второй по популярности — стабильность, у нас даже в кризисные годы ни разу не задерживали зарплату.
Я прошу прощения, но в таком случае ваш комментарий — оффтопик. Я очень уважаю любых производителей, но IT-сфера значительно динамичнее. Я не сомневаюсь, что бывают отрасли где надо годами вникать в тему, но если программист вникает в проект по полгода-году это катастрофа, эта отрасль в разы динамичнее других. В свое время я бросил учебу и ушел в IT именно по этой причине — меня не устраивало, что схемотехника требует месяцы на подготовку изделия к производству, такая динамика не для меня. В IT (покрайней мере в среде Python) быстрое развитие и быстрое достижение потолка в конкретном направлении. Направлений много, конечно, и развиваться можно очень и очень долго, но не в рамках одного проекта. Именно поэтому в статье был совет про смену работы.

Это не катастрофа, это реальность в любом большом (сотни человеко-лет) проекте. Конечно, критерии вхождения в проект можно задать разные: какой-то полезный код обычно можно начать писать очень быстро. Но для выхода на сравнимую со старожилами продуктивность нужны месяцы. По собственному опыту, чтобы перестать упираться в необходимость глубокого поиска на каждом шаге, мне в YouTube как раз около полугода понадобилось. Google — это экстремальный пример, потому что очень большой и очень проприетарный, но всё же едва ли единственный в своём роде. Посмотрите на это с такой стороны: в проекте может быть больше внутренних API, чем, скажем, в стандартной библиотека Python и вашем любимом веб-фреймворке вместе взятых. Сколько, по-вашему, нужно времени, чтобы начать эффективно писать на условном Django? Да, опыт рулит, решения повторяются, основы те же. Но все равно очень много информации надо через себя пропустить, чтобы полноценно работать.

Что посоветуете человеку, который последние лет 6 лет занимался ruby, апишками, хайлодом, вот этим вот всем, но внезапно понял что в моду снова вошел Python, и все вокруг ищут питонистов, а на рубистов спрос как-то подъупал?
НЛО прилетело и опубликовало эту надпись здесь
Непонятно почему начинать надо именно c PEP8, вроде бы ничего страшного. В рубях я настолько привык делать автоформатирование кода средствами rubymine перед отправкой в git, что даже уже не замечаю этого (шорткат на уровне рефлексов). И был, например, рад узнать что для Go даже этого делать не требуется, все происходит «само» (достаточно настроить запуск одной из утилит, либо пару галок в goclipse)
Просмотрел PEP8 по диагонали, аналогичный стандарт для Ruby раз в десять больше https://github.com/bbatsov/ruby-style-guide
НЛО прилетело и опубликовало эту надпись здесь
Вот моя статья где я делал исследование на апворке на эту тему, не думаю, что ситуация радикально изменилась за эти месяцы.
Насколько я наслышан, руби вообще популярнее чем питон у буржуев, особенно в стартапах.
С 6-летним опытом думаю вас должны с руками оторвать на toptal.com, не пробовали?
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории