?

Log in

No account? Create an account
 
 
20 October 2010 @ 05:05 pm
Критические заметки к статье Н.Н.Непейвода и В.В.Рыкова о профессии программиста  
Сама статья здесь http://files.mail.ru/BSAT81

Первая часть замечаний: (Текст статьи - черным, мои комментарии красным)

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

1.      Что я хочу – программировать или решать задачи?

2.      Хочу я быть в подчинении у других или быть независимым?

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

 

Вопросы, на мой взгляд, совершенно детские. №1 вообще не понятен – что такое программирование не связанное с решением задач? Аналогия – просто пересыпать песочек или строить замки... Что-то «взрослых» примеров я придумать не могу.

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

№2 - вообще не о профессии, а о роде деятельности, что ли. Вопрос быть ли наемным работником или вольным контрактором-бизнесменом стоит независимо от профессии. Но "независимых" программистов мало: на что-то жить надо, а придумывать программы, чтобы потом их можно было успешно продавать почти невозможно...

№3 - ниже. 

 


Ребята, которых учат по стандартным программам, радуются, что могут быстро кодировать. Особенно это развито у их элиты: олимпиадников ACM. Само по себе такое умение очень хорошо.

 

Умение – вернее привычка - быстро писать программный код, на мой взгляд, плохо (и – объективно – почти никогда не полезно). Плохо – потому, что:

- остается мало времени подумать

- создаются длинные программы, что плохо по многим параметрам.

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

 

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

Конечно, есть кодеры высочайшего класса, которые востребованы даже в 63 года. Например, Михаил Фурман, будучи уволен из Yahoo, немедленно был взят в Майкрософт.

 

Уже упоминал, что персонально про меня это неправда (про Yahoo и Microsoft).

Но еще важнее – даже если оставить скорость (которая важна только в спорте, да и то не любом), соображения про возраст относятся к любым творческим профессиям, да и не только творческим.

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

И снова мне не нравится слово кодер. Это как скажем рассуждая о профессии писаталя (любого вида) придавать значение скорости писания или печатания. Кстати, аналогия весьма точная.

 

Но он умеет писать системы на голой машине, у него за спиной легендарная школа команды Кронрода и Арлазарова.

 

Не писал на голой машине уже лет пятнадцать. Хотя скажу, некоторая прелесть в этом есть. Также не водил автомобиля без автоматической трансмиссии лет 20. Аналогия, может, в данном случае не так и полна, но есть.

 


 
 
 
Фурман. Леша Фурманthe_furman on October 21st, 2010 12:18 am (UTC)
кто эти люди?
а статью саму критиковать не вижу смысла. я ее и дочитал-то с трудом. удивительно, что такой бред еще и публикуют.
Misha Furmanmishafurman on October 21st, 2010 03:13 am (UTC)
Н.Н.Непейвода - мой очень старый хороший знакомый и выдающийся математик - логик. Вот только не программист, хотя программистов учит. И я уверен, что успешно, потому что он из той нечастой породы людей - ученых/преподавателей, которые обладают свойством притягивать талантливых учеников. Если бы не это, я бы статью конечно не комментировал бы :)
Не знаю, впрочем, будет ли толк - Коля человек недоверчивый :)
Про второго - ничего не знаю.
Фурман. Леша Фурманthe_furman on October 21st, 2010 09:34 pm (UTC)
тогда тем более странно
Misha Furmanmishafurman on October 21st, 2010 09:42 pm (UTC)
Ты считаешь, что если уж гением, то надо быть во всех областях сразу? :)
Фурман. Леша Фурманthe_furman on October 21st, 2010 09:44 pm (UTC)
да нет. просто статья написана так, что я принял ее за студенческую работу.
Misha Furmanmishafurman on October 22nd, 2010 12:01 am (UTC)
Да, похожа - ну и что?

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

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

(Deleted comment)
Misha Furmanmishafurman on October 22nd, 2010 08:26 pm (UTC)
Ну, я то про то что в России мало что знаю.

Программист это конечно же инженер - собственно,
а кого еще и готовить то в негуманитарных профессиях - инженеров или ученых. Здесь в Штатах это и называется: software engineer, architect, analist, manager...
Впрочем разделение функций между этими профессиями в разных компаниях бывает разным.

IT специалистами здесь называют больше тех, кто занимается сервисом - организацией сетей, data-centers, итд - ето несколько в стороне.

Что я могу сказать? На моем опыте:
- Бюрократического стиля структуры с всеми этими архитектами итд обычно очень неэффективны. Но в больших проектах их применять принято и без них обходиться не так легко.
- Я думаю, нетривиальные успехи в Open Source ветке во многом результат того обстоятельства, что им приходится обходиться (почти) без бюрократии.
- Хороший программист-инженер обычно хорошим на архитектором ни менаджером быть не может. Все эти три специальности требуют (в идеале) разные качества, редко совместимые. Хорошо знаю это по себе и подтверждал наблюдением за другими...
once_for_all on October 30th, 2010 07:09 pm (UTC)
Совершенно никакой связи между возрастом и писанием кода. Среди 20 летних соотношение толковых и безнадежных ничуть не лучше чем среди 40 летних.
Да после определенного возраста возня надоедает, и люди уходят в личную жизнь и всякие хобби. Но опять таки, это ко всем профессиям относится в равной мере.
Misha Furmanmishafurman on October 30th, 2010 07:42 pm (UTC)
Ну связи, которую подразумевали авторы статьи - то есть то, что якобы юные более smart и пишут леше код - действительно нет. Но кое какая связь всеже есть:
- С возрастом приобретается опыт - и люди (многие, профессионалы) могут это делать лучше. То есть ровно противоположное, заявленному в статье.
- Нередко зарплаты выше у разного рода начальников - поэтому, многим с возрастом приходится ради денег (и почета тоже) переходить в начальники. Сейчас, слава богу, эта тенденция до некоторой степени меняется (по крайней мере в США в больших компаниях).

Ф процент толковых с возрастом, наверное, увеличивается - кроме фактора опыта, менее толковые уходят - или в начальеики или еще куда...
once_for_all on October 30th, 2010 09:41 pm (UTC)
Согласна. Особенно если под опытом вы имеете ввиду, что то вроде "ну а когда мы в третий раз писали платформу для алготрэйдинга, мы все это учли"...

Кстати в нашей области тоже поувольняли людей в 2008 году отовсюду, а набрали в 2009 в Нью-Йорке. И немало очень толковых ребят на соответсвующие деньги. Неслыханное дело за последнее десятилетие.
Misha Furmanmishafurman on October 30th, 2010 10:45 pm (UTC)
Ну, не часто мне в жизни удавалось делать 3 раза одно и тоже :) Разве какие-нибудь небольшие компоненты или приемы переиспользовать...
Я скорее имею в виду (на своем опыте) - весма широкий опыт в очень разных областях...
Кстати алготрейдинга я коснулся только слегка. Когда я сидел почти без работы 2001 в Бостоне, был у меня офер от трейдингого стартапа в Чикаго - но стартап должен был только еще организоваться, чего не случилось...

once_for_all on October 31st, 2010 04:02 pm (UTC)
Возможно это нью-йоркская специфика. Главный работодатель - Уолл стрит, если работаешь на какой-то price testing, то чтобы перейти в смежный risk valuation, приходиться прикладывать определенные усилия. Ну а задачи и подходы остаются теми же самыми, так то на разных платформах, когда-то на перле, потом на java, но пишут тоже самое.
Кстати что-то в этом есть - знание бизнеса, важнее чем опыт програмиста. Встречала я айтишников которые контроллерам объясняли их же собственную работу
Misha Furmanmishafurman on October 31st, 2010 04:56 pm (UTC)
Это далеко не только в Нью Йорке и не только в на бирже - но это немного другая профессия, я бы сказал. Типа как врач - узкий специалист...
once_for_all on October 31st, 2010 04:59 pm (UTC)
Да, есть определенное сходство. Тоже самое и с инженерными специализациями, надо думать