• Я вам перезвоню

    • Tutorial
    Привет, я Катя, я нашла работу. И написала методичку по общению с работодателем. Расскажу, что спрашивать на собеседовании, чего не спрашивать и как это делать правильно.



    Весь месяц гоняла по собесам. Посмотрела и на стартапы и на Яндексы. Компаний много, выбирать сложно. Чтобы найти ту самую, нужно учесть много факторов. Для каждой компании я составляла индивидуальный список вопросов. Универсальные оформила в этот faq. В нем ключевые вопросы соискателя и их аналитика. Часть вопросов заточена под разработчиков, остальные подойдут всем. Го под кат!
    Читать дальше →
  • Сложно о простом: как измерить время открытия страницы и не нажить себе врагов

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

      Измерять клиентскую производительность – нетривиальная задача. Особенно если у вас в проекте сотни страниц на множестве стендов. Каждая наполнена js кодом, и сотни разработчиков каждый день оптимизируют, меняют, пересоздают их. Нужно спроектировать систему сбора, обработки и хранения данных. Какое хранилище выбрать? Как спроектировать базу, и в какой СУБД? Немало интересных задач, которые меркнут перед лаконичным «сколько времени открывалась страница?». Для нас поиск ответа на этот вопрос вылился в квест с детективными расследованиями, жаркими спорами и поиском истины. Его самые интересные моменты – в этой статье.


      Читать дальше →
      • +19
      • 10.7k
      • 3
    • Как я был разработчиком, а теперь тимлид

        enter image description here


        Сейчас вы прочитаете увлекательную историю моего превращения из разработчика в тимлида. Это было долгое путешествие со множеством шагов назад, которое всё же закончилось уверенным шагом вперёд. Устраивайтесь поудобнее, берите попкорн… Поехали!

        Читать дальше →
      • Наблюдения, которые указывают на решимость предприятия к изменениям

          Раздается звонок.

          — Здравствуйте, это Сергей? Меня зовут <Ηράκλειο> (не вникайте в название, слово существующее, но это плоды секундной фантазии), я — директор по производству на <Κρήτη>. У меня есть ряд проблем с производственным планированием. Могли бы мы с вами встретиться?

          На встрече присутствовал Ηράκλειο, генеральный директор и, случайно заглянувший, собственник бизнеса. Мне предоставили список технических требований к производственному планированию, наличие которого положительно сказывается как предметности разговора. В ходе беседы познакомились, поделились коммерческой и организационной информацией, очертили первые шаги.
          Читать дальше →
          • +15
          • 8.1k
          • 4
        • Мой опыт получения PMP

          Совсем недавно я стала счастливым обладателем сертификата PMP — Project Management Professional. И в этой статье я хочу поделиться своим опытом со всеми, кому предстоит этот экзамен, кто еще только думает сдавать или не сдавать, ну и с теми кому просто интересна эта тема.
          Читать дальше →
        • Бинарные (файловые) хранилища, страшная сказка с мрачным концом



            Даниил Подольский (Git in Sky)


            Доклад мой называется «Бинарные, они же файловые, хранилища», но, на самом деле, мы имеем дело со страшной сказкой. Проблема в том (и это тезис моего доклада), что сейчас не существует не то что хорошей, а хотя бы приемлемой системы хранения файлов.

            Что такое файл? Файл – это кусок данных с именем. Что важно? Почему файл – это не строка в базе данных?

            Файл слишком большой, чтоб можно было обращаться с ним как с одним куском. Почему? Есть у вас сервис, раз у нас HighLoad конференция, у вас сервис, который держит одновременно 100 тыс. соединений. Это не так уж много, если по каждому из соединений мы отдаем файл в 1 Мбайт размером, но нам нужно примерно 100 Гбайт памяти для буферов под эти файлы.
            Читать дальше →
          • Быстрый рендеринг с DOM шаблонизаторами

              Борис Каплуновский (@BSKaplou)


              Борис Каплуновский

              Я довольно долго работал над докладом и старался сделать его настолько противоречивым, насколько это возможно. И сразу начну с противоречия – я в корне не согласен с тем, что веб-компонентами можно пользоваться. Уже поднимался вопрос о 300 Кбайтах, я глубоко уверен, что 300 Кбайт для страницы Javascripta – недопустимо много.

              Сегодня я расскажу о довольно глубоком путешествии во фронтенд. Началось это путешествие тогда, когда я обнаружил, что фронтенд aviasales.ru тормозит, и надо что-то делать. Это путешествие началось года полтора-два назад, и вещи, о которых я буду рассказывать, – это сжатое повествование того, что я узнал.

              Самым критичным, на мой взгляд, в производительности фронтенд-приложений является рендеринг. Все мы знаем, что работа с DOM – это такая вещь, которую нужно стараться избегать. Чем больше вы делаете вызовов к DOM API, тем медленнее работает ваше приложение.
              Читать дальше →
            • 16 мифов о CRM-системах

                Окончательно решив завести блог на Хабре, мы составили для себя тематический план. Посовещавшись, включили в него полезные вопросы о различных бизнес-процессах, работе с ТЗ, KPI, законах работы с корпоративным заказчиком… И как-то сразу отмели идею объяснять, как же этот софт устроен. Но комментарии к постам заставили нас пока ровно на один раз отступить от задуманного.

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


                Читать дальше →
              • Как новые руководители разрушают доверенные им компании

                  Эта статья – о рисках смены руководства в больших компаниях и характерных явлениях при попытках игнорировать закон эффективного управления собственностью:
                  Эффективно управлять можно только той собственностью, которую мог бы создать сам.
                  Кто не может создать, – будет только разрушать!
                  И.А. Дедюхова, Кодекс Хамурапи
                  Картинка для привлечения внимания читателей из поколений Y и Z:


                  Краткое содержание


                  Новый директор себе в подчиненные и советники пригласит своих «проверенных людей». Увеличение штата топ-менеджеров в условиях фиксированного ФОТ повлечет за собой сокращение рядовых сотрудников на значительный процент.
                  Новый директор в первую очередь будет сокращать те подразделения, работу которых он не понимает. Под прессом психологического давления руководители этих подразделений возмут на себя обязательства самостоятельно разработать планы по сокращению и принять на себя все риски их реализации.
                  Сокращения пройдут под флагом повышения эффективности, но для «непонятных директору» подразделений не смогут сформулировать критерии этой эффективности, кроме «минимизации затрат». Цель по минимизации затрат без дополнительных обоснованных ограничений – это цель по уничтожению, и не имеет отношения к настоящей оптимизации.
                  Отсекая непонятные ему части компании (выводя в аутсорс и т.п.), директор попытается превратить компанию в ту, работу которой он полностью способен понять, которой он в полной мере способен управлять.
                  Проблему нехватки знаний в технической области новый директор и его команда компенсируют «помощью» от западных консалтинговых компаний. Это приведет к ситуации внешнего управления, причем без всякой ответственности за диктуемые извне решения.
                  Внешняя и внутренняя отчетность о работе компании до самого конца не будет показывать никаких признаков проблем, т.к. тому, кто принес плохие вести не выдают премию, а рубят голову.


                  Читать дальше →
                • Как дать адекватную оценку времени, когда неопределённость бьёт по башке

                    Большинство людей не умеют адекватно оценивать сроки выполнения задач. Ой как это заставляет порой понервничать… Тут и «дэдлайн подкрадывается незаметно». И перестраховка в 500% на всякий случай (все равно не хватает). И отжимание «заведомо раздутых сроков», чтобы исполнитель пообещал чего-то более приемлемого. И невнятные бормотания вместо конкретных цифр.

                    image

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

                      Этот материал будет полезен в первую очередь тем, кто много занимался программированием и вдруг внезапно стал вынужден заниматься управлением проектами и людьми. С год назад я рассказал про наказания на конференции, а солнышки из Битрикса сделали текстовую версию для #habr. К сожалению, потеряв в точности, четкости и правильности акцентов. За год материала добавилось. В конце — чеклист для ленивых :)

                      Итак. Если вы не садист или моральный урод, а ваши сотрудники — не мазохисты, то сомневаюсь, что кому-то из вас наказания доставляют удовольствие. Мне — нет.
                      image
                      Читать дальше →
                    • Социальная инженерия из первых рук

                      • Tutorial
                      Кевину Митнику, родоначальнику социальной инженерии, принадлежат золотые слова:
                      Социальный инженер задумал заполучить проект (исходники) Вашего нового продукта за 2 месяца до релиза.
                      Что остановит его?
                      Ваш файервол? Нет.
                      Мощная система идентификации? Нет.
                      Система обнаружения вторжений? Нет.
                      Шифрование данных? Нет.
                      Ограничение доступа к номерам дозвона модемов? Нет.
                      Кодовые имена серверов, которые затрудняют определение местонахождения проекта искомого продукта? Нет.
                      Смысл здесь в том, что никакая технология в мире не сможет противостоять атаке социального инженера.



                      Однако частично обезопасить себя всё же можно – изучив, чем движим социальный инженер, как он мыслит и действует, какими приёмами пользуется. Зная это, можно уберечь себя от атак социальных инженеров. Подробно об этом можно почитать в книге про Кевина Митника «Искусство обмана». Однако поскольку книги читать мало кто любит, можно посмотреть фильм «Взлом», где хорошо проиллюстрированы приёмы, которыми пользовался Кевин. Ниже представлены ключевые видеофрагменты из этого фильма. Их вполне можно использовать при проведении корпоративных тренингов по информационной безопасности.
                      Читать дальше →
                      • +6
                      • 22.1k
                      • 6
                    • Грабли, на которые вы не хотели бы наступить в своем проекте

                      Добрый день, меня зовут Сергей и я руководитель продуктового направления в компании «ДоксВижн». За время работы в сфере автоматизации электронного документооборота мне довелось участвовать в десятках проектов внедрения, причем в разных ролях (от инженера до руководителя проектного офиса), с разных сторон (заказчик, представитель компании-внедренца, вендор) и с разными системами (Docsvision и Directum). Своим проектным опытом я хочу поделиться с вами.

                      Зная процесс и набив кучу шишек, я даю в статье несколько рекомендаций, которые позволят подойти к проекту внедрения СЭД (как и любой ИТ-системы) подготовленными и более гладко его реализовать. Мой коллега уже давал советы ИТ-специалистам заказчика, ответственным за внедрение. Я взгляну на вопрос под другим углом и поделюсь рядом нюансов, которые стоит учесть именно компании-интегратору. Особенно, если вам предстоит первый проект внедрения. Надеюсь, статья будет полезна, хотя на многие «грабли» все равно нужно иногда наступать самостоятельно, и идеальных рецептов в проектной практике не существует.

                      Читать дальше →
                      • +5
                      • 18.4k
                      • 1
                    • Битва за ADFS (Active Directory Federation Services)

                        Предыстория


                        Проект начинался как портал на основе SP 2007, а позже на основе 2010 SP. Изначально все пользователи были в Active Directory. Был только один тип пользователей. Связи между ними были достаточно простыми. Появлялись новые типы пользователей, которые сложным образом становились связаны друг с другом. Также постепенно проект обрастал различными связанными подсистемами, часть из которых работала внутри портала, часть вне его. И это все усложняло схему авторизации.


                        Читать дальше →
                      • «Крутелочка к пимпочке»: как снизить количество невалидных багов вдвое, и почему техподдержка – друг разработчика

                          imageС каким бы приложением ни была связана ваша работа и в каком бы качестве вы ни присутствовали в процессе, рано или поздно наступит тот момент, когда к вам впервые явится пользователь и, доверчиво моргая, спросит: а почему у меня пимпочка не пимпает? Чтобы пимпочка пимпала, – скажете вы, погибая от умиления (поставил! пользуется!), – нужно сперва покрутить крутёлочку. К десятому пользователю умиления поубавится. К пятидесятому вы, вероятно, заведете пару-тройку шаблонов для ответа на наиболее популярные вопросы. К сотому наймете с полдесятка студентов на должность инженеров технической поддержки и вздохнете с облегчением – ровно до того момента, пока один из них не образуется у вашего рабочего стола с вопросом: а у меня тут пользователь пришел, и у него пимпочка не пимпает – почему? Крутёлочка? Какая крутёлочка?

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

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


                            Господа! Я рад сообщить, что наконец-то все желающие могут загрузить бесплатный учебник на более чем 1600 страниц, над переводом которого работало более полусотни человек из ведущих университетов, институтов и компаний России, Украины, США и Великобритании. Это был реально народный проект и пример международной кооперации.

                            Учебник Дэвида Харриса и Сары Харрис «Цифровая схемотехника и архитектура компьютера», второе издание, 2012, сводит вместе миры программного обеспечения и аппаратуры, являясь одновременно введением и в разработку микросхем, и в низкоуровневое программирование для студентов младших курсов. Этот учебник превосходит более ранний вводный учебник «Архитектура компьютера и проектирование компьютерных систем» от Дэвида Паттерсона и Джона Хеннесси, причем соавтор предыдущего учебника Дэвид Паттерсон сам рекомендовал учебник от Харрисов как более продвинутый. Следуя новому учебнику, студенты строят реализацию подмножества архитектуры MIPS, используя платы с ПЛИС / FPGA, после чего сравнивают эту реализацию с индустриальными микроконтроллерами Microchip PIC32. Таким образом вводится вместе схемотехника, языки описания аппаратуры Verilog и VHDL, архитектура компьютера, микроархитектура (организация процессорного конвейера) и программирование на ассемблере — в общем все, что находится между физикой и высокоуровневым программированием.

                            Как загрузить? К сожалению, не одним кликом. Сначало надо зарегистрироваться в пользовательском коммьюнити Imagination Technologies, потом зарегистрироваться в образовательных программах на том же сайте, после чего наконец скачать:
                            Читать дальше →
                          • Подсчет себестоимости часа разработки программного обеспечения

                            Сегодня я расскажу о больной теме как для покупателей программного обеспечения, так и для провайдера этой услуги – себестоимости разработки. Понятно, что сейчас не самое лучшее время для того, чтобы разбрасываться бюджетами. Только это не значит, что производители должны работать себе в убыток. Многие говорят о жадности предпринимателей, но я вам вот что скажу: нет ничего постыдного в том, чтобы делать честный бизнес и адекватно считать свои косты.

                            image
                            Читать дальше →
                          • Использование C# и Wix# для создания msi-пакетов

                            • Translation
                            От переводчика: англоязычные it-блоггеры обычно начинают такие статьи со слов I'm so excited. Про Wix# я узнал совершенно случайно и спешу поделиться этим открытием с хабрасообществом, т.к. каждый, кто имел дело с «голым» WiX, знает, насколько неприятным может быть этот процесс. И вот теперь можно сделать msi-дистрибутив, написав всего лишь несколько строчек на C#! По-моему, это круто! А относительно недавно (4 дек 2014) автор Wix# Олег Шило дал интервью изданию InfoQ. Перевод этого интервью я и представляю вашему вниманию. И прошу не судить строго за кальку некоторых слов — тот же «деплоймент» мне как-то ближе, чем «развертывание».
                            Предоставим слово Олегу Шило, автору Wix#
                            • +22
                            • 34k
                            • 9
                          • Грабли, .NET, COM и dynamic

                              Жил — был древний код эпохи динозавров


                              Дано: адов кодярник работающий с 16ю разными версиями одного и того же «ах какого» продукта. COM, Interop, интерфейсы, реализации, сигнлтоны с факторями, паттерны с антипаттернами, модули и прочие ошметки крывавого ынтырпрайзу. Стандартный набор. Рос, мужал и матерел тот кодярник лет семь. Пока однажды очередной фикс не привел к исправлению массового копипаста в 16 модулях. Если кому интересно — foreach на for меняли.

                              Помучившись, провели исследование. Копипаст на 95% идентичен, различаются только имена пакетов из интеропов.

                              А можно ли как-то писать так чтобы не оборачивать сотни и сотни функций в свои врапперы, плюс ручками боксинг / анбоксинг этих врапперов?

                              Есть же ключевое слово dynamic!
                              Читать дальше →
                              • +21
                              • 13.2k
                              • 7