Привет! Меня зовут Саша, и я хочу стать хорошим системным аналитиком.
Я загорелась этой идеей на втором курсе универа. К тому времени я уверенно прошла курсы по разработке баз данных и моделированию систем через нотации, а до этого уже со школы занималась анализом данных, робототехникой, проектированием, учила иностранный язык.
Для успешной работы системным аналитиком - посредника между бизнесом и IT - нужен опыт. И желательно побольше.
Я подумала, что сидеть на месте - глупо и нерезультативно. А учиться и получать опыт у специалистов - это лучше, чем просто интуитивно выполнять университетские задания, далекие от реальной жизни. Поэтому было очень круто поучаствовать в программе отбора по этому направлению, и я очень благодарна, что у меня была возможность проверить свои знания на реальных кейсах.
Как проходил отбор
В отборе были экзамены по языку запросов SQL и математике, а в качестве кейса предлагалось придумать концепт удобного планировщика и схему его внедрения в приложение.
Главными задачами кейса были:
Написать список систем или сервисов, с которыми нужно будет интегрировать планировщик.
Создать схему его интеграции с системами/сервисами с помощью любого инструмента.
Перечислить верхнеуровневый список функциональных и нефункциональных требований.
Кейс
Для меня планировщики - это больная тема. Я из тех людей, которые очень стараются себя организовать, но не всегда получается. Сколько бы я не читала книги про тайм-менеджмент и самоорганизацию, для меня остается нормой в расписании перемешивать список продуктов, личные встречи и университетские дедлайны.
Так что я придумала концепт, который будет удобен как людям, умеющим организовывать свое время, так и тем, кто этого очень хочет, но действует беспорядочно. А также тем, кто старается организовать себя, но лучше получается других :)
Да начнется авантюра!
Принцип моего решения заключается в создании личного time-keeper-а, который поможет сэкономить время на типичные задачи, такие как заказ билетов или доставка еды, используя удобные, интуитивно понятные сервисы.
По моему концепту его реализовать нужно так, чтобы получился своеобразный проводник в экосистему компании. Прямо как в книгах Лукьяненко.
Только вместо того, чтобы попасть в Аркан, вы попадете в центр экосистемы, а перед вами будут открытые двери - сервисы компании, которой принадлежит приложение.
На каких идеях базируется планировщик:
Быстрый поиск нужного сервиса - используются ключевые слова.
Шаблоны - подсказки, сгенерированные исходя из привычек пользователя.
Двухуровневый календарь - для наглядности.
Режим «авто-планирование» - при покупке услуги, привязанной ко времени, создается событие в календаре.
Возможность отправить отзыв - новые идеи помогут сделать планировщик еще лучше.
Описание идеи и красивые слайды - это круто, но системный аналитик должен уметь изложить требования и составить схему системы через специальные методологии структурного анализа и проектирования (я использовала DFD для изображения потока данных, поскольку работала с ней в рамках курса университета).
Полученные схемы достаточно большие, поэтому если вам интересно посмотреть на мою реализацию, можно заскочить сюда.
Насчет требований. Их много, но разделяются они на функциональные (что делает система) и нефункциональные (каким образом). Для простоты визуализации я привела по 7 каждого типа (говорят, что это счастливое число. Пусть будет 7):
Экзамены
Были по математике и SQL.
C SQL все было достаточно просто: проверяются теоретические знания, умение понимать простые запросы и писать свои.
Я боялась, что попадутся задачи с подвохом. Например, выведите имена всех жителей Мордора, проживающих в Моранонне. Но в реале все оказалось проще - ни одного назгула я не встречала.
Для подготовки к экзамену я пользовалась SQL Academy, ибо платформа для обучения нереально крутая - грамотно изложена теория и много практики.
По математике большинство задач были по теории вероятности. Скрины заданий, к сожалению, я не делала, но для их решения достаточно знаний университетского курса.
Поскольку ранее я не проходила собеседование на стажера по системной аналитике, сразу начала осваивать материалы на Хабре от людей, работающих по этой специальности. Для подготовки я в основном руководствовалась этой статьей и ответственно познала все, что там указано: от требований к ПО до методов интеграции. Так что я могу по праву себя считать падаваном.
Собеседование
Да, скажу сразу, собеседование я не прошла :)
На собеседовании передо мной находилось несколько человек - руководителей направлений аналитики. Сначала они задавали вопросы, которые касались руководства - предлагали решить несколько реальных кейсов наподобие “что будет, если..”, а затем решить задачки, связанные с SQL и логикой.
Мне всегда казалось, что задачи на логику, как и рассказ о себе - это те самые темы, которые с легкостью приходят на ум. Но нет. Вообще не так. И задачу про три вазы я запомню на всю жизнь, ибо так забавно я еще никогда не зависала :)
Интересно было узнать, что системный аналитик должен уметь решать некоторые задачи проект-менеджера - находить правильный подход к трудной ситуации и организовывать людей. Моим ответом на все эти вопросы - Agile, я в него очень верю :)
На самом деле, очень здорово пройти через собеседование с вопросами, которые не попадались ни в одной из статей по подготовке. Зато теперь я знаю ответы на них, и на те, что были у людей до меня.
Отступать я не собираюсь - мой путь продолжается. Но чтобы понять, как двигаться дальше и в каком направлении, будет круто получить комментарии от тех, кто уже работает или работал по этой специальности.
В этом и была цель этой небольшой статьи ^^
Комментарии (44)
SKiPP
19.09.2021 19:45+1Так и какая задача про три вазы на логику?
Sunny_Space Автор
19.09.2021 20:16+1Ой, она очень простая. Есть три вазы. На первой написано "ЧЕРНЫЕ", на второй — "БЕЛЫЕ", на третьей — "ЧЕРНЫЕ И БЕЛЫЕ". В одной лежат белые шары, в другой — черные, в оставшейся — и черные, и белые. Все надписи заведомо ложны. Разрешается достать один шар только из одной урны. Как определить, в какой урне что лежит?
gecube
19.09.2021 20:54в смысле возможна только одна итерация? Или все-таки можно по шару из каждой урны достать?
Но вообще вроде за одну итерацию решил :-) Хотя не.. вроде две нужны
Fodin
19.09.2021 21:14+11Достаем из "ЧБ" шар. Если он черный, то это ваза с черными шарами. Та, на которой написано "Черные" - не может быть "Черной", а та, что с "Белыми" - "Белой". У нас остается две неопознанные вазы, ЧБ и Б с метками Ч и Б. Поскольку все надписи заведомо ложные, получается, что в "Белые" лежат ЧБ-шары, а в "Черные" - Б. Если первый шар белый, то аналогичными рассуждениями приходим к тому, что в "Белые" лежат Ч шары, а в "Черные" - ЧБ.
Но да, не мгновенно решение приходит в голову.gecube
19.09.2021 21:16да, первая мысль была именно такая. Причем, знаете, из-за симметрии между черным ящиком и белым ))) а ч/б таким свойством не обладает, но это, конечно, рисовать надо, у меня столько фантазии нет, чтобы это в голове представить
HellWalk
20.09.2021 10:59-2получается, что в "Белые" лежат ЧБ-шары, а в "Черные" - Б
Почему?
У нас 3 сущности, которые могут находиться в вазах: белые шары, черные шары, белые и черные шары. При этом ничего не сказано, что вазы будут наполнены по разному - значит могут быть и повторяющиеся варианты, например Ч (где написано "белые") Ч (где написано "черно-белые") и Б (где написано "черные")
То, что надписи ложные - избавляет только от одного варианта, а другие два остаются.
ComodoHacker
20.09.2021 11:30+1Внимательно читайте условие:
В одной лежат белые шары, в другой — черные, в оставшейся — и черные, и белые.
Повторений быть не может.
ZodDZverev
19.09.2021 21:22-1Достать шар из вазы, где написано Чёрные.
Если он чёрный, то в это эй вазе чёрные и белые. В вазе ЧЁРНЫЕ и БЕЛЫЕ — белые, а в вазе БЕЛЫЕ — чёрные.
И наоборот.
dopusteam
19.09.2021 21:26+4А если достали белый?
ZodDZverev
20.09.2021 00:50О, действительно. Тогда из чаши Черно-Белые тянем.
IsUnavailable
20.09.2021 09:39-1Если все надписи заведомо ложные, то без разницы откуда тянуть. Можно тянуть из любой вазы и мы всегда поймём какая из двух оставшихся возможных комбинаций лежит в вазах.
dolovar
20.09.2021 10:05+4Брать из Ч или Б бесполезно — в 50% случаев получаешь двузначность ответа.
Ч — или б, или чб, вытаскивание б не позволяет разделить варианты
Б — или ч, или чб, вытаскивание ч не позволяет разделить варианты
ЧБ — или ч, или б, причем можно сразу сделать выводы о других ящикахIsUnavailable
20.09.2021 13:28Да, действительно. Не учёл, что достав только один шар, мы не узнаем лежат ли в этой вазе шары другого цвета.
dolovar
20.09.2021 13:36Вариант 1: Выбираем Б. Там ч.
В вазе с заведомо ложной надписью «белые» лежат либо черные, либо смесь черных и белых. Вытащив черный мы ничего не определяем — в вазе по-прежнему то ли все черные, то ли смесь черных и белых.
Вариант 2: Выбираем Б. Там чб.
У нас нет опции «там чб» — по условию мы вытаскиваем только один шар из одной вазы, и он окажется либо черным, либо белым.
Если из Б вазы он окажется белым, то мы нашли «чб» и можем смело определить другие вазы. Но если из Б вазы шар окажется черным, то наша попытка ничего не прояснила.
Griizzly
20.09.2021 12:34У меня была похожая задача на одном из собеседований, только про фрукты. Там главное надо исходить из того, что все надписи ЛОЖНЫЕ, и достать можно только один шар из одной вазы и да, достаточно одного шага)
vladatkishkin
19.09.2021 20:18Какие бы книги по системному анализу могли посоветовать ?
P.S удачи в собесах :)Sunny_Space Автор
19.09.2021 20:28Спасибо) По поводу книг я не подскажу, но есть очень хороший курс от МГТУ им. Баумана и Mail.Ru
mbamber
19.09.2021 21:15+5Да, безусловно успехов, в частности, в написании содержательных статей!
Sunny_Space Автор
19.09.2021 21:16Я ещё не волшебник, только учусь. Спасибо за фидбэк. Эта статья и не предполагалась особо содержательной. Скорее хотелось поделиться опытом джуна, и получить от сообщества комментарии по подготовке и советы бывалых)
Daddy_Cool
20.09.2021 01:13+3Специально не читал обсуждение — стал сам решать. Кстати из соображений симметрии сразу ясно, что доставать надо из черно-белой вазы.
redskif
20.09.2021 08:32+6Я могу сильно ошибаться, но все вышеописанное (кроме двух маленьких абзацев про методологии структурного анализа и проектирования) не имеет ничего общего с системным аналитиком, вот с бизнес аналитиком да, но не с системным.
Системный аналитик должен уже расписать в каком формате и с какими параметрами фронт отправляет данные в мидл-слой, что с этими данными делает мидл-слой, в какие системы потом делаются дополнительные запросы, что в каком виде отправляется и что ждем в ответ.
Wildsunny
20.09.2021 09:40+9Кажется с нефункциональными требованиями, приведенными на слайде, некоторая путаница. Нефункциональные требования не говорят о том, как должна быть реализована система, по сути они чаще задают ограничения на нее: нагрузка, скорость открытия страниц, возможные размеры файлов, цветовое решение, необходимость скрытия персональных данных, работа на определенной платформе и т.д. Сейчас там прописаны тоже функциональные требования. Думаю, об НФТ стоит почитать отдельно :)
tmplts
20.09.2021 12:12+3Да, тоже удивился и задумался, так ли это понимаю.
В моем понимании, основанном на Вигерсе и книгах Перервы, это ограничения на функционирование системы, отвечающее на вопрос «В каких внешних условиях должна работать система?»; «В каких внутренних условиях должна работать система?»; «Какие измеримые количественные характеристики должна иметь система?»;«Как (с использованием чего) система должна что-то делать?»; требования к данным, с которыми должна работать система; требования к протоколам, с использованием которых должна работать система; требования к интерфейсам, по которым система должна взаимодействовать с другими системами.
ComodoHacker
20.09.2021 11:53+6Смотрю на ваши картинки и не понимаю, вы на системного аналитика собеседовались или на UX дизайнера? :) Может от вас совсем другого ожидали, не картинок интерфейса, а UML диаграмм?
Да и сам планировщик, может быть имелся в виду совсем не личный тайм-менеджер, а сервис по раскидыванию вычислительных задач по серверам?
Sunny_Space Автор
21.09.2021 10:10Да, забавно получилось)
У меня были наработки по этой задаче в виде UML диаграмм. Но в последний момент подумала, что это может быть не тем, что требовалось в задаче. В любом случае, теперь я лучше понимаю, как нужно решать подобные кейсы и в следующий раз сделаю правильно)
Спасибо за обратную связь!
chilicoder
21.09.2021 01:24+1Простите, может быть уже было в комментариях. Про нефункциональные требования вам уже написали, а я напишу про интеграцию. В вашей схеме нет ни одного их сервиса.
В кейсе предполагается, что вы напишите схему интеграции с их сервисами. Они перечислены Кино, Рестораны, Театры и концерты, Уборка, Цветы, Косметика, Здоровье, Красота, Шопинг, Спорт, Фитнес, Товары.
Давайте попробуем их включить.
Исходя из этого набора довольно легко выстроить предполагаемые сценарии использования вашего приложения. Вот берем Кино, Ресторан, Театр и представляем.. Пользователь, допустим, хочет хорошо провести время в четверг вечером (бывает такое?). Он выбирает в системе четверг вечер, указывает вид деятельности "Выход в город" и система ему подбирает варианты из Кино, Ресторанов и Театров.
Дальше уже из этого сценария начинаете мыслить интерфейс. Дальше из него будет выходить какие данные нужны и т.д. Одно за другим.
Запомните. Первейшая задача системного аналитика понять и написать, какую проблему пользователя мы решаем. Если есть пользователь, вытянуть это из него. Если нет, представить себя этим пользователем и сформулировать ее. Без проблемы не будет и решения.Sunny_Space Автор
21.09.2021 10:03+1Огромное вам спасибо за объяснение! Я думала, что диаграмма потоков данных как раз покажет взаимодействие данных доступных сервисов с планировщиком. Но теперь я поняла, что сделала вообще другое))
exec77
21.09.2021 22:37+1Сделанное вами - это IFD, то есть схема информационных потоков. А DFD это диаграмма данных, в которой описывается зарос и формат запроса.
Вам ещё рано стажироваться на системного, тяните мат часть и пробуйте себя в ассистентом бизнес-анализа в знакомой вам области. До системного нужно дорасти. А вот презентация у вас очень крутая для 20 летнего специалиста, класс!
Sunny_Space Автор
22.09.2021 10:25DFD диаграмму я составляла по примерам курса. Видимо, что-то явно поняла не так. Можете, пожалуйста, посоветовать хорошие статьи по этой теме?
Очень хотелось бы разобраться)
AnnaVera
Удачи вам, пусть все получится!
Жду обратную связь по собеседованию на такую же должность)
Sunny_Space Автор
Спасибо вам огромное!