metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2009-06-09 11:50 am

Обязанности программиста

В блоге у [livejournal.com profile] gaperton есть запись про то, как ему показалось, что при переходе на уровень архитектора уже не нужно писать код, а нужно только думать и раздавать ЦУ тем, кто будет писать код. Ему там старшие товарищи объяснили, что это не так и что написание код позволяет архитектору не сойти с ума и не воспарить в эмпиреях.
Но изначальная идея была в том, что кодирование, возможно, мешает охватить мозгом систему в целом.

А вот когда можно заниматься думанием, когда каждый день приходится 2-3-4 часа уделять админским обязанностям: следить за апдейтами винды, за резервными копиями на нескольких серверах, писать резервные копии на матрицы, поддерживать все инфраструктуру вроде сервера subversion, баг-трекера и девелоперского сервера БД, подключать и настраивать новое железо на серверах, следить за всяческими долбаными рассылками и новостями, настраивать виртуальные машины для всяких надобностей, итд.
Вчера вот убил целый вечер на то, чтобы проверить работу wsus на виртуальной машине, сегодня уже второй час разгребаю завалы из бэкапов.
Если же привести эту работу в нормальное состояние - т.е. с регистрированием и описанием производимых действий хотя бы в wiki для будущих поколений - я вообще думать и код писать перестану.

И самое печальное, что я не совсем уверен в том, что это можно было бы переложить на выделенного админа: я постоянно в ирц наблюдаю, как админы всячески поливают помоями программистов за их "тупость" и за то, что те пытаются выполнять свою работу, требуя от админов каких-то связанных с работой действий. Это какое-то изначальное противоречие в мотивациях - админу лучше всего когда все работает и не изменяется, а у программистов работа заключается в создании нового софта(с которым потом мучиться админам).
Вот к примеру, понадобится мне срочно резервная копия БД клиента за прошлый год - сейчас я сам ее распакую и посмотрю. А так - сначала нужно будет сказать админу, тот начнет пищать "я тут типа занят" "пишите заявку на сервис", итд.

[identity profile] black-angel-by.livejournal.com 2009-06-09 09:15 am (UTC)(link)
путаеш кисло с длинным
Админ как раз и должен заниматься железками, апдейтами и бекапить твою базу ! Бекапы и следить за тем чтобы они делались должен админ. Но в саму базу ему лезть нафиг не надо - бекапы доступны тебе и можеш разворачивать какие хочешь. Проблема ИМХО больше в том, чтобы найти такого админа, который бы делал все это под тебя, а не как захотелось.

[identity profile] metaclass.livejournal.com 2009-06-09 09:20 am (UTC)(link)
Да я знаю, что это должен делать админ. Но в таком случае, админ должен будет подчиняться кому-то, кто знает что, как и зачем делается и будет делаться через неделю и месяц и дальше. В основном, тут только я и [livejournal.com profile] belnetmon знаем всю методику разработки в целом (мы ее таки и налаживали). Т.е., при наличии выделенного админа либо он, либо я должны будем забить на программинг целиком и заниматься пинанием его и других работников.

[identity profile] inhate.livejournal.com 2009-06-09 06:46 pm (UTC)(link)
Ну выбирай - либо 2-3 часа в день учить человека несколько месяцев, либо продолжай крутить гайки сам пока часы в сутках не закончатся.

[identity profile] http://users.livejournal.com/zubr_/ 2009-06-09 09:18 am (UTC)(link)
"Вот к примеру, понадобится мне срочно резервная копия БД клиента за прошлый год - сейчас я сам ее распакую и посмотрю. А так - сначала нужно будет сказать админу, тот начнет пищать "я тут типа занят" "пишите заявку на сервис", итд."

Вот, к примеру, найти и распаковать самостоятельно резервную копию занимает 30 минут. А если написать заявку и получить ответ "копия распакована - пользуйтесь" занимает 60 минут, то есть смысл иметь специально обученного человека?
Ведь в эти 60 минут обязательно найдётся какая-то полезная работа не связанная с резервной копией!
И, ес-но, специально обученный человек не сидит, и не ждёт заявки от тебя. А обслуживает аналогичные заявки других пользователей. или проверяет работоспособность wsus.

[personal profile] alll 2009-06-09 10:22 am (UTC)(link)
Тут закавыка в том, кто расставляет приоритеты в голове у специально обученного человека. А то есть ненулевой шанс получить ответ "пдождите до не знаю когда, я занят, проверяю wsus".

[identity profile] inhate.livejournal.com 2009-06-09 06:40 pm (UTC)(link)
Ну я не вижу тут никакой проблемы - любой трекер позволяет ставить приоритеты. Сконфигурировать простейший таскооборот, полиси по оформлению и выполнению заявок - не, ну это конечно не так интересно как порхать в абстракциях, зато здорово упрощает жизнь.
С нарушение полиси должен разбираться ИТ-директор и принимать оргвыводы.
Разумное раздедение обязаностей - ключ успешной работе коллектива. Совершенно не обязательно дергать администратора для того, чтобы он принес на блюдечке и разверну бэкап, если сам можешь сделать это за время сопоставимое с реакцией администратора. А вот создание этих самых бэкапов, ротацию и поддержание всякоей ежеденвной ерунды в оптимальнос состоянии можно запросто делегировать - благо ряд процессов в конторе могут быть сделаны лучше че делаются сейчас.

[identity profile] metaclass.livejournal.com 2009-06-09 08:48 pm (UTC)(link)
Какой еще ИТ-директор, тут и так больше одного уровня иерархии встроить не из кого :)

[identity profile] http://users.livejournal.com/sergi_/ 2009-06-10 10:12 am (UTC)(link)
плюс 1

[identity profile] inhate.livejournal.com 2009-06-09 06:35 pm (UTC)(link)
Ну вы конечно будете и дальше оптимизировать рабочий процесс, но рано или поздно вы сдохнете.
Либо научитесь делегировать полномочия и доверять специлистам, либо заворачивайтесь в простынку уже сегодня.

[identity profile] http://users.livejournal.com/_windwalker_/ 2009-06-09 06:37 pm (UTC)(link)
админы в РБ это зачастую люди с психологией RTFM и
дали Линукс ? настраивай, зачем работать :(

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

[identity profile] inhate.livejournal.com 2009-06-09 06:45 pm (UTC)(link)
При существующем градиенте зарплат между программистами и админами на другое и расчитывать не приходится - все кто может ползут писать код произвольного качества - ибо кормят за говнокод зачастую лучше. И проблема в том, что добыть адекватного Senior SA непросто - люди недоростают - ухдят в менеджмент, в кодирование и т.п. - а в результате работать сложную работу некому.

[identity profile] http://users.livejournal.com/_windwalker_/ 2009-06-09 06:47 pm (UTC)(link)
кстати да, меня очень удивила разница зарплат между программерами и админа, ибо в принципе сложность задач вполне на одном уровне. Может просто в РБ сложных админских задач и не бывает, в силу специфики аутсорса ?

[identity profile] inhate.livejournal.com 2009-06-09 07:13 pm (UTC)(link)
Два последних предложения от оффшора:
1) Трехсменный траблшутинг распределенной JAVA-системы 24x7, ~50 коробок, без администраторского доступа к production.
2) "ESX и виртуальные технологии, миграция и развитие большой среды, работа не сменная, время старта – 4-6 недель." Подзреваю, связано с первой вакансией.
Буржуи достаточно охотно аутсорсят сложные задачи сюда, исключение - задачи связаные с облуживанием на физическом уровне, закупками и т.п. Это я сужу по результатам мои собеседований за последний год где-то.

[identity profile] http://users.livejournal.com/_windwalker_/ 2009-06-09 09:28 pm (UTC)(link)
Тогда да, слабо понятны столь низкие зарплаты IT-шнегов.

[identity profile] gaperton.livejournal.com 2009-06-09 08:40 pm (UTC)(link)
Противоречие кажуссееся на самом деле (я о программистах и архитекторах, не об админах). Чтобы это понять, надо выйти за рамки этой отдельной проблемы, и посмотреть шире.

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

Кто же будет проектировать и кодировать фреймворк? "Архитектор" при данном подходе и будет. Мало того, что он спроектирует и закодит фреймворк, он самостоятельно (или в составе небольшой группы архитекторов) сделает еще по одному прикладному кейсу, чтобы доказать, что на фреймворке писать удобно.

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

Понимая архитектуру так
http://gaperton.livejournal.com/29043.html
(а данное определение достаточно универсально), вы можете перенести вышесказанное на еятельность админа.

[identity profile] gaperton.livejournal.com 2009-06-09 11:46 pm (UTC)(link)
> И самое печальное, что я не совсем уверен в том, что это можно было бы переложить на выделенного админа

Выход - себя "отклонировать" :). И именно это сделал Тол со мной. :)

[identity profile] stanley-by.livejournal.com 2009-06-10 07:43 am (UTC)(link)
>Вчера вот убил целый вечер на то, чтобы проверить работу wsus на виртуальной машине

Ребе, что ж так много-то?

[identity profile] metaclass.livejournal.com 2009-06-10 07:46 am (UTC)(link)
Этой говножопе размера диска для апдейтов не хватило. Пришлось размер диска увеличивать :)

[identity profile] stanley-by.livejournal.com 2009-06-10 08:20 am (UTC)(link)
Тю, ребе, я в своё время именно в такой ситуации - всус на виртуалке - предварительно выяснял, сколько весит всус со всеми нужными апдейтами :)
А размер диска там же легко изменяется консольной утилитой от вмвари.
Edited 2009-06-10 08:20 (UTC)

[identity profile] metaclass.livejournal.com 2009-06-10 08:21 am (UTC)(link)
Это была не вмварь - это MS Virtual Server.

[identity profile] stanley-by.livejournal.com 2009-06-10 08:22 am (UTC)(link)
*Разводит руками*
Ну, рэбе, даже не знаю, что сказать :)

[identity profile] metaclass.livejournal.com 2009-06-10 08:23 am (UTC)(link)
И я таки не сам wsus проверял - я винду с него обновлял, потому что никогда раньше этого не делал в автоматическом режиме, только критические апдейты и вручную.

[identity profile] stanley-by.livejournal.com 2009-06-10 08:25 am (UTC)(link)
Дык, поменять полиси в нужном месте, в консоли gpupdate /force, wuauclt1.exe /detectnow - за полчаса, если всё правильно настроено, подсосёт и установит нужное "в автоматическом режиме".
Если нет - придётся ковыряться в логах. Уже бывали увлекательные разборки "почему эта сцука отказывается обновляться", да.