Pull to refresh
8
0
Виктор Глейм @ViseMoD

Серьёзный аналитик

Send message

Стандарты описания API для системных аналитиков

Level of difficultyEasy
Reading time7 min
Views6.7K

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

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

Читать далее

Основы проектирования интерфейсов для системных аналитиков: ключевые принципы и подходы

Level of difficultyEasy
Reading time7 min
Views6.4K

Привет Хабр! Меня зовут Татьяна Ошуркова, я разработчик и системный аналитик. Сегодня задачи аналитика включают в себя множество различного функционала, границы которого намного шире, чем просто работа с документацией. Одна из таких нетипичных задач, по моему опыту, с которой системные аналитики все чаще сталкиваются на сегодняшний день – проектирование пользовательских интерфейсов.

В этой статье мы рассмотрим основные аспекты проектирования интерфейсов для системных аналитиков, принципы UX/UI и теории проектирования, а также связь требований с прототипами.

Читать далее

Задачи тестирования в работе системного аналитика. Основы и ключевые аспекты

Level of difficultyEasy
Reading time9 min
Views3.1K

Привет Хабр! Меня зовут Татьяна Ошуркова, я разработчик и системный аналитик. Задачи тестирования для системного аналитика – одно из направлений смежных задач. Такая ситуация может возникать в командах, где отсутствует роль тестировщика или тестировщики не проверяют весь реализуемый функционал. Кроме вынужденной необходимости аналитик может выполнять тестирование и по другим причинам. Как разработчик и системный аналитик я могу сказать, что тестирование для меня – это самопроверка, проработка и повышение качества решаемых задач.

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

Читать далее

Будущее микросервисов: уйдем ли мы к монолитам 2.0?

Level of difficultyEasy
Reading time8 min
Views38K

Микросервисы или монолит? Споры об архитектуре программного обеспечения не утихают, но с 2018-2020 годов наметился интересный тренд: компании начинают переоценивать сложность микросервисного подхода. Возвращение к монолитам, но уже с учетом современных инструментов, вызывает жаркие обсуждения в техническом сообществе.

В этой статье я не буду защищать какую-либо из сторон. И не буду обещать волшебных решений, которые решат все архитектурные проблемы. Вместо этого разберем, что стоит за модной концепцией «монолиты 2.0», как эволюция технологий меняет восприятие архитектуры и почему возвращение к упрощению может быть выгодным. Добро пожаловать в мир архитектурных компромиссов — подробности под катом.
Читать дальше →

Хочу стать тимлидом: как выбрать свой путь от специалиста в руководители

Level of difficultyEasy
Reading time17 min
Views3K

Когда я работал программистом, мне было интересно не только написание кода. Я всегда любил анализировать, как в целом происходит работа в нашем отделе. Практически с самого начала карьеры мне казалось, что «изнутри» я вижу слабые места процессов и понимаю, как можно их улучшить и сделать проще. Шло время, опыт увеличивался, а желание влиять на происходящее постепенно становилось всё больше.

И вот, в какой-то момент мне захотелось попробовать себя в роли руководителя, но возникла проблема: я не знал, как им стать. Ответа на вопрос: «Что нужно делать, чтобы занять свою первую управленческую должность?» не было. Точнее, он был, но лишь в теории.

В тот период я считал, что стать руководителем без опыта ещё сложнее, чем джуниору после курсов найти первую работу. Какое-то время мне пришлось ждать своего шанса, и вот он наконец-то представился. Сегодня, уже имея за плечами опыт, я знаю несколько способов это сделать. Я хочу рассказать о существующих путях от специалиста в менеджеры, какие из них, на мой взгляд, проще, а какие, наоборот, труднее.

Мы поговорим о том, какой путь выбрал я сам, и по какому шли мои коллеги. В конце постараемся вместе ответить на вопрос: «Как выбрать путь, подходящий для вас?». На тот момент я бы очень хотел прочесть такой гайд, но его ещё никто не написал. Это и побудило меня к созданию этой статьи:)

Читать далее

Инструменты Domain Driven Design

Reading time11 min
Views26K
Синий кит — отличный пример того, как проектирование сложного проекта пошло не по плану. Кит внешне похож на рыбу, но он млекопитающее: кормит детенышей молоком, у него есть шерсть, а в плавниках до сих пор сохранились кости предплечья и кистей с пальцами, как у сухопутных. Он живет в океанах, но не может дышать под водой, поэтому регулярно поднимается на поверхность глотнуть воздуха, даже когда спит. Кит самое большое животное в мире, длиной с девятиэтажный дом, а массой как 75 автомобилей Volkswagen Touareg, но при этом не хищник, а питается планктоном.

Когда разработчики работали над китом, то не стали писать все с нуля, а использовали наработки из старых проектов. Он словно слеплен из несовместимых частей кода, которые не тестировались, а все проектирование сводилось к выбору фреймворка и к срочному «велосипедированию» уже в продакшне. В итоге получился проект красивый внешне, но с кусками дремучего легаси и костылей под капотом.



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

Что такое DDD и какие инструменты в нем есть, мы расскажем в статье на основе доклада Артема Малышева. Подход DDD в Python, инструменты, подводные камни, контрактное программирование и проектирование продукта вокруг решаемой проблемы, а не используемого фреймворка — все это под катом.

Domain Driven Design на практике

Reading time12 min
Views281K
Эванс написал хорошую книжку с хорошими идеями. Но этим идеям не хватает методологической основы. Опытным разработчикам и архитекторам на интуитивном уровне понятно, что надо быть как можно ближе к предметной области заказчика, что с заказчиком надо разговаривать. Но не понятно как оценить проект на соответствие Ubiquitous Language и реального языка заказчика? Как понять, что домен разделен на Bounded Context правильно? Как вообще определить используется DDD в проекте или нет?

Последний пункт особенно актуален. На одном из своих выступлений Грег Янг попросил поднять руки тех, кто практиукует DDD. А потом попросил опустить тех, кто создает классы с набором публичных геттеров и сеттеров, располагает логику в «сервисах» и «хелперах» и называет это DDD. По залу прошел смешок:)

Как же правильно структурировать бизнес-логику в DDD-стиле? Где хранить «поведение»: в сервисах, сущностях, extension-методах или везде по чуть-чуть? В статье я расскажу о том, как проектирую предметную область и какими правилами пользуюсь.
Читать дальше →

Управление вёрсткой в PlantUML

Level of difficultyHard
Reading time14 min
Views7.3K

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

Как следствие, иногда получаются не самые эстетически привлекательные диаграммы, а поиск ответа на вопрос, как повлиять на автоматическую расстановку элементов, заводит в тупик. Это происходит из-за того, что доступной информации об управлении вёрсткой в PlantUML практически нет.

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

Поехали

Domain-Driven Design: чистая архитектура снизу доверху

Level of difficultyMedium
Reading time18 min
Views32K

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

Если Вы - мидл, и Вас стали мучать такие вопросы — поздравляю, Вы на верном пути. Ведь профессиональный рост не происходит с переводом на должность - новый сениор должен родиться, и это как раз муки такого рождения.

Да, мы уже знаем самые популярные практики: KISS, DRY, YAGNI, SOLID, что там ещё... Мы умеем их применять. Но нас не покидает чувство, что все эти практики объединяет общая научная основа. Знаете, это как с Менделеевым, который на основе закономерностей практически по наитию составил периодическую систему, а потом открыли электроны и всё встало на свои места.

У меня для вас хорошие новости: научная основа есть. Это предметно-ориентированное проектирование.

Но есть и плохая новость: тема настолько новая и непростая в изучении, что какая-никакая популярность к ней пришла лет 5 назад, и до сих пор совсем небольшое число разработчиков достаточно хорошо в ней разбирается.

Но есть ещё одна хорошая новость: в статье ниже я постараюсь дать максимально понятный ответ, что же такое предметно-ориентированное проектирование.

Начнём.

Читать далее

VPN: последний выпуск. Завтра об этом писать нельзя

Level of difficultyEasy
Reading time5 min
Views168K

Закрываем двери в свободный интернет: завтра, 30 ноября, вступает в силу закон №406-ФЗ запрещающий распространять информацию о способах обхода блокировок.

Кто знает о визитах на Pornhub?
- Какие именно данные сохраняют провайдеры о нас — с VPN и без.
- Что нового запретят обсуждать о VPN (и почему).
- VLESS — замена VPN, которую ещё можно упомянуть (пока).
- ТРИ способа как вычислить, что вы зашли через прокси или VPN.

Читайте, пока это ещё не заблокировали!

Читать далее

Я тебя найду и позвоню

Level of difficultyEasy
Reading time6 min
Views151K

Абсолютно легальные инструменты за смешные деньги могут позволить вам: звонить всем активным клиентам ваших конкурентов, построить десяток эффективных мошеннических схем, или даже позвонить предполагаемому любовнику вашей девушки/жены, а заодно проверить где она была вчера вечером! Обнаружил я это в ходе одного из расследований утечек заявок клиентов. И я твердо уверен, что такого быть не должно. Инструмент использующийся в статье эффективнее всех утечек вместе взятых, нашими данными не должны так легко легально торговать практически в режиме онлайн. Можно найти любого и позвонить любому из нас. Почему и как это работает, какие риски это несет и как этому противодействовать?

Расскажу далее.

Ваш первый A/B-тест: гайд для тех, кто ещё ничего не пробовал

Level of difficultyEasy
Reading time8 min
Views3.7K

Если вы слышите «AB‑тесты» и у вас в голове возникает что‑то вроде «да, я это где‑то видел, но понятия не имею, как работает», то эта статья — для вас. Я объясню, что такое AB‑тесты, зачем они нужны, какие инструменты использовать и как их настроить, чтобы результат был не просто для галочки, а действительно полезным.

Читать далее

Делегирование как инструмент лидерства, эффективности, мотивации и профессионального развития

Level of difficultyHard
Reading time14 min
Views3.4K

В прошлый раз мы обсуждали управление рисками в IT-разработке. В этот раз давайте поговорим о “мягких” навыках бизнес-аналитика, а именно о делегировании в контексте работы бизнес-аналитика в IT-разработке, Agile-проектах, нелинейного подчинения и взаимодействия и наших с вами откровенно завышенных ожиданиях от того, как влияет наша с вами работа на профессиональный и карьерный рост. Мы рассмотрим разные грани этого инструмента через модели планирования, лидерства, мотивации и обучения.

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

У делегирования, как и у любого другого инструмента управления, есть свои плюсы и минусы и затрагивают они всех участников этого процесса.

Думаю, большинство из вас понимают, в чем основные преимущества. Это:

Читать далее

Тактические паттерны DDD

Level of difficultyMedium
Reading time12 min
Views11K

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

Читать далее

Советы руководителю от руководителя

Reading time11 min
Views118K
Привет, Хабр! Я управляю командами разработки уже 10 лет.

Недавно меня попросили поделиться на внутренней конференции «секретами управления» с другими руководителями. Поводом стала низкая текучка в моём подразделении и здоровый дух внутри команды — так было на всех моих работах. Я отказался, сославшись на то, что не делаю для этого ничего особенного. Сработала внутренняя установка «не будь выскочкой».

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

Поэтому выключаю тумблер «не будь выскочкой» и делюсь «секретами».



Тут не будет стандартных «делегируй», «налаживай процесс», «стой в правильной позе на стендапе» — об этом написано уже достаточно. Будет о другом.
Читать дальше →

D&D как инструмент тимлида: решаем проблемы команды с помощью разговорных ролевых игр

Level of difficultyEasy
Reading time37 min
Views26K

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

Команда разработки и вообще любая группа людей — это сложный клубок из межличностных отношений и персональных компетенций. Я руковожу командами разработки и эксплуатации уже 8 лет, и за это время встречался с разными командными проблемами. Хочу предложить вам свою методологию их решения при помощи разговорных ролевых игр (РРИ).

Под катом вас ждет:

История о том, как я сам пришёл к тому, чтобы проводить РРИ для коллег.

Краткий рассказ о том, что из себя представляют такие игры.

Примеры решения реальных командных задач.

Полная методология подготовки и проведения игры. Полезно будет вам и вашему мастеру.

Вперёд к приключениям

10 типичных «софтовых» ошибок на собеседовании

Reading time10 min
Views30K

Собеседование — одно из наиболее стрессовых событий в жизни. По статистике, IT-специалисты меняют работу раз в 2–3 года. И каждый раз приходится заново проходить интервью с HR, tech lead и будущими руководителями. Директор по ИТ-архитектуре Группы «Иннотех» Артём Головачев поделился секретами успешного прохождения собеседования.

Читать далее

Технологии интеграции информационных систем. Часть 2. GraphQL, gRPC, WebSocket, webhook, брокеры сообщений

Level of difficultyEasy
Reading time17 min
Views14K

Эта статья ー вторая часть материала об интеграции информационных систем (ИС) и самых распространённых стилях и технологиях интеграции. 

Читать далее

База, которую нужно знать про JSON Schema

Level of difficultyEasy
Reading time7 min
Views21K

Привет, Хабр!

Сегодня мы рассмотрим одну из тем, которая, как ни странно, остаётся недооценённой — JSON Schema. Если ты аналитик (или хочешь им быть) и в твоей работе часто мелькают JSON-файлы, то наверняка знаешь, как сложно порой бывает держать всё это под контролем. В этой статье мы разберём всё, что тебе нужно знать про JSON Schema.

Читать далее

Введение в Data Vault

Reading time6 min
Views139K


Большинство компаний сегодня накапливают различные данные, полученные в процессе работы. Часто данные приходят из различных источников — структурированные и не очень, иногда в режиме реального времени, а иногда они доступны в строго определенные периоды. Все это разнообразие нужно структурированно хранить, чтоб потом успешно анализировать, рисовать красивые отчеты и вовремя замечать аномалии. Для этих целей проектируется хранилище данных (Data Warehouse, DWH).

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

Кому будет интересна эта статья?


  • Ищете более функциональную альтернативу схеме «звезды» и Третьей Нормальной Форме?
  • У Вас уже есть хранилище данных, но его тяжело дорабатывать?
  • Нужна хорошая поддержка историчности, а текущая архитектура для этого не подходит?
  • Возникают проблемы при сборе данных из нескольких источников?

Если на какой-либо из этих вопросов Вы ответили утвердительно, и при этом не знакомы с Data Vault — прошу заглянуть под кат!
Читать дальше →
1
23 ...

Information

Rating
5,639-th
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Registered
Activity

Specialization

Systems Analyst, Business Analyst
Senior