Комментарии 190
Не согласен, статья полностью посвящена применению Python для веб-программирования. Поэтому легко можно заменить "питонист" на "веб-программист". В статье мало специфичного именно для Python, и при желании всю эту специфику легко можно заменить на аналоги для других языков.
Замены примерно такие:
Python -> название другого ЯП
Django -> популярный full-stack веб-фреймворк под другой ЯП
PyCharm или PyDev -> IDE для другого ЯП или даже универсальный редактор типа Sublime или Atom + плагины под выбранный ЯП
Плюс список стандартных инструментов (virtualenvwrapper, pip, pyenv) тоже надо будет заменить.
В общем, я бы сказал, что в статье достаточно заменить порядка 10 слов, чтобы она стала про Ruby, ну или любой другой ЯП, применяемый для веб-разработки.
P.S. Единственный похожий на Python язык — это Ruby, все остальные отличаются довольно и для них некоторые пункты статьи будут не актуальными или даже вредными.
миллиард маленьких однострочных библиотек тоже придется изучить.
Я думал, честно говоря, что после истории с leftpad
’ом здравомыслящие люди вернулись к правилу «искать библиотеку только для того, что нельзя написать самому за час». Кроме того, зачем их изучать? — Нагуглил, впилил, побежал дальше.
Да и миф про «бежать, чтоб оставаться на месте» — немного преувеличение. Есть куча больших хороших проектов, в шкафу которых до сих пор живет какой-нибудь кофейный скелет и никакие хипстерские поделки вроде реакта им никогда в жизни не вопрутся.
Не "какой-нибудь", а популярный для конкретного языка. Это ведь гуглится за 5 минут.
Я не говорю, что в статье надо было писать как-то по-другому… Просто Python-специфики в ней как раз те самые 5%, о которых Вы же и писали.
все остальные отличаются довольно и для них некоторые пункты статьи будут не актуальными или даже вредными.
Интересно, что из них Вы считаете вредным, скажем, для того же PHP или Go или даже Elixir?
Очевидно, что у каждого языка своя специфика… Но все Ваши пункты об общих вещах, а не о специфике. Да специфики там маленько есть в названиях инструментов, но, как я писал выше, их легко заменить на аналогичные инструменты, без потери смысла остального текста.
P.S. По-большому счёту это Вам же комплимент, что статья получилась достаточно универсальная.
Вообще-то я далеко не только веб-программист и если тут написано про Django и не написано про Tornado, Pandas, Celery, Twisted, Scipy и кучу других мощнейших фреймворков, то это не значит, что статья только для веб-разработчиков.
Я понятия не имею что надо изучать Go или Elixir-разработчику, так же как и PHP, поэтому я об этом не говорю. Если вы считаете, что копипастой моей статьи и заменой отдельных слов на другие можно адаптировать эту статью под другие языки — копируйте и публикуйте. Я лично так не считаю, поэтому пишу только о питоне.
Допустим,
python - django - virtualenvwrapper
второй вариант
nodeJS - angular - npm(?)
третий
php - <крутойФреймворк> - <то же что-то крутое>
И сможете убить всех зайцев))
ЗЫ: для меня, как для начинающего nodeJS & C++ программиста, тут 90% информации оказалось полезной. Всё кроме каких-то virtualenvwrapper, pip и тому подобных.
Кстати, на работу тоже берут по такой же логике, как и Вы говорили.
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-му совету… Хоть и непонятно зачем, я ж Вас не собеседую ;-)
И те и те программисты, и как вариант питонисты. Вы же сами упорно утверждаете, что статья не для веб-программистов, а для любой специализации. Я Вам лишь указал на ошибку в Вашей логике.
Нанимаете системных аналитиков написать сайт или запилить парсер какой-нибудь?
Прекрасно. Вы ещё не в курсе кто такие системные аналитики и чем они занимаются. Аж настолько, что они у вас с 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 лет) практического опыта не бывает. Как говорится, в теории нет разницы между теорией и практикой, а вот на практике всё немного иначе…
Впрочем, кол-во лет само по себе тоже недостаточный критерий… бывает, что джуны никогда не дорастают до мидлов. Вроде и терминов уже на 5 страниц мелким текстом знают, а всё равно самостоятельно выполнить маленькую нетривиальную задачу не в состоянии.
.
Кстати, парень-американец, про которого я в спойлере писал вообще не работал джуниором и после вокршопа сразу устроился на приличную работу.
Можно болтаться годами в джуниорах, а можно за два года гарантированно выйти в сеньоры, при условии, что хватит мозгов. Но с хорошими мозгами можно запросто и деградировать — все зависит от целей.
Кстати, парень-американец, про которого я в спойлере писал вообще не работал джуниором и после вокршопа сразу устроился на приличную работу.
Это всё про умение себя позиционировать… То, что он, будучи джуниором по факту, устроился на работу мидлом, не делает из него мидла.
Просто мы тут про разные вещи говорим, я про реальные уровни, а Вы про надписи в вакансиях.
А так, интересная история. Вы — молодец, что так упорно трудились ^^
Регион — понятие растяжимое. Кто-то считает регионом всё, что не столица, а кто-то всё, что не крупный город-миллионник. Или подразумевалась вся страна целиком?
но все же работать на UBUNTU или MacOS на порядок комфортнее
Это вкусовщина. Винда ничуть не хуже в повседневном использовании для разработки. Говорю как человек, сидящий дома за macOS, а на работе — под виндой.
Сколько знаю людей пытавшихся под виндой кодить на питоне — все локти искусали. Даже библиотеки не все там работают (например hiredis тупо не устанавливается в виртуальное окружение под виндой). Это не вкусовщина, а опыт.
Я сам совершенно спокойно пользуюсь всеми операционками и в порой больше виндой, чем остальными, но кодить на питоне под виндой — из этого ни разу ничего толкового не выходило. Можно ковыряться с виртуальными машинами и удаленными интерпретаторами, но не пытайтесь ввести людей в заблуждение, что это так же комфортно как под убунтой или макосью.
P.S. А еще под виндой многие ставят антивирус и работа превращается в сущий ад даже на мощном компе. Но если вы называете вкусовщиной комфортную работу, то ок.
P.S. А еще под виндой многие ставят антивирус и работа превращается в сущий ад даже на мощном компе.
А многие не ставят. А многие ставят, и не испытывают проблем. Это зависит от множества факторов, поэтому экстраполировать на всех не стоит.
Даже библиотеки не все там работают (например hiredis тупо не устанавливается в виртуальное окружение под виндой).
Hiredis не является жизненноважной библиотекой для разработки на питоне, так-то. Для некоторых типов приложений — возможно. Правда, то, что она не ставится под какой-то конкретной ОС это вина ее разработчиков, а не пользователей этой ОС.
Сколько знаю людей пытавшихся под виндой кодить на питоне — все локти искусали.
Знаю людей, пишущих на питоне под виндой и жалоб от них не слышал. ПО пишется под виндой, а в продакшене работает под дебианом.
но не пытайтесь ввести людей в заблуждение, что это так же комфортно как под убунтой или макосью
И вы не пытайтесь вводить людей в заблуждение. Если вам комфортнее под конкретной ОС — то и пишите что комфортно именно вам. Вы же пишете так, что можно счесть, что на питоне комфортно можно разрабатывать только под конкретной ОС и приводите субъективные утверждения о наличии.отсутствии софта. Те, кто этот софт не используют, с вами не согласятся.
во-вторых, я писал, что это мое мнение, однако оно не от того, что я какой-нибудь хейтер винды. Я люблю винду так же как все остальные оси, но кодить именно на пайтоне в разы удобнее под UBUNTU, на втором месте — MacOS.
Буквально недавно мой коллега в течение двух месяцев утверждал, что справится с задачами на винде, потратил кучу времени чтобы у него завелось все что нужно. Дергал меня чтобы я тэстировал его код. В итоге перешел на убунту, предварительно потратив кучу своего и моего времени (и соответственно денег). Это тоже субъективно?
Факты и жизненный опыт объективнее ваших теоретических докадок, сэр.
Можно и в блокноте писать код, он тоже будет работать. Есть инструменты более удобные и менее удобные. Я написал без подробного объяснения почему, иначе это будет не статья, а книга.
во-первых отсутствующий софт — это отнюдь не субъективно.
Я этого и не утверждал. Я говорил, что отсутствие По под ОС — не вина разработчиков ОС, а вина разработчиков ПО.
но кодить именно на пайтоне в разы удобнее под UBUNTU, на втором месте — MacOS.
А кодить на пайтоне ПО, задачей которого является работа под виндой все ещё удобнее под Ubuntu? (да, название этой ОС пишется именно так).
Буквально недавно мой коллега в течение двух месяцев утверждал, что справится с задачами на винде, потратил кучу времени чтобы у него завелось все что нужно. Дергал меня чтобы я тэстировал его код. В итоге перешел на убунту, предварительно потратив кучу своего и моего времени (и соответственно денег).
Буквально недавно мой коллега успешно завершил работу над ПО, которое должно работать под Debian-ом (и только под ним). Работа велась под виндой, жалоб на то, что винда не подходит для разработки на пайтоне я от него не слышал.
Факты и жизненный опыт объективнее ваших теоретических докадок, сэр.
Месье, помилуйте, мои теоретические выкладки являются обобщением моего опыта и фактов, известных мне. Никакого тыканья пальцем в небо.
Есть инструменты более удобные и менее удобные.
А есть понятие субъективные и объективные. Удобство — субъективное. Например, привычные всем ножницы могут быть неудобны, если человек левша. Вместе с тем, левше могут быть неудобны специальные ножницы для левшей, а правша может носить наручные часы на правой руке.
Я написал без подробного объяснения почему, иначе это будет не статья, а книга.
Ну хоть бы кто-нибудь такую книгу написал.
Сам сижу на винде + PyCharm. Да иногда приходит вносить некоторые правки в проект на продакшене, но это не такая уж и большая проблема.
Маки, учитывая их текущую цену, идут в задницу. Платить свыше 100к я как-то еще не готов, когда такое же решение по мощности и комфорту на винде собирается за 35к.+ 5к за лицензию PyCharm.
Убунту — на серверах использую CentoS, проблем не вижу. Но в качестве рабочей станции — это какое-то садомазо. Писал бы какие-то серверные утилиты или решения под линукс, то да. А для веб-дева — смысла не вижу.
Hiredis не является жизненноважной библиотекой для разработки на питоне, так-то. Для некоторых типов приложений — возможно. Правда, то, что она не ставится под какой-то конкретной ОС это вина ее разработчиков, а не пользователей этой ОС.
Представляю, что бы было, если бы я на своей первой же работе сказал тим-лиду: «Извини, у меня не получилось развернуть у себя локально проект, потому что вы используете библиотеку Hiredis, но она у меня не ставится. У меня Винда, понимаешь. Но ты не думай, что это моя вина. Это вина разработчиков этой библиотеки. И вообще она не является жизненноважной библиотекой для разработки на питоне. Поэтому ваша команда может ее убрать из проекта и я приступлю к работе». :)
нормальная консоль, ssh-клиент,
Опять же, нужно далеко не всем.
то есть хотите сказать, что Putty сравнимо по удобству со встроенной консолью убунты?
Я хочу сказать, что консоль — не самое главное в операционной системе для меня. Только и всего. Поэтому утверждения, что какая-то ОС лучше другой за счёт того, что в ней «консоль лучше» для меня является вкусовщиной, так как консоль не является для меня определяющим фактором при выборе ОС.
Это как если бы вы были отчаянным линуксоидом и предлагали фотографу, которому все что надо — это Lightroom навязать Digikam или Darktable. Да, они тоже могут RAW-файлы читать и накладывать изменения на них не ломая исходники, но они в 100 раз менее удобны, к сожалению. Или тоже скажете «ну это на вкус и цвет»?
И вы пытаетесь используя аргумент «ну, на вкус и цвет» что-то доказать.
А вы пытаетесь что-то доказать, используя аргумент «я знаю, а вы нет».
Это как если бы вы были отчаянным линуксоидом и предлагали фотографу, которому все что надо — это Lightroom навязать Digikam или Darktable.
Это как если бы я был инженером-проектантом и использовал Autocad, а вы пытались бы меня убедить, что для проектирования лучше Sketch'а ничего нет, я бы пытался вам объяснить, что я решаю другие задачи, а вы бы настаивали, что вам лучше знать, потому что ваш коллега пытался проектировать GUI в Autocad'е и у него ничего не получилось. Вы просто не хотите понять, что есть задачи, которые решаются другими инструментами и другими способами, отличными от тех, которые вы считаете удобными для решения ваших задач, но пытаетесь представить, как абсолютное решение всех проблем одной области.
Для разработки на питоне вы не используете никаких инструментов, которых нет на убунте, так что ваш аргумент про автокад и скетч — вообще бред, высосанный из пальца.
Единственное что порой заставляет разработчиков оставаться на винде — это когда они используют какой-либо софт, не связанный с разработкой на питоне, существующий только под винду. Тогда да, как пишет tema_sun — виртуалка, пайчарм и удаленный интерпретатор. Но говорить, что виртуалка + удаленный интерпретатор это так же комфортно, как тоже самое, что и без них… ну-ну, чо)
Мой коллега приводил еще 100500 аргументов и в итоге оказался неправ.
Если ваш коллега еще и признал свою неправоту, то могу ему поаплодировать, умение признавать свои ошибки очень полезно в жизни.
Единственное что порой заставляет разработчиков оставаться на винде — это когда они используют какой-либо софт, не связанный с разработкой на питоне, существующий только под винду.
«Единственное, что держит пользователей на винде это игры, как только игры появятся под линуксами, так винде настанет столь ожидаемый капец, ведь все программы, необходимые в повседневности уже есть под линуксами».
Для разработки на питоне вы не используете никаких инструментов, которых нет на убунте
Откуда вам знать, что я использую при разработке на питоне, а что — нет?
так что ваш аргумент про автокад и скетч — вообще бред, высосанный из пальца
Конечно, бред, ведь я этот аргумент взял с потолка, чтобы проиллюстрировать свою точку зрения на нашу дискуссию. Вы утверждаете, что убунта более удобна для разработки на питоне, а я пытаюсь вам показать, что удобство это субъективное понятие и категорично заявлять что что-то одно удобно, а что-то другое нет неправильно, так как есть задачи, где или не важно, под чем разрабатывать, или удобно обратное, а убунта будет только мешать. А все потому, что как и в моем примере про автокад и скетч — задачи разные. Судя по вашему примеру с hiredis вы занимаетесь серверной разработкой или веб-проектами, что также подтверждает ваше мнение о том, что питонисту нужно знать JS, Django, Angular и прочее.
Спорить с вами мне, если честно, надоело. Я лучше запущу на своей винде пайшарм и пойду доделывать свои задачи.
А вы, похоже, пилите десктопные приложения, которые потом работают в виндовой среде — разумеется вам логичнее использовать виндо-машину для разработки.
Для читателей ваш пример с потолка иллюстрирует, что вы не в теме, даже если для вас он иллюстрирует ваше отношение.
Еще раз: я не предвзят в отношении винды. Хорошая система, со своей, возможно самой большой в мире экосистемой и никакого капца ей не настанет пока есть десктопы.
Если в текущем проекте все зависимости простые(читай на чистом питоне), то все заведется легко и просто в любой ОС. Но стоит например захотеть поработать с БД то окажется что под виндой pip install psycopg2 завершится ошибкой, потому что не сможет скомпилить сишные части и тогда придется гуглить уже скомпиленый модуль или гуглить что же нужно установить и где его взять для нормальной компиляции. В то же время на убунту это сведется либо к aptitude install python-psycopg2, либо если нужна другая версия к тому же пипу, который сразу скомпилит модуль потому что зависимости в 90% случаев уже есть в системе или опять же к aptitude install <список зависимостей>. В итоге да вы сможете использовать модуль в своем софте на обеих ОС, только время потраченное на подготовку к работе заметно отличается.
И на каждый новый проект или новый сложный модуль в проекте нужно будет тратить доп время.
Потому мы и говорим о разном уровне удобства.
P.S.
На питоне пишут в том числе и то, что потом тиражируется на машины пользователей.
Машины пользователей в данном случае и есть прод.
P.P.S. Лично я пишу на питоне под убунту и виндой как веб так и десктоп софт, потому мнение основано на личном опыте.
В моем понимании она охватывает весь спектр возможных задач с которыми придется столкнутся, а не ограничивается вырожденными случаями конкретного проекта в котором не нужно никаких зависимостей и т.д.
В моем понимании, профессиональная разработка слишком широкая область, чтобы делать выводы имеющие отношение сразу ко всем её аспектам. Поэтому утверждения о том, что правила, подходящие к решению некоторого подмножества задач истинны для всей области неправильно.
окажется что под виндой pip install psycopg2 завершится ошибкой, потому что не сможет скомпилить сишные части
Когда мне потребовалось обратиться к PostgreSQL из-под винды, установка зависимостей проблем не вызвала.
На питоне пишут в том числе и то, что потом тиражируется на машины пользователей.
Машины пользователей в данном случае и есть прод.
И поэтому, когда вы пишите под убунтой, вам не
приходится быть внимательней, чтобы код был платформонезависимым
?
Не писал, но осуждаю? :)
Если честно, я уважаю PHP: фейсбук, контакт — это все PHP-проекты. Глупо говорить, что они не очень.
Но там речь шла о подходах. Ведь и PHP-код можно хранить в git, не так ли? Но в коммунити PHP распространено копировать папочки с именами *_new, отправлять код архивами и прочие не самые хорошие методы.
Конечно это не только в PHP, я, например, и на Python видел отвратительнейший лапша-код, такой что jQuery-разработчики нервно курят в сторонке
Надеюсь вы поняли меня :-)
Именно в коммюнити PHP уже давно так не принято. Одиночки и ретрограды, которые варятся в собственном соку не в счет. Такие и в пайтоне есть. Но, справедливости ради, их меньше:)
И обидно не то, что кто-то пошутил, а то, что несведующий новичок прочитал и поверил компетентному в питоне, но некомпетентному в пхп автору.
В PHP не создано ни одного фреймворка, который сам себя обслуживает — сам биндится на порт, сам отвечает на запросы (и при этом не компилирует код под каждый запрос, как это делают костыли FPM или Symphony WebServer или что еще они там накостылили).
А я напоминаю, что языку уже почти четверть столетия.
К чему я это упомянул? К тому, что это шикарный показатель зрелости комьюнити, которое вообще не хочет никак развиваться. По сути все причины, почему троллят PHP — это безрукость и безалаберность его комьюнити, а не косяки самого языка.
Сейчас php находится в топ 5 по популярности на гитхабе
Миллионы не могут ошибаться
То есть 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 все очень толково.
В кратце: с одним лишь знанием языка вы нафик никому не нужны.
Получается, что работодатели считают что начинающие претенденты на работу не умеют гуглить, читать и не подозревают, что для библиотек пишется документация?
>начинающие претенденты на работу не умеют гуглить, читать и не подозревают, что для библиотек пишется документация
Да, так оно и есть.
P.S. я основываюсь чисто на своем опыте, с тем, чтобы написать что-то действительно реальное, нужно подержать в руках иснтрумент, поработать с CLI, разобраться в базовых сущностях фрэймворка/библиотеки/тулзы какой-то.
1) Официальная документация
2) html+css+js
3) SQL
4) Деплой
При сборке хотя бы одного адекватного проекта, ты это уже все начинаешь понимать. Ну а дальше уже от удачи и места зависит = сможешь ли ты найти работу или нет.
По моей практике:
Если ты из регионов — то ты в жопе, так как собственных компаний нет, а на удаленку берут уже «готовых» специалистов.
Пилить свой проект (чаще всего это будет Django)
Учить: Celery/Rest/React.js/Angular
Искать компании, которым нужно поддерживать текущие проекты и расширять их функционал
И уже потом идти во что-то серьезное.
Если это Москва/Питер — то вариантов куча, хоть начинать с автоматического тестирования или стажировок от яндекса, мыла.
Москва/Питер это тоже ограничение, не забывайте, что когда вы там устраиваетесь на позицию джуниора с зп 30тр вам все еще нужно будет платить за жилье и еду побольше, чем в регионах
Смена работы — очень хорошо для профессионального роста.
Я запросто менял работу иногда и через месяц-два — и никаких проблем с трудоустройством.
То о чем вы говорите скорее относится к трудоустройству в банки и прочие конторы-левиафаны, но там чаще Java на серверах, а не Python.
PS Я как-то раз менял работу 2-3 месяца, потом мне кадровички 2-3 года отказывали с работой.
Мне сейчас 31 если это имеет какое-то значение.
Не ходите на собеседования с кадровичками — только со специалистами. У кадровичек одни и те же шаблоны на вас, на уборщиц и на бухгалтеров.
Не ходите на собеседования с кадровичками — только со специалистами. У кадровичек одни и те же шаблоны на вас, на уборщиц и на бухгалтеров.
Совет настолько же великолепный, насколько и бесполезный!
Потому что Вы ни словом не обмолвились о том, как проскочив кадровичек попасть на беседу со специалистом.
И это не единственный вариант. про нетворкинг вот заметили, там же в посте я делал сноску как я, например, нашел последнюю работу — в сауне. Глупо думать, что я рекомендую искать работу там, но надо понимать, что людей которые могут дать вам работу много. Опять же про посещение мероприятий читали?
На резюме, размещенные на StackOverflow Careers, откликаются специалисты более-менее высокого уровня.
Хороший github profile и проиндексированные записи в блоге на английском языке тоже помогают. Причем, они не обязаны быть бриллиантового качества.
Вход в энтерпрайз, к деньгам, закроется навсегда.Это когда приходишь на собеседование, успешно проходишь HR, доходишь до директора, а он:
— Как-как вы говорите ваше ФИО? О-о, да вы тот самый человек который меняет работу раз в полгода? Вы же знаменитость, не знали? Мы на последнем всероссийском собрании директоров IT фирм как раз вас и обсуждали. Простите, но мы провели голосование и решением подавляющего большинства решили больше вас никогда на работу не принимать. Приговор окончательный, и действует на всей территории РФ. Карму вы себе испортили бесповоротно, очень-очень жаль, вы ведь такой молодой… Но у вас ещё есть шанс попробовать себя в другой профессии.
А вот качество кода — это скорее зависит от того какие требования к качеству кода предъявляются к вам, особенно в первых проектах + от уровеня вашего перфекционизма. Я работал в одной крупной российской компании, где весь проект — лапша-код, написанная очень востребованным программистом, которого с руками оторвали потом в Яндекс. Как правило у работодателей в критериях нет «пишет качественный код».
Javascript, jQuery и прочие AngularJS
то можно итак неплохо устроится и без питона, администрирования и знания баз данных.
Такое тоже есть, http://tceh.com/edu/ например.
Они в России пока непопулярны, а в США — нормальное явление
Чаще меняйте работу… примерно раз в полгода-год
Хочется знать, что думают работодатели, когда видят такую трудовую книжку? Старшее поколение вообще отрицает такое подход) Есть плохой вариант развития событий, что я за 5 лет поувольняюсь со всех возможных работ в своем городе, а потом, видя ситуацию, меня все посылать куда-подальше будут.
Сам ушёл — значит снял с предыдущего работодателя все сливки, почитал кодовую базу, поэкспериментировал с архитектурой, которую не везде встретишь (кластер, к примеру). Пользы не принёс, только расходы.
Не сам ушёл — ещё хуже. Человеку дали время и возможность проявить себя — не проявил.
Конечно, для быстрых и мобильных стартаперов это всё нудно и неинтересно, но тут уж ничего не поделаешь. Каждому своё.
Насколько я понял, автор имеет в виду формат фриланса, т.е. в трудовой книжке никаких записей об этом не будет.
2. конечно ни одному работодателю не понравится этот совет, но я ведь не для них статью пишу. Задача работодателя — замотивировать вас, чтобы вы работали у него как можно дольше, это его головная боль. Он может дать вам опцион, побольше ответственности, делать реально интересный, общественно полезный проект, абонемент в спортзал, массажисток в офис и личную секретаршу с 4ым размером, которая будет делать вам кофе сразу после минета. Ну и зарплатой можно удержать иногда. Но это не отменяет того, что в развитии вы скорее всего довольно быстро затормозитесь, а может даже и начнете деградировать (потому что зациклитесь на старом стеке технологий).
Соглашусь, про высшее довольно спорная тема. Тут мнения у людей частенько расходятся. Но алгоритмы…
Если человек хочет клепать формочки всю жизнь, то наверное, да тут алгоритмы не нужны. Хотя у меня даже на должность клепателя форм частенько спрашивали всякие алгоритмические задачки.
Плю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 Там отлично объясняется теория алгоритмов и для каждой темы дают задачки на программирование, где эти алгоритмы можно применить. Твое решение проверяется автоматически на большем количестве тестовых примеров, оно валидируется по времени и по памяти. Причем задачки не всегда в лоб — типа реализуйте алгоритм, а иногда какие-то более хитрые проблемы из реального мира, где этот алгоритм надо применить. И кстати нечто похоже мне давали пару раз на собеседованиях так что…
Этому всему можно всю жизнь учиться и ничего не добиться, но при этом быть хорошим программистом, а можно не учась уметь, но писать такой кривой код, что твои коллеги будут с него блевать.
Потому что развиваться нужно в разных направлениях? А если все так плохо с уровнем кода может стоит внедрить процесс код ревью, парного программирования, дать человеку почитать Совершенный код в коцне концов. Причем тут алгоритмы?
Я считаю, что мозги у программиста должны работать хорошо, но я лично встречал совершенно откровенно тупых программистов и им не мешало это устраиваться на работу и получать зарплату не сильно хуже моей.
Потому что большинство работы — это формашлепство и не нужно быть гением что бы ее выполнять? И я не говорю, что это что-то плохое, работа есть работа :) Но если у человека мозги работают как надо, зачем лишать его возможности претендовать на что-то большее?
Просто бояться «ой, я не знаю все существующие в мире алгоритмы» точно не нужно. Ну не устроитесь в контору где такие фильтры — идите в другую. Предлагайте взять вас на испытательный срок, по фрилансу есть вообще отличное решение — «давайте я сделаю вам то-то то-то за такое-то время и если вас устроит — работаем дальше».
Ну норм, это адекватно.
Серьезно, многие настолько зациклены на алгоритмах, но при этом даже не задумываются, что простота, написание документации, лаконичность, стиль написания кода — важнее для бизнеса, которому нужно лишь шлепнуть форму, а потом чтобы другой разработчик мог ее изменить за минимальное время :-)
Эта статья была написана чтобы развеять эти мифы, чтобы кто-нибудь вышел из цикла и задумался над тем, что на самом деле имеет больший приоритет.
А развитие по всем направлениям в том числе в алгоритмах — я ничего против этого не имею
По поводу курсов вы кстати попали в точку, я вот сейчас прохожу эту специализацию на курсере и буду советовать ее всем — https://www.coursera.org/specializations/data-structures-algorithms
Отличный курс. Застрял пока на Структурах данных из-за цейтнота, но я в себя верю
Самые ценные навыки, которые получают (или не получают) подавляющее большинство людей (не считая тех, кто становится научными сотрудниками) — это социальные связи, навыки коммуникации и прочие вещи, мало имеющие отношения к учебе. Можно запросто зарабатывать 2-3 тысячи долларов в возрасте 6-10 лет, можно стать хорошим программистом и в 15 и нет никакой необходимости в вашем этом фундаменте.
Есть у меня один знакомый бородатый парниша — программист до мозга костей, который с легкостью пилит мобильные приложения, веб, игры и в общем-то единственная проблема поиска работы для него — не самые сильные коммуникативные навыки. При этом все его образование после школы — пара лет в ветеринарном училище.
Расскажите как много он потерял от того, что не отучился 5 лет в вузе и о том, что уже на третьем курсе он мог бы хорошо работать.
Самые ценные навыки, которые получают (или не получают) подавляющее большинство людей (не считая тех, кто становится научными сотрудниками) — это социальные связи, навыки коммуникации...
А тем кто не экстраверт — что пойти повеситься?
Интраверты не обязательно не способны на коммуникацию, они просто делают это иначе. Не нужно путать банальную стеснительность и интроверсию. Интровертам тоже нужна социализация, просто их стиль общения отличается от экстравертного.
давайте не забудем примеры людей с дипломами, работающих дворниками
О чём и речь! Люди без дипломов — очень любят приводить такие примеры, забывая о том, что дворников без дипломов — на порядки больше!
армию менеджеров с высшим образованием, которые стали менеджерами лишь потому, что как специалисты они настолько никакие...
Ну, а с ними-то какие проблемы? Менеджер, как правило, зарабатывает больше специалиста, потому что он его начальник. Так что у них всё прекрасно!
Более того такой менеджер и есть столь любимый Вами — троечник-экстраверт с очень развитыми навыками общения. Потому что, когда все учились, он забив на учёбу — развивал социальные навыки, с помощью которых он и делает своё карьеру.
Чем-то Вас такой человек не устраивает? Вы ведь сами писали о том, насколько важны социальные навыки и общение. Что такой менеджер — и демонстрирует, и очень ярко.
Я считаю, что полноценная IDE эффективнее. Я часто пользуюсь sublime, например, но не для разработки на питоне. Всегда использую vim на серверах — он меня вполне устраивает.
Я знаю, что там есть миллиарды плагинов. Но мне нравится, что в Pycharm я могу работать из коробки не заморачиваясь с изучением плагинов.
Это моё имхо. Для быстрого обучения разработке на Python тратить время на изучение зоопарка плагинов и экосистем emacs/sublime/vim — не эффективная трата времени. К слову в программу моего воркшопа освоение туториала vim входит, я нахожу его полезным.
Однако если в команде все работают в одной IDE, то с этого определенно может быть хотя бы небольшой профит, когда коллеги могут рассказывать друг другу о полезных фичах.
Как раз сейчас продумываю воркшоп, на котором можно будет и портфолио сделать и знания целостные получить и иметь возможность воспользоваться «помощью джедая»))
Как я все это мне видится.
Система знания состоит из трех категорий(части, разделы и тд)(например А- базовый, Б — средний, С сложный).
например в категорий А 100 задач, которые охватывают все темы языка программирования(от Ввода/Вывода до классов).
В категорий Б там уже посложнее, ну и самый сложные задачи в категорий С.
Пока пользователь не решит все 100 задач из категорий А то ему не откроется категория Б.
Ответы должны хранится в системе для просмотра(например для соискателя, Джедая, ментора и тд(они могут смотреть как человек решил задачу(на сколько он креативен))), но не для другими пользователями.
То, что я описал — это не воркшоп, но можно сделать так, чтобы каждый человек, который открывает категорию Б, мог участвовать в команде(в команде можно выполнять категорию С) или продолжал один выполнять задачи. Если ты не можешь пройти категорию А, то ты не можешь участвовать в команде(это будет стимулом для пользователей)
Беру я людей у которых есть огонёк в глазах, здоровая инициатива и желание найти интересную работу НАДОЛГО. Знание языка программирования — это конечно здорово, фреймворка — вообще класс, написать грамотный sql запрос — отпад. Но этому можно и научиться за те же 2-3 месяца.
Знает соискатель супер-пупер новомодный фреймворк — пусть идёт в геймдев, пасьянс писать… У меня не будет смена парадигмы и инструментария каждые полгода…
Пы.Сы. Вышесказанное не отменяет моё шпыняние программеров на еженедельное изучение новых технологий и написание кратенького отчёта в абзац длинной и чём-то новом)))
Это не катастрофа, это реальность в любом большом (сотни человеко-лет) проекте. Конечно, критерии вхождения в проект можно задать разные: какой-то полезный код обычно можно начать писать очень быстро. Но для выхода на сравнимую со старожилами продуктивность нужны месяцы. По собственному опыту, чтобы перестать упираться в необходимость глубокого поиска на каждом шаге, мне в YouTube как раз около полугода понадобилось. Google — это экстремальный пример, потому что очень большой и очень проприетарный, но всё же едва ли единственный в своём роде. Посмотрите на это с такой стороны: в проекте может быть больше внутренних API, чем, скажем, в стандартной библиотека Python и вашем любимом веб-фреймворке вместе взятых. Сколько, по-вашему, нужно времени, чтобы начать эффективно писать на условном Django? Да, опыт рулит, решения повторяются, основы те же. Но все равно очень много информации надо через себя пропустить, чтобы полноценно работать.
Просмотрел PEP8 по диагонали, аналогичный стандарт для Ruby раз в десять больше https://github.com/bbatsov/ruby-style-guide
Насколько я наслышан, руби вообще популярнее чем питон у буржуев, особенно в стартапах.
С 6-летним опытом думаю вас должны с руками оторвать на toptal.com, не пробовали?
Что нужно знать, уметь и понимать, чтобы не иметь проблем с поиском работы питонистом