• Исследуем вопрос наказаний 2.0

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

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

      • Перевод
      Сегодня мы представляем вашему вниманию адаптированную подборку инструментов (в том числе облачных) для разработчиков, которые позволяют создавать по-настоящему качественные проекты. Здесь представлены исключительно SaaS, PaaS и IaaS сервисы, предоставляющие бесплатные пакеты для разработчиков инфраструктурного ПО.

      Читать дальше →
    • Как распознавать манипуляции и быстро обезвреживать их

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


        Не так давно общаясь с директором одной крупной ИТ-компании мы как раз обсуждали эту тему. И он высказал мысль, что отрасль IT — это отрасль, где люди больше всего общаются друг с другом. Несмотря на, казалось бы, большое количество времени, которое мы проводим наедине с компьютером, много времени мы проводим и в общении: с коллегами по команде, коллегами из других городов и стран, заказчиками и т.д. Пообщаться за один день с ребятами из Новосибирска, Москвы, Питера, Санта Клары, Шанхая и Бангалора — в порядке вещей. Причем и письменно, и устно, и на совещаниях и в чатах — как хочешь. Сплошные переговоры. Это, вероятно, и объясняет столько плюсов в постах по этой теме.

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

        Как распознавать манипуляции и быстро обезвреживать их

        Читать дальше →
        • +16
        • 56,8k
        • 9
      • 300 потрясающих бесплатных сервисов

        • Перевод


        Автор оригинальной статьи Ali Mese добавил ещё 100 новых бесплатных сервисов. Все 400 потрясающих сервисов доступны здесь. И еще подборку +500 инструментов от 10 марта 2017 г. смотрите здесь.



        A. Бесплатные Веб-Сайты + Логотипы + Хостинг + Выставление Счета

        • HTML5 UP: Адаптивные шаблоны HTML5 и CSS3.
        • Bootswatch: Бесплатные темы для Bootstrap.
        • Templated: Коллекция 845 бесплатных шаблонов CSS и HTML5.
        • Wordpress.org | Wordpress.com: Бесплатное создание веб-сайта.
        • Strikingly.com Domain: Конструктор веб-сайтов.
        • Logaster: Онлайн генератор логотипов и элементов фирменного стиля (new).
        • Withoomph: Мгновенное создание логотипов (англ.).
        • Hipster Logo Generator: Генератор хипстерских логотипов.
        • Squarespace Free Logo: Можно скачать бесплатную версию в маленьком разрешении.
        • Invoice to me: Бесплатный генератор счета.
        • Free Invoice Generator: Альтернативный бесплатный генератор счета.
        • Slimvoice: Невероятно простой счет.

        Читать дальше →
      • Вопросы с собеседования на должность «C# Developer»

          1. Name ten c# keywords.
          2. What is a 'static' class?
          3. What is difference between overloading and overriding?
          4. Is multiple inheritance supported in .Net?
          5. Class inherits from two interfaces containing methods with the same signature. Is it possible to provide different implementations for these methods?
          6. What can be a root reference?
          7. How 'System.String' class differs from most of other classes?
          8. Will a 'finally' block be executed if there was no exception thrown?
          9. What is a satellite assembly?
          10. How 'protected' access modifier affects visibility?
          11. What does keyword 'mutable'?
          12. Can multiple catch blocks be executed?
          13. What does operator 'as' do?
          14. What does keyword 'final'?
          15. Can different access modifiers be applied on the getter and setter of a property?
          16. Can a class be prevented from being inherited?
          17. What is event?
          18. What is the difference between event and delegate?
          19. Are events synchronous or asynchronous?
          20. What does keyword 'safe'?
          21. Can interface members be private?
          22. What does keyword 'in'?
          23. What is the advantage of using 'System.Text.StringBuilder' class over 'System.String'?
          24. What is special about the declaration of relational operators?
          25. How 'public internal' access modifier affects visibility?
          26. Can a local variable get garbage collected before it becomes out-of-scope?
          27. What implementations of serialization are built in FCL? Where are they used?
          28. How 'protected internal' access modifier affects visibility?
          29. Can 'break' exit a finally block?
          30. How to apply attribute to method return value?
          31. What is the difference between C# class finalizer and C# class destructor?
          32. What is purpose of 'IDisposable' interface?
          33. Can an array be resized at runtime?
          34. Does the size of an array need to be defined at compile time?
          35. Can a destructor have access modifiers?
          36. What is smallest integer type to represent number not greater than 40 000?
          37. What do keywords 'sizeof' and 'typeof'?
          38. What is differece between 'sizeof' and 'Marshal.SizeOf'?
          39. What is array rank?
          40. What does keyword 'stackalloc'?
          41. What encoding uses 'System.String' class?
          42. What is boxing and unboxing?
          43. What is reflection?
          44. What is struct?
          45. What is multicast delegate?
          46. Does C# have “friendship”?
          47. What is the 'using' statement for?
          48. Can a struct have methods?
          49. Can a struct be inherited?
          50. Why do most event handlers use signature 'void(object, EventArgsDerivative)'?
          Наблюдавшиеся результаты: от 12 до 30 правильных ответов.
        • Профессиональная иммиграция в Австралию, IT и жизнь на другом континенте

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

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



          Читать дальше →
        • Кайдзен — путь к совершенству

            Кайдзен, кайдзэн (яп. 改善 кайдзэн, ромадзи Kaizen; встречается неверный вариант «кайзен») — японская философия или практика, которая фокусируется на непрерывном совершенствовании процессов производства, разработки, вспомогательных бизнес-процессов и управления, а также всех аспектов жизни.

            В статье я опишу несколько полезных, зарекомендованных и простых инструментов практики Кайдзен, которые можно начать применять без значительных усилий.
            Читать дальше →
          • А какой трекер задач ты используешь в небольшой команде?

             

            Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.

            А какой трекер задач ты используешь в небольшой команде?

            • 9.5%Jira без плагинов245
            • 12.5%Jira с плагинами322
            • 35.5%Redmine913
            • 4.2%YouTrack109
            • 3.4%Track89
            • 4.9%Mantis127
            • 1.7%PivotalTracker46
            • 3.3%Asana86
            • 5%Trello130
            • 4.1%Basecamp107
            • 0.6%Unfuddle16
            • 0.5%FogBugz13
            • 1%Targetprocess28
            • 13.1%Другой (напиши, какой)339
          • Кросс-функциональность, Т-люди и Автобусный фактор

            • Tutorial
            За последние полгода мне удалось побывать на двух стартап-конкурсах — DOU Mixer и Garage48. В первом команда формировалась “на лету”, что внесло определенную избыточность и путаницу ролей. Поэтому, во втором мы решили участвовать укомплектованным еще до его начала составом.

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

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

              ...Skype — это дьявольски хитрая программа, написанная бесспорно талантливыми людьми...Крис Касперски

              Доброго времени суток!

              Skype сейчас я встречаю чаще на компьютерах чем другие IM клиенты, мне он практически заменил icq, вся рабочая переписка ведется в skype, но речь пойдет не о том, что лучше или популярней. Часто бывает так, что участвуешь сразу в нескольких чатах где количество участников превышает 10, что собственно и приводит к тому, что на рабочем столе и в трее постоянно обновляется количество новых сообщений, а также уведомления в виде всплывающих сообщений, а теперь представьте что у вас 3 окна чата с друзьями, 1 с вашим боссом, другой с девушкой — все это в сумме начинает запутывать, отвлекать и порой раздражать. Хотелось бы расставить приоритеты…

              Раньше я чаще всего настраивал «политику» уведомлений только через глобальные настройки программы
              Случилось так, что я узнал, что в каждом окне чата skype возможно использование команд, например /alertsoff отключит уведомления для конкретного окна чата, соответственно /alertson включит их обратно.
              Поискав немного я наткнулся на некое how-to, оказывается у skype чата довольно много текстовых команд, подобие IRC команд. Далее я постарался попробовать все возможные из них на двух имеющихся у меня платформах, как оказалось не все и не везде работает… Прошу под кат.

              Читать дальше →
            • Аджайл для всех: как заставить бухгалтера быть гибким

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


                Зачем бухкомпании быть гибкой?
              • Как улучшить свой стиль программирования?

                Исповедь 1


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

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

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

                Для понимая того, почему такие люди появляются в организации, рассмотрим модель развития специалиста, построенную на параметрах «навык / мотивация». Основу для неё я взял из модели ситуационного лидерства и немного развил, исходя из практических наблюдений. Эта модель нужна, чтобы понять, на каком этапе «жизненного цикла» могут находиться на нашем проекте, и как это влияет на их мотивацию.

                Этап 1 – мало опыта, много энтузиазма (низкий навык, высокая мотивация). Это может быть молодой специалист, получивший первую работу; человек, решивший попробовать себя в новой профессии или профессионал, которого выдвинули на руководящую должность. В общем, любой из вариантов, когда человек только что пришел на новое место, очень хочет добиться успеха, но еще не понимает как это сделать.

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

                Читать дальше →
              • Как научиться писать книги

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

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

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

                    imageДля картографирования был выбран пик Маттерхорн высотой в 4478 метров, находящийся в Швейцарских Альпах на границе между Италией и Швейцарией (это место на Google Maps). Технически сам процесс выглядел примерно следующим образом: команда инженеров, находясь на вершине пика, запускает несколько дронов eBee, контролируя процесс их полёта по заданному маршруту при помощи планшета по GPS. Сами летательные устройства этого класса могут выполнять аэрофотосъёмку площади до 10 км2 (с одного полёта), позволяя на этапе пост-обработки получать карты и модели местности с точностью 5 см — при том, что на борту дрона установлена скромная по меркам некоторых современных телефонов камера в 16 Мп. Размах крыльев дрона немногим менее одного метра — 96 см, а вес составляет 700 граммов.
                    Узнать подробности
                  • Маленькие советы старшим о младших

                      Почему новички время от времени делают «не то»? Почему они не понимают старших инженеров? Всегда ли это происходит из-за отсутствия опыта? И почему время от времени, за разговорами на кухне те же новички называют своих лидов «м*даками»?

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

                      Начнем издалека. Когда я еще учился в школе, у меня было увлечение – игры. А именно Warcrtaft III. И я постоянно играл, играл, играл в нее. Сначала дело ограничивалось играми с ботами, затем, в прекрасном 2003’ем у меня появился интернет и понеслись игры с живыми людьми.
                      Свою первую игру я проиграл – от нервов и мысли, что я могу проиграть, у меня тряслись руки и мерзли кончики пальцев, а где-то к середине игры на спине выступил холодный пот. Ясное дело, что с таким настроем первую игру я проиграл. Я проигрывал раз, затем другой, а за ним и третий. Это продолжалось довольно долгое время, пока один из моих друзей не посоветовал мне начать смотреть записи игр других, профессиональных игроков.
                      Читать дальше →
                    • Руководство по разработке модулей расширений на C# для Visual Studio 2005-2012 и Atmel Studio

                        Плагины для C#

                        Аннотация


                        Около года назад мы опубликовали в блоге цикл статей о разработке плагинов для Visual Studio на языке C#. Сейчас мы переработали эти материалы, добавили новые разделы и предлагаем вашему вниманию новый вариант руководства.
                        Читать дальше →
                        • +45
                        • 34,6k
                        • 6
                      • Мошеннические методы монетизации в free-to-play играх

                        • Перевод
                        Примечание переводчика: После публикации статьи с автором связался коммерческий директор из King.com, создателя Candy Crush Saga, и прояснил несколько моментов, после чего автор добавил пару замечаний. Добавленные абзацы отмечены курсивом.

                        Принудительная монетизация


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

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

                        Этот дополнительный стресс часто подаётся в форме того, что Роджер Дики из Zynga называет «весёлыми мучениями». Приём заключается в том, чтобы поставить потребителя в очень неудобное или неприятное положение в игре, а потом предложить ему убрать эти «мучения» в обмен на деньги. Эти деньги всегда замаскированы в слоях принудительной монетизации, поскольку потребитель, столкнувшийся с «реальной» покупкой, скорее всего не поведётся на трюк.
                        Читать дальше →
                      • Continuous Integration для самых маленьких

                        • Tutorial

                        Вы все еще публикуете проект вручную? Тогда мы идем к вам


                        Под катом гайдлайн по внедрению CI для .NET проектов «с нуля», включающий:
                        1. Автоматические ежедневные сборки
                        2. Уведомления о проблемах
                        3. Интеграцию с баг-трекером и системой контроля версий
                        4. Версионирование продукта
                        5. Версионирование базы данных
                        6. Автоматизированные выкладки и бекапы

                        Читать дальше →
                      • Анти-GTD или лекарство от прокрастинации

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

                          Как избавиться наконец от насилия над собой в виде этих бесконечных техник? Делать то, что хочешь!
                          Если более развернуто, то обычно советуют работать на пересечении нескольких областей — делать:
                          1. то, что хочешь,
                          2. на что располагаешь талантом,
                          3. то, что служит на благо людей,
                          4. то, что приносит деньги.

                          Это просто идеальная самореализация!

                          Но как это сделать? Об этом обычно не говорят или неуверенно дают какие-то общие советы. Я долго копал и кое-какую методику все же нашел.
                          Делюсь методикой под катом