Search
Write a publication
Pull to refresh
5
0
Send message

Один в поле не воин. Путь до эффективной командной работы

Reading time15 min
Views23K
Команда — это группа людей, которые вместе двигаются к общей цели, распределяют между собой задачи и ответственность за конкретный результат. Команды создаются, чтобы решать задачи, которые один человек выполнить не сможет. Эффективная команда достигает цели за минимальный срок с минимальными затратами.

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



Как раз об этом расшифровка доклада Евгения Федореева на TeamLead Conf. В докладе Евгений поэтапно описал процесс организации эффективной команды разработки в Banki.ru: про найм, общение, обмен знаниями и развитие разработчиков и тестировщиков внутри коллектива и отдела.


О спикере: Евгений Федореев (hardj) занимается веб-разработкой 15 лет, их них 6 — в позиции тимлида, а сейчас руководит направлением разработки новых проектов Banki.ru.

Как я успешно прошел шесть собеседований в Силиконовой долине

Reading time10 min
Views36K
За шесть дней, в период с 13 по 20 августа 2018 года, я прошел собеседования в шести компаниях Силиконовой долины (LinkedIn, Yelp, Apple, Amazon, Facebook и Google) и получил от каждой предложение о работе.



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

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

Как научить людей использовать Git

Reading time3 min
Views141K
По работе приходится участвовать в разных проектах, поэтому я хорошо знаю, как работают все мои коллеги. Помню, что компания начала использовать Git буквально за пару недель до моего прихода. На мониторах разработчиков кругом висели наклейки с напоминанием: сначала add, потом коммит, затем пуш.


Они не знали, зачем. Программистам просто сказали строго следовать инструкции, иначе беда. Но проблемы возникали так часто, что я решила провести семинар по Git.
Читать дальше →

Секретные хаки VS Code

Reading time5 min
Views143K
Не имеет значения, новичок вы или профессионал, удобные инструменты программирования важны для любого человека, который хочет писать код продуктивно.

image

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

Улучшаем внешний вид


1. Material Theme & Icons

Это прямо зверь в темах VS Code. Я думаю, что материальная тема наиболее близка к написанию ручкой на бумаге в редакторе (особенно при использовании неконтрастной темы). Ваш редактор выглядит практически гладко, переходя от встроенных инструментов к текстовому редактору.

Представьте себе эпическую тему в сочетании с эпическими иконами. Material Theme Icons — отличная альтернатива для замены значков VSCode по умолчанию. Большой каталог иконок плавно вписывается в тему, делая ее красивее. Это поможет легко найти файлы в проводнике.

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

Конечные React Компоненты

Reading time7 min
Views20K

Чем мне нравится экосистема React, так это тем, что за многими решениями сидит ИДЕЯ. Различные авторы пишут различные статьи в поддержку существующего порядка и обьясняют почему все "правильно", так что всем понятно — партия держит правильный курс.


Через некоторые время ИДЕЯ немного меняется, и все начинается с начала.


А начало этой истории — разделение компонент на Контейнеры и неКонтейнеры (в народе — Тупые Компоненты, простите за мой франзуский).


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

Семь бесплатных автоматизированных платформ-задачников для прокачки навыков программирования

Reading time2 min
Views69K

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


CheckiO


Проект из Украины «Чекио» сфокусирован на Python и JavaScript. Это сборник игровых задач по программированию для тех, кто уже не новичок. Большой упор на геймификацию, симпатичную графику и общение в сообществе. В самом решении задач игрового процесса нет, но есть общий сценарий для прохождения платформы. Полезная фича — смотреть другие решения и подсказывать студентам как их можно улучшить.


CheckiO


leetcode


Сборник задач по программированию на разных языках. Цель сервиса — готовить программистов к заданиям, которые встречаются на интервью. Платформа сразу даёт фидбэк на правильность и эффективность решения, показывает варианты решений и позволяет обсудить их с другими участниками. В платной версии можно пройти автоматизированное интервью в Google, Facebook или Amazon: робот подберёт вопросы, засечёт время и даже поможет оценить.


leetcode

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

Swagger – умная документация вашего RESTful web-API — обзор Junior back-end developer-а для новичков

Reading time3 min
Views331K


Предисловие


Команда, в которой я сделала свои первые шаги на поприще написания промышленного кода, занималась разработкой удобного API к функциональности программного продукта на C# (для удобства назовем его, скажем, буквой E), существовавшего уже много лет и зарекомендовавшего себя на рынке с весьма положительной стороны. И здесь вроде бы у юного падавана пока не должно возникать вопросов, однако же представим себе, что ранее вы, скорей всего, конечно, писали собственные web-API, но вряд ли для широкой аудитории, а значит жили по принципу «Сам создал – сам пользуюсь», и если вдруг кого-то бы заинтересовала функциональность вашего API, то вы, наверное, кинули бы ему pdf-файл с подробной инструкцией (по крайней мере я бы сделала именно так). «Где посмотреть функционал апи» — спросила я тимлида ожидая получить ссылку на текстовый документ. «Загляни в Swagger» — ответил он.

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

Screenplay — не Page Object'ом единым

Reading time9 min
Views19K

Со временем вносить изменения в любой продукт становится сложнее, и растёт риск не только зарелизить новые фичи, но и сломать старые. Часто вместо того, чтобы руками проверять весь проект, этот процесс стараются автоматизировать. Если поговорить с людьми, которые занимаются тестированием интерфейсов, походить по конференциями, становится понятно, что в мире веб-тестирования правит Selenium, а в качестве организации кода подавляющее большинство используют Page Object.


Вот только мне, как программисту, этот паттерн и код, который я видел у разных команд, почему-то никогда не нравился — в голове звучали буквы SOLID. Но я уже был готов смириться с тем, что тестировщики пишут код, как им удобно, из-за отсутствия альтернатив, как где-то год назад, на Angular Connect, услышал я доклад, посвящённый тестированию Angular приложений c использованием Screenplay паттерна. Теперь хочу поделиться.


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

Создание ИИ методом «глокой куздры». Интеллектуальная одиссея

Reading time33 min
Views18K
Захотелось мне написать разговаривающую программу. Очень захотелось, позарез.

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

Знакомьтесь, Ваня Разумный.


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

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

Внимание, материал объемный.
Читать дальше →

TDD приложений на Spring Boot: работа с базой данных

Reading time14 min
Views35K

Вторая статья из цикла "Test-Driven Development приложений на Spring Boot" и в этот раз я буду говорить про тестирование доступа к базе данных, важного аспекта интеграционного тестирования. Я расскажу как через тесты определять интерфейс будущего сервиса для доступа к данным, как использовать встраиваемые in-memory базы для тестирования, работать с транзакциями и загружать тестовые данные в базу.

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

Опыт внедрения автоматизации в процесс ручного тестирования на примере Android-приложения

Reading time8 min
Views7.8K
Хорошего тестировщика со способностями к критическому мышлению нельзя полностью заменить автоматизацией. Сделать его работу эффективнее — легко. С таким убеждением я пошёл в наш отдел тестирования с новой задачей, где мы вместе с Павлом взялись за её реализацию. Давайте посмотрим, что из этого вышло.

Совместно с нашими партнёрами мы активно разрабатываем, тестируем и поддерживаем семейство приложений для разных платформ: Android, iOS, Windows. Приложения активно развиваются, вместе с чем увеличивается и объём тестирования, в первую очередь — регрессионного.

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

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

Поехали!
Читать дальше →

В поисках хай-тек подарка для ребёнка? Подумайте о детской площадке, а не о манеже

Reading time4 min
Views4.2K
Подыскиваете новый хай-тек подарок для ребёнка на праздники? Всё это разнообразие легко вскружит голову. Сверкающие коробки, красочные приложения и миленькие пластиковые роботы обещают повысить результаты обучения, если ваш ребёнок играет с этим, вот этим и ещё вот этим.

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


Робот KIBO, разработанный исследовательской группой Марины Берс, задействует реальные кубики вместо экранных и ловко смешивает их, помогая детям учиться программировать в игровой форме. Фото Марины Берс. CC BY-ND
Читать дальше →

Web Security: введение в HTTP

Reading time11 min
Views43K
HTTP — вещь прекрасная: протокол, который просуществовал более 20 лет без особых изменений.

image

Это вторая часть серии по веб-безопасности: первая часть была «Как работают браузеры».

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

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

При обсуждении HTTP, тем не менее, мы всегда должны различать семантику и техническую реализацию, поскольку это два совершенно разных аспекта работы HTTP.
Читать дальше →

Знакомство с тестированием в Python. Ч.1

Reading time14 min
Views109K
Всем доброго!

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

Это руководство для тех, кто уже написал классное приложение на Python, но еще не писал для
них тесты.

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

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


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

«Календарь тестировщика» за декабрь. Попробуй другой подход

Reading time9 min
Views12K

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



Зачем мне это надо?


У меня всё хорошо, я отлично работаю, меня хвалят, зачем мне что-то менять? Вполне логичный вопрос. В ответ цитата из книги «Алиса в Зазеркалье»:


Нужно бежать со всех ног, чтобы только оставаться на месте, а чтобы куда-то попасть, надо бежать как минимум вдвое быстрее!

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


Эволюционирует место тестировщика в процессе разработки, да и сами процессы. Например, Максим и Ирина из нашей компании рассказывали про эволюцию автотестов, о том, как можно ускорить разработку с помощью тестов и изменении взглядов на то, кто и на каком этапе их должен писать. Лена и Илария рассказывали о том, что можно менять свои инструменты, подключаться к общению с пользователем, к подготовке ТЗ и прототипов, чтобы повысить качество продукта.


Мне очень грустно, когда я очередной раз слышу мнение, что тестировщик может достичь своего предела за 1,5 года, а дальше либо в автоматизацию, либо смена роли на менеджера, аналитика, разработчика и т. п. Когда твой каждый день — это просто повторение алгоритма: почитал аналитику, посмотрел прототипы, потестировал, запостил баги, перепроверил баги — то легко понять, почему ты устаёшь и разочаровываешься в профессии. Это же просто скучно!

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

Первый видеокодек на машинном обучении кардинально превзошёл все существующие кодеки, в том числе H.265 и VP9

Reading time6 min
Views65K

Примеры реконструкции фрагмента видео, сжатого разными кодеками с примерно одинаковым значением BPP (бит на пиксель). Сравнительные результаты тестирования см. под катом

Исследователи из компании WaveOne утверждают, что близки к революции в области видеокомпрессии. При обработке видео высокого разрешения 1080p их новый кодек на машинном обучении сжимает видео примерно на 20%лучше, чем самые современные традиционные видеокодеки, такие как H.265 и VP9. А на видео «стандартной чёткости» (SD/VGA, 640×480) разница достигает 60%.
Читать дальше →

Как я делал комикс-игру по Лавкрафту

Reading time10 min
Views23K


Привет, Хабр! Это будет история о тернистом пути разработки 2D-квеста в сеттинге миров Говарда Филлипса Лавкрафта, который целиком оформлен в виде интерактивного комикса. Ну то есть все в игре, начиная от головоломок и заканчивая интерфейсом — это один бесшовный комикс. Если вас заинтересовала такая концепция, прошу под кат, где будет больше гифок, технические детали и опыт публикации на основных платформах.
Читать дальше →

Стартап дня (сентябрь-октябрь 2018-го)

Reading time5 min
Views5K


Продолжая серию дайджестов «Стартап дня», сегодня я представляю самые интересные проекты за сентябрь-октябрь 2018 года. Если хотите ознакомиться с остальными, то прошу в мой блог. Записи доступны в Facebook, ВК, ICQ и Телеграм.
Читать дальше →

Микросервисы. Паттерны разработки и рефакторинга с примерами на языке Java

Reading time7 min
Views21K
Привет, Хабр!

Мы приступаем к переводу книги Криса Ричардсона "Microservices Patterns. With examples in Java". До премьеры на русском языке еще с полгода, но мы хотели бы предложить вам своеобразный трейлер — немного сокращенный обзор этой книги от Бена Нейдела (Ben Nadel), прочитавшего MEAP-версию. В обзоре активно цитируется текст Kindle-версии Ричардсона.



Добро пожаловать под кат!
Читать дальше →

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

Reading time7 min
Views158K


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

Из-за этого большинство подобных материалов мало полезны, несмотря на то, что могут содержать толковые книги. Мне давно хотелось написать полезный обзор, который не станет навязывать определенные материалы, а позволит читателю выбрать наиболее подходящие.
Читать дальше →
12 ...
11

Information

Rating
Does not participate
Registered
Activity