Войти
ПрограммированиеФорумОбщее

Оценить потенциал к работе над программной архитектурой (2 стр)

Страницы: 1 2 3 Следующая »
#15
20:59, 20 сен. 2018

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

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


#16
21:39, 20 сен. 2018

Помнится, в одном из мест, где я работал, на входе всем кандидатам в программисты давали одну и ту же задачку - отсортировать массив из ста чисел. Если человек за 20 минут этого не делал, у него даже имени не спрашивали, это не программист. Девять из десяти кандидатов проваливались уже не этом этапе. Экономило дорогостоящее время тех, кто проводил собеседования.

#17
22:09, 20 сен. 2018

Zab
> отсортировать массив из ста чисел. Если человек за 20 минут этого не делал, у
> него даже имени не спрашивали, это не программист

0.2 минуты на число - я так не умею :)

#18
22:28, 20 сен. 2018

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

#19
1:06, 21 сен. 2018

Zab
> Помнится, в одном из мест, где я работал, на входе всем кандидатам в программисты давали одну и ту же задачку - отсортировать массив из ста чисел. Если человек за 20 минут этого не делал, у него даже имени не спрашивали, это не программист.
Я бы просто посадил за компьютер с доступом к интернету и поставил задачу реализовать. Обычно все начинают валиться на работе с инструкциями, описанием, документацией и прочим. Хотя программа для сортировки, поиска и замены по хэшу сотни миллионов блоков заставила меня основательно повозиться с D.

#20
1:24, 21 сен. 2018

Алексей Патрашов
Так, за комп и сажали. Без интернета, правда. Это давно было, тогда интернет еще не был повсеместно.
Зачем разбирать что там кандидат наплетет, если разговаривать не о чем? Вот если он минимальные навыки показал - можно и поговорить.

Когда я проводил собеседования, уже в других местах, предпочитал иначе. За комп не сажал, давал три задачки, смотрел как их решают. Мне же не решение нужно было, а оценить человека. Посмотреть в реальном времени как он пишет программу из 10 строчек - это о многом говорит.
Первая задачка минимальная, чисто чтобы не тратить время на совсем не программистов. Есть навыки или их совсем нет - видно сразу. Не нужна комплектная программа, достаточно фрагмента.
Вторая задачка на манипулирование ссылками, один шаг слияния списков реализовать, к примеру, или LRU. Очень многие, как утверждают, работать со ссылками-указателями не могут научиться в принципе, если до сих пор не научились, мозги у них неправильно устроены, хотя писать несложные прикладные программки вполне способны.
А третья чтобы проверить способности работы в условиях неполной информации. Ибо ТЗ готовое и подробное программист получает крайне редко. По третьей задаче программу писать не требовалось, просто поговорить о подходах к решению. Не нужен сотрудник, который будет ждать когда ему все необходимое для работы доставят, он должен хоть как-нибудь пытаться добыть информацию самостоятельно. Не обязательно это делать мастерски, программистов же этому обычно не учат, единообразия нет, но пытаться обязан.

#21
3:49, 21 сен. 2018

Zab
> За комп не сажал, давал три задачки, смотрел как их решают. Мне же не решение нужно было, а оценить человека.

Ну придет к тебе студент, переволнуется, них*а не сделает.
А на другой работе покажет свой код, объяснит его, и будет нормально работать.

Я всегда просил принести и показать предыдущий код. Если код нормально оформлен понятный (это видно сразу) - можно спросить, как он сделает простую задачу (взять что-нибудь несложное из текущего списка).
Это если человек на программиста собеседуется.

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

#22
4:19, 21 сен. 2018

CasDev
Один раз почти прокололся. Пришел человек, показался очень толковым. Пособеседовал, почти принял на работу, но все же дал задание на дом. Когда он еще раз пришел, как предполагалось уже оформляться, схватился за голову. Он полный ноль. Что это за программист, который не знает никаких способов запомнить несколько однотипных данных в программе? Т.е. вообще никогда не слышал ни про массивы, ни про списки, ни про какие контейнеры, даже предположить не может в каком направлении искать. Потом уже проанализировал, почему он мне грамотным показался. Он молчал ;) Я сам с собой говорил, но этого не понял.

А "студента" брать не выгодно, на самом деле. Если он совсем зеленый, конечно. Потратишь массу усилий чтобы его довести до уровня, а как что-то начнет получаться, он обязательно уйдет. Не потому уйдет, что ему тут не нравится, а просто мир посмотреть и себя показать. Он то качественно изменился, надо ему себя оценить.

Волнуется человек или нет, а когда он на глазах начинает что-то писать, сразу видно занимался ли он этим ранее и насколько много. Не напишет ничего работающего, ошибок наплодит? Так мне и не нужна работающая программа, мне надо увидеть как он ее пишет. Вижу что рука набита - можно останавливать, не тратить время.


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

#23
12:51, 21 сен. 2018

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

#24
18:30, 21 сен. 2018

Zab
> В мои обязанности не входило написание кода. Называлось это "архитектор софта"
убей себя : )

З.Ы. если что, это Кент Бек, я долго не мог понять фразу "выдавливайте из себя архитектора", убить себя более доходчиво

З.З.Ы. если что всегда работал с практикующими аркитектами, и сам пробовал, но мне code rewiew дается тяжело
и даже сейчас наш CEO шарашит коммиты только успевай, их кста тоже можно ревьюить и потом отдельно исправлять недочеты если не углядел на стадии ревью

#25
20:55, 21 сен. 2018

Sh.Tac.
Проводить code rewiew не входило в мои обязанности. Никто вообще не ожидал, что я с кодом работать буду хоть как-то. Я работал, конечно, потому что из кода мне проще было получать часть информации. Но мог бы ее же получать и от людей.
Собрать информацию, оценить реализуемость требований, отсортировать, преобразовать эти требования, выстроить структуру под них, согласовать со старыми наработками в длительно развивающемся проекте, давно находящимся в эксплуатации. Расписать и разрисовать, задокументировать это все. Принимать участие в выработке ТЗ, скорее в качестве консультанта. Снабжать информацией руководителя проекта. Чем-то вот таким я занимался. И не в одном месте. И не всегда это называлось "архитектор". Когда такую работу выполняешь как программист, только для своих модулей, так это вовсе не архитектор. А если для всех?

#26
11:54, 22 сен. 2018

Очень возможно что проще заново переписать. Мне приходилось работать с сайтом, построенным на Wordpress, в котором использовалось куча устаревших неподдерживаемых самодельных вордпресс-плагинов, использующие старый драйвер mysql (если кто не в курсе, он много лет уже официально считается небезопасным). Приходилось исправлять баги и дорабатывать фичи. Сайт работает как бакэнд для риэлторов, конечный пользователь его не видит, но тормозит безбожно. Конечно, я неплохо заработал, но за этот бюджет можно было сайт с нуля написать, быстрый и простой, с логинами и блэкджеком, о чём я не раз напоминал клиенту. Из-за старых технологий, даже перенести на новый, более быстрый сервер проблематично (новый php уже не поддерживает старый драйвер mysql). Но тут уж хозяин - барин.

Был и другой случай, где я тоже со старым кодом работал для компании, которая занимается городским водоснабжением. Там такой старый сайт был ещё с фреймами (если кто помнит) через которые запускались всякие джаваскрипты. Я почти сделал всё как надо, но в конце меня попросили сделать так чтобы изнутри фрейма можно было нажать кнопку и счёт-квитанция выходила на печать. Когда я им сказал что это технически невозможно, они не заплатили мне последний транш. Знал бы что они не заплатят последний транш, можно было бы на несколько дней раньше с ними распрощаться...

Вообще за 10-20 лет технологии так сильно меняются, что если проект не сильно большой, то проще переписать. А если сильно большой - то тем хуже, поддерживать его будет всё тяжелее и тяжелее.

#27
12:58, 22 сен. 2018

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

причём судя по
> Проводить code rewiew не входило в мои обязанности
движение одностороннее, без обратной связи, т.е. в коде можно лепить всё что угодно, всё равно туда никто не посмотрит

тот же Кент Бек вроде бы так высказался про должность

software architect’ it’s a new pompous title that programmers demand to have on their business cards to justify their sumptuous emoluments

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

> Когда такую работу выполняешь как программист, только для своих модулей, так
> это вовсе не архитектор. А если для всех?
для всех архитектор уже : )

просто я считаю что архитектор пишет код, это обычно фреймворк aka клетка которая ограничивает других программистов в их творческих порывах
если клеть перестаёт отвечать требованиям архитектор первый человек который её ломает и переписывает

самое сложное это конечно убедить программистов что в этой клетке им будет хорошо : )

#28
13:17, 22 сен. 2018

Sh.Tac.
> т.е. архитектор лишь ярлык для обоснования большой зряплаты, по сути это тот же программист
Вообще то, лучший архитектор - это аналитик. Но для бизнеса такой крайне неудобен. Аналитик, способный выстроить систему, это ж человек фирмообразующий и он обычно четко осознает свою ценность, бизнес у него на побегушках, а не наоборот. Архитектор-программист сам, вне организации, вряд ли что родит, это просто наемный работник, пусть и высококвалифицированный. Что толку, если можешь спроектировать любую систему, если не знаешь какая система требуется...

#29
13:26, 22 сен. 2018

Zab
> Вообще то, лучший архитектор - это аналитик
возможно, в разных культурах оно по-разному

про аналитика вспомнил вакансию в которую долго втыкал и так и не понял, с одной стороны системный архитектор, с другой чуть ли не прожект-менеджер, зачем-то нужно знать ООП, но программистом быть не обязательно
https://gamedev.ru/job/forum/?id=238480

Страницы: 1 2 3 Следующая »
ПрограммированиеФорумОбщее

Тема в архиве.