• Пилим статью на Хабр

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



      А также про выбор и покупку российских вин.

      Читать дальше →
      • +12
      • 2.3k
      • 8
    • Считаем деньги. Выбор метрики в кредитном скоринге

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

        Успешный результат работы презентуют так:


        Читать дальше →
        • +17
        • 4.3k
        • 6
      • План подготовки к собеседованию на позицию Java разработчика

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

        И я намеренно не пишу, для кого предназначен этот план подготовки: для senior, middle или junior разработчика — все зависит от конкретной вакансии и от требований работодателя. Поэтому опирайтесь на этот план, но фильтруйте и в то же время не воспринимайте его как исчерпывающее руководство.

        1. Java core. Здесь можно ориентироваться например на книгу «OCP: Oracle Certified Professional Java SE 8 Programmer II Study Guide: Exam 1Z0-809» для подготовки к Java сертификации уровня Professional. Есть подобная книга «OCA: Oracle Certified Associate Java SE 8 Programmer I Study Guide: Exam 1Z0-808» для уровня Associate — на нее тоже можно взглянуть. Пройдитесь по оглавлению и выделите для себя, что можно повторить. Конечно же, не стоит пускаться во все тяжкие и читать книгу от корки до корки — многие темы из этой книги можно обойти стороной, например форматирование дат. Выделите самое основное. Например для меня это были следующие темы: коллекции (стандартные вопросы «Как устроена HashMap?» или «Чем отличается LinkedList от ArrayList?» все также часто задают на собеседованиях), дженерики, функциональные интерфейсы, многопоточность (тут тоже фильтруйте — не нужны вам cyclic barrier и fork join framework).
          Также не забывайте проецировать знания на свой опыт. Например, когда вам приходилось использовать многопоточное программирование? Какие проблемы вы решали? Какие блокировки использовали?
        2. Многопоточность.
        Читать дальше →
      • Cisco Live 2019 EMEA. Технические сессии: внешнее упрощение с внутренним усложнением



          Я Артем Клавдиев, технический лидер проекта гиперконвергентного облака HyperCloud компании Linxdatacenter. Сегодня я продолжу рассказ о глобальной конференции Cisco Live EMEA 2019. Сразу перейдем от общего к частному, к анонсам, представленным вендором на профильных сессиях.

          Это было мое первое участие на Cisco Live, миссия – посетить мероприятия технической программы, погрузиться в мир передовых технологий и решений компании и закрепиться в авангарде специалистов, приобщенных к экосистеме продуктов Cisco в России.
          Реализовать эту миссию на практике оказалось непросто: программа технических сессий оказалось супер-насыщенной. Все круглые столы, панели, мастер-классы и обсуждения, разбитые на множество секций и стартующие параллельно, посетить невозможно просто физически. Обсуждалось абсолютно все: дата-центры, сеть, ИБ, софтверные решения, аппаратная часть – любой аспект работы Cisco и партнеров вендора был представлен отдельной секцией с огромным количеством мероприятий. Пришлось последовать рекомендациям организаторов и составить себе своего рода личную программу по мероприятиям, заранее забронировав места в залах.

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

            image

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

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

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

            В статье я расскажу о том, как менялось мое отношение к оценке задач и как сейчас оцениваются проекты в нашей компании. А начну я с того, как оценивать не надо. Если про то как «не надо» вы уже знаете, переходите сразу ко второй части статьи.
            Читать дальше →
            • +12
            • 6.1k
            • 3
          • Корпоративный туалет

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

              Сильно выматывал диссонанс. Всегда, на всех предприятиях, на каждом сайте и собеседовании он слышал одно и то же. Мы молодцы, у нас команда, мы создаем шедевры, наши планы по развитию о-го-го, и ничто не сможет нас остановить! А потом, как приглядишься, или поработаешь с ними, то оказывается… Что там конкретно оказывается, не так уж и важно. Но оказывается обязательно.

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

              — Погодите! – громко сказал он. — Где у вас тут… Ну это… Ежикам позвонить можно?

              Главный инженер остановился, обернулся и уставился на Сергея непонимающим взглядом.

              — Что, простите?

              — Ну ежикам позвонить. Посылку отправить. — с тупой улыбкой продолжал Сергей, но, видя, что понимания нет, прекратил использовать метафоры. — Туалет у вас где?
              Читать дальше →
            • Собеседование по Data Science: чего от вас ждут

                Data Science – область очень перспективная. За прошлый год мы в ЕРАМ получили 210 резюме от людей, которые хотят заниматься Data Science. Из них на техническое интервью мы пригласили 43 человека, а предложили работу семи. Если спрос большой, почему так?

                Мы поговорили с техническими интервьюерами и выяснили: проблема многих кандидатов в том, что они плохо представляют, чем занимаются аналитики данных. Поэтому их знания и навыки не всегда релевантны для работы. Кто-то считает, что опыта работы с Big Data достаточно, чтобы работать в Data Science, кто-то уверен, что хватит просмотра нескольких курсов по машинному обучению, некоторые думают, что хорошо разбираться в алгоритмах необязательно.

                Дмитрий Никитко и Михаил Камалов – аналитики данных и технические интервьюеры из ЕРАМ – рассказали, чего ждут на собеседованиях от кандидатов, какие вопросы задают, что ценится в резюме и как подготовиться к собеседованию.


                Читать дальше →
                • +14
                • 57.7k
                • 7
              • Основы криптографии. Часть 0

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

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

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

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

                • Сейф можно вскрыть болгаркой или иным силовым методом
                • Производитель сейфов может оставить обходную лазейку и получить доступ к содержимому

                Читать дальше →
              • Посещение конференции — чеклист

                  Это статья появилась за распитием пива с друзьями в Академгородке — стало понятно, что лучше её перенести в текстовый вид, дабы не повторять сто раз.

                  Существуют легенды на тему того, что единственный смысл конференции — это найти себе работу покруче за деньги текущего работодателя. Несмотря на внешнюю неэтичность, в этом хотя бы есть смысл. В реальности бывает куда хуже: люди приходят на конфу, и потом не знают, чем заняться, кроме как хавать булочки в переходе (особенно если они бесплатные). Давайте я расскажу, что делать, чтобы не тратить свои и чужие ресурсы зазря.
                  Читать дальше →
                  • +47
                  • 13.8k
                  • 8
                • Загоним мамонта в яму: как провести презентацию, чтобы вас услышали и запомнили

                    Многие из нас бывали на айтишных конференциях. А если не бывали, то наверняка смотрели трансляции, записи или читали расшифровки докладов на Хабре. А вы знаете, какие доклады становятся хитами даже на самых-самых хардкорных мероприятиях? Внутренности сложных технологий? Нет. DevOps? Отнюдь. Чаще всего приз зрительских симпатий берут так называемые доклады-кейноуты — презентации людей, вовсе не обязательно связанных с IT. Дело не в красивой презентации и даже не в харизме докладчика, а в том, что эти ребята знают секрет SUCCES. Нет, мы не опечатались.

                    Источник: Duran
                    Читать дальше →
                  • Курс молодого бойца PostgreSQL

                    • Tutorial


                    Хочу поделиться полезными приемами работы с PostgreSQL (другие СУБД имеют схожий функционал, но могут иметь иной синтаксис).

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

                    Данный материал будет полезен тем, кто полностью освоил базовые навыки SQL и желает учиться дальше. Советую выполнять и экспериментировать с примерами в pgAdmin'e, я сделал все SQL-запросы выполнимыми без разворачивания каких-либо дампов.

                    Поехали!
                    Читать дальше →
                  • Литература на выходные: 15 материалов по структурированию кода для разработчиков

                      Одним из параметров оценки кода служит его чистота. Создатель языка моделирования UML Гради Буч (Grady Booch) писал:

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

                      Сегодня мы собрали для вас список книг и статей по этой теме, которые рекомендуют к прочтению резиденты Hacker News, Stack Exchange и других профильных платформ.

                      Читать дальше →
                    • Как написать отличную научную статью по CS

                      Здравствуйте!

                      Недавно я наткнулся на запись очень интересного выступления Саймона Пейтона-Джонса(ведущий разработчик языка Haskell) в Microsoft Research Cambridge. В нём он рассказывает студентам, как проводить научные исследования и писать статьи по Computer Science. Его мысли мне показались очень интересными, причем применимыми не только для области CS.



                      Исследователей, аспирантов, студентов, и в целом людей, которые пишут статьи в научные журналы или которым это скоро предстоит прошу под кат где вы сможете найти мою русскую адаптацию его выступления.
                      Поможем Даше написать статью
                      • +13
                      • 8.6k
                      • 3
                    • Это не статья — просто пища для размышлений о том, как её написать

                      • Translation


                      Под катом перевод статьи Carsten Sørensen «This is not an article — just some food for thoughts on how to write one». В ней рассказывается на что нужно обращать внимание при написании научных статей. Если вы пишите диссертацию в области информационных технологий, то наверняка найдете что-то интересное для себя. Впрочем, и авторы популярных статей тоже могут найти что-то полезное.

                      В статье рассматриваются основные вопросы, которые необходимо себе задать при написании научной публикации. Разбираются интересные примеры статей. Наверное каждый слышал или использовал словосочетание «серебряная пуля» применительно к той или иной технологии. Но задумывались ли вы кто впервые использовал эту метафору в ИТ и почему она такая популярная? Также разбирается статья, в которой проводится аналогия между программистами и часовщиками. И те, и другие в своё время стояли у истоков новой технологии. С развитием часовой индустрии самих часовщиков практически не осталось. Интересно, что ждет программистов через 500 лет?
                      Читать дальше →
                    • Как стать тимлидом и не взорваться



                        Два года назад я начал негласно исполнять роль iOS-lead в компании Touch Instinct и формированием стабильной работы iOS-отдела. Спустя полгода это трансформировалось в официальную должность. Из-за отсутствия опыта у меня возникало огромное количество проблем, которые вызывали жжение в области верхней части кресла. Это происходило из-за ряда факторов:


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

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

                        Читать дальше →
                      • Конференции для разработчиков как путь в Senior? И что, работает?



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

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



                            Дизайнеры всегда стремились показывать красивые картинки заказчикам. Они добавляли стильные эффекты в изображения, находили крутые фотки в фотобанках, отбрасывали от объектов немыслимые тени (порой против законов физики реального мира) и прибегали к прочим хитростям. Возможно их зачастую не волновало насколько это реализуемо в работающий продукт. Картинки в такой красивой обертке далее отправлялись клиенту или руководителю и дизайнер готовился снимать сливки...

                            Так было раньше и это работало. Я сам прибегал к таким хитростям неоднократно. Однако, мир вокруг стремительно меняется. Современный продукт настолько сложен, что одна картинка не даст понимания и ответов на вопрос “Как это работает?”. Схематичное или wireframe прототипирование тоже постепенно угасает в закате, так как черно-белые линии и прямоугольники не дают клиенту полного понимания. Всё больше желающих сегодня видеть живой прототип, а не серию картинок…
                            Читать дальше →
                          • Удалённая работа – отстой. Да здравствует удалённая работа!


                            Это перевод статьи Being a Remote Worker Sucks — Long Live the Remote Worker Скотта Хенселмана за 27 февраля.

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

                            Работать удалённо – прекрасно, отстой.
                            Читать дальше →
                          • Как я однажды преподавал программирование не как все

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

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

                            А хочу я поделиться тем, как, на мой взгляд, стоит строить обучение программированию.
                            Читать дальше →
                          • Удаленная работа: тим-лиду и программистам

                              Достоинства удаленной работы очевидны — меньше ограничений в поиске специалистов с нужной квалификацией, возможность нанимать людей за пределами МКАД, меньше расходов на ведение бизнеса. С другой стороны, есть и проблемы: наиболее значительные — со стороны организации работы. Последние 4 года я работаю тим лидом распределенной группы программистов (3-15 человек в разное время) для зарубежного заказчика, и хочу поделиться с хабрадевелоперами опытом такой работы :-)

                              Здесь и далее имеется ввиду следующая организация труда:
                              1. Заказчик (+on-site команда опционально) в офисе где-нибуть в Европе/США.
                              2. Тим лид распределенной команды — где-то на бескрайних просторах exUSSR.
                              3. Члены распределенной команды — также где-то на бескрайних просторах exUSSR.
                              Подразумевается, что при желании заказчик может общаться со всеми членами команды. Оплата работы — почасовая.

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