За что я люблю программирование…

Март 31st, 2008

Jaguar дал ссылка на интервью в котором человек пишет, почему он любит программирование.

http://www.profosvita.org.ua/ru/success/interview/12.html

И я задумался, а за что я люблю его. Пожалуй за пару вещей:

— Хоть профессия и ремесленническая, но тем не менее творческая

— Часто приходится в руках крутить разные новые интересные электронные штучки

— Программы достаточно податливая материя (относительно стальных двутавровых балок) и достаточно приятно их иногда скрутить в узел

— Иногда большую и сложную проблему, можно решить маленьким и красивым кодом

— Достаточно часто сталкиваешься с разными предметными областями (не имеющих отношения к IT) и можно что-то о них узнать

— Можно работать (думать) даже не сидя в своем рабочем месте

— На работе никто не замечает, когда ты начинаешь вместо документации по программированию читать анекдоты

А за, что вы любите программирование?

P.S. Увы, чувство когда программирование было сродни волшебству прошло. Слишко много deadlin’ов, нерешенных задач и тупых багов, которые надо пофиксить за плечами.

Кодер или программист?

Март 30th, 2008

В куче разнообразных мест (замечу, именно русскоязычных) по разным IT темам натыкаюсь на очень похожую фраза: «Так то ж тупой кодер, а вот настоящий Программист …».

Такие фразы меня просто корежат.

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

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

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

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

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

Второе, что меня напрягает в той фразе — это слово Программист (именно с большой буквы). Как только идет о речь о Программисте, то все начинают описывать рыцаря в блистающих латах на белом бинарном коне. И этот рыцарь должен идеально знать все предметные области, разбираться в математике не хуже Ферма, а в физике не хуже Эйнштейна. Также, этот Программист должен одинаково легко уметь проектировать архитектуру для проектов на сотни тысяч человеко-лет и отлаживать в бинарном коде для неизвестному никому микропроцессора.

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

А как только первая буква становится заглавной, то сразу появляется какая-то мифичность и требования скачком становятся абсолютно другого уровня.

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

Вероятнее всего, на этом месте куча людей начнет рвать рубаху и кричать, мы люди искусства, а не ремесла…. Скажите, когда вы включаете и смотрите телевизор, вы получаете эстетическое удовольствие от того как разведена плата в телевизоре или от телепередачи? То же самое, никто из конечных потребителей не получает эстетическое удовольствие от кода программы и алгоритмов, всех интересует просто конечный продукт.

Ну и возвращаясь к фразе про кодера и Программиста. Третье, чем мне чуждо это сравнение — это тем, что на программиста начинают навешивать знание кучу вещей, которые он не должен знать. Именно исходя из того, что программист – это ремесленник, он должен знать свое ремесло и не обязательно ему знать чужое ремесло. Замечу, хотя математики становятся хорошими программистами, это не обозначает что программист обязан должен знать математику. Это тоже самое, как скажем, люди с идеальным слухом часто становятся музыкантами, но не обязательно иметь идеальный слух, для того, чтобы им стать.

А что вы думаете насчет ремесла vs. искусство и кодер vs. Программист?

P.S. В процессе дискуссии, дополнилась одно важное замечание. Хотя, работа у программистов и является ремесленничеством, но тем не менее она может быть творческой.

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

Все фриваршики – казлы?

Март 25th, 2008

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

И как-то по ходу шутя, он мне подкинул название этой темы 😉 Ну, и я подумал-подумал и решил, а что мне слабо, что ли на такую тему написать? В общем, сам себя поймал на слабо 🙂

Итак, даю затравку, а вы, если хотите, попытайтесь меня забороть.

Я считаю, что те, кто выпускают бесплатный софт (замечу именно софт, а не библиотеки) губят весь IT рынок. И нас всех к чертовой матери поувольняют из-за них.

Возьмем несколько примеров рынков полуубитых фриварщиками и опенсорсниками:

почтовые клиенты

броузеры

медиа проигрыватели

мессанджеры (разные там Miranda, Trillian)

Ведь, если вдуматься, то эти рынки кормили гигантское количество программистов, которые писали разнообразные коммерческие продукты. А сейчас даже гиганты а-ля Microsoft гнутся под, например, Firefox’ом (между прочим 45% моих посетителей пользуют Firefox).

Ведь как получается, садиться себе студент в нерабочее время и давай подпедаливать код. Так сказать, бабушка – рубль, десятка бабушек – уже червончик. И вот, они и подтачивают IT рынок.

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

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

В конечном итоге, лет скажем через 20-30 мы получаем, что 99% процентов софта станут бесплатны для пользователя. Как следствие, на них уже толком нельзя заработать. Да остается support, но это на порядок меньший рынок, чем написание новых программ. Соответственно количество программистов, которые нужны, станет в десяток раз меньше.

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

В общем, грядет конец света, и программисты станут не нужны. Предлагаю всем добровольно

— побрить голову налысо и уйти в шаолинский монастырь

— не писать ни одной строки кода бесплатно

— найти тех, кто пишет эти строки бесплатно и нанять их на работу, чтобы остановить конец света

Выбор за вами. Хотите вы быть счастливыми пользователя, которые получают все бесплатно или счастливыми программистами, получающими деньги.

Благодарности тем, кто на меня ссылается.

Март 24th, 2008

Вот те, люди/сайт которые на меня больше всего ссылаются и принесли больше всего посетителей. Загляните к ним, если хотите.

А если кто-то из нижеперечисленных — это вы, то огромное вам спасибо, что обо мне пишите. 😉

Корпоративные благодарности:

itblogs.ru
developers.org.ua
it4business.ru, он же Слава Панкратов
netvibes.com
bloglines.com
live.cnews.ru
psylive.ru

Персонально/блоговые благодарности:
Крайнов
Фриц, он же Морген
У Wada
Сергей Корнилов
vgarnick.livejournal.com
dz.livejournal.com
rssh.livejournal.com
100blogov.blogspot.com
Тюшков Николай
gem-tmp.livejournal.com