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

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

Понятно, что все это написано в шуточной манере, но иногда стать "незаменимым" сотрудником это единственный способ получить повышение зарплаты на текущем месте работы, особенно это работает, когда компания ни разу не IT, а смена работы проблематична в виду того, что в текущей локации другой работы нет, конечно сейчас куча возможностей работать удаленно, но для кого-то это неплохой вариант быть "ценным" сотрудником)

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

По поводу "стать незаменимым". Тут имеет смысл посмотреть на долгосрочную перспективу, вы так можете сильно ограничить свой профессиональный рост, плюс оказаться в "болоте". Конечно, помним о том, что все ситуации разные и универсальных решений не бывает.

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

Если в конторе нашли такого программиста, то тихонько разберитесь в его задаче - она простая, и сделайте еë хорошо.

Это очень эффективный начальный(!) способ делать карьеру. Того уволят и вы будете довольны даже половиной его зарплаты))

Природа обычно соблюдает равновесие.

Допустим, этот программист поддерживает подсистему в которой 8.5 мегабайт кода.
И постоянно раздувает её копипастой. Да, давайте, «тихонько разберитесь» и отрефакторьте.

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

Если кто-то может и поддерживает 8 Мб кода, то ему нет нужны что-то ещё и запутывать. У такого кода столько функций и фич, что его запутывает обычно вся команда.

Специально запутывают или простую задачу или по неумению. И вот тут-то и можно проявить себя))

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

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

То есть меня могли легко уволить и отдать код другому разработчику, он бы в нём быстро разобрался. Это важный момент.

Именно. Это важный момент - так не делать, чтобы тебя легко не уволили. ?

Спасибо. Попробую по возможности его использовать.

Ещё слышал вариант "трамвайный фактор" (маслице, Аннушка, вот это всё).

Помните выбор между быстро, качественно и недорого?

Помню выбор между красивая, умная и добрая.)

Например, у вас есть сервис, написанный на Django, с базой данных в виде SQLite, который посещает 10 человек в месяц

Как вообще он это допустил? Сервис должен быть переписан на groovy (лучше - haskell).

У нас был опыт с такими сотрудниками, которые практиковали JSDD.

Но, наверное, будет статья и про случай, когда это выглядит, как JSDD, но JSDD не является.

Отличная статья!

Уж не знаю, вольно ли, или не вольно, но автор ухватил самую суть нынешней разработки:

Задача программиста - повысить прибыль или сократить издержки бизнеса

Ещё и привёл множество аргументов, как мол, не надо писать код - ни-ни! - иначе, сразу на мороз. Даже TDD зачем-то приплёл (так и не уловил, к чему оно тут?).

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

В целом, посыл предельно ясен - кто бы сомневался?

Вчера я понял, что к этому готовит образование.

Чтобы получить вышку надо отучиться четыре года. За это время нужно пройтись по разным темам: 1С, PHP, HTML/CSS, Python и ML, диаграммы, Java.

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

В целом выглядит так, что всех устраивает.

А к чему готовит образование "бизнесменов" , вы не рассматриваете?

Из моего окружения таких нету, узнал у "своих" студентов - в их универе, где обучают разработчиков - нет юридических или в области управления специальностей. Это, возможно, радует, так как рабочих рук нужно 10, а управленец для них 1.

списывают с некоторого эталона и практически бездумно подстраивают под свою тематику

А как же операционные системы, устройство компиляторов, синтаксические-лексические анализаторы и тому подобное? Этому сейчас разве не учат? Тупо готовые языки и всё?

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

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

Но мб это в этом университете так (БГТУ). Пусть идут работают и получают опыт в чем хотят, если выходят с дипломом - значит уже соображающие люди. Будем их поддерживать, авось и желание появится во всем разобраться. Если конечно они в разработку пойдут, а то есть ощущение что диплом получают, чтобы потом на удобное предприятие пойти работать, а не развиваться дальше в отрасли.

"преподаватели по плюсам"
То есть, просто Си уже не преподают. Начинают сразу с плюсов.
Ну хоть не с питона/яваскрипта/пхп. Впрочем, наверное, и к этому скоро придут.

Ошибся. Плюсов по моему у них и нет. Именно Си на первых курсах. Поверхностно довольно. Потом с третьего курса уклон в Java и 1С.

Веба также мало, но чувствуется что универ пытается современные практики рассматривать и позволять студентам самим к этому идти. По вебу это: docker, composer, git - то есть кто-то ждёт от учеников ООП и cli на Java или лаб по 1С и SQL, но с другой никто не против рассматривать современные тенденции в виде курсовых и дипломных работ по темам, по которым у них пока нет методичек.

Этому сейчас разве не учат? Тупо готовые языки и всё?
Учат на «прикладной математике». Но это не отменяет вышенаписанного, что студентам теоретическую часть надо зазубрить и рассказать билеты, а на практике где-нибудь списать по-быстрому. Вникать обычно никто не собирается (ну если только человек сам, ещё в школе, по собственной инициативе это всё не прочитал). Потому что жёсткие дедлайны, как уже говорили: у кого-то работа, у кого-то потусить важнее, студентам не до вникания. Задача — сдать экзамены и лабораторки, а не научиться.

А есть руководство, как ПЕРЕСТАТЬ быть таким незаменимым сотрудником? :(

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

Чуть попозже напишу о чем-то похожем. Универсального способа нет.

Но можно попробовать заболеть либо надолго уйти в отпуск. ))

Это все довольно грубые методы, вот прямо в лоб. Я на практике встречал более изысканный способ, когда разраб просто производит очень много кода. Не только делает новый функционал, но и переписывает старый, «чтобы понять», «чтобы отрефакторить», «чтобы оптимизировать». Может ещё и утилиты писать, библиотеки, фреймворка. Такой может даже вкладываться в обучение новых сотрудников и создание документации и все равно будет практически незаменимым, потому что объём производимого им ужасно велик. Фиг придерёшься.

Так это бизнесу выгодно до поры до времени — за з/п одного получаем отдачу, как от пятерых. Предлагаете его заменить на 10 слабых программистов, которые будут делать медленно и глючно, зато с лучшим показателем bus factor?
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории