Search
Write a publication
Pull to refresh
80
0
Алексей Корнеев @spasibo_kep

я сделаль

Send message

7 QA-шных грехов, которые помогут или помешают тестировщику (стать тем, кем ты хочешь)

Reading time12 min
Views22K
image

Привет, меня зовут Иван, я работаю руководителем горизонтали автоматизаторов в Skyeng. Занимаюсь менеджментом ресурсов автоматизаторов, внедряю процессы, которые упрощают работу ребят, пишу инструменты для команды (слак-бот, всякие интеграции с TMS и др.), менторю начинающих автоматизаторов и, иногда, пишу авто-тесты.


Ручные тестировщики и начинающие автоматизаторы из компании часто спрашивают у меня, как им определиться с дальнейшим развитием. Я выделил 7 проблем, с которыми сталкивался сам, постарался рассказать, как боролся с ними и как можно обратить некоторые из своих слабых сторон на пользу себе и окружающим. Учиться на своих ошибках — хорошо, а на чужих — еще лучше. Надеюсь, мой рассказ поможет вам пойти вторым путем :)

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

Как мы добавили букву “Э” в документооборот Skyeng

Reading time8 min
Views3.7K

Знакома ситуация, когда работа с документами в компании превращается в игру "Что? Где? Когда?" с непредсказуемым результатом? Внедрение электронного документооборота (ЭДО) раньше, чем бумажные процессы начнут тормозить бизнес - не самая тривиальная задача. А в условиях карантина и тотальной "удаленки" сотрудников она становится гипер-сложной!

Читать далее

Как мы строили работу с техническими инцидентами на уровне компании

Reading time9 min
Views7.5K

Пока вы маленький старпап, команда легко справляется со всеми ошибками и сбоями сама. Если вы развиваетесь, и делаете это быстро, неизбежно приходит время, когда разработчиков становится больше, компания — крупнее, а проблемы перестают быть локальными и требуют участия смежных команд для их решения. Так и Skyeng прошел путь от маленького стартапа до известной онлайн-школы. Сейчас на платформе десятки тысяч учеников, 40 распределенных команд разработки и сотни сервисов, взаимодействующих друг с другом. 

Конечно, в какой-то момент инциденты вышли за пределы наших команд, и мы задумались о едином подходе работы с ними. Ответственным за процесс организации оказался я — Дима Кузнецов, один из юнит-лидов в Skyeng. Так в декабре 2019 года мы создали MVP этого проекта, и к TechLead Conf 2020 получили первые результаты, о чем я и рассказал на конференции. Сегодня я опишу, каким был процесс и что мы получили в результате.

Читать далее

Зачем разработчику разбираться в вопросах безопасности?

Reading time5 min
Views3.7K

Одно дело — почитать теорию об уязвимостях и совсем другое — увидеть последствия и защититься на практике. Специалист по защите приложений в DINS Иван Юшкевич предлагает испробовать это во время конференции PHP Russia 2021, где он представит свой практический доклад «Веб-безопасность для начинающих». 

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

Читать далее

Люди не меняют свою жизнь, потому что в глубине души знают — они фиговые специалисты

Reading time4 min
Views45K

Сколько людей в стране не любят свою работу и вообще ненавидят свою жизнь? Три года назад мне в руки попало одно очень занятное исследование Google: Barriers, motives & triggers of entrepreneurship. Три тысячи респондентов, очищенная выборка, больше ста российских городов, интервью дольше 20 минут. Там были несколько чисел, которые меня, мягко говоря, ошеломили.

Читать далее

Техники обратной связи для тимлида: разбор с примерами

Reading time7 min
Views46K

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

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

Читать далее

Ты приходишь в проект, а там легаси…

Reading time8 min
Views17K

Привет, сегодня я хочу поговорить об ужасной кодовой базе, с которой вы скорее всего прямо сейчас имеете дело. Есть проект и вы нужны, чтобы добавлять новые фичи и фиксить баги. Но вы открываете IDЕ, делаете пул репозитория с проектом — хочется плакать. Кажется, что с этим кодом невозможно работать.

Давайте отбросим эмоции. И посмотрим, что можно быстро предпринять, чтобы облегчить страдания.

Читать далее

21 апреля мы проведем митап «ИТ-сообщества в разных компаниях»

Reading time1 min
Views959

Последние несколько лет ИТ-компании охватил бум профессиональных сообществ: гильдии, комьюнити, профсоюзы. Цель их одна — развитие экспертизы, внутреннее обучение и личностный рост.

21 апреля гильдия аналитиков Ростелекома, вместе с экспертами из Альфа-Банка, Fleetcor и Райффайзенбанка, проведет митап «ИТ-сообщества в разных компаниях». На конференции мы обсудим: зачем нужны такие сообщества? Как их создать? Где прячутся подводные камни? Поговорим обо всем, честно и откровенно!
Ссылка на регистрацию под катом.

Читать далее

Как я на коленке делал бесплатный курс программирования, о котором мечтал 3 года (и что пошло не так)

Reading time10 min
Views16K

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

Читать далее

Теория программирования: пакетные принципы и метрики

Reading time9 min
Views17K


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

Как дойти до CQRS, если у тебя PHP

Reading time8 min
Views8.6K

Недавно я посмотрел доклад «Как перестать бояться CQRS». Вроде бы простая идея, но есть нюансы. Так и появился этот выпуск.

CQRS vs CQS (не перепутай)

Читать далее

Как мы быстро распилили монолит, когда командам стало тесно

Reading time6 min
Views5.9K

Преподаватели Skyeng не сразу попадают «на передовую» — для начала они проходят отбор и обучение. Направление найма и онбординга преподавателей появилось в 2015 году — тогда же был сделан первый коммит в наш (уже бывший) легаси-монолит. Прежняя команда активно его поддерживала и старалась развивать, но в один момент ей стало объективно сложно справляться со всеми проектами. Так появилась моя команда.

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

Читать далее

PHP Дайджест № 199 (8 – 22 февраля 2021)

Reading time6 min
Views13K

В PHP 8.1 будет enum, и еще два принятых, два отклоненных и три новых RFC предложения для PHP 8.1. WordPress используется на 40% сайтов. Почему нужно убрать strict_types, почему не стоит использовать empty(), а также инструменты, видео, статьи, подкасты, и PHP Дайджест Live в 20:00 МСК.

Приятного чтения!


Грабли WebRTC: как мы допиливали чужой велосипед

Reading time5 min
Views14K

В пике на нашей образовательной платформе проходит до 4 тысяч уроков в час. Основной инструмент общения преподавателя и студента — видеосвязь, потому что для обучения важно видеть и слышать друг друга. В самом начале мы использовали Skype, но его нельзя было интегрировать в платформу и логировать уроки. Потом мы перешли на SaaS-решения, но это оказалось очень дорого. Мы начали искать альтернативы и 2016 году отказались от покупных решений в пользу WebRTC и Janus. Теперь дорабатываем видеоконференции под образовательную платформу силами собственной команды. Да, пришлось копнуть глубже и потоптаться по граблям чужой технологии.
Рассказываем, как мы выкручивались и улучшали видеосвязь, чтобы она не попадала в топ жалоб от клиентов.

Читать далее

Tagged Unions в PHP (примерно как в Rust)

Reading time3 min
Views3.9K

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


В предыдущей статье я писал про добавление enums в PHP8.1. Голосование прошло успешно, так что можно считать, что вопрос решенный.


Однако та реализация enums — лишь часть глобального плана. Сегодня мы рассмотрим следующий пункт, tagged unions, по-русски это переводится как "тип-сумма".


Голосования по нему пока не проходило, но предлагается также включить его в PHP 8.1.


Все эти термины "алгебраические типы данных", "тип-сумма" звучат страшно, но на деле всё довольно просто.


Зачем всё это вообще нужно?


Result как в Расте


Если вы писали на языке Rust, то наверняка встречали встроенный enum Result. В Rust, Go и т.д. нет механизма exception, так как в этих языках считается, что явная обработка ошибок гораздо надёжнее. Язык вынуждает тебя явно проработать все варианты событий, а не кидать исключение в надежде, что кто-то наверху знает о нём и умеет правильно обрабатывать. (Не будем здесь холиварить, на тему exceptions vs return type, у каждого своё мнение). Если говорить конкретно про Раст, то результатом вызова функции, которая может породить ошибку, часто делают значение типа Result.


Result состоит из двух вариантов (case-ов в терминологии enum в PHP): Ok и Err. Варианты мы могли бы сделать и с помощью предыдущего функционала enum, или даже констант, но нам нужно возвращать еще и сами значения. Причем, в случае успеха значением может быть строка, а в случае ошибки какой-нибудь другой тип. Например, integer (статус HTTP-ответа).


Как это будет выглядеть в PHP, если голосование будет успешным:


enum Result {
    case Ok(public string $json);
    case Err(public int $httpStatus);
}

function requestApi($url): Result {
    //
}
Читать дальше →

Пока в мире гремел сериал «Ход королевы», мы пилили сервис, чтобы дети учились шахматам на удобной платформе

Reading time9 min
Views22K

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

В институте шахматы забылись: карьера-учеба, вот это все. А потом я увлекся снова. Стал ходить в шахматный клуб на Полянке. Играл с дедами — и постоянно им проигрывал, так как плохо знал теорию. Стал проходить курсы, изучать дебютную подготовку. Начал кого-то обыгрывать. И это дико мотивировало.

И вот что из этого вышло

«Пространство» — научно-фантастический сериал, определяющий десятилетие

Reading time6 min
Views85K

На днях завершился пятый (предпоследний) сезон «Пространство» — лучшего, на мой взгляд, современного фантастического сериала на телевидении. Который в свою очередь основан на великолепном одноименном книжном цикле Джеймса Кори. К финалу сезона Escapist Magazine выпустил любопытную статью об актуальности «Пространства» для современного мира. Ниже — перевод этого материала, который показался мне весьма любопытным. Предупреждаю, в тексте содержатся небольшие спойлеры из книг и сериала.

Читать далее

Хьюстон, у нас проблемы с интерпретацией ошибок

Reading time8 min
Views6.2K


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


В ожидании комбинаторного взрыва

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

Что делать, если ты в душе лётчик, а по образованию — инженер-механик аппаратов пищевой промышленности

Reading time6 min
Views5.5K

Привет, меня зовут Иван, я работаю бэкенд-разработчиком в Skyeng. Не буду говорить, что мечтал стать программистом с самого детства. Наверное, как многие советские мальчишки в начале 80-х, я хотел быть лётчиком.

Но что-то пошло не так

Трассировка и логирование в микросервисах: как мы втаскивали единый стандарт на 30 независимых команд

Reading time6 min
Views16K
Сервисы падали, падают и будут падать

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



Например, наша команда сопровождения маркетинга в Skyeng знала: пользователь с таким-то айдишником нажал в личном кабинете кнопку «Сменить преподавателя» — постучался в наш сервис, дальше ушло три сообщения, в очереди было 2 вызова сервисов и эти сервисы ответили 200. Но на самом деле, что было у команд сопровождения учителей или биллинга, к которым мы стучались, не знал никто…

Тогда мы придумали инструмент, чтобы маркировать трафик

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

Information

Rating
6,954-th
Location
Москва, Москва и Московская обл., Россия
Registered
Activity