metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2012-06-26 09:49 pm

Здесь должен быть длинный обезличенный пост

http://belnetmon.livejournal.com/1947776.html?thread=45191808#t45191808
Самое интересное часто видел, как в Белорусских конторах программист унижает программиста. Не критикует, а именно унижает. Со мной в принципе всегда адекватные люди работали, но были ситуации когда я видел как джуниоров размазывают ни за что ни про что. И такое явление почему-то совсем отсутствует в США. Там если что-то не так просто тебя убирают с рабочего места и никто это лично не воспринимает.

Если исходить из среднего виденного мной программиста, то там не так уж "ни за что" и джуниоры радоваться должны, что телесные наказания запрещены. Потому что альтернативных способов заставить эту шушеру работать нет. Кто не верит - почитайте у [livejournal.com profile] d4s про студентов и какой процент из них хотя бы учебные задачи может осилить.

PS: Вспомнил, по какому поводу псил на работе последний раз. Народ сначала делает, а потом только начинает документировать в трекере, что же он наделал. Меня это дичайше садит на коня, особенно в плане того, что при косяках приходится разбираться мне.

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

[identity profile] veter-r-r.livejournal.com 2012-06-26 08:27 pm (UTC)(link)
А кто сказал, что тебе не скажут, что накосячил? Скажут. Скажут где, в чем именно и как надо сделать лучше. Раз скажут, два.. потом уволят. И тогда дойдет.
А у нас тупо обложат херами, чел сидит, обтекает, а как исправлять, не знает все равно. Работа стоит. Обложат его раз, другой, на третий раз лид сам переделает, а чел как не знал, чего от него хотели, так и не знает.

[identity profile] metaclass.livejournal.com 2012-06-26 08:37 pm (UTC)(link)
Я обычно в таких случаях если исправляю, то стараюсь с демонстрацией, объяснением и записью в баг-трекер, что и как делалось.

[identity profile] veter-r-r.livejournal.com 2012-06-26 08:45 pm (UTC)(link)
Это все отлично. А делаешь ли ты поправку на то, что ты свой код, предметную область и инструменты видишь по 16 часов в день последние надцать лет, а человек первый раз большую часть на него вываленного видит и для него твое объяснение равносильно тому, что если бы ты провел его по-китайски?

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

[identity profile] metaclass.livejournal.com 2012-06-26 08:53 pm (UTC)(link)
Да, я это тоже регулярно наблюдаю.
Поэтому приходится писать откровенно издевательские инструкции, с пошаговыми описаниями нажатия кнопок.
А это крайнее говно, потому что шаг вправо-влево - с инструкцией не совпадает, лопата не той формы, копать нельзя.

С самоочевидными вещами полный анус, бессмысленный и беспощадный. Для меня, например, очевидно, что в произвольном софте, если не понимаешь, что происходит - надо нажать выход/закрыть/escape, во избежание изменений и в большинстве случаев это срабатывает. Внезапно обнаруживаю, что подчиненные нажимают OK для того чтобы выйти из редактора.
Ладно, это ни на что не повлияет кроме записи аудита "обслуживающая организация меняла проводку на пару сотен миллионов рублей", а если бы там пиздец какой был, типа "перекрыть нахер газопровод на гродно-азот"?

[identity profile] veter-r-r.livejournal.com 2012-06-26 08:58 pm (UTC)(link)
А вот это тоже беда. Когда он будет знать, что нажать, но не будет знать почему.
Понятно, что иногда проще и быстрее "просто запомнить", но это не даст результата.

Вот когда-то его научили нажимать "ок" он и жмет, не понимая, что за этим стоит. А причина в той самой издевательской инструкции.

[identity profile] fas-tm.livejournal.com 2012-06-26 08:38 pm (UTC)(link)
он что совсем тупой ? зачем обтекать ? Разобраться нельзя ?
Сейчас мега офигенная ситуация, вокруг интернеты/книжки/сообщества/etc.
И еще, при устройстве на работу человек должен понимать свои обязанности и условия работы. Это значит что он обязывается выполнять работу. Не может ? Значит в свободное время доучиваться и говорить спасибо что дают такую возможность. Либо идти на работу попроще.
Детский сад прямо....

[identity profile] veter-r-r.livejournal.com 2012-06-26 08:43 pm (UTC)(link)
Сейчас ситуация другая. Информации дофига. Ваще дофига. И джуниор даже знать не будет, куда смотреть.
Ну я понимаю, что тут собрались такие ребе, которые от рождения знали все обо всем. Но они составляют настолько ничтожное меньшинство населения, что вероятностью того, что придет такой на работу, можно пренебречь.

[identity profile] fas-tm.livejournal.com 2012-06-26 08:46 pm (UTC)(link)
Это не значит что можно снижать планку.
Все мы учились. Все косячили.
Вопрос в том что сегодня считается неправильным говно назвать говном в надежде что запашок не пойдет.

[identity profile] veter-r-r.livejournal.com 2012-06-26 08:49 pm (UTC)(link)
Да, мы ходили по 15 километров в школу по морозу и они пусть ходят.
Только в мое время ВСЮ литературу по какому-нибудь дельфи можно было прочитать за вечер.
А сейчас один небольшой фреймворк содержит функций больше, чем весь язык тогда. И если тогда были эксперты, которые знали ВСЕ, то сейчас эксперты знают все даже не о фреймворке, а об одном модуле фреймворка. И это в общем нормально

[identity profile] metaclass.livejournal.com 2012-06-26 08:57 pm (UTC)(link)
Не нужно помнить все модули фреймворка. Нужно знать общие теоретически принципы, по которым они строятся - тогда любой нормальный фреймворк осиливается с полпинка, а ненормальный знать вообще не следует - опыт показывает, что ничего хорошего все равно не выйдет.

[identity profile] veter-r-r.livejournal.com 2012-06-26 09:00 pm (UTC)(link)
Ну будешь ты знать общие теоретические принципы. Но помнить из какого декоратора вызывается функция гетюзерсбайайди, не будешь. Пока триста раз ее не вызовешь своими руками.
А функций этих миллионы.

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

[identity profile] metaclass.livejournal.com 2012-06-26 09:52 pm (UTC)(link)
А зачем это помнить? Для этого есть типизация, интеллисенс, навигация по коду, документация и прочее.

[identity profile] veter-r-r.livejournal.com 2012-06-26 09:59 pm (UTC)(link)
Да никакая типизация тебе не поможет, если ты не знаешь взаимоотношений сущностей на проекте.
Ты в лучшем случае ничего не сможешь написать, в худшем случае наваяешь страшный говнокод, который будет правильным с точки зрения паттернов и типизации, но будет совершенно нерабочим, потому что "вот эта функция работает капец как медленно, это старый код, оставленный для совместимости, а это вообще надо получать не из базы а через вебсервис".

[identity profile] metaclass.livejournal.com 2012-06-26 10:11 pm (UTC)(link)
Какие-то странные у тебя проблемы. "взаимоотношения сущностей на проекте".
Если у проекта нормальная архитектура - с этим проблем нет. Если адский бардак - то за него можно не браться, например, или же понемногу чинить, разбираясь, за соответствующее бабло.
Опять же, если надо склепать что-то по быстрому, можно глянуть, как сделаны аналогичные модули.

Народ же вон как-то умудряется в линуксах разбираться, со всеми его 25 летними наслоениями.

[identity profile] veter-r-r.livejournal.com 2012-06-26 10:19 pm (UTC)(link)
Ну так посади любого стажера за исходники линукса. А потом попроси его.. ну не знаю, вывести в системный трей датчик температуры.
Сколько у него времени уйдет, чтобы с нуля эту задачу решить?

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

[identity profile] metaclass.livejournal.com 2012-06-27 05:51 am (UTC)(link)
У стажера, знающего C - ну неделя должна уйти. У меня уйдет пару дней на прототип и потом две-три недели на вылизывание всех краевых случаев, тестирование, пакетирование и прочую херь.

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

[identity profile] veter-r-r.livejournal.com 2012-06-27 06:49 am (UTC)(link)
А на такую задачу будет два часа эстимейт.

[identity profile] metaclass.livejournal.com 2012-06-27 06:54 am (UTC)(link)
Эстиматора - на помойку.
Или это только реализация, без проектирования, анализа "не сломается ли нахуй что другое", тестирования, интеграции и деплоймента.
Тогда понятно, почему такая хуйня творится.

[identity profile] veter-r-r.livejournal.com 2012-06-27 06:56 am (UTC)(link)
Эстимейт будет реальным. Потому что разработчик, ежедневно в этом копающийся, за два часа все сделает.

(no subject)

[identity profile] metaclass.livejournal.com - 2012-06-27 07:04 (UTC) - Expand

(no subject)

[identity profile] veter-r-r.livejournal.com - 2012-06-27 07:10 (UTC) - Expand

(no subject)

[identity profile] metaclass.livejournal.com - 2012-06-27 11:17 (UTC) - Expand

[identity profile] fas-tm.livejournal.com 2012-06-26 09:03 pm (UTC)(link)
Ты ересь говоришь какую то.

С точки зрения основ не изменилось почти ничего. Все твои фреймворки - сахар/велосипеды.
Человек который в свое время выучил основы матана/физики/осилил С / прочитал и понял SICP/ знает структуры данных, как когда и для чего" он может через 2 дня на твоих фреймворках писать заглядывая в гугель.
Сложность сейчас не в количестве функций и размерах библиотек/фреймворках. Сложность и потребность в специалистах в прикладных областях (финансы/dsp/обработка языков/etc).

Ты по сути, нихера прикладного не делаешь. Ты генерируешь язык разметки который отрендерит браузер + делаешь простейший запрос к базе данных.

Поэтому не надо разводить тут "сейчас не так как тогда !".

[identity profile] veter-r-r.livejournal.com 2012-06-26 09:06 pm (UTC)(link)
Да не может он нихера. Только щеки надувать может матаном.

Нехватка специалистов в прикладной области -- это другая сторона проблемы.

[identity profile] metaclass.livejournal.com 2012-06-26 08:48 pm (UTC)(link)
Все бы это хорошо, но некоторые вещи, которыми сейчас пользуюсь, я знал еще в школе, до всех этих ваших интернетов, гуглов и линуксов. Почему люди на 10 лет меня младше этого не знают, хотя у них возможностей и доступной информации на порядки больше?

[identity profile] veter-r-r.livejournal.com 2012-06-26 08:51 pm (UTC)(link)
Потому что он знает десятки тонн другой информации. Может полезной, может левой. Доступной информации на порядки больше, как ты правильно сказал. А как ее правильно фильтровать, никто не учит. За нас фильтровала партия и правительство. А за них никто не фильтрует.
Вот в твоих силах за них че-то отфильтровать и направить, например. Но ты же не будешь этим заниматься

[identity profile] metaclass.livejournal.com 2012-06-26 08:58 pm (UTC)(link)
Почему не буду? Я именно этим и занимаюсь. Обучаю детей в рабочее время.
А деньги на весь этот цирк зарабатывает ребе белнетмон :)

[identity profile] veter-r-r.livejournal.com 2012-06-26 08:58 pm (UTC)(link)
Ну походу это у тебя как-то плохо получается :))