Сегодня 22 января, среда ГлавнаяНовостиО проектеЛичный кабинетПомощьКонтакты Сделать стартовойКарта сайтаНаписать администрации
Поиск по сайту
 
Ваше мнение
Какой рейтинг вас больше интересует?
 
 
 
 
 
Проголосовало: 7278
Кнопка
BlogRider.ru - Каталог блогов Рунета
получить код
Software Design
Software Design
Голосов: 1
Адрес блога: http://askofen.blogspot.com/
Добавлен: 2011-01-16 01:46:25
 

Как собеседовать архитектора?

2010-10-12 22:56:00 (читать в оригинале)

Как-то раз ходил на собеседование в одну компанию на должность архитектора. По результатам - завёл обсуждение на RSDN. Будет интересно, к чему это обсуждение приведёт. Текст моего поста:


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

Суть проблемы: Система, которую придётся рефакторить, состоит из двух составляющих:

(1) картографические данные, хранящиеся в БД на сервере;
(2) визуализация этих картографических данных, хранящаяся на другом сервере.

Дело в том, что с частью (1) работает огромное число пользователей. А наша система относится к части (2), с которой работает лишь небольшое подмножество пользователей части (1).

Основная проблема заключается в том, что пользователи части (2) вынуждены синхронизировать вручную визуальную информацию с актуальной картографической. Ситуация осложняется тем, что подобная синхронизация (== создание растрового изображения) занимает длительное время — несколько часов.

Хотелось бы, чтобы в новой версии системы эта проблема была бы устранена. Чтобы для любой картографической информации всегда бы имелась актуальная графическая.

Подходы к решению:

1) Система (2) автоматически следит за данными в системе (1) и, если они обновились, перегенерирует растровое изображения изменённых участков. Недостаток: система (2) должна хранить данные из системы (1) для того, чтобы узнать, что они обновились.

2) Встроиться каким-либо образом между пользователями системы (1) и конечной базой данных для системы (1), чтобы отлавливать запросы на изменение данных. Если данные изменяются, то посылать уведомление системе (2) для того, чтобы она перегенерировала растровые изображения для изменённых данных.

3) Поработать над сокращением времени генерации растрового изображения.

Ситуация осложняется тем, что система (1) является приватной. К ней нет доступа. В принципе, можно было бы растеризовать данные в фоновом режиме, но непонятно, как узнать, что информация в системе (1) обновлена. Нет никаких сервисов, позволяющих узнать это. Доступ к СУБД системы (1) возможен только через Apache Tomcat. Напрямую доступ к БД закрыт, т.к. она приватна и принадлежит другой компании. Доступ только на общих основаниях.

Как проводят собеседования кандидата:

1) Просят рассказать о предыдущем опыте проектирования систем.
2) Просят спроектировать текстовый редактор с хайлайтингом, проверкой правописания и расстановкой переносов.
3) Рисуют на листочке то, как устроена их система, просят кандидата назвать недостатки дизайна и предложить варианты решений.

По п.п. 1 и 2 формально время не ограничивают. Но если за 5 минут кандидат не нарисует на бумаге дизайн системы, быстро теряют интерес и перебивают.

Мой вывод: Не понимают, что прежде чем решать задачу, её для начало надо грамотно поставить (слова "грамотно" и "поставить" здесь ключевые).

Как следствие, не понимают:

(1) важность перевода задачи из формы, как она сформулирована заказчиком (например, "спроектируйте текстовый редактор с хайлайтингом, проверкой правописания и расстановкой переносов") в форму, пригодную для выработки технического решения;
(2) важность написания юз-кейсов для выполнения п. (1).

Резюме: ИМХО, подобный вариант проведения собеседования с архитектором не является эффективным.

Интересует: Мне в этой ситуации интересен общий подход к проведению собеседования с архитектором:

(1) на разработку нового проекта с нуля;
(2) на масштабный рефакторинг готового проекта.

Просьба высказывать свои варианты и свои точки зрения.



P.S.: Чуть позже расскажу, как бы я проводил собеседование с кандидатом в архитекторы. Но сначала будет интересно узнать мнения коллег.

Литература по проектированию

2010-08-31 23:29:00 (читать в оригинале)

Сегодня приступил к ведению блога, в котором буду публиковать некоторые свои мысли по проектированию софта. Думаю, что в качестве первого поста будет полезен список литературы по проектированию, который я когда-то опубликовал на RSDN:


  1. ГОСТ 19.xxx. Единая система программной документации –http://linux.nist.ru/hr/doc/gost/gost19.htm
  2. Ален Э. Типичные ошибки проектирования./Пер. с англ. – СПб.: Питер, 2003. – 224 с.: ил.
  3. Ахо, Альфред, В., Хопкрофт, Джон, Ульман, Джеффри, Д. Структуры данных и алгоритмы. : Пер. с англ. : Уч. пос. – М.: Издательский дом "Вильямс", 2000. – 384 с.: ил.
  4. Бадд Т. Объектно-ориентированное программирование в действии/Перев. с англ. – СПб.: Питер, 1997. – 464 с.: ил.
  5. Буч Г. Объектно-ориентированный анализ и проектирование с примерами приложений на C++, 2-е изд./Пер с англ. – М.: "Издательство Бином", СПб: "Невский диалект", 1998 г. 
  6. Гамма Э. , Хелм Р. , Джонсон Р. , Влиссидес Дж. Приемы объектно-ориентированного проектирования. Паттерны проектирования. — СПб: Питер, 2001. — 368 с.: ил.
  7. Йордон, Эдвард, Аргила, Карл. Структурные модели в объектно-ориентированном анализе и проектировании. – М.: Издательство «ЛОРИ», 1999. – 264 с.: ил.
  8. Кириевски, Джошуа. Рефакторинг с использованием шаблонов/Пер. с англ. – М.: ООО «И.Д. Вильямс», 2006. – 400 с.: ил.
  9. Коберн, Алистер. Современные методы описания функциональных требований к системам/Пер. с англ. – М.: Издательство «Лори», 2002 г. – 263 с.: ил.
  10. Коуд, Петер, Норт, Дэвид, Мейфилд, Марк. Объектные модели. Стратегии, шаблоны и приложения. — М.: Издательство "ЛОРИ", 1999. — 434 с.: ил.
  11. Мацяшек, Лешек, А. Анализ требований и проектирование систем. Разработка информационных систем с использованием UML/Пер. с англ. – М.: Издательский дом «Вильямс», 2002. – 432 с.: ил.
  12. Мейер, Бертран. Объектно-ориентированное конструирование программных систем / Пер. с англ. – М.: Издательско-торговый дом «Русская редакция», 2005. – 1232 стр.: ил.
  13. Проектирование информационных систем : курс лекций : учеб. пособе для студентов вузов, обучающихся по специальностям в области информ. технологий / В.И. Грекул, Г.Н.
  14. Денищенко, Н.Л. Коровкина. – М.: Интеренет-Ун-т Информ. технологий, 2005. – 304 с., ил.
  15. Рамбо Дж., Блаха М. UML 2.0. Объектно-ориентированное моделирование и разработка. 2-е изд./Пер. с англ. – СПб.: Питер, 2007. – 544 с.: ил.
  16. Раскин Джеф. Интерфейс: новые направления в проектировании компьютерных систем. – Пер. с англ. – СПб: Символ-Плюс, 2007. – 272 с., ил.
  17. Страуструп Б. Язык программирования C++, 3-е изд./Пер. с англ. – СПб.; М.: «Невский Диалект» — «Издательство БИНОМ», 1999 г. – 991 с.: ил.
  18. Тидвелл Дженифер. Разработка пользовательских интерфейсов. – СПб.: Питер, 2008. – 416 с., ил.
  19. Фаулер, Мартин. Архитектура корпоративных программных приложений. – Пер. с англ. – М.: Издательский дом «Вильямс», 2006. – 544 с.: ил.
  20. Фаулер М. Рефакторинг: улучшение существующего кода. — Пер. с англ. — СПб: Символ-Плюс, 2003. — 432 с.: ил.
  21. Хоп, Грегор, Вульф, Бобби. Шаблоны интеграции корпоративных приложений/Пер. с англ. – М.: ООО «И.Д. Вильямс», 2007. – 672 с.: ил.
  22. Шаллоуей, Алан, Трот, Джеймс Р. Шаблоны проектирования. Новый подход к объектно-ориентированному анализу и проектированию/Пер. с англ. — М.: Издательский дом "Вильямс", 2002. — 288 с.: ил.
  23. Шумэйкер Скотт. Techniques and Strategies for Data-driven design in Game Development – http://ai.eecs.umich.edu/soar/Classes/494/talks/Schumaker.pdf
  24. Элджер Дж. C++: библиотека программиста/Пер. с англ. – СПб.: ЗАО «Издательство «Питер», 1999. – 320 с.: ил.

Рекомендую также посмотреть статьи по применению ТРИЗ в программировании:

  1. С.В. Сычев, К.А. Лебедев. Как вспомнить и «так известное» — http://www.triz-ri.ru/themes/method/creative/creative50.asp
  2. С.В. Сычев, К.А. Лебедев. Освобождение узников оператора IF — http://www.triz-ri.ru/themes/method/creative/creative57.asp
  3. С.В. Сычев, К.А. Лебедев. О потерянном уровне — http://www.triz-ri.ru/themes/method/creative/creative60.asp
  4. С.В. Сычев, К.А. Лебедев. Не только про калькулятор - http://www.triz-ri.ru/themes/method/creative/creative66.asp
  5. С.В. Сычев, К.А. Лебедев. «Что увидишь, то и неси...» — http://www.triz-ri.ru/themes/method/creative/creative51.asp
  6. С.В. Сычев, К.А. Лебедев. «Неважно, где рисовать...» — http://www.triz-ri.ru/themes/method/creative/creative52.asp
  7. С.В. Сычев, К.А. Лебедев. «Пусть само проявится...» — http://www.triz-ri.ru/themes/method/creative/creative56.asp


Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 

 


Самый-самый блог
Блогер ЖЖ все стерпит
ЖЖ все стерпит
по количеству голосов (152) в категории «Истории»


Загрузка...Загрузка...
BlogRider.ru не имеет отношения к публикуемым в записях блогов материалам. Все записи
взяты из открытых общедоступных источников и являются собственностью их авторов.