Преамбула: Это не более чем мой скромный манифест, статья вода и автор опозорился. Я предупредил…
Здравствуйте, я fullstack разработчик. Разработкой я увлекся ещё в далёком 2009 году, когда мне было 16. Начинал я постепенно и катализатором моего увлечения, как ни странно, стала l2. Эхх, чудесные были времена, дивный новый мир и прекрасные хроники C6.
Как так вышло я и не вспомню. Но в итоге я собрал, натянул и доработал шаблон на ucoz'e, выкатив в мир новый клан-сайт. Помню мне даже посчастливилось застать ад кросс-браузерности и табличной вёрстки. Гуглил я тогда неистово много (впрочем, как и сейчас), но в целом история закончилась хеппиэндом ведь мне дали закена. С познания ucoz'a, HTML и CSS стартовал мой путь web разработчика.
Вскоре началась подготовительная пора, экзамены, поступление и сам универ. Я забросил своё хобби до 2015 года пока мы с другом не сообразили запустить техно-блог. Имея опыт в разработке, фигачить сайт вызвался я. Как сейчас помню свою фрустрацию, от прочтения исходников какого-то шаблона, арабская вязь. Но с горем пополам я разобрался и в течении 2 месяцев сайт был запущен, к нему был куплен и подключен домен.
Уверенно кодить я начал лишь 1.5-2 года назад. Как и у многих, всё началось с более глубокого изучения php, после jquery и sql. Я подсел и начал более плотно интересоваться темой. Вот тут-то и понеслось… MVC, MVP, SOLID, ООП, BEM etc. Было непонятно, но по-прежнему интересно. Да и к тому-же незнание хотя бы части этого джентльменского набора автоматом переводили меня в ранг быдлокодера. А такой участи я не хотел и страшно этого стыдился. Что же, пришлось быстро пробежаться по всему необходимому стеку.
Не знаю, как остальные, но ознакомившись и применив полученные знание к тестовым задачам, не сумев понять сути излишней сложности, продолжил писать как и ранее. И лишь спустя время, когда проекты заметно усложнились, а отслеживание зависимостей в своём же коде превратилось в пытку, я наконец-то осознанно подошёл к применению части выше обозначенных паттернов постепенно начиная их понимать (хотя несложные проекты всё так же висят на процедурке ни капли не унывая). Но все же я оставался разработчиком второго сорта в глазах части сообщества. Короче, как я понял, я и мой ЯП проигрывали во всём: в умениях, скорости, знаниях.
С этого момента самооценка постепенно поползла вниз. И причиной стали не только изначально взрывной рост и постепенное замедление прогресса, но и снобистское, пренебрежительное отношения некоторой прослойки сообщества. И из некогда свободного островка, где каждый мог стать локальным архитектором своего цифрового замка, программирование превратилось в гонку стеков/практик/кодстайлов.
Я быдлокодер? — Да.
Волновало ли меня это тогда? — Да.
Волнует ли сейчас? — Надеюсь нет.
Если кратко, то я php-monkey и моя работа требует значительно меньшего объема знаний чем программирование на C++. Но знаете, я люблю веб и хочу его развивать, каким бы простым он не казался и как бы плохо я не писал, ведь если вы не быдлокодите, не важно на чём, то возникает резонный вопрос кодите ли вы вообще?
И чтобы там не говорили, но именно благодаря программированию и технологиям, отнюдь не только высшего порядка, знания стали доступны всем, процесс коммуникации стал до неприличия прост, корпоративный мир был перевернут с ног на голову, а по всему миру были построены государства внутри государств. И лишать себя радости внести свой маленький вклад в это великолепие из-за непомерного ЧСВ части разработчиков? Простите, но нет.
Я не откажусь быть архитектором, и называть себя программистом. Ведь в сухом остатке, для этого, мне необходим беспрецедентно малый набор за всю историю человечества: клавиатура, мышь, вдохновение и мотивация. А не крутой стек технологий, продвинутый ЯП и непоколебимая вера в свою исключительность.
Комментарии (74)
AMDmi3
07.01.2018 22:18Быдлокодер, не быдлокодер — странно что вас это вообще беспокоит. Проекты которые пилятся в одиночку пишите хоть на брейнфаке — никому дела до вашего кода нет. А когда дело дойдёт до больших проектов и групповой разработке, понимание принципов грамотного проектирования кода придёт само и довольно быстро.
belousovsw
07.01.2018 22:46-1Не позорно пока ты учишься писать код (неважно закончил ты "Лабач" или тракторист от рождения) и твои проекты не более чем поделка для души, собственной выгоды, или маленький интернет магазин/crm для знакомого/нанимателя.
Позор будет тогда когда твой проект, написанный для серьезного клиента, ты сам со временем не сможешь расширять и поддерживать из за своего собственного "быдлокода".
И судя по Вашей статье Вы ещё не встречались с серьезными нанимателями и деньгами за Вашу работу.
Спасибо.
stychos
08.01.2018 01:18+8Судя по Вашему комментарию, Вы видели слишком мало быдлокода в серьёзных бизнес-приложениях. А его там полно. И он продаётся.
vassabi
08.01.2018 02:24+1
лично видел код, который писали электрики в 1998м году, когда учились программировать на С.
Этот код до сих пор не только работает в продакшене, но и продается одной весьма известной в западном полушарии компанией (увы, большего я не могу сказать по NDA), которая занимается в том числе атомом, турбинами, военщиной и т.д.
senseyua
07.01.2018 22:48+2А мне лично кажется что быдлокод это ещё один из инструментов. И вполне может быть использован как средство быстрого прототипирования несложных проектов с нечёткими требованиями и неясной бизнес-моделью. Проблемы начинаются когда инструмент используют не по назначению.
AntonSor
07.01.2018 23:38+1О, это на самом деле не то, в чем следует признаваться. Всем плевать, быдлокодер вы или нет. Главное, работает ли то, что вы сделали, или нет.
Aligatro Автор
07.01.2018 23:42+1Статья не совсем об этом, красной нитью тема о том, что быдлокодит любой кто обучается и от этого не уйти, и это должно перестать быть постыдным для новичков в профессии.
Ну и откровенное презрение и пренебрежительность по дефолту к некоторым технологиям меня немного удручает.
DrNefario
08.01.2018 00:22-9Не берусь судить об уместонсти выкладывания данной «статьи» на этом ресурсе. Но обратить внимание на большое количество ошибок в написании текста просто обязан.
1. Нарушены смысловые нормы.
Что вы противопоставляете с помощью союза «а» в данном предложении?
Но с горем пополам я разобрался и в течении 2 месяцев сайт был запущен, а к нему был куплен и подключен домен.
2. Нарушены грамматические нормы.
И из некогда свободного островка где каждый, мог стать локальным архитектором своего цифрового замка, программирование превратилось в гонку стеков/практик/кодстайлов.
3. О чем вообще это предложение?
Как сейчас помню свою фрустрацию, от прочтения исходников какой-то темы, арабская вязь.
И еще пунктов 10...
Советую автору данной статьи снова дать оценку своим знаниям русского языка и заново ознакомиться со школьной программой. Это поможет в будущем не утруждать себя написанием статьи о «непозорности быть быдлописателем».Aligatro Автор
08.01.2018 00:28+5Внёс правки, в следующий раз можно с подобным с личку.
Советую автору данной статьи снова дать оценку своим знаниям русского языка и заново ознакомиться со школьной программой. Это поможет в будущем не утруждать себя написанием статьи о «непозорности быть быдлописателем».
Не волнуйтесь, если подобная статья увидит свет, её я размещу на другом тематическом ресурсе.
yosemity
08.01.2018 00:35Всё это принято писать в личку. Пункт 3. вполне понятен, автор с горем пополам осилил тему, вероятно на каком-нить WP
DrNefario
08.01.2018 00:48-3Что-то не нашел нигде на сайте пункт, который бы указывал, что критика оформления статьи должна быть отправлена автору в личку. Скиньте, пожалуйста.
yosemity
08.01.2018 01:12+3Здесь так заведено. Если это явно не указано в правилах, то явно является просто здравым смыслом. Зачем всем читателям тратить время на чтение и осмысление бесполезного, для них комментария? Езть, конешно и изкулчения, кгда стоить указать афтару на ошипки прямо в коментах. Но это не тот случай.
DrNefario
08.01.2018 10:53Не живу по понятиям.
Здравый смысл здесь как раз таки в том, что как автор не обязан был сдать проверку на знания русского языка перед написанием своего breakthrough "творения", так и я ему не редактор и изволен сам выбирать место написания своей конструктивной критики.
Раз уж мы обратились к понятиям, то я скажу, что это статья не достойна такого ресурса как geektimes. На фоне статьей того же SLY_G и marks, у меня сложилось плохое впечатление о ресурсе в целом.
Понимаю, допустить 3-4 ошибки, но когда перед тобой плохо написанный и, порой, бессвязный текст, читать его становиться, мягко говоря, неприятно. Аргументация выше.REALpredatoR
08.01.2018 11:24Не живу по понятиям.
По-моему как раз живёте. Ведь правила русского языка это и есть понятия придуманные не вами.
alix_ginger
08.01.2018 11:51и изволен сам выбирать место написания своей конструктивной критики.
Во-первых, «волен». Во-вторых, это не конструктивная критика, потому что она не связана с темой статьи. В-третьих, «так заведено» здесь по вполне логичным причинам — после исправления автором ошибок, Ваш комментарий останется, но при этом не будет иметь никакого смысла для читателей.Maccimo
08.01.2018 23:30после исправления автором ошибок, Ваш комментарий останется, но при этом не будет иметь никакого смысла для читателей.
Неверно.
После исправления ошибок комментарий останется напоминанием всем читателям, что текст с грамматическими ошибками — явление постыдное и при написании как статей, так и комментариев необходимо пользоваться словарями и автоматической проверкой орфографии.
А озвученная вами точка зрения муссируется людьми, не желающими тратить усилия на написание грамотного текста. Такие люди достойны порицания.
alix_ginger
09.01.2018 11:26После исправления ошибок комментарий останется напоминанием всем читателям, что текст с грамматическими ошибками — явление постыдное и при написании как статей, так и комментариев необходимо пользоваться словарями и автоматической проверкой орфографии.
Комментарии к статье нужны для обсуждения тем, раскрытых в статье. Сообщения о грамматических, пунктуцационных и стилистических ошибках к теме статьи не относятся (если, конечно, это не статья о правописании), и не актуальны после того, как автор исправил все ошибки. А неактуальные и неуместные комментарии закономерно считаются мусором.
Кроме того, «докопаться до орфографии» равносильно «argumentum ad hominem» — переходу на личности, а это в приличном обществе неуместно.
А озвученная вами точка зрения муссируется людьми, не желающими тратить усилия на написание грамотного текста. Такие люди достойны порицания.
С чего Вы делаете такой вывод? Я согласен, что указать на ошибки автора — достойное занятие, и что читать грамотно написанный текст гораздо приятнее. Но тешить свое самолюбие, размещая бесполезные и неактуальные комментарии — занятие недостойное.
Люди, мешающие другим ради того, чтобы блеснуть своей грамотностью — вот кто «достоин порицания»
we1
08.01.2018 05:45Вот кстати. Это предложение я так и не понял, автор таким образом заменил «китайскую грамоту» или там правда был арабский язык?
Мне кажется, что оно несколько иначе должно выглядеть. Как-то так:
«Как сейчас помню свою фрустрацию от прочтения исходников какой-то темы — китайская грамота».
Ну или там на арабском, тогда тоже запятые не нужны.Aligatro Автор
08.01.2018 07:16Про арабскую вязь, это из какой-то песни, не вспомню уже какой,. Имелось ввиду что это было абсолютно непонятным для меня языком.
kashtan404
09.01.2018 10:39Ленинград — Свобода
Цитата из песни:
«Мой приемник — односторонняя связь,
Тире и точки — арабская вязь.»
korjikk
08.01.2018 01:26+1КГ/АМ. Если ты вошёл в профессиональную сферу, а не просто кодишь ради хобби, у тебя просто нет шансов не выучить все фундаментальные принципы. А просто быдло-программируя будешь топтаться на месте.
u010602
08.01.2018 17:44Выучив принципы будешь топтаться на том-же месте, просто под определенный общепринятый ритм. Вся стандартизация по сути имеет одинаковые плюсы и минусы по всем отраслям. Когда-то не было стандартов на мебель, каждый мастер делал ее уникально, такая мебель ценится до сих пор. Конечно и фигни в то время наделали не мало. Сейчас корпусную мебель пилят по стандарту в каждом гараже, кто-то будет ее использовать через 100 лет? Нет, ее выкинут на свалку при следующем ремонте. И тут вопрос — кто еще быдло кодер :) Быдло по определению что-то массовое, понятие быдло вышло из понятия пролетариата, а пролетариат — из рабочих заводов. Где все под шаблон один и то-же изо дня в день. Сейчас формируется стандартизация среди разаботчиков и даже среди архитекторов, и работа превращается в «манки код», т.е. все понятно, нет ни каких вызовов, просто нужно напечатать очередную стандартную фигню по перекладыванию данных на\с гуи.
Кроме того любая популярная отрасль порождает подражателей — людей среднего ума, не способных самих выработать свой стиль, они просто его тырят у других. А таланту шаблоны не нужны. Помните как забег в Австралии выиграл фермер в дырявых башмаках?
Итого кому выгодны стандарты? Посредственным людям, не способным сделать свой стандарт, не способным читать чужой не стандартный код. Работодателям — им легче менять людей на других, т.к. стандартный код легче поддерживать при помощи более дешевых средних работников. Разработчикам ИДЕ — т.к. они могут анализировать стандартные шаблоны и продавать электронных советчиков посредственным людям.
Выгодны ли стандарты крупным талантам в программировании? Я не уверен, спросить не у кого :) Но логика подсказывает — что им они либо бесполезны либо раздражают тем, что ставят в рамки.
Тут как в музыке — таланты пишут что хотят и это звучит десятилетиями, ломают все стандарты и им плевать.
Посредственности очень озабочены стандартизацией и определением своего стиля — в итоге их забывают после второго альбома.
И кто здесь быдло? И что из этого «для быдла»? :)
Я лично всегда с уважением отношусь к самобытным разработчикам и их проектам, их код интересно читать и изучать, в нем есть что-то. А потом они «само-стандартизируются», их код становится банальным, скучным. И тот и тот код — работает, и колво багов не меняется. Просто один скучный, другой нет.
ilitnyexpert
08.01.2018 01:26-2Почему все так набросились на автора?
Да здесь 95% комментаторов проектировать не умеют, знают максимум 1 язык(Не надо пожалуйста отвечать «Кроме js я еще и typescript знаю! Это не одно и тоже!», лол) или 1 стек технологий, т.е. в переводе на русский, являются низкоквалифицированными специалистами. То что рынок IT испытывает кадровый голод, и вас берут на хорошие зарплаты, не повод считать себя блестящими инженерами, поводов для раздувания ЧСВ тут нету. На безрыбье и рак рыба.
Автору могу посоветовать набрать еще несколько лет опыта, изучить разные области разработки(не только web), и поменьше обращать внимания на ЧСВшных зануд. Да, и ничего хорошего в том, чтобы быть быдлокодером нет.
smer44
08.01.2018 02:46Ну собсвенно любая разработка в наше время без использования средств высокого уровня, и без генерализации в решении конкретной проблемы и без возможности ре-использования кода в другом проэкте то естть «просто на» js, php и т.п. суть быдлокод,
а появляется быдло и с другой стороны с чрезмерным использованием продвинутых вещей как в Spring когда переменную надо в 20 разным местах в XML обьявлять…JuniorIL
08.01.2018 08:50Я вижу Вы давно на Спринге не писали…
Ну или недавно, но на очень старом. Зачем XML то?smer44
10.01.2018 20:50Из за перекладывания задач программирования из кода (.java файл например) в формат XML, с его красивыми тэгами, от чего код-то становится как бы чистым и хорошим, а бардак, нечитабельность, редундантные обьявления и нереюсабилити XML не рассматривается так как это якобы не прога.
tzlom
08.01.2018 02:54+2Быть начинающим (быдлокодером если вам так угодно) не позорно — все с чего то начинали.
Оставаться всегда на этом уровне — никаких проблем, в конце концов программированием можно тупо зарабатывать деньги, таким тоже.
Гордиться тем что ты решил остаться на таком уровне — плохо, это вроде гордости собственной глупостью, нечем тут гордиться.
Я не откажусь быть архитектором
ну может и президентом вы тоже не откажетесь, однако ни первым ни вторым вам явно заниматься не стоит.
По факту вы уже бывали в такой ситуациине сумев понять сути излишней сложности, продолжил писать, как и ранее
, но почему то решили рассказать нам что всё делаете правильно. Начните работать с кодом других программистов, начните делать библиотеки и вы быстро поймёте что не только есть куда расти, но это ещё и оправданно. А языки здесь вообще не причём.Aligatro Автор
08.01.2018 05:26Гордиться тем что ты решил остаться на таком уровне — плохо, это вроде гордости собственной глупостью, нечем тут гордиться.
Возможно вы неправильно поняли мой посыл, я не стараюсь выпячивать свою безграмотность, а уж тем более делать её поводом для гордости. В своей статья я хотел донести тем людям которые выбрали эту профессию не хайпа ради, а из-за очарования и романтики, что отказываться от неё только лишь из-за высмеивания окружающими вашего ЯП, стека или кодстайла — глупо.
но почему то решили рассказать нам что всё делаете правильно.
И снова, я не говорил что правильно оставаться на месте не совершенствуя свои навыки. Я пытался проиллюстрировать, что использование чего-либо должно быть осознанным, что для визиток не стоит тянуть караван из ангуляра, симфони и прочего новомодного стафа. Мало просто заучить и применить паттерн разработки, стоит понимать для чего он существуют и где упрощает задачу, а где напротив лишь усложняет её.
А языки здесь вообще не причём.
Я ведь не на пустом месте это придумал, достаточно загуглить «php — не язык программирования» и вы сами увидите как в массе своей к нему относятся люди. А статью я родил потому что не так давно сам переживал из-за того что мой инструментарий для разработки, а значит и мои знания/навыки, худший из возможных. И я уверен, что таких как я людей, которым нужна поддержка, наберётся не мало.
JohnSmith001
08.01.2018 05:11+2Я быдлокодер? — Да.
Волновало ли меня это тогда? — Да.
Волнует ли сейчас? — Волнует. Иначе зачем бы я писал эту статью.
Собственно, я и сам быдлокодер. И если бы меня это не волновало, я бы не писал этот коммент.Aligatro Автор
08.01.2018 06:19Я наверное в целом трактую слово быдлокод не совсем верно, потому и столько противоречий в комментариях. В моём понимании код который был написан начинающим разработчиком с высокой долей вероятности будет плохим, не потому что разработчик дурак, а потому что не обладает на данный момент необходимыми знаниями. А для того что бы их получить требуется время, много времени и практики, что фактически означает, что до того момента пока все тонкости не будут досконально изучены, осознаны и применены по много раз, весь его код будет плохим, по сути — быдлокодом.
Именно поэтому в случае если возникает необходимость проапгрейдить какой-либо старый проект написанный мной же, мне фактически приходится переписывать его заново, потому-что хоть это и работает но это теперь даже на мой взгляд ужасный спагетти код, править который невозможно и
легче переписать. Навскидку это полное отсутствие реиспользования, избыточность, отсутствие комментариев, exception'ов и каких либо проверок ну и так далее по списку. И я уверен в том, что точно так же буду плеваться на свой код написанный сейчас, годом после.
В итоге, за все время своей практики, хоть я и совершенствовался, я по прежнему писал быдлокод. И понимая сколько всего мне ещё придется изучить я пришел к выводу, что быдлокодить я ещё буду много. Не осознанно, лени ради, а бессознательно из-за отсутствия необходимого опыта.
Поэтому во многом меня сейчас волнует не мой быдлокод, ведь от него не сбежать, а осознание того как мало я ещё знаю.380365
08.01.2018 09:03+1Конечно же вы неправильно определяете быдлокод (далее: ГК). Это задача не совсем тривиальная. Для начала я бы добавил немного «солипсизма»: пока вы не поняли, что ваш код ГК, он таковым не является — даже если кто-то другой его так назовёт. В этом случае, я бы сказал, вы пишете наивный код (не путать с «нативным»).
Ваш код становится ГК ровно в тот момент, когда вы, взглянув на своё прошлогоднее творение, восклицаете: «Ё-моё! Какой же ГК я написал!» И в следующий момент определяется, кто вы сегодня. Если обнаруженный ГК ещё действует в производстве и у вас есть совесть и возможности, вы немедленно начинаете свой старый ГК рефакторить — то есть вас всё равно нельзя назвать быдлокодером.
ИЧХ, гораздо чаще возможность исправить старые огрехи имеют fullstack-любители, чем захардкоженные в корпорацию крутые спецы, с которых постоянно требуют план любой ценой.
Третья сторона этой медали: если вы, глядя на прошлогодний свой код, никогда не испытываете хотя бы досады, то, ну, я не знаю… вы либо святой гений, либо как раз тот, кого и можно назвать быдлокодером.
NumLock
08.01.2018 05:32+1С быдлокодсвом, когда гениталиями меряются — понятно.
Где ответ о том «Как не впасть в зависимость от общественного мнения» в статье?Aligatro Автор
08.01.2018 06:24В моем понимании в последних двух абзацах, где я декларируется мысль о том, что стоит забить на занудных снобов и вспомнить за что ты выбрал эту профессию. Понимаю, тема не раскрыта вовсе, но и статья как видите не совсем обдумана, это больше порыв чем выверенный нарратив.
qwert_ukg
08.01.2018 06:18А что мешает двигаться далее — многие после осознания никчемности себя, начинают изучать другие ЯП.
Aligatro Автор
08.01.2018 07:12А многие просто бросят, не все способны мотивировать себя, в отсутствие позитивного фидбека, исключительно силой воли.
А во вторых, я не считаю php плохим языком, он развивается семимильными шагами, успевай только пачноуты читать. Модификаторы доступа, интерфейсы, деструкторы, неймспейсы, екстендеры, ексепшены, трейты тайпхитинг и т.д, по сути за 10 лет php стал полностью ООП совместим со всеми вытекающими. Разумеется это по прежнему не байт-код и в нём всё ещё отсутствует многопоточность. Понятное дело глупо на нём решать сложную математику. Но это хороший ЯП, с потенциалом для развития, отлично решающий поставленные перед ним задачи и имеющий такой же низкий порог входа для старта как и раньше и большое поле для развития сейчас. Поэтому мне не понятно почему та же java в фаворе, а php это по определению урод и все кто на нем пишут даже не программисты…
Да это не плюсы, я понимаю, насколько они обширны и мощны, но это не тот ужас который был в 2004м, а часть сообщества по прежнему продолжает его ненавидеть просто по накатанной и за компанию.qwert_ukg
08.01.2018 07:37Поэтому мне не понятно почему та же java в фаворе, а php это по определению урод и все кто на нем пишут даже не программисты
Тут дело именно в пороге вхождения, чем легче изучить язык, тем больше на нем пишут говнокода, от сюда и стереотип. Есть очень много реально крутых программистов которые пишут на пхп (Тейлор Отвел например).
екстендеры
Что это?
деструкторы
Это криво работает. Сами разработчики ПХП не рекомендуют
Ну и самое крутая «фича» в ПХП это перегрузка констант :)
iit
08.01.2018 07:22+1Привет Аллигатор и Александр, я php небыдлокодер.
Изначально я проучился 4 года к колледже где используя turboPascal великий сенсей нас гонял по структурам данных и алгоритмам сортировки.
Именно тогда на втором курсе я и встал на сторону тьмы (php), хотя стоит признать — мне удалось продать 3 софта частным конторам — один на c++, один на delphi и один на VB.Net. Естественно там был быдлокод. Заказ на десктопное приложение в нашем городе — скорее чудо чем данность и мне вообще повезло что я их ухватил, постоянное жить такими заработками я бы не смог.
Одногрупники тоже распределились по технологиям — кто-то выбрал java и сейчас счастлив, кто-то action-script и когда умер flash человек стал менеджером. еще один кайфовал по питону и уехал в чехию.
Изучая php и html/css и читая различные книги я стремился всегда превзойти себя и создать свой «идеальный код». Но что в итоге? я работаю 5 лет backend разрабом и стараюсь писать адекватный код, но вот только это никого не волнует.
Бизнесу важен быстрый результат а не идеальный код. И понятное дело все чаще и чаще бизнес задается вопросом почему middle — спец с 5-и летним стажем фигачет систему сложностью N за 4 месяца и кушает 5 дошираков в месяц, когда быдлокодер со стажем в 1 год делает похожую систему за месяц и кушает 1.5 доширака в месяц. И в итоге все смотрят косо на небыдлокодера, так что небыдлокодить не так просто как кажется, особенно под дикой нагрузкой и сжатыми сроками.
Так что быть быдлокодером выгодно и прилично, да и бизнес будет тебя хвалить…JuniorIL
08.01.2018 11:37Я вот первые пять лет опыта хотел быть не быдлокодером. Делал карьеру, хоть и не имея образования, учил всякие крутые технологии. Писал на Скале, с коллегами обсуждал прелести монадов, мечтал разобраться в Хаскеле и Скалази. А потом, когда намаялся с левыми библиотеками (может сейчас уже все лучше) и пришёл в фирму поднимать проект с нуля, решил что надо становиться быдлокодером. Отставил Скалу, где же я себе потом в команду разработчиков найду? Взял Спринг, который позволяет за пол дня поднять веб аппликацию и начал на нем фигачить. И очень тому рад, наконец то я занимаюсь тем, что решаю людям проблемы, а не проедаю деньги акционеров, потому что у нас большая фирма и мы можем (писать crud на Скале).
Idot
08.01.2018 07:44+1Статья о том как из-за быдлокодкеров современные программы тормозят больше, чем во времена DOS habrahabr.ru/post/346054
Hellsy22
09.01.2018 04:26Это где автор сравнивает вывод в текстовом режиме при монопольном использовании процессора и дисплея с выводом в графическом режиме через виртуальную машину Java во внутренний буфер композера, а затем удивляется, что второе — медленнее?
ilya-ivanov
08.01.2018 08:41+3Поймите одну простую вещь: у разных групп людей разные критерии оценки.
Заказчик хочет от вас прибыль.
Пользователю нужна от вас реализация его хотелок.
А с коллегами вы просто обмениваетесь опытом и меряетесь длиной или толщиной стека.
Это принципиально разные среды, каждая из которых выдвигает собственные требования к вашей деятельности. Эти требования не совпадают просто по внутренней логике. Поэтому, скорее всего, вы не сможете быть идеальным сразу для всех.
Вы можете быть звездой тусовки, но не приносить работодателю ни копейки. Можете быть ценнейшим сотрудником, но при этом делать неудобный глючный софт. А можете выдавать популярные продукты, код которых будет ужасным с точки зрения коллег :) Это в целом нормально. Важно осознавать разницу и расставлять для себя приоритеты.
Это к слову, касается любой профессии. Думаю, даже если бы в кружок собрались космонавты на орбите без присмотра, то в какой-то момент их бы сильно заинтересовало, кто быстрее передвигается по кораблю в невесомости или лучше выдерживает критические перегрузки. И хотя эти навыки могут играть некую свою роль и ими очень прикольно помериться, но вряд ли они значимы с точки зрения космонавтики в целом или даже просто в глазах их нанимателей :)SantaCluster
08.01.2018 11:25классический треугольник типа better-faster-cheaper: заказчик-пользователь-коллега, выбери любые 2 вершины :)
Scf
08.01.2018 08:54А, джуниор? Со временем придет понимание, что чем больше программист знает и умеет, тем больше ему платят. «быдлокодер» от слова «быдло» — крепостной крестьянин, который никогда не станет инженером.
JustDont
08.01.2018 13:37Быдлокод не имеет никакого отношения к должности. Я работаю в очень большой конторе, где, например (среди прочих) быдлокодит VP (вице-президент) по технологиям. Почему? Очевидно потому, что на написание крутого прекрасного кода у него физически нет никакого времени, а вот родить очередной proof of concept и поручить многочисленным подчинённым доработать его до появления всех этих прекрасных словей, которыми описывают небыдлокод (reliability, accessibility, serviceability) — это вполне себе работает.
В соседней ветке комментариев всё правильно сказали, что из трех способов оптимизации разработки (better-faster-cheaper) упор можно сделать максимум на два, и, внезапно, очень мало каким конторам оптимизация по качеству кода интересна в большей степени, чем оптимизация по цене или скорости выпуска продуктов.
Rumlin
08.01.2018 09:09По-моему на хабре был давно перевод некой статьи. Там вспоминалась некая разработка года 1992-го. Огромная масса модемов, некое ПО быстро написанное до состояния «хоть как-то работает». И это выброшено на рынок. Это было единственное решение на рынке, никто другой таких услуг не предоставлял. И они были единственными на рынке. Потом появился конкурент — у него было всё правильно, отличное оборудование, прекрасный софт, но они пришли очень поздно и их услуги не продавались. Насколько я помню, автор в конце подводит мораль, что имеет значение скорость выхода продукта, а не качество, возможно эта идея не стоит ничего, а возможно она выстрелит, тогда и надо будет реализовывать качество.
extempl
08.01.2018 09:25MVP или нет — это холивар. В каждом конкретном случае важно может быть что угодно, либо скорость, либо качество.
younghacker
08.01.2018 09:50+1Давайте быдлокодить софт для атомных электростанций и ракет
Как-то стрёмно становится жить в мире где автопилотные автомобили программируются быдлокодерами которые не испытывают ни малейшего желания стать лучше. Да ещё и бахвалятся своей позицией.OKyJIucT
08.01.2018 11:47+1Есть куча примеров, где работают профессионалы высокого класса, но это не мешает продуктам иметь баги, пусть и более изощрённые и порой весьма опасные. В любом коде есть ошибки, просто не везде их ещё обнаружили.
Mitch
08.01.2018 13:47+1А я вот даже не быдлокодер :(
Пока вообще не кодер.
Все хожу как то вокруг, то то одно поизучаю то другое.
Раз в несколько лет у меня возникает мысль, а не переквалифицироваться ли в программисты.
- В школе изучал турбо паскаль
- В университете самостоятельно си, без плюсов и обьектов, тексты найчился парсить дальше дело не пошло.
- Писал скрипты на баше для себя когда админил linux веб серверы.
- Изучал питон по книжке, парсить обрабатывать тексты для себя научился, даже что то полезное накодил.
Но на джанго я увяз и сделать что то в веб не осилил. - Научился писать простые sql запросы
- Базово освоил git
- На hexlet прошел половину стека php разработчика, и чуток по JS.
Список технологий в JS который надо осознать и использовать, все это управление зависимостью, пакетные менеджеры, и автомодификация кода под разные версии ужасает и уводит в сторону от собственно програмирования. Забросил.
В процессе я понял что языки без строгой типизации меня ужасают тем, как легко можно накосячить и долго это отлавливать.
Еще проникся духом функционального программирования и идеей делать все что только возможно чистыми функциями. - Прошло еще полгода. Я полез изучать solidity чтоб писать смарт контракты на эфире.
Сложилось ощущение что тут стек технологий более короткий достаточно осознать, чтоб начать делать что то полезное. Пока экспериментирую в Remix, до реального блокчейна еще не добрался.
К чему все это?
Я просто никак не могу начать делать что то полезное в программировании.
Мне надо освоить какой то минимальный стек технологий, чтоб я мог делать что то за деньги.
А иначе у меня быстро пропадает мотивация и я опять начинаю плотно катать в покер, просто потому что нужны деньги на жизнь.
В то же время, я понимаю что кодить мне бы было на порядок интереснее, чем играть.
И по деньгам, в долгосрочной перспективе — тоже интереснее.
Яма потенциальная какая то, которую никак не могу преодолеть.
И да, кодить то хочется на чем то современном, со строгой типизацией, с функциональной идеологией. А не на php с которого все равно потом на нормальный язык переучиваться.
Подскажите, что делать?evtomax
08.01.2018 14:15Вообще не важно, в чём вы будете кодить. Перейти с одной технологии на другую — не такая уж и большая проблема. Действительно большая проблема — разобраться в конкретном проекте. Хотите быть программистом — примите участие в свободных проектах с открытыми исходниками, либо станьте фрилансером или устройтесь куда-нибудь разработчиком на постоянной основе.
FlashManiac
08.01.2018 14:42+1Частично согласен с автором. В своем развитии видел много говно-быдло-кода с использованием новых и современных фишек. Суть в том, тут немного путаница в определении быдло-кода. Быдло-код в моем понимании это такой код который сложно воспринимать и еще более сложно поддерживать. И никакие новые технологии и фишки этот быдло-код не исправят. А если они активно используются то получается надо поставить все эти новые инструменты, что бы найти и исправить баг. Это все более усложняет работу и поддержку проекта.
Далее, технологии и ЯП выбираются в зависимости от того сколько людей работает над проектом, а так же сложность самого проекта и по другим соображениям. А не так — рубишь все в одном стиле даже простейшие какие то приложения. В итоге простейший одностраничный сайт начинает грузить всякую лишнюю фигню и тормозит. Или наоборот для сложного проекта выбраны не те технологии. Так что каждому проекту — свой стек технологий.
Я довольно скептически относился ко всему новому в вебе. Пока не стал применять правильный стек технологий для каждого проекта. Главная суть — сделать качественно, быстро, гибко и с минимумом усилий.
barbanel
08.01.2018 17:16Просто опишу два случая за фрилансерскую карьеру.
1) Довелось поддерживать один «проЭкт». Неделю матерился и плевался, разбираясь в коде. Потом узнал что писал этот «проект» — гинеколог! Фрустрация, ржач, осознание смысла бытия…
2) На проекте мне сразу было сказано — коллеги неопытные программисты, относитесь с пониманием, пишите побольше комментариев. Ок.
Первой строчкой в главном файле проекта стало:
// Все «правила хорошего кода» написаны кровью,
// вытекшей из глаз программистов, читавших чужой код.
// учитесь оформлять свой код так, чтобы его можно было прочесть
Сдал проект.
Через год потребовалось работать над ним дальше. Парни без меня отлично его расширили, все перкрасно. Через месяц или два, один из них говорит что-то вроде:
— Спасибо за хорошее оформление и пояснение в коде, из комментариев мы многое поняли как работает ООП.
Было чертовски приятно =)
ZhenyaRUS39
08.01.2018 20:40Подскажите, какую программу для визуального програмирования C+ лучше изучать для не частых проектов?
AntonAlekseevich
09.01.2018 14:08Изучите Qt Creator.
Так или иначе вам придется писать ручками обвязки, но сложностей с GUI и i18n будет чуть меньше.
Hellsy22
Разве GT — подходящее место для камингаутов?
К слову, в 2009г. у меня было уже больше 10 лет стажа работы девелопером и уже тогда я махнул рукой на попытки отслеживать все новомодные тенденции, все равно большая часть их них отмирает или изменяется до неузнаваемости за пару лет. Пусть другие бегают по граблям и ищут подводные камни, а меня вполне устраивает отставать от «острия прогресса» лет на пять, пользуясь лишь отлаженными решениями.
Aligatro Автор
Ну в целом если хабр был готов к статье об отличниках, я подумал что GT самое место что-бы рассказать свою слезливую историю.
Timur_n
qwert_ukg
Хабр разорвал бы парня)
Aligatro Автор
Потому и не стал это постить туда :)