• «Святой» Тимлид и его последователи

      До Saint TeamLead Conf, конференции про боли тимлида, осталось две недели. В этой конференции мы уже не хотели просто обозначить как можно больше проблем, а хотели раскрыть каждую тему с разных точек зрения. Мы с программным комитетом, основываясь в том числе и на февральской TeamLead Conf, собрали воедино все основные направления деятельности тимлида (не будем забывать, что пока все вкладывают в эту роль разное). Полученное обобщили, структурировали и использовали как кирпичики для построения программы: коммуникации; измерения и оценка; работа со знаниями; построение команды и выстраивание процессов; мотивация команды; и работа над собой, которая и включает то самое: «Я стал тимлидом, и что теперь».

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

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



      TL;DR: Вот ссылка на расписание, можно потыкать только в отдельные доклады — в них всех много живого опыта, практики и вполне конкретных рекомендаций.
      Читать дальше →
    • Открытие совместной магистратуры JetBrains и ИТМО

        Компания JetBrains объявляет об открытии магистерской программы «Разработка программного обеспечения / Software Engineering» на базе Университета ИТМО. Приглашаем абитуриентов продолжить своё обучение и получить качественные знания в области программирования и компьютерных наук.

        Учебная программа


        Программа предлагает студентам актуальные знания в области разработки программного обеспечения. Базовые курсы (алгоритмы, программирование, машинное обучение и другие) дополнены специализированными предметами (глубокое обучение, информационный поиск, анализ изображений и другие), которые представляют современные подходы к решению задач IT-индустрии. Преподавательский состав программы включает в себя действующих учёных и разработчиков крупных компаний Петербурга.
        Подробнее о магистратуре
      • Внедрение зависимостей в Go

        • Перевод

        Недавно я создал небольшой проект на языке Go. После нескольких лет работы с Java я был сильно удивлён тем, как вяло внедрение зависимостей (Dependency Injection, DI) применяется в экосистеме Go. Для своего проекта я решил использовать библиотеку dig от компании Uber, и она меня по-настоящему впечатлила.

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

        В этой статье я расскажу об основах внедрения зависимостей, а также покажу пример приложения до и после применения этого механизма (посредством библиотеки dig).
        Читать дальше →
      • Особенности разработки API: какой API является хорошим?

          Наверное, абсолютно все читатели используют API, работая с фрэймворками, библиотеками, виджетами, как некий язык общения между сущностью и основным приложением. И вы наверняка замечали, что некоторыми API удобнее пользоваться, а в некоторых есть явные проблемы. Всеволод Шмыров (@vsesh) в своем докладе на Frontend Conf, расшифровку которого вы найдете под катом, постарался ответить на вопрос, какой API является хорошим.

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

          image

          Однако, в докладе не будет ответа на вопрос, нужен ли вам свой API. Надеемся, после прочтения вы взвесите все «за» и «против» и сами поймете, нужен ли он вам. Всеволод просто расскажет, с какими сложностями приходится сталкиваться разработчикам API, какие проблемы решать и что еще делать, а именно про эти четыре важных пункта:


          Читать дальше →
        • Почему наследование всегда было бессмысленным

          • Перевод
          Есть три типа наследования.

          1. Онтологическое наследование указывает на специализацию: вот эта штука — специфическая разновидность той штуки (футбольный мяч — это сфера и у неё такой-то радиус).
          2. Наследование абстрактного типа данных указывает на замещение: у этой штуки такие же свойства, как у той штуки, и такое-то поведение (это принцип подстановки Барбары Лисков).
          3. Наследование реализации связано с совместным использованием кода: эта штука принимает некоторые свойства той штуки и переопределяет или дополняет их таким-то образом. Наследование в моей статье «О наследовании» именно такого и только такого типа.

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

          Часто для наследования в ООП приводят контрпример отношений между квадратом и прямоугольником. Геометрически квадрат — это специализация прямоугольника: все квадраты — прямоугольники, но не все прямоугольники — квадраты. Все s в классе «Квадрат» являются прямоугольниками s, у которых длина равна ширине. Но в иерархии типов это отношение обратное: вы можете использовать прямоугольник везде, где используется квадрат (указав прямоугольник с одинаковой шириной и высотой), но нельзя использовать квадрат везде, где используется прямоугольник (например, вы не можете изменить длину и ширину).
          Читать дальше →
        • Как писать на Spring в 2017

          • Tutorial

          В одной из классических статей для новичков, мелькавших недавно на Хабре, рассказывалось про создание базового Web приложения на Java. Все начиналось с сервлета, потом создания JSP страницы и, наконец, деплоймента в контейнер. Посмотрев на это свежим взглядом я понял, что для как раз для новичков это, наверняка, выглядит совершенно жутко — на фоне простых и понятных PHP или Node.js, где все просто — написал контроллер, вернул объект, он стал JSON или HTML. Чтобы немного развеять это ощущение, я решил написать "Гайд для новичков в Spring". Цель это статьи — показать, что создание Web приложений на Java, более того — на Spring Framework это не боль и мучительное продирание через web.xml, persistence.xml, beans.xml, и собирание приложения как карточного домика по кусочкам, а вполне себе быстрый и комфортный процесс. Аудитория — начинающие разработчики, разработчики на других языках, ну и те, кто видел Спринг в его не самые лучше времена.

          Читать дальше →
        • Matthias Noback Об Идеальной Архитектуре — Слои, Порты и Адаптеры(Часть 2 — Слои)

          • Перевод

          В 2017 году Matthias Noback (автор A year with Symfony) опубликовал цикл из трех статей, в котором описал свои взгляды на идеальную архитектру корпоративных приложений, сформировавшуюся за долгие годы практики.Первая часть является вводной и не представляет особого интереса(можно ознакомитсья в оригинале). Переводом второй является данная статья. Перевод третьей будет доступен в скором времени.


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

          Читать дальше →
        • Слушайте! 50 лучших подкастов для разработчиков

          Развиваться, узнавать о технологиях и быть в курсе последних подходов – для ITшника особенно важно. Читать книгу не всегда удобно, смотреть видео-обзоры любят не все и времени много занимает.

          Держите 50 IT-подкастов о технологических новинках в сфере ИБ, облачных технологий, IoT, тестирования и управления проектами. Все подкасты на английском языке, для прослушивания нужно знать его на уровне upper intermediate и выше.


          Читать дальше →
          • +12
          • 13,3k
          • 6
        • 5 мифов о ведущих разработчиках, от которых мне становится грустно

            Ведущие разработчики, они же Senior developers. Это те самые люди, которые на своем веку перевыполняли уже все возможные задачи. Это люди, которые входят в переговорку, открывая дверь с ноги. Они — решение всех проблем компании и гарантия светлого будущего. Они не изучают технологии, а изобретают. Они знают бизнес-требования до того, как те были сформулированы. И самое главное: они четко и отчетливо представляют себя через пять, а иногда и через десять лет.

            Серьезно, мне кажется, что от сеньоров сейчас слишком много ожиданий. Судя по вакансиям, это такой аналог советских космонавтов. Если внезапно в вашем офисе перестанет работать stackoverflow, вся документация, да и вообще интернет, версия компилятора/интерпретатора доунгрейднится на 5 лет назад, а вам срочно нужно будет написать аналог Редиса, не используя сторонних фреймворков и библиотек — вы обязаны это сделать. Причем за пару часов и излучая стрессоустойчивость.

            В этой статье я бы хотел немного поговорить о том, кем не должен быть ведущий разработчик. Развенчать несколько мифов.
            Читать дальше →
          • Что нового в PHP 7.2?

              Несмотря на то, что мы активно работаем с Python и Go, всё же существенная часть нашего серверного кода написана на PHP. Поэтому мы внимательно следим за всеми нововведениями языка. Прошло меньше года после релиза предыдущей минорной версии, и вот уже последний бета-релиз запланирован на 17 августа. Его ещё не рекомендуется использовать в production, но уже можно скачать docker-образ. Пора разбираться, что изменилось в новой версии языка.


              Читать дальше →
            • PHP-Дайджест № 119 (10 – 29 октября 2017)


                Свежая подборка со ссылками на новости и материалы. В выпуске: PHP 7.2.0 RC5 и другие релизы, предложения из PHP Internals, порция полезных инструментов, и многое другое.
                Приятного чтения!


                Читать дальше →
              • Деловая переписка на английском языке: фразы и советы

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

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

                  Задача становится сложнее, если вы общаетесь на неродном английском языке с представителями других культур. В статье я поделюсь, на что в этом случае обратить внимание, как избежать ошибок и достичь взаимопонимания с иностранными коллегами и партнерами.
                  Читать дальше →
                • Sci-fi для стартапа: как связаны технологическое предпринимательство и научная фантастика

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

                    Или, как выразился венчурный капиталист Бен Нарасин (Ben Narasin) в своей колонке на TechCrunch, «Sci-fi делится на три типа: мусор, мусор с продолжением и по-настоящему научная научная фантастика». Отношение к той или иной книге – это, конечно, дело вкуса. Другое дело – фантастика как жанр. Сегодня попытаемся разобраться в том, почему Кларк, Азимов, Хайнлайн, Стругацкие (и многие другие писатели-фантасты) важны для предпринимателя-инноватора не меньше, чем концепция бережливого стартапа.

                    Читать дальше →
                  • Работа для программиста в США: 5 простых шагов

                      image Статья про то, что делать тем, кто хочет переехать работать в США. Я предполагаю инженерные позиции, на которые проще всего получить визы, но, возможно, статья окажется полезна и другим специалистам.

                      Мой опыт несколько отличается от нижеописанного (я попала на работу в США после стажировки). Но за 4 года в США пообщалась с людьми, которые попали сюда разными путями и набрала кое-какой опыт. Так что если бы я очень хотела найти работу в США сегодня, то я бы действовала примерно так, как описано ниже.

                      Заранее извиняюсь, если мой тон кому-то покажется наставническим — я не имею амбиций учить других жизни, просто иногда у меня получается такой стиль.
                      Читать дальше →
                    • Руководство: как использовать Python для алгоритмической торговли на бирже. Часть 1



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

                        Среди наиболее популярных в сфере финансов языков программирования можно отметить R и Python, также часто используются C++, C# и Java. В опубликованном на сайте DataCamp руководстве речь идет о том, как начать использовать Python для создания финансовых приложений — мы представляем вам серию статей-адаптаций глав этого материала.
                        Читать дальше →
                        • +18
                        • 35,2k
                        • 4
                      • Как получить оффер в Badoo в день собеседования. Часть вторая, для PHP-разработчика


                          Привет, Хабр! Меня зовут Павел Мурзаков, я – PHP-тимлид в Badoo, и сегодня я расскажу вам о новой возможности получить предложение по работе в Лондоне за один день. Как вы, возможно, знаете, недавно в Москве прошло рекрутинговое мероприятие Badoo по поиску мобильных разработчиков. Оно оказалось очень успешным – мы предложили работу в Лондоне восьми ребятам и надеемся скоро увидеть их в составе нашей мобильной команды.


                          И, чтобы не отставать от наших iOS- и Android-команд (ведь их теперь на восемь человек больше!), мы решили ответить достойно и провести аналогичное мероприятие, на котором рассчитываем найти server-side-коллег нашим новым мобильным разработчикам!

                          Читать дальше →
                        • ТОП-9 YouTube-каналов для изучения английского языка

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

                          // "Enjoy the Content" — from author with Love 
                          
                          Читать дальше →
                        • Руководство по работе с Redux

                          • Перевод
                          • Tutorial
                          Сегодня Redux — это одно из наиболее интересных явлений мира JavaScript. Он выделяется из сотни библиотек и фреймворков тем, что грамотно решает множество разных вопросов путем введения простой и предсказуемой модели состояний, уклоне на функциональное программирование и неизменяемые данные, предоставления компактного API. Что ещё нужно для счастья? Redux — библиотека очень маленькая, и выучить её API не сложно. Но у многих людей происходит своеобразный разрыв шаблона — небольшое количество компонентов и добровольные ограничения чистых функций и неизменяемых данных могут показаться неоправданным принуждением. Каким именно образом работать в таких условиях?

                          В этом руководстве мы рассмотрим создание с нуля full-stack приложения с использованием Redux и Immutable-js. Применив подход TDD, пройдём все этапы конструирования Node+Redux бэкенда и React+Redux фронтенда приложения. Помимо этого мы будем использовать такие инструменты, как ES6, Babel, Socket.io, Webpack и Mocha. Набор весьма любопытный, и вы мигом его освоите!
                          Читать дальше →
                        • Потоки выполнения и PHP

                          • Перевод


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


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


                          PHP очень далёк от других технологий. Например, в Java очень активно используются потоки выполнения, ещё они могут встречаться в пользовательских программах. В PHP такого нет. И тому есть причины.

                          Читать дальше →
                          • +42
                          • 24,7k
                          • 6
                        • +32Гб на Яндекс.Диске навсегда



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

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

                            Да и в любом случае, всегда наверное приятно получить что-то на халяву, даже если тебе это не очень нужно.

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

                            Акция длится до 3 июля.

                            Адрес промо-страницы: yandex.ru/set/lp/disk-32gb/0