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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Date: 2012-06-27 07:04 am (UTC)
From: [identity profile] metaclass.livejournal.com
_Все_ - не сделает. Не учтено ничего, кроме разработки.

Date: 2012-06-27 07:10 am (UTC)
From: [identity profile] veter-r-r.livejournal.com
Понимаешь какая штука.. все остальное за тебя сделают специально подготовленные люди. И то если понадобится. А то и автоматические скрипты справятся.

Date: 2012-06-27 11:17 am (UTC)
From: [identity profile] metaclass.livejournal.com
Ну если использовать ебанутые языки типа хаскеля. то "theorem for free" в смысле, что валидность архитектуры хотя бы на процентов 30 гарантируется языком.
А иначе - все держится на том, что "человек варится в этом" и не поломает в процессе чего-нибудь. Или же таки архитектура продумана и поломать можно только сознательно нарушая гайдлайны кодирования.

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

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

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

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

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

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

Profile

metaclass: (Default)
metaclass

April 2017

S M T W T F S
      1
2345678
9101112 131415
16171819202122
23242526272829
30      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Oct. 11th, 2025 01:13 am
Powered by Dreamwidth Studios