Search
Write a publication
Pull to refresh
34
0.3
Send message
От того, что вы уберёте из программирования всех «плохих» программистов, количество хороших программ не увеличится, это нонсенс. Процент — да, увеличится, но не количество.

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

Просто не может у этого сайта 130к в день быть, что и привлекло моё внимание.
Берем среднестатистический интернет-магазин просто из поисковой выдачи Яндекса — wite.ru. Смотрим посещаемость на similarweb (да, да мы в курсе, что он врет, но нам его точности хватит) — 130к. Ежедневно виджетом на сайте пользуется в среднем 130 х 0,03 = 3 900 человек.

Эмм?

wordstat.yandex.ru показывает 2015 запросов «wite ru» в месяц. На similarweb вообще не нашёл по нему информации.

Имелось в виду 130к в год? Или просто 130 уников в день?
Плохие последствия, это как раз когда обещают сделать за неделю, кормят завтраками месяц, а потом выдают нечто совершенно непотребное. Вот тогда да, руководитель просто махнёт рукой и закажет на фрилансе или у знакомого специалиста. И получив за 2 недели (и по цене трёх недель) офигенный результат, крепко задумается «а зачем мы того негодяя вообще на зарплате держим?».

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

Враньё и обман по поводу своих возможностей дают выигрыш только в очень краткосрочной перспективе, но в долгосрочной как минимум ставят клеймо недоверия и множат взаимные обиды. Это если говорить о последствиях.
Одно дело стараться, что, естественно, похвально. Другое — постоянно проваливать сроки, не уметь оценивать свои силы и не выполнять данных обещаний («взял на себя больше, чем смог сделать»).

Это как раз удел дилетанта — любую работу (в т.ч. чужую) оценивать как плёвое дело, соглашаться, не имея чёткого плана («да ладно, как-нибудь загуглю-разберусь»), а потом садиться в лужу, подведя команду и начальство/заказчика.

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

Но это лишь моё мнение о профессионализме.
А, ну теперь понятно. Я просто предположил, что принтер был тот же.
А с закрытием файла я просто сам сталкивался на виндах, когда писал программу для логов. Правда, тогда почти сразу обнаружилось, в чём дело.
Ну в любом случае, спасибо, таки мозг поразмял себе немного. :)
Тогда предположу, что принтер был занят другой программой.
1. Может, не закрыл файл после записи или он был где-то ещё открыт. С MS-DOS не работал, тонкостей не знаю. Или предполагается, что в других условиях всё работало?

2. А данные на вывод подавались те же самые? И другие программы с этим принтером работали? А то так-то и тонер мог закончится, в старых моделях этого могло не быть индикатора.
1. Readonly. Либо место закончилось.
2. Бумага закончилась. Либо принтер сломался / отключился.
Видимо, непонятно написал, но да, именно это я и предлагаю.

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

Придурок — это человек, который делает гадость из-за «дурости».

Jerk, real jerk, asshole — градации человека, совершающего гадость из эгоизма. В русском к этому ближе слова «хам» или «козёл». Интеллектуальное развитие это никак не характеризует.

Например, если коллега позвонил вам и устроил истерику из-за ошибки в коде, которую сам же и внёс, то он просто придурок.

Если же ошибка и в самом деле ваша, но вместо того, чтобы подсказать исправление, позвонивший вам коллега говорит «разберись сам в своём говнокоде», то он просто jerk.
А по-моему, есть и куда более простое, но менее приятное объяснение, как минимум недавнему всплеску.

image

Видите красную точку на графике? Это 12 октября (сделал так, чтобы дата график не перекрывала).
Что случилось 12 октября? Один из самых больших западных обменников (без рекламы) объявил об отмене 3-5 дневного срока рассмотрения заявок по банковским переводам — теперь доллары с американских счетов в биткоины стало возможно выводить мгновенно. Лимит — до 25к долларов в неделю.
Почему раньше 3-5 дней останавливало «владельцев» и почему это вызвало всплеск переводов, предлагаю догадаться самостоятельно.
Да. У Apple на сайте для иконок слегка не так, там накладывают скругления поверх квадратной картинки.
itunes.apple.com/us/app/candy-crush-saga/id553834731?mt=8&ign-mpt=uo%3D4
Можно для сравнения понакладывать на неё, например, border-radius самый близкий (40px на моём экране) — разница есть, но нужно очень пристально вглядываться.
По такой логике — а если продукт провалился и принёс убытки, депремировать всю команду? Даже если они все заранее знали, что он рискованный и имеет лишь 10% шанса «выстрелить» — и в итоге, закономерно, «не выстрелил», хотя и был технически выполнен на отлично и в срок — просто рынок был уже занят. Это ж было не их решение, начинать проект — такие решения принимаются куда выше по цепи.
Так все просто будут идти только в многообещающие проекты, раз уж там премируют даже за срыв сроков и бюджетов. И избегать всего остального.

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

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

Отвлекаются на другие заказы потому, что заранее предполагается, что вы этого фрилансера по окончани проекта «уволите». Причём не постепенно, как постоянщика по КЗОТ, а сразу.
Никто не хочет по 20 раз в год превращаться в безработного с туманной перспективой, потому и ведут параллельно несколько проектов. К очень долгим проектам это, естественно, не относится.
Или как Factory Idle, которая отсекает все возможности выбора и размещения зданий строительных игр, оставляя только дерево апгрейдов и развивающийся город:


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

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

Плюс, там и для любителей подумать есть где применить мозги. Помимо строительных Reactor Idle, Reactor Incremental и Factory Idle, почти в любой игре прогресс полностью зависит от решений игрока. У вас есть 100к денег, стоит ли купить несколько дешёвых апгрейдов или один дорогой? Или «перезапустить» игру сейчас с бонусом к скорости, потому что так через 8 часов получится больше прогресса?

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


Я так тоже считал, лет 12 назад, когда учился в школе, жил с родителями и играл в ММО-шки весь день. А когда начал «жить на свои» и кормить не только себя, само пришло понимание «почему человек должен работать». Тут даже не то, чтобы должен, а просто почему так происходит.

Но вообще, «лишнее», это то, что человек сам определяет таковым.

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


Зарплата зарплате рознь. Кому-то и 10к — зарплата, а кому-то и 50к — нет.

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


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

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

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

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

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


«Безошибочный код» в данном случае — код, который работает и, в общем, выполняет требования заказчика, а не в смысле идеальный. Если у вас функция выдаёт фигню, когда пользователь указал нулевое или отрицательное значение физической величины (вес, длина) — это не так страшно, по крайней мере для большинства проектов. Но если у вас 20 + 20 = 2020 (привет, JS), то это уже ошибка, которая перечёркивает собой всю остальную работу.

А насчет прокрастинации — может её вообще не существует? Если вам не хочется заниматься какими-то задачами, ну, значит они не достаточно важные и интересные? Значит, то чем вы занимаетесь в данный момент более важно?


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

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

Information

Rating
4,494-th
Registered
Activity