• 7 уроков, которые я усвоил за десять лет в разработке

    • Translation
    Представляем вам перевод статьи JS dev Ray, опубликованной на сайте medium.com. Автор рассказывает о важных вещах, которые он понял за свою карьеру разработчика приложений. По его мнению, эта информация может очень пригодиться начинающим специалистам.

    Читать дальше →
    • +6
    • 16.5k
    • 6
  • 10/50/99: как давать обратную связь

    • Translation
    Обратная связь в компании, как Бэтмен в Готэме. Все ждут, что она прилетит и всех спасёт, направит на путь истинный. Но иногда, судя по ощущениям, вместо Бэтмена прилетает Джокер и рушит ваш проект.



    Для нас, как и для большинства современных компаний, вопрос обратной связи стоит довольно остро: когда, кому и как её правильно давать. Мы пробуем разные подходы. Недавно нашли интересный материал, которым делимся с вами. Под катом про принцип обратной связи «10/50/99», как помогать и не рушить.



    Читать дальше →
  • Как правильно делать код-ревью?

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


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


    Всвязи с этим, "Руководство компании Google по проведению ревью" выглядит очень ценным документом, перевод первой части которого и представлен далее. Переводы остальных частей выйдут позже отдельными постами. Стоит отметить, что это адаптированный перевод, не все переведено слово-в-слово, во имя более русских формулировок и предложений.


    Терминология:


    CL: "changelist" — список изменений кода, отправленный в систему контроля версий на ревью. Аналог Pull Request в GitHub или Merge Request в GitLab.

    Читать дальше →
    • +15
    • 13.8k
    • 6
  • Почему pomodoro у разработчиков “не взлетает” и как с этим бороться?

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

      image
      Читать дальше →
    • У меня нулевая текучка

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

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

        В сумме я работал руководителем лет 7-10 (точно не знаю, какие периоды сюда включать), но нулевая текучка сохранилась. Никто никогда от меня не уходил, никого никогда я не выгонял. Только набирал.

        Нулевая текучка, как показатель, никогда не была моей самоцелью. Но я стараюсь делать так, чтобы вложенные в людей усилия не пропадали даром. Сейчас расскажу примерно, как я руковожу так, что люди не уходят – вдруг что полезное для себя найдете. На полноту раскрытия темы не претендую, т.к. основываюсь только на личном опыте. Вполне возможно, что я всё делаю неправильно.
        Читать дальше →
      • Кое-как одетые принцы и дворяне

        Читая статью «Разработчики — никакая не элита, а голые короли индустрии», разделившую Хабр на две половины: резко-негативно ЗА и резко-позитивно ПРОТИВ, а особенно обсуждение под ней, хочется кое что добавить.


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


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


        До хабраката — прекраснейший ролик найденный на просторах сети:


        Читать дальше →
      • Переезд: подготовка, выбор, освоение территории

          Кажется, что IT-инженерам легко живется. Они хорошо зарабатывают и свободно перемещаются между работодателями и странами. Но это все не просто так. «Типичный айтишник» красноглазит за компьютером со школы, а потом еще в университете, магистратуре, аспирантуре… Дальше работа, работа, работа, годы продакшн, и только тогда переезд. А потом опять работа.

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



          Переезд в другой город, страну, континент или планету не так уж прост. Иной менталитет, культура, правила, законы, цены, медицина, а еще надо найти куда переезжать, оффер, жилье, сделать визу… тысячи нюансов. Как не получить нервный тик, а только максимальную выгоду и удовольствие от процесса, расскажет Денис Неклюдов (nekdenis).

          По каким причинам люди уезжают, что их ждет там и как выбирать, куда переехать? Как сориентироваться на рынке труда, найти работу, подготовиться к интервью и выбрать самый выгодный оффер. На примере переездов Дениса на Пхукет, в Сингапур, Сан-Франциско и опыта множества других экспатов подготовимся к новым приключениям. Рассказ Дениса — это дорожная карта или чек-лист, который будет полезен всем, кто задумывается о переезде.

          Дисклеймер. «Земля круглая» и вращается. Когда-нибудь мы вернемся туда, откуда начали. Переезд Дениса не провоцирует вас навсегда покинуть родину. Не воспринимайте тему переезда агрессивно, а лишь как способ расширить кругозор. Статья основана исключительно на опыте обычных разработчиков без налета роскошной жизни крипто-миллионеров и тяжелых судеб мигрантов без профессии.
          Читать дальше →
        • Инструменты для разработчиков приложений, запускаемых в Kubernetes



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

            В этом обзоре представлена краткая информация о некоторых инструментах, которые упрощают жизнь программисту, чей код крутится в pod’ax Kubernetes-кластера.
            Читать дальше →
          • Улучшаем профиль в LinkedIn перед поиском работы

              На момент написания статьи, в социальной сети LinkedIn размещено порядка 30 миллионов вакансий от 20 миллионов компаний по всему миру. Не удивительно, что 90% рекрутеров используют LinkedIn как один из основных ресурсов поиска кандидатов.

              Правильно оформленный LinkedIn профиль поможет привлечь внимание рекрутеров к вашей кандидатуре. Совместно с командой экспертов по поиску работы за рубежом Relocate.me, мы подготовили короткий гайд по оптимизации профиля LinkedIn перед поиском работы.


              Читать дальше →
            • Ад своими руками

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

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

                Но компанию, ее культуру это внедрение превратило в ад — бюрократический, системный и бессмысленный.

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

                Обо всем по порядку.
                Читать дальше →
              • Я порчу разрабам жизни своими код ревью и больше так не хочу



                  Однажды в моей команде был настолько слабый парень, что его собирались уволить (уволить разработчика!). Каждый мой коммент на ревью к его коду был гвоздем в крышку гроба. Я почти слышал стук молотка, нажимая «submit review». Он был приятным человеком, я даже переживал за него, но это не мешало мне разносить его старания в щепки. Мое право критиковать его работу казалось очевидным и неотъемлемым. Все просто — я сильнее, я прав. Никто же не хочет сказать, что плохой код — это хорошо, а? Его уволили, предварительно лишая стандартной премии в течение нескольких месяцев.

                  Я говорил себе: «Но ведь не делать же мне всю работу за него!? Он занимал место более талантливого разработчика. Я все правильно сделал». Но почему-то на душе скребли кошки. И когда мне пришел на ревью очередной pull request, что-то очень сильно поменялось.
                  Читать дальше →
                • Как найти компанию спонсора визы в США. Tips and Tricks

                  image


                  Статья для тех, кто хочет переехать работать в США. На Хабре есть несколько хороших статей про поиск работы в Америке. Тут я постараюсь добавить к ним собственный опыт и поделиться несколькими приемами, которые помогли мне получить долгожданный джоб оффер.


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

                  Читать дальше →
                • Ответственность Team Leads

                    Привет, друзья.

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

                    Итак, наша задача создать такую организационную структуру, при которой у вас, как у руководителя, будет максимальная вероятность успеха. Очевидно, что успех проекта зависит далеко не только от организационной структуры. В то же время правильная org. structure — одна из составляющих этого успеха.
                    Читать дальше →
                    • +8
                    • 20.2k
                    • 4
                  • Правда ли, что ПМ делает что-то полезное и что нужно, чтобы им стать

                      image

                      Интересное наблюдение: мы проводим семинары для проектных менеджеров внутри компании и периодически приглашаем туда ключевых технических специалистов — архитекторов, проектировщиков, тим-лидов. Сначала они довольно неохотно приходят, сидят где-то час и внезапно начинают записывать и задавать вопросы. В конце дня может прозвучать что-нибудь вроде: «А я думал, вы бездельники и упыри, а оказывается, у вас тяжёлая и ответственная работа». Такое обучение сильно помогает участникам команды лучше понимать друг друга.

                      Более 10 лет в разных должностях я занимаюсь проектным управлением. Поработал в четырёх крупных интеграторах и сейчас возглавляю департамент из 100 человек. За время работы какими только проектами не приходилось управлять: внедряли SAP, автоматизировали деятельность предприятий, разрабатывали ИСы для госзаказчиков, проектировали и строили уникальные ЦОДы, делали военные ОКРы, проводили сложные миграции ИС… — даже строили под ключ электростанции в Белоруссии и угольные котельные в п. Черском (2000 км от Якутска). Основной сложностью тогда оказалась доставка оборудования и материалов — река была проходима только 5 месяцев в году. Вылез за дедлайн или просто поймал холодный год — потерял 7 месяцев. Либо дорогущий вертолёт. Все проекты разные, и каждый по-своему уникален.

                      Твоя команда написала кривой код, уронили сервер на разгрузке, оборудование не пришло вовремя, заказчик задерживает приёмку, техтребования сильно меняются, а сроки и бюджет — нет… Всё это головная боль ПМа, и это только часть его работы.
                      Но главное — персональная ответственность за конечный результат!
                      Читать дальше →
                    • Я разработчик с 9 до 17 (и ты можешь стать таким)

                      • Translation
                      Этот конкретный твит от Сафьи Абдалла сподвиг меня на некоторые размышления:
                      Пожалуй, непопулярное мнение (и тут немного иронии от меня).

                      Чтобы быть способным и отличным инженером, вам не нужно писать статьи в блоге, участвовать в проектах open source, выступать с техническими лекциями или делать что-нибудь ещё.

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

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

                      Так как цена был подъемная (10 000 р. за основы языка — java core) и в QA знание языка программирования является жирным плюсом — то я, недолго раздумывая, согласился.
                      Постараюсь кратко описать плюсы, минусы, а также свои впечатления от данного мероприятия.

                      Начну с плюсов


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

                      Для участников курсов весь вспомогательный материал расшарен и находится в открытом доступе.Все видеозаписи занятий выкладывались на google диск, а книги и доп. материалы можно было найти на гит лаб. Там же задавалась домашка. Для программирования использовали IntelliJ IDEA, домашку для проверки отправляли в репозиторий на Bitbacket через GIT (да-да, с ним тоже обучали работать). Несомненный плюс онлайна заключается в том, что все необходимое для занятий расположено на трех соседних вкладках браузера.

                      2) Относительно небольшая группа учащихся. На момент когда я начинал занятия, в группе было 4 человека. А учитывая, что преподавателей было 3, то они могли уделить достаточно внимания и, в какой то степени, индивидуальный подход каждому ученику.

                      3) Хороший преподавательский состав. В менторах были ребята с неплохим опытом работы в программировании. Они хорошо объясняли материал. Старались подробно разбирать задачи, и почти всегда были на связи. При возникновении вопроса можно было договориться, созвониться по скайпу и в тот же день решить проблему, даже если занятия в этот день не было.
                      Читать дальше →
                    • Лабораторная работа: введение в Docker с нуля. Ваш первый микросервис

                      • Tutorial
                      Привет, хабрапользователь! Сегодня я попробую представить тебе очередную статью о докере. Зачем я это делаю, если таких статей уже множество? Ответов здесь несколько. Во-первых не все они описывают то, что мне самому бы очень пригодилось в самом начале моего пути изучения докера. Во-вторых хотелось бы дать людям к теории немного практики прямо по этой теории. Одна из немаловажных причин — уложить весь накопленный за этот недолгий период изучения докера опыт (я работаю с ним чуть более полугода) в какой-то сформированный формат, до конца разложив для себя все по-полочкам. Ну и в конце-концов излить душу, описывая некоторые грабли на которые я уже наступил (дать советы о них) и вилы, решение которых в докере просто не предусмотрено из коробки и о проблемах которых стоило бы задуматься на этапе когда вас распирает от острого желания перевести весь мир вокруг себя в контейнеры до осознавания что не для всех вещей эта технология годна.

                      Что мы будем рассматривать в данной статье?

                      В Части 0 (теоретической) я расскажу вам о контейнерах, что это и с чем едят
                      В Частях 1-5 будет теория и практическое задание, где мы напишем микросервис на python, работающий с очередью rabbitmq.
                      В Части 6 — послесловие
                      Читать дальше →
                    • Кто такой Data Scientist — глазами работодателя

                        Ксения Суворова, директор по развитию Фонтанки.ру, и Андрей Мирошниченко, координатор офлайн-программы «Data Scientist», специально для блога Нетологии рассказали о профессии Data Scientist со стороны работодателя: какие специалисты требуются рынку, каких компетенций от них ждут и как происходит найм на работу.

                        Сейчас всё сложилось таким образом, как когда-то история с продакт- и проджект-менеджментом: специалисты есть на рынке, у них уже достаточно устоявшаяся рыночная стоимость, существуют вакансии, но при этом не каждый знает, кто это такой и зачем этот человек вообще нужен бизнесу. Поэтому мы решили поговорить с компанией «Авито», HR-агентством «Spice IT» и компанией Storia.me, чтобы понять, каково развитие профессии на самом деле.

                        image

                        Взгляд компании Avito с позиции прямого нанимателя — рассказывает Александра Головина


                        «Потребность в специалистах data science очень велика и в дальнейшем будет только расти. Однако, возможностей для обучения тоже много: любой человек, который понимает, что ему не хватает академического образования, может пройти курсы и получить необходимую базу.

                        Вопрос, скорее, в том, кто и почему приходит в профессию. На собеседовании соискатели говорят, что интересуются машинным обучением, а когда начинаешь спрашивать почему, отвечают: «Это модно». И всё. Понимания, как применить знания, нет.
                        Читать дальше →
                        • +7
                        • 23.3k
                        • 3
                      • Какие правила английского нарушают наши иностранные коллеги. Часть 3

                        • Tutorial


                        В продолжение прошлой статьи мы подготовили еще одну подборку вкусных англоязычных ошибок, которые считаются грамматически неверными, но при этом повсеместно используются носителями языка в повседневной жизни. Let's rock them, folks!

                        REGARDLESS vs. IRREGARDLESS


                        Под «regardless» имеется в виду: «мне все равно», «в принципе, это не имеет значения».

                        Пример:

                        Regardless of what u r sayin' now, I'm not changin’ my mind, man.
                        Независимо от того, что ты сейчас говоришь, чел, я не передумаю.

                        Тем не менее, некоторые носители английского скажут: «Irregardless of what u r sayin' now», потому что «irregardless» звучит эмоционально и экспрессивно. Все хотят казаться smart & intelligent, увы, не всегда получается.

                        Кстати, этот американский диалектизм появился в 20-ом веке, вероятно, от «irrespective» (безотносительный) и «regardless». Однако, слово до сих не снискало уважения у большинства нейтивов, поэтому встречается только в разговорной речи.
                        Читать дальше →