10.12.2021, 10:33 | #1 |
Участник
|
Как правильно учить/дообучать стажеров и не только?
Философский вопрос.
Для меня не текущий но вдруг стало интересно глядя на старающихся коллег. Как правильно готовить разработчика по Акс? Грузить теорией? суровая практика? В колумбусе в свое время на сколько представляю народ после краткого тренинга банально кидался на проект (винтовку добудешь в бою) но это вместе с преимуществами порождало иногда пробелы: человек представлял те задачи с которыми сталкивался но не более + его решения зачастую были практическими но не корректными. В MS опять же по слухам не учили вообще: лучшее учение это практика. С этим по слухам боролись проводя порой эпизодические лекции или пытаясь создать центры компетенции (по факту все знали что есть чуваки к которым теоретически можно обратиться но хз помогут или нет + задачу то все одно решать вам), что там сейчас уже и не знаю. Как правильно должен быть выстроено обучение с учетом что разработчик учится почти вечно? Как подготовить стажера к реальной жизни за минимальный срок? |
|
|
За это сообщение автора поблагодарили: mazzy (2). |
10.12.2021, 11:18 | #2 |
Участник
|
Цитата:
В колумбусе в свое время на сколько представляю народ после краткого тренинга банально кидался на проект
Цитата:
человек представлял те задачи с которыми сталкивался но не более
Цитата:
его решения зачастую были практическими но не корректными
Цитата:
С этим по слухам боролись проводя порой эпизодические лекции или пытаясь создать центры компетенции
|
|
10.12.2021, 12:36 | #3 |
Участник
|
Цитата:
Цитата:
Это само собой |
|
10.12.2021, 12:47 | #4 |
Administrator
|
Цитата:
Ответ простой - скорректировать реальную жизнь. Т.е. разработчику нужно давать не те задачи, которые есть на проекте, а те, которые он потянет. Это не всегда выполнимо, но это единственный способ получить эффективный результат от разработчика. Вопросы кстати не связаны конкретно с АХ . "Это так в любой системе, сынок" )) Из собственной практики. Когда я знакомился с АХ - мне дали сделать простейшую задачу - вывести некоторые данные в Excel-шаблон. При этом сама процедура выборки данных была тривиальной (цикл то ли из двух сджойненных таблиц, то ли вообще из одной таблицы). Задачу я делал месяц. Ну как месяц.... Я делал, сдавал, получал замечания, доделывал, после чего снова сдавал и когда задача получалась выполненной - я ее начинал делать с нуля другим способом. И так - 4 раза. За этот период удалось освоить RunBase + RunBaseBatch достаточно... эммм плотно. Что было дальше - не помню, но помню, что у меня было много задач по отчётности .
__________________
Возможно сделать все. Вопрос времени |
|
|
За это сообщение автора поблагодарили: klimova_m (1), Logger (1). |
10.12.2021, 12:49 | #5 |
Роман Долгополов (RDOL)
|
Практика плюс коллега с опытом. Как на заводе
Краткий тренинг Потом в цикле до просветления: Стажеру дается задача Стажер думает (обязательно сначала сам), рассказывает наставнику как собирается реализовывать, вместе обсуждают правильное решение После реализации смотрять вместе что получилось, стажер доделывает/переделывает опять же обязательно своими руками Если в процессе реализации возникает что то с точки зрения стажера непреодолимое, то стажер обязательно сначала сам некоторое время это решить. Пусть неправильно, но обязательно сам. Т.е. ни в коем случае не справшивать сразу у наставника как правильно, а пытаться думать, искать реализацию похожего в стандарте При наличии у стажера головы и желания через месяц будет аналогичные задачи делать без проблем, через примерно три можно считать самостоятельным разработчиком. И надо понимать что программирование ерп это не творчество. Человек должен быть на подкорке научен не придумывать красивые решения, а реализовать способом уже давно придуманым до него. Сантехники мы в общем, а не разу не художники. За художества сразу по рукам бить. В редких ситуациях оно (художество) конечно надо, но это точно не уровень стажера. |
|
|
За это сообщение автора поблагодарили: sukhanchik (10), gl00mie (5), klimova_m (1), axm2017 (5), Dynamics365Eng (1). |
10.12.2021, 12:54 | #6 |
Участник
|
Хорошо поставленный вопрос.
Акс для разработчика - это Java код, глубоко завязанный на Аксаптовские соглашения, Аксаптовские фреймворки и библиотеки Аксаптовских функций. навсикдку, начинающему на проекте разработчику обязательно надо рассказывать о: = best practice (соглашения о наименованиях, нумераторах, коллекциях, штатных массивах) и дополнительные соглашения, принятые на проекте = особенности container в Аксапте и особенности использования контейнера, принятные на проекте = трехуровневость, передача данных с клиента на сервер (pack/unpack), модификаторы server client = tts и перехват ошибок, userConnection и другие Connection = вывод ошибок и сообщений (в частности, работа с инфологом в классических аксаптах) = логирование, принятое на проекте = глобальные переменные и глобальные класы infolog, appl и т.п. = глобальные кэши и кэширование данных = механизмы сравнения кода, old-слои = кластеризация = журналы, зачем нужна блокировка журналов = и т.п. на каждом проекте, что я работал, дополнительно к штатным библиотекам были приняты собственные тараканы и заморочки (что можно и что нельзя делать в деве-тесте-проде, соглашения об оформлении кода и объектов, соглашения о достаточном уровне документирования, кто-то не приемлет временных таблиц, кто-то все делает на временных таблицах безо всяких list/set/map) в общем, много чего можно и нужно рассказать ДО того, как кидать на проект. В свое время я курс читал с названием "Решительный шаг" и подзаголовком "Зачастую решительный шаг является результатом хорошего пинка под зад" Последний раз редактировалось mazzy; 10.12.2021 в 12:58. |
|
10.12.2021, 13:06 | #7 |
Участник
|
В этом случае от твоих рук должны остатся одни обмылки ))
Согласен, что новый разработчик на проекте должен выдавать совместимый с остальными код. Но на проектах бывают такие странные соглашения... Могу сказать про себя - обычно мне требуется полгода-год, в течение которого я выхожу на крейсерскую скорость и считаю себя новым человеком на проекте. И хотя я человек новый в это время, я стараюсь обосновать и привнести хорошие решения с других проектов. Согласен и с тем, что на проекте у db я мало что привнес и много чему научился.. |
|
10.12.2021, 13:12 | #8 |
Участник
|
тут либо крестик, либо трусы.
если стажеры, то какие могут быть сроки? никаких. если сроки, то нужна сработавшаяся команда опытных профессионалов. другое дело, что руководитель вслух может толкать речи, мало связанные с реальностью. ну, дык, работа у него, у рукововодителя такая. |
|
10.12.2021, 13:14 | #9 |
Участник
|
|
|
13.12.2021, 14:40 | #10 |
Участник
|
Кстати стало интересно
А как у вас коллеги на работе устроен процесс расшаривания знаний, повышения квалификации и прочее? Зы опросил экс коллег с МС: там по сути никак (в некоторых командах есть попытки идти по Agile и ко но это личная инициатива руководителя). |
|
14.12.2021, 11:41 | #11 |
Модератор
|
1. Центр компетенций (ядро внедрения, опытные коллеги)
2. Обучение (опытные коллеги читают курсы разработки и best practices новичкам) 3. Наставничество - постановка задачи, обсуждение подходящих решений, код ревью 4. Обмен опытом. Например, на первом проекте мы в 18-00 ПРЕКРАЩАЛИ работу и 1-2 часа рассказывали друг другу какие задачи решали, и как устроен модуль, что нового и интересного нарыли. 5. Грамотное распределение и постановка задач - давать стажеру задачи, с которыми он может справится и чуть сложнее 6. По-хорошему, еще надо вести базу знаний. Но, к сожалению, это довольно трудозатратная задача, а без актуализации информации в ней знания быстро устаревают. С Уважением, Георгий |
|
|
За это сообщение автора поблагодарили: klimova_m (1), axm2017 (5). |
14.12.2021, 13:59 | #12 |
Участник
|
Мелкие комментарии
По опыту клумбы это было (во всяком случае для меня) чем то эфимерным. То есть вроде они есть но в нужный момент хрен кого выдернешь. Цитата:
Цитата:
из https://www.pmoffice.by/blog/agile/agile-approach.html PS интересен был опыт IT Box а где народ вроде читал полу добровольно лекции друг другу. Цитата:
О попытках иной реализации слышал слухи что в MS реализовано было подобное через onenote - как понял работает крайне хреново. Последний раз редактировалось axm2017; 14.12.2021 в 14:07. |
|
|
За это сообщение автора поблагодарили: Capodastr (1). |
14.12.2021, 17:25 | #13 |
Участник
|
Цитата:
Последний раз редактировалось belugin; 14.12.2021 в 17:48. |
|
14.12.2021, 17:29 | #14 |
Участник
|
Цитата:
Результаты ретроспектив команд рассылаются в общие рассылки. Я чужие довольно часто читаю. |
|
14.12.2021, 17:32 | #15 |
Участник
|
Видос про онбординг в ламоде https://www.youtube.com/watch?v=3Fw-3Z0KbeY&t=2037s
|
|
|
За это сообщение автора поблагодарили: gl00mie (3). |
14.12.2021, 20:47 | #16 |
Участник
|
1. Обучение по материалам (в первый месяц испытательного срока)
2. Ведение базы знаний 3. Проведение лекций 4. Реальные задачи, накопление компетенций 5. Код-ревью
__________________
// no comments |
|
15.12.2021, 03:25 | #17 |
Участник
|
Цитата:
Цитата:
Сообщение от axm2017
В колумбусе в свое время на сколько представляю народ после краткого тренинга банально кидался на проект (винтовку добудешь в бою) но это вместе с преимуществами порождало иногда пробелы: человек представлял те задачи с которыми сталкивался но не более + его решения зачастую были практическими но не корректными.
Цитата:
|
|
15.12.2021, 03:37 | #18 |
Участник
|
Цитата:
Сообщение от mazzy
навсикдку, начинающему на проекте разработчику обязательно надо рассказывать о:
= best practice (соглашения о наименованиях, нумераторах, коллекциях, штатных массивах) и дополнительные соглашения, принятые на проекте = особенности container в Аксапте и особенности использования контейнера, принятные на проекте = трехуровневость, передача данных с клиента на сервер (pack/unpack), модификаторы server client = tts и перехват ошибок, userConnection и другие Connection = вывод ошибок и сообщений (в частности, работа с инфологом в классических аксаптах) = логирование, принятое на проекте = глобальные переменные и глобальные класы infolog, appl и т.п. = глобальные кэши и кэширование данных = механизмы сравнения кода, old-слои = кластеризация = журналы, зачем нужна блокировка журналов = и т.п. Дополнил бы еще такими вещами, как: = перекрестные ссылки и навыки их использования с учетом иерархий классов, перехода от методов Map к таблицам и т.п. = механизмы рефлексии (Dict-классы, UtilElements, TreeNode - при том, что последние два актуальны разве что до AX2012), умение решать задачи с их помощью, скажем, job-иком найти готовую временную таблицу типа tempDb, у которой есть поле типа real и поле типа string длиной от 20 символов. |
|
15.12.2021, 04:07 | #19 |
Участник
|
Цитата:
Цитата:
Представим, что идет стройка, и откуда-то привели начинающего "строителя", который пока почти ничего не умеет. Доверят ли такому строителю-стажеру заливать бетон для фундамента? Думаю, вряд ли... Доверят ли ему что-то, влияющее на сроки сдачи объекта? Тоже вряд ли. Как будет проверяться результат его работы? Наверно, приставленный к нему прораб будет смотреть квадратным глазом еще по ходу дела, чтоб раствор хорошо мешал или, там, арматуру вязал без огрехов, потому что вариант "ревью проводить неглубоко" работает только с опытными строителями, имеющими некий кредит доверия. Мне кажется, и со стажером-разработчиком аналогично |
|
15.12.2021, 09:11 | #20 |
Administrator
|
Интересное развитие обсуждения.
Фактически, получается 3 варианта: Как правильно учить / дообучать - если ты партнёр Как правильно учить / дообучать - если ты вендор (Microsoft) Как правильно учить / дообучать - если ты клиент. Из этой ветки + из общения со своими знакомыми у меня получается такая картина: Вендор: Есть команды и разные технические возможности. Т.е. взаимодействия между людьми нет, но есть wiki, OneNote и прочие технические средства, куда можно "сложить" знания. При этом насколько я понял вопрос качества выложенной туда информации (=пользы от всего этого) остается за кадром. Партнёр: Есть наставничество, т.к. человека нужно как можно быстрее воткнуть в проект, чтобы его продавать, как специалиста. Соответственно - цель - как можно быстрее человека "дорасти" до продаваемого состояния. При этом никто не заморачивается использованием тех или иных методик (типа Agile и т.д.) Клиент: Есть наставничество, но оно менее интенсивное, нежели у партнёра. Поэтому здесь больше акцент делается на тренинги, изучение существующих материалов, поддержка (сначала посиди на телефоне, а потом уже дадут крупные задачи). Здесь может быть некая смесь методик ведения проекта и использование разных технических средств (Jira и т.д.). Опять-таки - вопрос качества внесенной туда информации остается за кадром. Было бы интересно ещё услышать какие-нибудь мысли
__________________
Возможно сделать все. Вопрос времени |
|
|
|