Search
Write a publication
Pull to refresh
3
0
Егор @Ommonick

SDET teamlead

Send message

Эффект внутреннего JSON

Level of difficultyMedium
Reading time5 min
Views14K
Джейк с энтузиазмом приступил к своей новой работе, ожидая нового опыта и новых сложных задач. Он жаждал изучать новые стеки технологий и узнать, чему его новая компания может научить его в мире ПО.

Ему сказали, что он будет работать над веб-сайтами и иметь дело с JavaScript, Node.js, JSON и тому подобным. Звучало вполне логично для веб-разработки; странным был только комментарий нетехнического собеседователя, что всё «построено на основе Subversion»; Джейк решил, что просто чего-то недопонял.


Его поставили на проект, в котором использовался собственный «JSON-based Domain Specific Language» компании, или JDSL. Его начальник посоветовал ему изучить копию проекта, на который его назначили, и дал неделю-две на освоение. «Если возникнут вопросы, просто спрашивай, кого угодно, но, судя по твоему опыту, проблем у тебя возникнуть не должно».
Читать дальше →

[HTTP API & REST] Преимущества и недостатки HTTP API

Level of difficultyHard
Reading time8 min
Views9.8K

Это главы 36 раздела «HTTP API & REST» моей книги «API». Второе издание книги будет содержать три новых раздела: «Паттерны API», «HTTP API и REST», «SDK и UI‑библиотеки». Если эта работа была для вас полезна, пожалуйста, оцените книгу на GitHub, Amazon или GoodReads. English version on Substack.

После трёх вступительных глав с прояснением основных терминов и понятий (такова, увы, цена популярности технологии) у читателя может возникнуть резонный вопрос — а почему вообще существует такая дихотомия: какие-то API полагаются на стандартную семантику HTTP, а какие-то полностью от неё отказываются в пользу новоизобретённых стандартов. Например, если мы посмотрим на формат ответа в JSON-RPC, то мы обнаружим, что он легко мог бы быть заменён на стандартные средства протокола HTTP. Вместо

Читать далее

Книга «Роберт Мартин рекомендует. Код, который умещается в голове: эвристики для разработчиков»

Reading time13 min
Views20K
image Приветствуем Вас, Хаброжители!

Незаменимые практические советы по написанию кода в устойчивом темпе и по управлению сложностью, из-за которой проекты часто выходят из-под контроля. В книге описываются методы и процессы, позволяющие решать ключевые вопросы: от создания чек-листов до организации командной работы, от инкапсуляции до декомпозиции, от проектирования API до модульного тестирования. Автор иллюстрирует свои выводы фрагментами кода, взятыми из готового проекта. Написанные на языке C#, они будут понятны всем, кто использует любой объектно-ориентированный язык, включая Java, C++ и TypeScript. Для более глубокого изучения материала вы можете загрузить весь код и подробные комментарии к коммитам.
Читать дальше →

Управление стоимостью проекта: держим бюджет под контролем

Level of difficultyEasy
Reading time7 min
Views10K

В этой статье расскажем, какие процессы помогают управлять стоимостью проекта. А также: 

—  какие существуют виды затрат; 

—  какие есть методы управления стоимостью проекта;

—  как и для чего разрабатывать бюджет. 

Читать далее

Как заставить программистов пахать? 5 неочевидных советов

Level of difficultyEasy
Reading time4 min
Views79K

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

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

Там, где я работал, были разные системы управления, но всегда работал один и тот же принцип.

Читать далее

Я — айтишник, я не хочу много знать

Reading time6 min
Views110K

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

Читать далее

Как создать и развивать процессы CI/CD в команде

Level of difficultyEasy
Reading time9 min
Views10K


Автор статьи: Артем Михайлов

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

Например, использование CI/CD может позволить разработчикам получать обратную связь и выполнять тестирование сразу же после написания кода. Это может значительно снизить время, которое требуется для исправления ошибок, и помочь командам быстрее достигать результата. Примером может служить компания Google, которая уже давно использует CI/CD для доставки своих продуктов.
Читать дальше →

Правильное Unit тестирование: декомпозиция тест кейсов в теории и на практике

Level of difficultyEasy
Reading time7 min
Views5.6K

Мы продолжаем наш цикл статей о тестировании. Ранее мы узнали о распространённости юнит тестирования в среде разработчиков, а также о том, стоит ли нам, разработчикам, тестировать свой код (спойлер: всё же скорее стоит). Сегодня же мы затронем несколько более прикладную часть грамотного процесса тестирования, а именно создание тест кейсов. Первоначально выделение кейсов может показаться разработчику тривиальной задачей, но, как мы скоро увидим, данный процесс можно определить некоторым набором правил.

Читать далее

Как НЕ надо распиливать монолит

Reading time3 min
Views6.7K

Всем привет, на связи Юджин, (теперь уже) беспризорный backend-разработчик на Go. Сегодня я расскажу вам забавную и больную историю о том, как мы монолит распиливали. Кто-то, может, посмеётся, а может, найдёт в этом себя.

Читать далее

Load Balancer и Reverse Proxy в микросервисной архитектуре

Level of difficultyMedium
Reading time8 min
Views15K


Автор статьи: Артем Михайлов

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

Однако при работе с микросервисами возникают некоторые сложности в управлении нагрузкой на приложение. Именно здесь на помощь приходят два важных компонента — Load Balancer и Reverse Proxy.
Читать дальше →

Хотите практиковать навыки руководителя? Попробуйте роль Dungeon Master

Reading time5 min
Views4.6K
Вы никогда не узнаете всего о руководстве, и это нормально!


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

Чтобы прощупать почву, мы начали с ваншота (one-shot) — законченного приключения, прохождение которого занимает 3-4 часа. Я играл роль владыки подземелья (Dungeon Master), задача которого заключается в организации приключения (скорее всего, теперь я навечно останусь DM).

Мы провели уже четыре сессии (два ваншота и две сессии полноценной кампании), и я начал замечать сходство между DM и работой менеджера. Именно тогда меня озарило, что эта игра стала странным мостом между моей повседневной работой и моей любовью к RPG в сеттинге высокого фэнтези.

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

Как организовать самостоятельные дальние походы без гида. Личный опыт

Reading time14 min
Views26K

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

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

Читать далее

Как мы спасли от выгорания нанимающих аналитиков в X5 Tech

Level of difficultyEasy
Reading time6 min
Views4.3K

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

Читать далее

Основы тестирования Go: простые тесты, testify и визуализация покрытия

Reading time6 min
Views39K

Привет Хабр!

Иногда мне приходится расширять функционал наших платформ по запросам разработчиков и в для этого мне отлично подошел Go. Однако нужно не только уметь писать на языке, но и уметь его тестировать. Как вы поняли, сегодня я хотел бы рассказать про основы тестирования в Go.

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

Читать далее

«Короче, па-а-апустись, ты всё поймешь»,- или как лучше устраивать адаптацию для стажёра/джуна в команде

Level of difficultyEasy
Reading time6 min
Views3.5K

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

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

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

Не бойся, рыбка, и плыви!

Как начать тестировать backend и не сойти с ума

Level of difficultyEasy
Reading time9 min
Views31K

Дисклеймер: B первую очередь материал будет интересен тем, кто уже значительное время занимается тестированием пользовательского интерфейса и не знает, как подойти к тестированию backend части приложения. Я не претендую на истину: всё, что сказано ниже, является моим субъективным мнением и пережитым опытом.

Введение

Рынок IT специалистов начал стремительно развиваться в последние пару лет. Требования ко всем специальностям, которые задействованы в разработке программного обеспечения, растут со скоростью развития применяемых технологий. Требования выросли и к специалистам по тестированию. Например, если ещё в 2019 году для того, чтобы устроится тестировщиком в международную IT компанию достаточно было иметь год опыта тестирования чего-нибудь, прочитать «Тестирование dot com» Савина, уметь писать тест-кейсы, знать такие слова как «GIT», «SQL» и «Redmine», то в 2021 году ситуация стала радикально меняться. Осознание того факта, что пятилетний опыт ручного тестирования frontend части различных приложений недостаточен для конкурирования на рынке, привёл меня к выгоранию и побудил к решительным действиям. Я осознал, чтобы не остаться на обочине всей IT индустрии необходимо соответствовать современным критериям хорошего специалиста по тестированию. А именно, попытаться понять, как тестировать серверную часть приложений.

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

Читать далее

Осваиваем чистую архитектуру кода на Golang: практическое руководство по сущностям и слоям моделей

Level of difficultyMedium
Reading time8 min
Views19K

В архитектуре кода иногда разделяют слой сущностей и слой моделей. В этой статье я расскажу о них и приведу два примера кода на языке Golang.

Читать далее

Чем заняться тимлиду, если не кодить? Рассказываю о своих задачах

Level of difficultyEasy
Reading time10 min
Views12K

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

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

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

Читать далее

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

Level of difficultyEasy
Reading time37 min
Views27K

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

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

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

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

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

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

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

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

Тайм-менеджмент для менеджеров/тимлидов/управленцев(шаблоны и рекомендации)

Level of difficultyEasy
Reading time10 min
Views16K

Всем привет!

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

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

Хочу поделиться этой инфой потому, что знаю, что где-то на свете сейчас сидит, обняв коленки, менеджер/тимлид, который просто очень хочет на ручки и чтоб его обняли, а не вот это всё 😢

Коллега - я с тобой ✊ Держись, ты разберёшься и станешь сильнее и опытнее, чем был.

Читать далее

Information

Rating
Does not participate
Works in
Date of birth
Registered
Activity

Specialization

Backend Developer, Quality Assurance Analyst
Lead