?

Log in

No account? Create an account
 
 
05 October 2015 @ 04:59 pm
Записки Программиста - 2  
                                     [Продолжение; начало в http://mishafurman.livejournal.com/382032.html]

Описывая в предыдущем фрагменте типичные причины проблем и неудач программистской индустрии я забыл упомянуть одну очень важную (особенно страшную в сочетании с первой) - то, что здесь называют "микроменеджмент". Это когда начальник начинает давать указания низкого уровня - как если бы командир землекопов указывал как держать лопату. Или еще пуще того - заставлял бы работать под команду: раз - два ....

Один из моих начальников, ЛГ, которого когда-то научили, что самый высший класс и самый быстрый код получается, если использовать ассемблер. И он велел, чуть ли не кричал, чтобы критические части писали на ассемблере. Меня это доводило и когда представился случай, я дал себе волю! О как-то попросил меня переделать ассемблерный код некоторой функции (кажется это было вычисление корреляции) чтобы он работал быстрее - код, который он сам написал некоторое время назад, и который не успевал обрабатывать данные в реальном времени. Задача была срочная, не до разговоров, и я переписал его используя С++ ускорив что-то раз в 5. Уже не помню, сразу ли он это заметил, но это было начало порчи наших отношений.

Совсем они испортились, когда он кричал на меня, что я должен использовать Hungarian Notation (HN: Венгерский стиль записи идентификаторов, значительно устаревший) : он благоговел перед Микрософтом (и, кажется, вкладывал деньги в его акции).

Кстати, что забавно, потом еще несколько раз, в разных фирмах ко мне пытались приставать с HN. И годы спустя, оказавшись сотрудником Микрософта, я из любопытства посмотрел инструкции по стилю программирования некоторого числа разных отделов: в половине примерно было явно указано, что использовать Hungarian Notation строго запрещается!  :)

Моя программистская карьера началась очень рано: неформально примерно в 10 классе школы, а формально - годом позже, когда поступив в пединститут меня взяли и на работу на кафедру теории чисел и вычислительной математики. Как сейчас помню, должность называлась "математик-программист", а зарплата = 52 с полтиной в месяц. За 20 с небольшим лет в СССР я сменил немного работ и все они отличались тем, что меня брали те кто хорошо меня знал и работал я в дружественных коллективах, да еще и рядом с людьми не слабее, а часто и сильнее меня. Кроме самой последней работы - кооператива, который я, собственно, и создал, все они были веточками весьма замечательного и необычного "дерева", которое изначально создал Александр Семенович Кронрод.
Я уже рассказывал немного об моей советской работе (в ЖЖ) раньше, а сейчас попробую рассказать о работах моей второй половины жизни - в Америке.
Здесь складывалось все сильно по другому. Прежде всего потому что меня тут никто не знал - кроме определенного количества "русских" знавших или слышавших обо мне с советских времен. И в доля этих "русских" сравнительно невелика: софтверная - программистская индустрия здесь в США громадна. К тому же приехал я во время экономического спада и работу находить было весьма нелегко. Мне, правда очень сильно помогли два обстоятельства:
- помощь друзей, знакомых и их круга - факт, что я приехал один с тремя детьми вызывал сочувствие и помогали мне и с поиском работы и вообще с устройство жизни значительно больше, чем я мог рассчитывал.
- определенная известность приобретенная в СССР играла тоже роль: здесь были люди, которые слышали обо мне - главным образом от того, что когда-то пользовались моими программами.

Первая моя работа (временная, по контракту) началась через несколько недель посте приезда (ничего интересного, кроме того, что она в тлеющем виде тянулась больше 15 лет и немало помогла мне в 2001 году, когда я полгода маялся без постоянной работы). И первая постоянная - через пару месяцев, в небольшой, только что созданной, почти исключительно русской компании. Эта компания (откуда я через год сбежал со значительными потерями) заслуживает некоторого описания.