Консалтинг фуфло и что делать

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

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

Потом я прочитал книгу: "джоел о программировании". Сайт автора кажется www.joelonsoftware.com, а на русскоязычной версии можно прочитать русские варианты статей. Про консалтинг там тоже кажется было в свободном доступе. Первое впечатление о книге - автор просто завидует высоким доходам консалтинговых компаний, и пытается облить грязью конкурентов, ведь как сказал автор, его компания сама занимается консалтинговых, правда это для них не первостепенный доход. Я мог согласиться только с некоторыми мыслями джоела, но далеко не со всеми.

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

Администраторы за открытый код

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

Этим вопросом я всеръез озаботился после прочтения одной из статей Джоела о том, как влияют цены сопряженных товаров. Чтобы лучше понять эту тему, ее лучше рассматривать на примере. Есть компьютер и софт и оба товара взаимосвязаны. Сколько будет стоит компьютер с ОС? Экономист скажет, что он должен стоить столько, сколько готов заплатить потребитель. Если это меньше себестоимости, то производство не рентабельно.

Ттеперь мы подошли к самому интересному. Допустим, что потребитель способен заплатить 1000 зеленых. Теперь, чем меньше будет стоить ОС, тем больше сможет получить производитель железа и наоборот. Поэтому MS стремится сделать железо дешевым и на домашнем рынке ей это удается. Именно поэтому IBM стремится сделпть ОС дешевой и рынке серверов это удается сделать благодаря Linux.

Безопасные функции

Не секрет, что достаточно большая часть ответственности за безопасность кода лежит на функциях, особенно это относится к С/С++, где повсеместно используются строки, заканчиваются нулем. Это не только самый большой тормоз, но и самый дырявый тип данных. Второй источник проблем безопасности - нарушение логики или ошибки проектирования. Что страшнее? Я не берусь ответить на этот вопрос однозначно, хотя мне кажется, что вторая проблема опасноснее, потому что ее сложнее вычеслить.

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

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

Quality Source

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

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

Пузырьковая сортировка

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

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

Зы что я уважаю Microsoft

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

Те, кто знает меня давно, прекрасно знают, что я не одобряю некоторые действия MS, особенно в отношении конкурентов. Когда компания поняла, что не может конкурировать качеством, она просто задавила конкурентов ценой и привязанностью, сделав IE бесплатным, да еще и внедрить в ее состав ОС, т.е. Фактически вынудив пользователей иcпользовать свой браузер уничтожила Netscape. Да, Netscape виновата в своем потопе не меньше, ведь она не смогла вывести на рынок более новую версию, а то, что было выведено с опозданием, оказалось не конкурентноспособным.

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

В первый раз в первый класс

Компонент PropertyGrid позволяет отображать свойства класса в виде сетки, как это делает окно Properties в самой среде разработки. Чтобы компонент отобразил свойства нужного вам класса, просто присвойте этот класс свойству SelectedObject. Например, следующая строка заставит отобразить свойства кнопки Button1:

propertyGrid.SelectedObject = Button1;

Давайте представим, что нам нужно использовать PropertyGrid для отображения нужного нам набора значений. Как это сделать? Да очень просто – можно все эти свойства объединить в отдельный класс и использовать его, как любой другой стандартный класс из .NET Framework. Только чтобы свойства выглядели красиво, их нужно правильно оформить при описании класса.

Давайте напишем пример, в котором на главном окне будет только компонент PropertyGrid, где должны отображаться свойства программы потенциального приложений. Все свойства будут объединены в отдельном классе PropertiesClass, это очень удобно, красиво и будет соответствовать всем принципам ООП. Давайте рассмотрим, как правильно и красиво оформить класс, возможно, вы узнаете что-то новое из жизни .NET.

Производители железа за МС

Очень часто можно услышать, что МС заставляет нaс использовать свои окна, потому что впаривает свою ОС со всеми новыми компьютерами. В корне ошибочное мнение, потому что МС тут не причем, а вас никто не заставляет покупать компьютер именно с Windows. Давным давно, когда софтверный гигант был мелким софтом, Билл действительно стремился внедрить свою ОС всем железячникам, но сейчас ему это не нужно. Железячники сами выстраиваются в очередь, чтобы продавать windows компьютеры. Все это благодаря рекламе МС и ее правильному подходу.

Я тут сказал очень интересную мысль, что МС абсолютно не виновата и это не совсем правда. Конечно виновата, но не она впаривает нам окна, это делают производители железа. Да, да. МС виновата только в том, что каждая новая ОС требует больших ресурсов и дешевле купить новый компьютер с ОЕМ вариантом ОС, чем покупать коробку с новой ОС на старый компьютер. И именно это нравиться производителям компьютеров и они с нетерпением ждут выхода каждой новой версии Windows. Ведь именно в этот момент продажи компьютеров взлетают до небес.

Должен ли код быть открытым?

Должен ли код быть открытым? Ответ такой же сложный, как и вопрос - "не факт". Все зависит от программы и от вашего желания. Если вы хотите открыть код и свою работу на всеобщее обозрение, никто не может запретить. Но тут нужно сначала спросить себя: "А для чего мне это нужно?". Повыпендриваться? Получить реальную помощь других программистов?

На самом деле, очень мало народу вливается в массовую разработку. Например, на сайте www.vr-online.ru Проводился опрос по поводу отношения к открытому коду и активное участие в данном движении принимало только два человека. Трудно сказать, много это или мало, но мне кажется это очень мало. Да, на сайте, посвященном линуксом таких людей будет намного больше, но ведь и на сайте Microsoft их будет меньше.

Производи и используй

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

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

О блоге

Программист, автор нескольких книг серии глазами хакера и просто блогер. Интересуюсь безопасностью, хотя хакером себя не считаю

Обратная связь

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

Пишите мне