?

Log in

No account? Create an account
 
 
04 October 2015 @ 05:37 pm
Записки Программиста - 1  
                                        "Меня милый не целует, не подходит близко: я, мол, чистый математик, а ты программистка"
                                         (из частушки, приведенной эпиграфом в книге А.С.Кронрода "Беседы о программировании")

Только что сообразил, что работаю я по своей специальности (программист или software engineer) почти ровно 50 лет. И почти ровно половину из них в СССР, а половину в США. Я уже писал (в ЖЖ) кое какие воспоминания о свей жизни и карьере, и сейчас мне захотелось продолжить эту серию. Это могут быть как некоторые отрывочные воспоминания, так и размышления; и то и другое в основном имеющие отношение к работе.

Начну с размышления. Не раз в своей профессиональной жизни я встречался (и продолжаю встречаться) с очень плохо сделанной работой, с очень неправильными решениями принятыми в процессе разработки программного обеспечения - того, что я обычно называю идиотизмом, хотя это скорей ругательство и не всегда справедливо: нередко люди старались и просто не смогли найти лучшее или правильное решение - может и по недостатку знаний, опыта или сообразительности, но уж точно не по буквальному идиотизму: совсем идиотов в нашей профессии я, кажется, не встречал. И немало размышлял о причинах подобных проблем и/или неудач. И постепенно пришел к некоторому списку наиболее заметных (для меня) причин, корней. Некоторые из них касаются программистов - инженеров, другие - начальников - менеджеров, а многие и тех и других. Попробую перечислить несколько, которые мне кажутся наиболее важными.

1. Стремление выглядеть более умным, опытным, знающим, чем ты есть на самом деле. Это совершенно естественное желание - как здесь говорят, умение продать себя. Особенно это распространено здесь, в США - в СССР это было распространено меньше. И порой без этого нельзя: скажем, ища работу в трудные времена, если ты не рекламируешь себя как можно сильнее, то можешь вообще остаться без работы: твое резюме просто и читать не станут.
Но, при поиске-то работы - ладно, но потом это приводит к массе проблем:
- непризнание до последнего своих ошибок: ведь ты же самый умный и не ошибаешься. Во многих случаях это удается и ошибка (в лучшем случае исправимый позже "баг", а то и неверно сконструированное и неправильно работающее что-то) так и попадает в конечный продукт.
- Возможно, еще хуже: такие люди обычно постепенно начинают верить в свой завышенный уровень сами (по крайней мере частично)что сильно мешает собственному прогрессу. Они перестают учиться, меньше прислушиваются чужим мнениям и.т.д. Понятно, что последствия подобного весьма нехороши.

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

В США я подобное встречал чаще - и среди программистов и среди менеджеров (постараюсь потом подробнее рассказать о нескольких подобных эпизодах). Интересно, что традиция подобного поведения сильна и я дважды был критикуем начальниками (правда, в обоих случаях "русскими", хотя и совсем в разных работах) за то что часто спокойно говорил, что я в чем-то не очень разбираюсь или в чем-то не уверен!

2. Для начальника: неограниченное доверие определенному лицу. Говорят, бывает еще более суровая разновидность: доверие (в технических или организационных организационных вопросах) кому-то на основании личных отношений. Я такого не наблюдал, но слышал, как в дела некоторой компании вмешивалась жена его президента. Такое особенно характерно для "русских" компаний, то есть таких, которые основаны выходцами из СССР или России.

Для больших серьезных компаний есть еще немало других дефектов, но тут мой опыт невелик и обобщений я (по крайней мере пока) делать не буду.

[Надеюсь, что продолжение следует]
 
 
 
b_n_eb_n_e on October 7th, 2015 04:57 pm (UTC)
Любопытно
Тема заблуждений вообще давняя
Мне нравится как про это пишет Милль в своей ЛОГИКЕ
А Любищев выделил две группы причин:
- недостаток компетентности;
- избыток энтузиазма.
Ну да, они могут совмещаться

А Паркинсон писал о совмещении отсутствия компетентности с завистью
Misha Furmanmishafurman on October 12th, 2015 02:49 am (UTC)
Re: Любопытно
Ну, мне кажется, что то, что я писал чуть другое.
Прежде всего, представление о компетентности как о скалярной величине (по Паркинсону, С Миллем и Любищевым я практически незнаком) - очень грубо и на уровне, о котором я говорю не работает.
Просто некомпетентных людей из технической компании увольняют, а скорее не берут.
Реально у каждого работника (инженера или исследователя) есть и сильные и слабые стороны. Как в области знаний и умений, что часто поправимо, но почему-то на пробелы здесь чаще обращают внимание. Так и в опыте, сообразительности и инженерных/научных навыках.
И, если человек обманывает, преувеличивает, то одно дело, как это роспознать, IMO - не самое важное. А другое, что это портит людей, не дает им учиться и/или совершенствоватья. И потому, что это стыдно показать перед ругими. И потому что люди сами начинают верить, что они самые-самые.
b_n_eb_n_e on October 12th, 2015 04:24 am (UTC)
Re: Любопытно
Теоретически удобнее говорить о векторе
Но обычно подразумевается что-то вроде базового (минимально необходимого) набора по его компонентам
По нему строится векторный критерий (скажем объем гиперкуба как произведения)
И требования к знаниям и навыку потихоньку ползут

Самообман и вранье идущие от избытка энтузиазма или привычки не украшают ;-(
Есть еще один технический момент - представление о степени сложности и уровне тестирования, оформления и окончательной завершенности
Тут многое зависит от личных навыков и параллельных задач
Misha Furmanmishafurman on October 12th, 2015 09:47 pm (UTC)
Re: Любопытно
С вектором не так просто: бывают измерения почти никогда не совместимые.
b_n_eb_n_e on October 13th, 2015 06:28 am (UTC)
Re: Любопытно
Если бывают разные и несовместимые типы то можно вводить типологию
При этом для каждого из типов свертывать векторный критерий по своему

С другой стороны это далеко уводит тему в сторону профессионального тестирования и его надежности