Из моей компании уволился тим-лид, который последние годы отвечал единолично за архитектуру проекта. Проект, как вы догадались, в жопе и руинах благодаря этому кадру, и сейчас мы разберем по каким признакам это можно было предсказать и предотвратить, и, возможно, это спасёт чью-то компанию, куда он дальше устроится.
Итак, первый холиварный, но от этого не менее справедливый, признак нашего героя — это лютая упоротость по С++. Вот этот весь лютый дроч на boost, темплейты и чувство неебического превосходства над остальными. Особо любил опускать «пхпешников». Не поймите меня не правильно, все мы знаем, что пхп это не то, о чем нужно писать на сайтах про ИТ, но речь идёт о личностых качествах.
Безусловно, упоротость по чему-бы то ни было — это плохо. Но С++ особенен тем, что его освоение до уровня упоротости занимает 5 лет университета плюс еще 5 лет работы. Итого, целых 10 (вдумайтесь в эту цифру!) — десять ебаных лет, потраченных на то, чтобы научиться писать программки, которые наконец-то не будут течь или сегфолтиться. Да это же уровень полубога! Есть чем гордиться. Собственно, упоротость тут и возникает от такого срока.
Упоротый питонист, к примеру, менее опасен — на освоение нужного сабсета Питона уходит на порядок меньше времени, поэтому эта упоротость несравнима. В итоге, питонисты более прагматичны, и, почуяв халяву, быстро перескочат на что-то более эффективное при надобности, оставив Zen of Python в сердцах, но писать будут на том, на чем удобней и легче.
С С++-никами такое не проходит, и они будут все глубже и глубже изолироваться от внешнего мира, превознося свои 10-тилетние знания магии темплейтов превыше всего остального.
Так вот, самое ужасное, когда такой упоротый С++-ник становится тим-лидом. Во-первых, он начинает набирать себе людей с таким же майндсетом, которые тоже дрочили на boost, знают наизусть STL, презирают Qt и все остальные технологии. Особое внимание уделяется тому, чтобы ещё на собеседовании показать, кто главный пахан. Во-вторых, он начинает строить архитектуру проекта исходя из тех познаний, в которых он себя заточил, и 80% которых были заложены в университете.
В итоге, вы получаете одного главного упоротого С++ника и группу неглавных — послушных безинициативных кодеров, восхищенно внимающих каждому слову главного.
И эти люди должны будут создавать современный продукт 2016-го года
Например, 5 месяцев писать REST-бекенд с парой десятков простеньких вызовов. Или тащить в проект целый сервис для туннелирования просто чтобы не заморачиваться с HTTPS на C++. Или засовывать логику работы с базой в rc-скрипт просто чтобы не работать с базой в С++-коде. И тим лид вам будет яростно доказывать, что это красивый дизайн.
Как вы уже догадались, умением расширять свои знания такие персонажи не блещут. И вот реальный случай — один парень рассказал всему тиму про Docker и показал, как тот ускорит тесты и сборку, и уберет кучу геморроя в 10 раз. Про Docker в 2015-м году никто из тима не знал — механизмов получения новых знаний там просто нет — некогда. Послушали они послушали, и забыли. «Чушь какая-то», сказал тим-лид. Но через пол-года, когда пришел внешний консалтинг и сказал — «Ребята, да вам тут докер надо бы заюзать» и менеджер спросил — почему не послушали раньше того парня, наш герой ответил — «Доклад про Docker делал тот парень, а он для меня не авторитет, поэтому я и не оценил насколько это круто».
Как вы понимаете, ошибка компании была в том, что после таких слов, она не уволила товарища нахуй. Товарищ ещё год нес упоротость в массы, посмеиваясь на пхпшниками, а потом свалил, оставив за собой руины.
Поэтому бойтесь упоротых С++-ников. Они похоронят вашу компанию.
46 Комментариев
Любая упоротость — это не айс. Противоположная сторона этой проблемы, это хипстота которая живет на всяких конференциях, наслушается там модных словечек, а потом прибегает на проект и начинает пытаться без понимания сути вещей их в нем заюзать. Вобщем, нужны люди которые понимают что они делают и зачем в контексте поставленной задачи, а не упоротые олфаги и супер-модные хипстеры.
Согласен. Зоопарк тоже еще то удовольствие. Выпиливаешь всю эту поебень за ненадобностью и сложность сопровождения.
Просто попался еблан и говнокодер на функцию «софтвер архитект», частое явление в доморощенном IT. Советую нанимать для построения архитектуры стороннего архитектора сдельно, или консалтинговую компанию. Лучше не доверять простому строителю-макаке план дома, наймите архитектора, тогда криворукий исполнитель не сможет навредить всему зданию.
Вот она правда про ИТ: что бы реально шарить в ИТ мало прочитать книгу «С++ за 21 день» или даже отсидеть пару лет на багфиксе.
Научить клепать говносайты можно и обезьяну. Написать сложную программу — реально могут только «упротоые» синьор — задроты!
Так же точно, как доказать какую-нибудь заумную теорему, как которую дают миллионные премии, может только какой-нибудь «упоротый» математик — задрот вроде Перельмана:
http://www.kp.ru/f/4/image/13/35/393513.jpg
И доказательство он напишет такими тензорами, роторами и дивергенциями что ни один студент прочитать не сможет. А смогут такое понять только несколько таких-же «упоротых» во всем мире.
Вот поэтому если вы создали ИТ компанию для зарабатывания бабла — никогда не берите туда нобелевских лауреатов! Да и вообще любых «упоротых» задротов, которые в ВУЗе учились, а не пиво бухали. Ибо они напридумывают звездолетов — и свалят. А нахрена вам потом эти звездолеты если их некому продать?
Смело берите на свою «галеру» толпу джунов, которые умеют писать 100500 слов в минуту. И не важно что получается поток говнища: навоз то же денег стоит — главное его правильно продать!
Все решает магический аджайл: говнище оно мягкое и можно слепить что угодно. Сегодня слепили одно — завтра помяли, подмазали и получили другое. Главное перед показом золотой краской покрыть. А клиент платит и радуется как быстро все его бредовые идеи в золото воплощаются!
Сайтики не требовательные, посему там до задницы — кто и на чем педалит. Использовать C++ для сайтиков можно, есть библиотеки http://cppcms.com/wikipp/en/page/main http://www.webtoolkit.eu/wt . Но зачем? Зачем растрачивать спеца на «сайтики», если есть более серъезные задачи. Аджайл здесь рулит. Клиенту насрать, он дурак. Тот что такой подход дает накопление дефектов в процессе налепливания говна поверх другого не оглядываясь ни на что, заказчик не знает.
«Упоротые» рулят миром, да. Никто не знает кто придумал транзистор или там графен какой-нибудь. Все этим пользуются, везде оно применяется, но имен людей не знают. Это проблема [s]конченного[/s]конечного обывателя, который видит только интерфейс. Видит руль и педали, а как оно там работает!? А фиг его!!! Но обыватель становиться в позу и сосает, когда автомобиль ломается внезапно, или просто приходит срок запланированного устаревания и он не знает что делать с этим. Те же принтеры, где есть специальный счетчик. Если у человека кривые руки — плати.
«Упоротые» меньше шумят, меньше по количеству. В данной ситуации к «упоротому С++ программисту» уже это не относиться. Пытается гнуть свою линию, вместо того чтобы развиваться. Язык тут причем в виду области его применения, где есть над чем подумать. И вот это «думалка плюсовика» тратиться на доминирование, а не на написания вирусов или эксплоитов для захавование мира.
Сам таким был. Быстро излечился. С++ был основным ЯП.
Про отрицания Qt, вообще маразм. А на чем тогда все пишется? Есть GTK, FLTK, и есть Qt на котором тот же скайп или еще какая фигня сделана. Быстрый, удобный, интересный фреймверк для GUI приложений. CSS стили, быстрый дизайн и наброска формочек. И все прелести и скорость C++. Тот же MFC — убогое недоООП страшилище, использующие страшный синтаксис и препроцессорные макросы.
Я встречал любителей шаблонов(generic для джавистов), они использовались там где в принципе не нужны. Шаблоны ради шаблонов. Boost — хорошая библиотека, но это мелочи. Просто расширение STL.
После C++ хорошо пошли другие языки. Как семечки. Писать сценарии, логику для той же 3D игрушки на С++ — это просто термоядерный ппц. Lua для C++ вообще легкотня. Заморочки только с метатаблицами. Подучил и уже колбасишь во всю сценарии, повидение NPC, хранишь в Lua тупо данные(как замена упоротому XML).
А башовские скрипты вообще иногда позволяют выдрать целый кусок времени.
Кароче я плюсовик, который жанглирует ЯП и говорю, что лучше использовать 10 лет опыта на C++ как лучший плацдарм для освоения новых языков и сред под них, и не привествую делания всего и вся на одном.
P.S. Фроентедщики с жабойскрипт тоже начинают подобным потихоньку страдать.
Извини, но ты какую-то хуйню тут написал. Навалил кучу говна и забыл покрыть ее золотой краской.
По мнению автора, если попался один долбоеб использующий технологию «X» то все кто использует эту технологию перманентно долбоебы.
Автор просто глуп.
Автор намекаэ на «упоротость».
Хотя есть некоторый ньюансик. Ведь по сути те же REST колбасят джависты. А джава как известно похожа на C++. Придераться к «классовости» С++ не получиться любителям «прототипного». На PHP тот же самое, но без типов, все через гребанный знак доллара. Вопрос просто в значениях скорости разработки. Сайтики производительности не требует. Cобственно выбирать между «public function f()», «void f()», «public void f()» трудно. Играет роль то что дает чучуть больше скорости в разработки. На 5 секунд быстрее педалиться.
Автор просто терпила — да и все.
И пускай засунет свои намеки в жопу себе — нубяра сраный…
Меня бесит что какое-то нубло делает подобного рода посты с красочным описанием и умными словами — типа шарит в разработке.
А скорее всего был уволен — и сейчас то и может шо изливать понос на все шо знает..
Из-за таких пидарасов, могут не получать финансирование достойные люди или проекты…
Rest-ы, хуесты — все до пизды. Вы один хер не знаете как надо. Не нужно заливать тут про классы-хуяссы и функции-хуюнкции — вы всеравно не в теме. Скажу по секрету: никто не в теме…
подгорело, э? любишь boost? а? признайся, ведь любишь? и РЕСТ хуяришь поихоньку, э?
Признаюсь — да люблю boost и даже stl. И 11-е плюсы тоже люблю, и надрачиваю на 17-е.
Но превосходства перед другими рабами не чувствую.
Почти все ваши любимые web технологии были зделаны на С++.
А Вы нубасы что зделали в своей жизни ? Чем можете похвастаться ? Что зделали полезного для сообщества ? Ну или хотяб для рынка своей страны ?
е, генацвале, я сделал все шо мог — вовремя съебался с галер. чем смог помог
я выучил как пишется слово «сделано»,
но кого это ебет если тут перед нами дартаньян в белом который лично нахуярил все веб технологии на плюсах или по крайней мере стоял рядом и тыкал пальцем в экран, а кроме того дохуя всего наделал для рынка и (со)общества,
смотри не проспи, завтра контрольная по истории.
А может я хахол ? По хохляцки Зробили/Зделали — один хер… Такшо невыебуйся грамматей.
И да Я — дартаньян в белом — хули бы нет ? Защищаю одну из лучших технологий которая двигает всю индустрию от таких пидарасов как автор.
клоун ты а не хахол, недоразвитое быдло защищающее технологию.
фу блять, как испачкался пока писал.
Как вы блять работаете с такими гнойными ублюдками в коллективе.
Ахахаха, какие мы нервные 🙂 Иди подрочи, придурок — може попустит с психами..
Здесь скорее написано не о недостатках конкретного языка\фреймворка, а о проблемах процессов внутри команды (хотя какая это нахуй команда,если все безоговорочно выполняют тупые приказы?).
Если бы там был Пайтон, Джава итц и архитектор с такими же подходами, то на выходе было бы более-менее тоже самое. Так что здесь проёб тех, кому архитектор дышал в жопу -а именно менеджмента.
Хотя да, видимо, никто не задумывался о сопровождении продукта в будущем и теперь будущее внезапно застало их в расплох. А хитрый архитектор просто обеспечивал себе job security.
И если он не полный болван, то будет работать на них и дальше, но только в роли внешнего консультанта и за совсем другие лавэ…
А может ты просто тролль?!
На самом деле, Я С++ погроммист.
Просто улыбает как уровень топика так и уровень комментов..
Ну так, объясни в чем проблема?
е, генацвале, сперва добейся, запили свой топик с блэкджеком и, в твоем случае, трансвеститами
Тролль. Ибо нормальный разработчик на С++ не заморачивается на всяких библиотечках. Скорее заморачивается на архитектуре и некоторой логике их работы.
По сути учить не надо, знать все названия функций, методов, процедурок — это лишнее. Есть справочник, подсмотрел глазком и уже используешь. Boost прост, STL прост. Qt как бы прост, но нужно понимать механизм сообщений(сигналы, слоты, очередь), метапрограммирование.
А вот те же никсовые сокеты(select, bind, connect и т.д.), одного API знать не достаточно. Ну выучил ты сигнатуру, название процедур, как подключать библиотеки. Но этого мало. Нужно вникать в сетевой протокол, ньюансы, условия работы, как работает.
Дай угадаю, Junior C++ programmer ? 🙂
Дай угадаю, провоцируешь?
А че, унижает ?
Все кто говорит что что-то просто в С++ — обычно жуниоры или интерны, ну или были ими потом перешли на чето другое по разным причинам.
Я бы гордился гордым званием «Junior C++ Developer !»
Эти люди не выбрали легкий денежный путь — а готовы трудиться !
Это вразы лучше senior java developer..
ооо тут еще и кпсс да ты бля просто кладезь, «легкий денежный путь», «люди готовы трудиться» бляя))
Ниже написал про «героически преодолевать трудности, которые создает твой собственный инструмент», читай!
Конечно, тот кто осилил C++ во всех позах — молодец. Но это все частности. Я вырос уже с «программировать на» до «программировать для». Я стал выше всего этого, и для меня все это всего лишь инструменты. Проекты были мультиязычные. Сейчас же я работаю сам по себе и занимаюсь не очень «популярными вещами», скажем так.
80 level detected
Ну пиздец проект в руинах, а их беспокоит сборка через докер.
интересно было бы узнать, кем герои статьи приходится автору? начальник? подчиненный? как так получилось, что упоротый тим лид лепил из говна и палок велосипед на костылях и ему это сходило с рук? что, даже базовых метрик не было? реальные пацаны код не тестировали, что ли? потому как из описания следует, что в коде были такие выебоны, что баги должны были сыпаться как из рога изобилия..
На самом деле все так и есть, чистая правда.
У нас в ебаной «СНГ» только кичатся на сбс и работах по шаблонам и прочей хери С++.
За рубежом пишут на С++ как С с классами. А у нас пишут мега запутанный код с нахрен никому не нужными шаблонами-выебонами
Тыкать шаблоны где не подрозумевается использование кода для разных типов, может это не очень. Но когда надо сделать метапрограммирование или вычисления на этапе компиляции — то это сила. Boost скрывает все эти сложности, весь этот лес из угловых скобочек, и дает готовый инструмент. Однако с ключевым словом template получается «многа букафф», не как в жабе или решетке. Еще компиляция может длиться вечно.
Обощенное программирование вроде бы мощно смотриться на всяких YASM(хотя это препроцессорная макросота)
«»»
C++ — довольно таки примитивное, но монстровое поделие, полное исторически сложившихся нелепых нагромождений. Человек, который хорошо в нем ориентируется — это хорошее зубрилко, а не хороший программист. Умение героически преодолевать трудности, которые создает твой собственный инструмент, вместо того, чтобы решать непосредственно прикладную задачу, в современном мире ценится разве что только среди прыщавых сосок. Работодатель же это сомнительное умение не ценит, и совершенно справедливо.
В общем, так: хороший программист обязан знать Си. Хороший программист может знать C++, но это не обязательно уже. Главное, чтоб C и C++ не были единственными доступными программисту инструментами — иначе это адски паршивый программист.
«»»
нет
пидора ответ
Не, автор, я понимаю что тестируешь вбросовые тем,
но шаблон Язык N — гавно не работает.
…
Надо Язык N vs Язык К — так хейтеров в два раза больше набежит
Я мамку автора ебал
е, слышь я твой мать ебал отец ебал брат сестра ебал твоя кепка насрал
понял, ссвиня?
Атсаси
е, сам саси губой тряси
«Доклад про Docker делал тот парень, а он для меня не авторитет, поэтому я и не оценил насколько это круто».
из той же оперы: человека не взяли на вакансию,потому что была похожа на бывшую ПМа или лида
Галеру в студию!
Статья написана питонистом-дауном из-за неспособности разобраться в более сложных вещах
Эй, автор, ты что курил, пока писал?