?

Log in

No account? Create an account

Previous Entry | Next Entry

Ностальгия

У тех из нас, кто начинал с Алгола 68, а так же перфокарт, IBM 370 ассемблера, зеленых слепых правцов с двумя дисководами но без единого жесткого диска, дибэйза, визуального бейсика, невизуального паскаля, и я уж не вспоминаю всяких лиспов, прологов и эпилогов, программистская наша жизнь пришлась на удивительное для программирования время. Мы начинали в те золотые времена, когда по свету бродили программисты-одиночки, способные за пару месяцев (а иной раз и недель) склепать что-нибудь вполне полезное, самостоятельное и зачастую даже красивое и элегантное. В рамках того софтвера, хардвера и прочих неудобств, которые приходилось по ходу дела преодолевать исключительно смекалкой. Нам было не обидно изобретать велосипед, велосипедов в те годы было много - хороших и разных, некоторые из них не ездили, другие разваливались на ходу, но пользователи, еще не избалованные эпохой массового программного обеспечения, считали нас магами невзирая на.

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

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

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

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

Все это не удивительно, и происходит по одному и тому же сценарию во всех отраслях. Просто раньше это занимало дольше: автомобилестроению понадобилось несколько десятилетий чтобы перейти от штучных товаров к массовому производству. С нами это произошло за 10 лет. И мы не успели к этому привыкнуть. Мы все еще рассуждаем о том, что программирование - это творческая профессия. Нас раздражают тысячи, да нет уже десятки тысяч недоучек. Они не знают что такое О(n2), подумать только! Мы уже прошли Отрицание, и находимся в Гневе. Пора попытаться заключить Сделку с Судьбой.

Comments

( 91 comments — Leave a comment )
Page 1 of 2
<<[1] [2] >>
amigofriend
May. 20th, 2009 01:47 am (UTC)
А аппликухи для Айфона?!
_mak_
May. 20th, 2009 01:52 am (UTC)
ну да, у белошвеек тоже есть конкурсы вышивки крестом
(no subject) - amigofriend - May. 20th, 2009 01:53 am (UTC) - Expand
(no subject) - _mak_ - May. 20th, 2009 01:55 am (UTC) - Expand
(no subject) - amigofriend - May. 20th, 2009 01:58 am (UTC) - Expand
(no subject) - _mak_ - May. 20th, 2009 02:00 am (UTC) - Expand
(no subject) - amigofriend - May. 20th, 2009 02:03 am (UTC) - Expand
tandem_bike
May. 20th, 2009 01:54 am (UTC)
anger-denial-bargaining-depression-acceptance :-)



черт, перепощу, хорошо очень.
_mak_
May. 20th, 2009 01:57 am (UTC)
спасибо молличка за доброе слово :)
(no subject) - tandem_bike - May. 20th, 2009 02:01 am (UTC) - Expand
(no subject) - amigofriend - May. 20th, 2009 02:04 am (UTC) - Expand
(no subject) - _mak_ - May. 20th, 2009 02:09 am (UTC) - Expand
(no subject) - tandem_bike - May. 20th, 2009 02:16 am (UTC) - Expand
(no subject) - tandem_bike - May. 20th, 2009 02:24 am (UTC) - Expand
(no subject) - _mak_ - May. 20th, 2009 02:43 am (UTC) - Expand
(no subject) - m_elle - May. 20th, 2009 02:46 am (UTC) - Expand
(no subject) - _mak_ - May. 20th, 2009 02:49 am (UTC) - Expand
(no subject) - m_elle - May. 20th, 2009 03:06 am (UTC) - Expand
(no subject) - _mak_ - May. 20th, 2009 03:16 am (UTC) - Expand
(no subject) - m_elle - May. 20th, 2009 03:20 am (UTC) - Expand
(no subject) - tandem_bike - May. 20th, 2009 02:53 am (UTC) - Expand
(no subject) - _mak_ - May. 20th, 2009 02:42 am (UTC) - Expand
(no subject) - intensio - May. 21st, 2009 02:10 am (UTC) - Expand
aou
May. 20th, 2009 02:14 am (UTC)
Чем дальше я нахожусь в среде большого корпоративного IT, тем больше завидую тем самым "бывшим няням" у которых есть инструменты и знания чтобы решить конкретную проблему, актуальную для их работодателя *здесь и сейчас*.

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

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

Самая дешевая по соотношению price/performance еда продается в макдональдсе.

Прошли десятки, если не сотни лет войны дешевого общепита с "элитной кухней" - победитель - по прежнему - еда приготовленная самостоятельно - дома.
_mak_
May. 20th, 2009 02:52 am (UTC)
Ну да, все так, но для супер-пупер поваров в городе есть только два ресторана, а макдональдсов штук двадцать. Отсюда мораль - если не хочется на конвейер, то надо либо становиться одним из двух супер-поваров, либо переучиваться в другую область.
(no subject) - amigofriend - May. 20th, 2009 02:54 am (UTC) - Expand
(no subject) - _mak_ - May. 20th, 2009 03:19 am (UTC) - Expand
(no subject) - amigofriend - May. 20th, 2009 03:20 am (UTC) - Expand
(no subject) - aou - May. 20th, 2009 10:48 am (UTC) - Expand
(no subject) - _mak_ - May. 20th, 2009 01:01 pm (UTC) - Expand
averros
May. 20th, 2009 02:14 am (UTC)
Мир с тех пор сильно изменился. Программисты из гильдии волшебников-одиночек сбились сначала в маленькие команды, потом в команды побольше, а потом вообще встали на конвейер.

Really. It's not software which became different, and not programmers who became worse, - it's the profits software companies made in the boom years, and the resulting influx of bullshitters with MBAs who then hired hordes of "software engineers" who are just as incompetent as they are themselves.

In a typical software company in Silicon Valley you have a dozen of white (sometimes Asian) geeks who wrote pretty much every major piece of code, and a few hundred Indians who run around in circles pretending to do something useful.

There is simply no way to take a thousand mediocrities and make them to build a good product. What they produce is simply bigger pile of shit.

The "conveyor" myth of software development is just that - a myth. Perpetuated by MBAs who have zero clue about the actual process of software development.

I'd recommend remedial reading of Brooks "The Mythical Man-Month". It's not new, but nothing has changed since then, aside from the amounts of money blown on the failed projects.
_mak_
May. 20th, 2009 02:58 am (UTC)
Using efficient market theory we should assume that all this is rational and makes sense economically, should not we? Or was this too caused by some horrible government distortion? :))
(no subject) - _navi_ - May. 20th, 2009 03:53 am (UTC) - Expand
(no subject) - _mak_ - May. 20th, 2009 04:27 am (UTC) - Expand
(no subject) - averros - May. 20th, 2009 07:19 am (UTC) - Expand
(no subject) - _mak_ - May. 20th, 2009 03:08 pm (UTC) - Expand
candidg
May. 20th, 2009 02:14 am (UTC)
С одной стороны всё очень правильно и верно. Знакомо, да. Но и оснований для такой уж сильной паники нет.

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

Но с другой стороны инструменты усложнились. Вариабельность средств разработки просто аховая. Сложность задач, архитектура сетей и баз, про фронт-енд я вообще молчу. И всё это связать вместе, и чтобы оно в режиме 24/7, и на удаленных серверных массивах, а с поправкой на баги инструментария и на глупость тех самых кодеров (которые осели и тихо пережили дот-ком баблы и все прочие перипетии) - задача ничуть не менее увлекательная и сложная, чем борьба за каждый байт оперативки на PC/XT и лепка интерфейса путем прямой записи в видеопамять.

Ну и само собой причуды и прихоти заказчика. Это вечный источник прочищения извилин. И хотя разговоры о смерти прикладного программирования ведутся с конца 90х - опыт показывает, что мы ещё побарахтаемся. :)
tandem_bike
May. 20th, 2009 02:39 am (UTC)
мне кажется что Mak права и ты прав - в смысле, всегда останутся истинно творческие прикладники-кодеры. даже алгоритмисты которые на одном мета-языке пишут и больше ни на чем! а вот полуобразованные или образуются или съедут в QA или в мелкий management.

понимаешь, я же видела программы написанные такими полу. в них раздражает даже то что их не научили ерунде - как писать, как комментировать, как индентировать код. корову через ять. но это мелочи. меня раздражало - я их учила - пыталась - за деньги, чего за деньги не сделаешь - что они простую какую нибудь задачку по сортиpованию или игру в покер решали через зад - не зная ну никакой математики, не умея мыслить системно. даже если решали - очень неэкономно и грубо. а переучить - нельзя. надо сначала, дата структуры и прочее..
(no subject) - candidg - May. 20th, 2009 02:55 am (UTC) - Expand
(no subject) - tandem_bike - May. 20th, 2009 03:03 am (UTC) - Expand
(no subject) - candidg - May. 20th, 2009 02:15 pm (UTC) - Expand
(no subject) - girit - May. 20th, 2009 01:07 pm (UTC) - Expand
(no subject) - _mak_ - May. 20th, 2009 03:05 am (UTC) - Expand
(no subject) - candidg - May. 20th, 2009 01:55 pm (UTC) - Expand
(no subject) - _mak_ - May. 20th, 2009 03:57 pm (UTC) - Expand
mirkina
May. 20th, 2009 03:33 am (UTC)
Машунь, ну конечно же, это творческая профессия!! Ты такое эссе накатала - разве это не творчество?! :))

Мне кажется, что рано говорить о Сделке с судьбой. Возможно, это не конец, а только лишь темный час перед рассветом. А дальше - придут новые принципы специализации, или профессия программиста превратится в другую профессию - кто знает? Просто творческому человеку легче принимать новое, просто он уверен, что новое - это всегда хорошо и интересно. :)
_mak_
May. 20th, 2009 03:39 am (UTC)
Доброе утро, Иришка! Ты как солнышко встаешь, и все озаряешь надеждой :) Я свою сделку с судьбой уже давно совершила, и переквалифицировалась в менеджеры :)
(no subject) - mirkina - May. 20th, 2009 03:52 am (UTC) - Expand
(no subject) - _mak_ - May. 20th, 2009 04:02 am (UTC) - Expand
starshoi
May. 20th, 2009 04:45 am (UTC)
По делу ничего не скажу. Вернее, скажу. По другому делу. Я тут как бы навещаю родные края. Как бы всю следующую неделю. Некоторые дни забиты, а некоторые нет. Вот тогда-то я тебе все остальное и скажу по первому делу. Или не скажу, давай просто выпьем.
_mak_
May. 20th, 2009 04:54 am (UTC)
Всю следующую неделю я вот прямо тут, никуда не отлучаясь. Буквально на отрезке 42-улица серпа и полумесяца-42. Так что в любой вечер, хоть там, хоть тут.
(no subject) - starshoi - May. 20th, 2009 05:00 am (UTC) - Expand
(no subject) - averros - May. 20th, 2009 07:25 am (UTC) - Expand
(no subject) - _mak_ - May. 20th, 2009 03:56 pm (UTC) - Expand
vit_r
May. 20th, 2009 07:20 am (UTC)
И сейчас есть одиночки, создающие те же интернет-сайты.

И во времена зеленых слепых правцов были задачи, которые решали огромные коллективы "недоделанных" программистов.

Насчёт же переучившихся... Курсы в университетах появились значительно позже, чем потребовались первые программисты.

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

Кстати, если бы всё это работало, пчёлки-консультанты были б не нужны.
_mak_
May. 20th, 2009 01:47 pm (UTC)
Есть, но их мало по сравнению с ордами конвейерных программистов (и конвейерного программирования).

Не знаю насчет огромных, наверно где-нибудь в недрах IBM и Sun'а сидели коллективы которые писали мэйнфреймовские операционки. Не думаю что они были супер большие. И уж совсем не думаю, что они были недоделанные программисты.

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

Это все работает в 95% случаев. Большинство пчелок-консультантов стоят на том же конвейере плечом к плечу. А для 5% случаев таки да, нужны еще более образованные и более рюхливые программисты-архитекторы, будь они консультанты или имплои.
(no subject) - vit_r - May. 20th, 2009 01:59 pm (UTC) - Expand
alll
May. 20th, 2009 08:06 am (UTC)
> Просто раньше это занимало дольше: автомобилестроению понадобилось несколько десятилетий чтобы перейти от штучных товаров к массовому производству. С нами это произошло за 10 лет.

Это драматическое преувеличение. FORTRAN появлися более полувека назад.
_mak_
May. 20th, 2009 01:48 pm (UTC)
И тем не менее 10 лет назад довольно много людей все еще писало довольно много штучных программ.
Сон смерти не помеха. - alll - May. 20th, 2009 09:21 pm (UTC) - Expand
alll
May. 20th, 2009 08:13 am (UTC)
> Помните, как все наши знакомые физики, химики, электрики и няни детских
> садов срочно переучивались на программистов на сотнях курсов
> предоставленных коммунальными колледжами?

Не скажу за нянь, а вот физики "переучиваться" начали задолго до роста программистских зарплат. Управление экспериментальной установкой и обработка-интерпретация полученных данных - там есть забавных задач в том числе и с точки зрения программирования.
_mak_
May. 20th, 2009 01:50 pm (UTC)
Это не называется переучиваться в программисты, те физики просто осваивали программирование как тул для своих задач. Так и машинистки не всем были нужны. Некоторые умели печатать сами.
(no subject) - alll - May. 20th, 2009 09:08 pm (UTC) - Expand
alexott
May. 20th, 2009 08:42 am (UTC)
ну насчет программистов это не совсем так - появилась куча кодеров на конкретном языке, которые не отличаются от машинистки. А вот настоящих программистов не так много, кто может выдумать архитектуру, сделать прототип и потом надзирать за кодерами. И такие должны быть, иначе получается непонятно что
P.S. правда их сейчас часто называют архитекторами
_mak_
May. 20th, 2009 01:51 pm (UTC)
ну да и я о том же. возможно это все просто семантика и подмена понятий.
girit
May. 20th, 2009 10:52 am (UTC)
Так написала аж слезу вышибает, серьезно. Мне кажется после 5 стадий потери (все как по книжке) у 'деятельностей' бывает еще шестой - птица феникс. Образование нишевой отрасли и ее рост, пропорциональный 'overdo' и 'overpromise' того, что стало мейнстримом. Иногда такой маленький рост - для менсйтрима совершенно незаметный. Примеры - натуральная-ручно-выросшая еда, динамическая психотерапия, больше не придумать, но хочется надеяться что есть еще.

Моя так наз 'профессия', совершенно застряла в стадии номер два, по ряду вроде обьективных причин не 'омассовывается' (хотя множество попыток было и есть) . А это такая приятная стадия.
_mak_
May. 20th, 2009 02:05 pm (UTC)
Тебе повезло (пока). Твоя профессия еще некоторое время будет находится в стадии искусства. Но я думаю, что лет за 10 и вас скосит иневитабилити. :))
(no subject) - girit - May. 20th, 2009 02:28 pm (UTC) - Expand
(no subject) - _mak_ - May. 20th, 2009 03:54 pm (UTC) - Expand
(no subject) - girit - May. 20th, 2009 04:42 pm (UTC) - Expand
(no subject) - _mak_ - May. 20th, 2009 02:06 pm (UTC) - Expand
(no subject) - girit - May. 20th, 2009 02:32 pm (UTC) - Expand
firstep
May. 20th, 2009 11:46 am (UTC)
Замечательный опус, возвращающий к реальности тех, кто питал розовые надежды при слове "прогаммист" или, наоборот, испытывал сожаление, что программисты пошли уже не те. А на самом ведь деле профессия не изменилась, изменился только подход к ней и аура вокруг нее, которую мы же сами и создаем.

Я так люблю опускать на землю молодых кулзизопов, пророчащих себе на 3-ем курсе университета будущее великих и всемогущих сисадминов. Рассказываю им, что во времена, когда компьютеры были большими, сисадмины назывались инженерами, кто их выпускал и где было их место, про мониторы, которые они "покрывали тонким слоем спирта" и про то, что действительно требуется от хорошего сисадмина сейчас. А вот про программистов у меня не было. Надо будет взять на вооружение.
_mak_
May. 20th, 2009 02:09 pm (UTC)
это наверно еще и персональная эволюция. двадцатилетние студентики мечтают о величии, и вкладывают это величие в любую ерунду. а к 40 мы наконец узнаем себе цену: пять копеек за пучок, как водится. :))
(no subject) - firstep - May. 20th, 2009 03:05 pm (UTC) - Expand
(no subject) - _mak_ - May. 20th, 2009 03:52 pm (UTC) - Expand
(no subject) - firstep - May. 20th, 2009 04:51 pm (UTC) - Expand
(no subject) - _mak_ - May. 20th, 2009 05:42 pm (UTC) - Expand
piggymouse
May. 20th, 2009 01:45 pm (UTC)
Маша, ты всё это писала ради концовки?

Вообще, ты прекрасная и удивительная.
_mak_
May. 20th, 2009 02:14 pm (UTC)
Дим, я тебе по секрету скажу, я ни для чего не писала. Остапа несло. :)) Но вообще это было вдохновлено вчерашними разговорами в твоем посте про программистов за 10 тыщ профита на нос. И Яшиными сетованиями о вырождении программистов. И м-эллиным постом про проджект менеджмент. Вобщем тема такая вчера носилась в воздухе :))

PS спасибо тебе на добром слове :)) вот у всех в блоге, как что напишут, тут же прибегают друзья и говорят "молодец", "плюс пяцот" и вообще. А меня все только критикуют :))) Как-то я не так себе друзей подбираю :)))

Edited at 2009-05-21 12:51 am (UTC)
pigdeon
May. 20th, 2009 02:56 pm (UTC)
А вот и анонимусы подтягиваются.
Описанное тобой\вами программирование как "искусство" закончилось, когда от решения каждой отдельной задачи перешли к решению класса задач. То есть, к нормальной инженерной деятельности. И произошло закономерное разделение на рабочих (владеющих инструментами) и инженеров (владеющих систематическим знанием). Когнитивный диссонанс возникает от предъявления рабочему инженерных требований (понимания того, как именно твой труд вливается в труд твоей республики). Опять же, ситуация четко осознана и описана в литературе уже в конце 1960х, когда были придуманы "хирургические бригады" и "дизайн-паттерны".
_mak_
May. 20th, 2009 03:38 pm (UTC)
Где анонимусы? Я никого не заметила...
Меня можно на ты.
Да, все правда. Когнитивный диссонанс возникает еще и от того, что мы всех этих работников клавы и мыши называем программистами.
(no subject) - pigdeon - May. 20th, 2009 03:57 pm (UTC) - Expand
(no subject) - _mak_ - May. 20th, 2009 06:31 pm (UTC) - Expand
(no subject) - maxxk - May. 21st, 2009 12:36 am (UTC) - Expand
(no subject) - _mak_ - May. 21st, 2009 12:50 am (UTC) - Expand
(no subject) - maxxk - May. 21st, 2009 01:03 am (UTC) - Expand
(no subject) - _mak_ - May. 21st, 2009 01:09 am (UTC) - Expand
Page 1 of 2
<<[1] [2] >>
( 91 comments — Leave a comment )