За какие оплошности могут уволить программиста, да так, чтоб без обсуждений и выходного пособия? Роковыми ошибками, которые могут стоить программисту работы, делятся сами программисты и их начальники.
Человек-некомпетентность
Это история про IT-сотрудника, который, будучи невероятно, даже неправдоподобно некомпетентным (однажды он попросил кого-то вытащить контакты из порта на модеме, что вообще не имеет смысла), умудрился вылететь с работы только тогда, когда он попытался распечатать анимэ-порнографию на прозрачных пленках на цветном принтере в рабочее время. Но уволили его не за это. Он использовал пленки, которые не подходят для лазерного принтера — они расплавились сами и расплавили фьюзер, тем самым сломав новый и очень дорогой принтер очень-очень плохим способом. Но уволили его не за это. Он раскрыл принтер, то есть буквально разобрал его на винтики, хотя ему сказали не делать этого, тем самым нарушив гарантию на этот принтер. Но уволили его не за это.
Его уволили за то, что он соврал об этом. Вот так просто.
Непослушный ломатель
Я работал в великолепной группе из 20 человек в конце 90-х, когда любая ошибка в ночной сборке выливалась звонками всем причастным к коду. Так случилось и в тот день, в 9:30 вечера. Нам нужно было срочно исправить проблему или перезапустить программу, как правило, этому предшествовали несколько коротких и яростных писем по email. Кстати, давление — неплохой способ построить команду ориентированных на качество инженеров.
Один инженер ломал нашу программу несколько раз, и когда мы приблизились к квартальному релизу, ему наказали не вносить никаких изменений. И что бы вы думали — незадолго до релиза он таки влез и все сломал. Его уволили на следующий же день. Под бурные продолжительные аплодисменты.
Не пренебрегайте просьбами начальства, особенно если они перекликаются с мнением команды.
Очень глупый вор
Мой знакомый разработчик написал внутреннее корпоративное ПО, которое не должно было использоваться за пределами компании. Поэтому он предусмотрел, чтобы это ПО периодически присылало сообщения по email про свой статус на сервер, который хранил эти данные. И ПО, отсылающее сообщения, и сервер, их принимающий, должны были находится в корпоративном интранете.
Однажды его сервер начал получать такие сообщения извне компании. Кто-то вынес копию кода и запустил его в другой компании. К счастью, они точно знали кто этот кто-то и где он запустил код, потому что сообщения приходили с имя.вора@название.компании.com! Эту компанию уведомили о произошедшем и вора уволили. Правосудие свершилось.
Мораль такова: всегда читай и понимай код, который ты крадешь, прежде чем его запустить.
Самодовольный хвастун
В компанию, в которой я работал, наняли очень самодовольного программиста. Он пришел и принялся изучать текущее состояние кодовой базы, чтобы составить план, как ее улучшить. Тогда он обнаружил часть кода с дорогостоящей алгоритмической проблемой и переписал ее так, что код стал работать в сто раз быстрее, чем до этого. Естественно он собой очень гордился, безжалостно поливая грязью человека, который написал первую версию, кто бы он ни был.
К несчастью, этим кто-то оказался текущий директор компании, в присутствии которого, а заодно и членов совета директоров, тот программист принялся поносить автора медленного кода. Вскоре после этого самодовольного программиста уволили.
Будьте осторожны, когда говорите о ком-то плохо, в особенности если не знаете, кто этот человек.
Хотел как лучше…
Я работал архитектором в Microsoft, мы делали прототип медицинской системы для британской государственной службы здравоохранения (UK NHS). В проект входили в частности геозапросы на поиск ближайшей подходящей для пациента клиники. Я должен был реализовать в картографическом сервисе MS вычисление расстояния по GPS-координатам.
Над созданием решения для внутреннего SOAP API у нас работал контрактник. Когда он представил свою реализацию остальной команде, на этапе тестирования обнаружилось несколько серьезных ошибок, поэтому мы стали разбирать его код.
Оказалось, он решил, что картографический сервис MS недостаточно хорош, поэтому написал гениальный алгоритм для вычисления наикратчайшего расстояния на сфере по прямой линии.
В итоге получалось, что клиника на другом берегу Бристольского канала в Уэльсе вроде как ближе, чем клиника в Девоне, где жил пациент. Но ему пришлось бы добираться до нее вплавь.
Я уволил того разработчика по трем причинам:
- Игнорирование прямых указаний руководителя проекта (то есть меня).
- Обеспечение бесполезной альтернативы.
- Бесцельная трата ограниченных ресурсов — денег и времени.
Он был очень расстроен — никто не хочет такой записи про сотрудничество с Microsoft в своем резюме. Но он нанес большой ущерб для потенциально мультимиллионного проекта.
Перебдел
Меня уволили из международной нефтегазовой компании за то, что я был «угрозой для безопасности».
Их не очень умный админ настроил IE так, что любой желающий мог выполнять пакетные команды. Руководство оставалось глухо к моим жалобам или отвечало «О, нельзя этого сделать, это невозможно». Это подтолкнуло меня на глупый поступок.
Я написал простенький скрипт и положил страницу на мое личное хранилище, после чего позвал людей зайти на сайт. Этот скрипт только записывал файлы на рабочий стол и удалял их. В итоге один человек, чью задницу я спас, переписав его тупой код в одном глобальном проекте, настучал вышестоящему руководству, что я сделал и как это потенциально опасно, если системный администратор зайдет на такую страницу (об этом-то я и орал все это время).
Вскоре после этого (спустя считанные часы) мой компьютер внезапно заблокировался. У нас была эта реально тупая программа, которая мониторит, сколько ударов по клавишам ты сделал за час, и вылогинивает тебя на пять минут, чтобы ты поделал какие-нибудь упражнения. Я подумал, что это оно. Но через пару часов за мной пришел HR.
Довыпендривался
Я работал в e-commerce компании, где нам дали задание добавить еще один метод оплаты. У нас была встреча с разработчиком, которому это поручили.
Там были СТО, этот разработчик и я. Я был единственным, кто раньше выполнял такую задачу, и я знал, что код настолько запутанный, что на выполнение простейшей задачи вроде этой могут уйти недели работы. Я в свое время посвятил этому целый месяц, и меня чуть не уволили. В компании были и другие похожие случаи, каждый из которых заканчивался плачевно. Худшим из них был кейс, когда на внедрение нового метода оплаты разработчик затратил пять недель.
На встрече я объяснил проблему СТО и тому парню, и все трое согласились на быстрый рефакторинг одного файла, чтобы упростить проблему на будущее.
Угадайте, что произошло дальше. Этот парень был новеньким и в статусе senior-разработчика, так что он хотел всех впечатлить и сделать полный рефакторинг. На выполнение максимум двухнедельной задачи ушло более двух с половиной месяцев. Из-за него вся команда две недели работала овертайм, чтобы пофиксить баги. На следующий день после финальных тестов его уволили.
Обматерил босса в коде
В дни SourceSafe один наш коллега написал в коде комментарий с упоминанием босса в стиле «Джон м**озвон», и наш босс каким-то образом увидел это, думаю, на консольном сервере. Его тогда уволили, указав причиной очень непрофессиональное и неэтическое поведение.
Стал причиной военной облавы на компанию
Мне пришлось уволить молодого талантливого программиста, когда из-за его pet-проекта к нам пришли силовики. Он написал программу, которая сканировала случайные блоки IP в поисках компьютеров, на которых был бэкдор. Потом он осторожно выяснял, чьи это компьютеры, контактировал с их владельцами и сообщал про риск.
Все бы хорошо, пока программа не напоролась на IP-блоки военных и они не вышли на нас. Очень трудно было убедить их в его благих намерениях, так что ему и его эго пришлось уйти, несмотря на талант.
Плагиатор
Вот еще один очень простой способ лишиться работы: присвоить себе чужой труд. Это плагиат, но наказанием будет не плохая оценка на экзамене или завал курса: вас незамедлительно уволят, как только обнаружат факт «списывания».
Если вы таким занимаетесь, вы подвергаете своего работодателя риску быть втянутым в судебные разбирательства, а это то, чего они терпеть не могут. Если мне не изменяет память, владельцы (на то время) UNIX обнаружили в ядре Linux четыре строчки кода, идентичных таким же в ядре UNIX. Четыре строки стали причиной адского судебного разбирательства. Вот почему учителя так серьезно относятся к уникальности.
Майя Яровая