Показаны сообщения с ярлыком программное обеспечение. Показать все сообщения
Показаны сообщения с ярлыком программное обеспечение. Показать все сообщения

5 окт. 2010 г.

О бизнес-культуре в России

Мне, к моему вящему сожалению, иногда приходится сталкиваться с техническими специалистами различных компаний. Не то, чтобы у меня завышенные требования, но я редко попадаю на действительно грамотных специалистов. Хотя нет, не совсем так — большая часть зависит от того, с кем именно я имею дело в плане компании. Есть организации, которым важен результат и его качество, а также репутация и довольные клиенты — у них обычно отличные специалисты (потому что там есть отличные менеджеры-управленцы). Мне довелось несколько раз поработать с такими людьми, впечатления остались самые что ни на есть замечательные. И я по мере своих сил и возможностей стараюсь сотрудничать именно с такими организациями.  Но есть и другой тип контор, в которых руководящую роль занимает технический специалист и, по совместительству, управленец. В этом случае "пиши пропало". И с одним подобным примером я познакомился совершенно недавно.

Классический случай — кодинговая контора. Один мой знакомый попросил меня пообщаться с их техническим директором на предмет сотрудничества по проекту. Я согласился и за 3-4 дня договорился встретиться в 10 утра. По настойчивой просьбе перезвонил в 9 утра в день встречи, чтобы получить подтверждение. Разумеется, в 10 утра никого не было. За 10 минут я таки сумел дозвониться, и за мной "пообещали спуститься". Ещё через 10 минут "спустились". Непонятно кто повёл непонятно куда. Зайдя в помещение я был немного шокирован. Помните американские фильмы с офисами IT-компаний, где кубики стоят рядом друг с другом? В комнате 25-30 метров находилось человек 30, которые постоянно что-то говорили. Мне выделили некое подобие стола (видимо, дореволюционного) с таким же стулом и начали спрашивать о совершенно левых вещах. Я понимаю, что встречавший меня человек не имел ни малейшего представления (точнее, имел, но как я выяснил в итоге, имел неправильное) о том, кто я и зачем пришёл. Дал какие-то тесты из серии "я — начальник, ты — дурак". Особенно меня порадовал вопрос:
Опишите не менее 8 способов организовать цикл в языке программирования PHP
Более идиотского вопроса я не встречал уже давно. Господа, есть 3 стандартных цикла — цикл с условием, цикл с перечислением, цикл по итераторам. В каком воспалённом воображении нужны ещё 5? Да без проблем, организовать можно — начиная от рекурсии и великого GOTO и заканчивая записью в файл / БД команд и их последующим выполнением через eval, можно придумать хоть 20 способов. В чём логика? За мои скромные 7 лет работы в IT-индустрии и науки, я НИ РАЗУ не видел подобных извращений (быть может, за исключением GOTO в fortran 77, в котором просто-напросто отсутствуют циклы). Да и вообще, мы как бы о сотрудничестве разговаривали, а не о работе в их шарашке.

В общем, за те неполные 2 часа, которые я там провёл, я успел потрепаться с менеджером, программистами, обсудить преимущество Mac OS перед Linux и Textmate перед IDE, но технического директора так и не дождался. Заряд кофе с утра закончился, и я по-английски ретировался.

Вопрос: как может подобный неорганизованный, непунктуальный, не умеющий опрашивать людей человек выполнять функции технического директора? А если брать в расчёт этот "офис", то и не понимающий процесса разработки. Правило Парето никто не отменял — 80% анализа + 20% программирования — залог успеха проекта. Только обезьянки или индусы способны 100% времени кодить и выдавать это за программы. В подобном гаме даже с наушниками сосредоточиться может, наверное, только Будда. И то, если он в нирване.

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

15 авг. 2010 г.

Непрофессионализм — одна из основных бед России

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

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


Программисты часто любят ругаться на так называемый индусский код. При этом чуть ли не 60-80% российских девелоперов пишут ничуть не лучше, а иногда даже хуже. При этом на гора выдают оценки — "сделаю фичу за 2 часа". Во-первых, получится как всегда — не два часа, а два дня. Во-вторых, багов в фиче будет столько, что проще её будет просто переписать. В-третьих, из-за срыва сроков всё сдвинется. Но горе-программиста это волнует редко.

Отдельный песец — это сфера управления. Такого количества непрофессионалов на квадратный метр сложно найти в любом другом месте. Срыв сроков, например, — это вполне рядовое событие. Сказано: "Запуск состоится 01 августа", значит, где-нибудь к августу этак 10-15 начнём немного поторапливаться. И, дай Бог, к 20 таки запустимся. При этом умиляет, когда разработчик(и) где-нибудь за день до завершения работ начинают задавать тааакие вопросы, от которых даже у меня встают волосы дыбом. Иногда я себе со своим принципом "Сказал срок — сделал к сроку" кажусь мамонтом, которые уже все вымерли.

Одним из самых простых критериев, по которым можно отличить профессионала от непрофессионала — это манера ведения дискуссии. И грамотность. Ещё лет 5 назад я уяснил для себя замечательное правило — если в деловой переписке человек пишет сильно неграмотно, не работай с этим человеком. Проблем будет больше, чем профита. И как показала жизнь (за одним исключением), это правило соблюдается всегда. Если человек не уважает собеседника настолько, что не хочет или не может писать грамотно, то грош цена ему.

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

19 апр. 2010 г.

Papers - каталогизатор научных статей для Mac OS


Наверное, каждый из нас, кто когда-либо занимался какими-то научными или околонаучными исследованиями, упирался в проблему систематизации и коллекционирования источников. Не секрет, что большинство современных научных статей и книг изобилуют ссылками на источники и более подробные объяснения какого-либо материала. Этим "убиваются" сразу два "зайца":
  1. Проверяемость. Любое неочевидное утверждение подкрепляется авторитетным источником
  2. Обучаемость. Если читатель что-то не понимает, он всегда может ознакомиться с литературой, представленной по ссылкам.
  Когда пишут статью, стараются следовать подобным критериям. Хорошо, если статья небольшая, и источников всего 10-20. А если пишется цикл статей? Или одна большая статья/книга? Как не запутаться в источниках? Как удобно их хранить в одном месте с быстрым поиском? На помощь приходит специальная программа для Mac OS - Papers.