Pull to refresh
8
0.1

Пользователь

Send message

Кто такой архитектор ПО и как им стать

Reading time11 min
Views37K

Всем привет! Меня зовут Виктор Василенко, я техлид и Solution-архитектор. Я работал в Яндексе и X5 Group и уже не первый год сотрудничаю с Практикумом. Я делюсь опытом на курсах «Алгоритмы и структуры данных» и «Асинхронное программирование на Python».

Архитектор ПО — это специалист, ответственный за проектирование структуры и организацию системы или продукта. Роль архитектора в IT-компании включает в себя не только технические задачи, но часто и коммуникационные и организационные обязанности. Также архитектор является промежуточным звеном между бизнес-процессами и технологическими решениями.

Пока что индустрия не может чётко определить эту деятельность как профессию. В общероссийском классификаторе профессий ОКПДТР архитектор встречается скорее ландшафтный, чем программного обеспечения. В вузах вы не сможете найти специальность «Архитектура программного обеспечения». 

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

В этой статье я хочу поделиться своим видением роли архитектора ПО и рассказать:

Кто такой архитектор ПО и какие они бывают;

Чем занимается архитектор решений в компаниях разного масштаба;

Чем отличаются инженеры от архитекторов ПО;

Какие обычно задачи стоят перед архитектором ПО;

Конкретно: какие нужны навыки и компетенции;

Как перейти из инженера на позицию архитектора.

Читать далее

От Отечественной войны 1812 года к правилам управления изменениями

Level of difficultyMedium
Reading time67 min
Views4.9K

12 июня 1812 года войска Наполеона перешли Неман. Так началась Отечественная война, в которой Российской империи противостоял очень сильный противник. С огромным опытом, с гениальным полководцем, который ещё не терпел поражений. Долгое наступление, Бородино, сданная врагу Москва, пожар, зима и бегство французов.

Через полгода после начала войны Наполеон с остатками армии убежал из России.

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

Но не просто так, а сквозь призму того, как нужно управлять изменениями.

Бой затеять новый и до конца стоять...

5 удобных Телеграм-ботов с Chat GPT для написания кода

Level of difficultyEasy
Reading time3 min
Views21K

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

По популярности лидирует нашумевший Chat GPT, но в России сервис не работает без VPN. Как тебе такое, Илон Маск? Неудобство? — Да. Разочарование? — return false; Давно есть решение — Телеграм-боты со встроенным GPT для кода и борьбы с багами.

Читать далее

Производительность торговой платформы на простом примере

Reading time7 min
Views4.7K

В этой статье я хочу в научно-популярной форме рассказать об оптимизации времени отклика в торговых платформах бирж и банков (HFT). Для справки речь идет о временах от сотен наносекунд до сотен микросекунд. Для большинства других приложений многие приведенные ниже методы оптимизации неактуальны просто в силу отсутствия столь жестких требований.


Обычно мы рассматриваем производительность в единицах пропускной способности. Например в Гигафлопах. Задача оптимизации в таких случаях сводится к выполнению максимального количества вычислений за единицу времени или решение задачи за минимальное время. Дизайн процессора рассчитан в первую очередь на достижение максимального количества вычислений за единицу времени и стандартные техники оптимизации на то же самое.


Однако существуют приложения где важнее время отклика, например торговые платформы в компьютерном трейдинге (HFT), поисковики, робототехника и телеком. Время отклика – это время выполнения «единичной» операции данного типа, например от получения пакета с текущими котировками с биржи до посылки заказа на биржевую операцию. На самом деле время отклика и пропускная способность (количество операций данного типа в единицу времени) тесно связаны, но разница – принципиальна. Увеличить пропускную способность часто можно просто добавив железа (больше серверов), но улучшить время отклика подобным образом проблематично (кроме случаев пиковых нагрузок).

Читать дальше →

Беспроводная клавиатура Lofree Edge: легкая, тонкая и дорогая. Что это за аксессуар?

Reading time3 min
Views14K

Клавиатур много не бывает, а тем более — хороших. Не так давно в продажу поступила необычная модель, которая может стать надежным инструментом для работы. Речь идет о Lofree Edge, которая отличается от большинства других моделей небольшим весом и материалом, из которого создан корпус. Подробнее — в продолжении.

Читать дальше →

50+ источников с исследованиями и статистикой для фактчекинга

Level of difficultyEasy
Reading time2 min
Views2.7K

Подборка сайтов, которая поможет собрать «мясо» для своей статьи и сделать её убедительной, а также проверить факты в чужих публикациях.

Читать далее

Тревожность. Как дать обратную связь?

Level of difficultyEasy
Reading time4 min
Views3.9K

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

Сколько раз вы ставили задачу, получали результат, который вас не устраивает, но принимали решение не давать обратную связь, потому что это - выход на конфликт?

И в конце-концов просто говорили "спасибо", и переделывали задачу сами?

Не вижу, но знаю, что вы улыбаетесь - ответ положительный.

Но на длинной перспективе не давать корректирующую обратную связь опасно и не продуктивно:

Читать далее

Библиотека программиста: книги о том, как построить карьеру в IT

Reading time5 min
Views8.5K

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

Читать далее

Разработка многопоточной Базы Данных: Ключевые аспекты и примеры реализации ( C++ )

Reading time6 min
Views3.9K

Эта статья посвящена разработке многопоточной базы данных. Мы рассмотрим основные компоненты, такие как хранилище данных, транзакционные системы, многопоточность, журналирование и восстановление, а также создание API для взаимодействия с базой данных. Примеры кода на языке C++ помогут лучше понять реализацию различных аспектов многопоточной базы данных.

Читать далее

Что делать, если Заказчик постоянно генерирует новые «хотелки» по ходу проекта

Level of difficultyEasy
Reading time6 min
Views15K

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

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

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

Читать далее

Замки, драконы и сундуки: как возник классический сеттинг игрового фэнтези? Часть 3: от варгеймов к Blackmoor и D&D

Level of difficultyEasy
Reading time10 min
Views7.9K

Итак, к началу 70-х фэнтези в США успели стать массово популярным жанром литературы. Книги в жанре «магия и меч» запоем читали все — от гиков-технарей до хиппи и рок-музыкантов. Каноны фэнтези при этом быстро менялись: типовое героическое фэнтези в духе «Конана» и эпические противостояния добра со злом в стиле Толкиена быстро наскучило и читателям, и писателям — и в тропы жанра стали стремительно вноситься всё новые и новые поправки. Это сделало новый модный жанр не только более интересным для аудитории — но и куда более пригодным для того, чтобы на его основе создавать игры: сначала настольные, а затем и компьютерные.
Читать дальше →

SQL vs NoSQL: как выбрать архитектуру БД для мобильного приложения, чтобы потом не пришлось ничего переписывать

Level of difficultyMedium
Reading time6 min
Views8.7K

Привет! Меня зовут Никита Грибков, я Flutter-разработчик в AGIMA. В сети море статей о различиях между SQL и NoSQL, но в большинстве из них много теории и почти совсем нет прикладных советов. Я пошел другим путем: ниже постараюсь внятно объяснить, какую систему и в каком случае выбирать. Спойлер: всё зависит от проекта и амбиций заказчика. Конечно, сосредоточусь на мобильной разработке, но основные принципы подойдут и в вебе.

Читать далее

Матрица компетенция/карьерного роста программистов

Level of difficultyEasy
Reading time8 min
Views3.3K

Как выглядят тайтлы и уровни у программистов в зарубежных компаниях, сколько надо лет опыта чтобы быть достойным их, ну и самое главное какая зарплата (до налогов) на этих уровня?

Я не претендую на истину в последней инстанции, это всего лишь мое видение, любые корректировки/добавки/комментарии - приветствуются

Читать далее

Мощный инструмент для работы с GCOV покрытием кода C/C++

Level of difficultyMedium
Reading time6 min
Views4.5K

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

Скорее всего то, о чем я сейчас расскажу, уже было реализовано и не единожды.

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

Читать далее

Как исправить изменившийся номер договора в нескольких сотнях Эксель файлов менее чем за минуту

Level of difficultyEasy
Reading time4 min
Views12K

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

Так появилась задача однотипной замены номера договора и его даты в каждом из *.xlsx файлов, которые были расположены в папках, названных по адресу объекта. Таких папок было множество и некоторые ещё имели вложенные подкаталоги.

Ручной способ, который состоит из использования сочетания клавиш Ctrl + H хоть и позволял сделать замену во всей книге Microsoft Excel сразу, но подразумевал что придётся открыть каждый файл по отдельности, нажимать несколько раз (под замену не только номер, но и дата) сочетания клавиш для замены, сохранять книгу Экселя, закрывать книгу, открывать новую книгу. В общем совершать множество механических действий.

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

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

VBA Excel автозамена

Быть жестким, но не жестоким: как разойтись с сотрудником по хорошему?

Level of difficultyEasy
Reading time5 min
Views27K

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

Читать далее

Что нужно знать, чтобы успешно пройти System Design Interview

Reading time16 min
Views53K

Для любого разработчика глубокое понимание основных принципов системного проектирования является необходимым условием для создания стабильных и масштабируемых программных систем, способных обеспечивать высокую производительность. Системное проектирование (System Design) включает разработку архитектуры и структуры программной системы, направленную на удовлетворение специфических требований и обеспечение требуемых показателей производительности.

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

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

Читать далее

А/Б тестирование на маленьких выборках. Построение собственного критерия

Reading time8 min
Views11K

Хабр, привет! Сегодня рассмотрим кейс, в котором классические статистические критерии не работают, и разберёмся, почему так происходит. Научимся строить свои собственные критерии по историческим данным. Обсудим плюсы и минусы такого подхода.

Читать далее

Chisel — (не совсем) новый подход к разработке цифровой логики

Reading time14 min
Views9.7K


С развитием микроэлектроники, rtl дизайны становились все больше и больше. Реюзабилити кода на verilog доставляет массу неудобств, даже с использованием generate, макросов и фишек system verilog. Chisel же, дает возможность применить всю мощь объектного и функционального программирования к разработке rtl, что является достаточно долгожданным шагом, который может наполнить свежим воздухом легкие разработчиков ASIC и FPGA.


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

Читать дальше →

Как разработать микросхему, от идеи до результата. Часть 4. DRC/LVS/PEX

Reading time12 min
Views6.6K
В прошлой статье мы сделали Layout, а в этой части мы проведём LVS/DRC/PEX и исправим ошибки из прошлой статьи. Для тех, кто пропустил прошлые части, вот ссылки на них.




В этой части мы:

  1. Запустим Design Rule Check, чтобы проверить возможность произвести нашу схему
  2. Запустим Device Extraction для сравнения нашего Layout с целевой схемой.
  3. Произведём сравнение наших компонентов из Layout и нашей схемы, которую мы нарисовали в XSCHEM.
  4. Сгенерируем netlist с паразитными конденсаторами и резисторами (PEX).
  5. Просимулируем netlist с паразитными конденсаторами и резисторами.
  6. Сгенерируем LEF файл.
  7. Подведём итоги этой серии статей.
Читать дальше →

Information

Rating
4,450-th
Location
Россия
Registered
Activity