<?xml version='1.0' encoding='UTF-8'?><rss xmlns:atom='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' version='2.0'><channel><atom:id>tag:blogger.com,1999:blog-2519101447023967267</atom:id><lastBuildDate>Wed, 01 Jul 2009 18:54:28 +0000</lastBuildDate><title>Профессия IT</title><description>Информационные технологии: карьера, трудоустройство, организация процесса производства программного обеспечения.</description><link>http://www.alvosoft.com/itlife/</link><managingEditor>kvl_mikki@mail.ru (Alvo)</managingEditor><generator>Blogger</generator><openSearch:totalResults>57</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-2519101447023967267.post-2994672430486708094</guid><pubDate>Wed, 24 Jun 2009 20:30:00 +0000</pubDate><atom:updated>2009-06-25T00:58:29.480+04:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>разное</category><title>Про Lotus Symphony</title><description>Как программист, я считаю пиратов своими кровными врагами, отнимающими деньги у меня. Поэтому, сам использую, а также пропагандирую использование неворованного ПО.&lt;div&gt;И вот, в новостях прочел, что вышла новая версия Symphony. Я раньше слышал про этот набор ПО, но все руки не доходили попробовать. Тем, кто не знает- это сделанный на основе OpenOffice пакет офисных программ: текстовый редактор, электронные таблицы, презентации.&lt;/div&gt;&lt;div&gt;До этого у меня стояли OpenOffice, StarOffice, но я их удалил- их использовать для полноценной работы практически невозможно. Будете смеяться, но я даже предпочитал работать в Google Docs, чем использовать эти поделки.&lt;/div&gt;&lt;div&gt;Теперь вот, наконец, попробовал Lotus Symphony. Очень приятно удивил меня этот пакет. Я вообще-то вредный пользователь: использую и макросы, и стили, и различные виды разметок, связи между документами. Мне все это надо. Ни OpenOffice, ни StarOffice, ни Google Docs этого не умеют или в них это реализованно очень криво. MS Office это все может, но он денег стоит. Нет, конечно Symphony по функционалу не то что не переплюнул MS Office, он даже и близко не подошел. Тем не менее, отмечу приятный интерфейс, макросы, возможность чтения кучи документов в разных форматах. В общем и целом молодцы!&lt;br /&gt;&lt;div&gt;Из минусов- просто поразительные 60 мегабайт оперативной памяти занимает и весьма медленно запускается.&lt;/div&gt;&lt;div&gt;На первый взгляд, Lotus Symphony- продукт, достойный вашего внимания. Попробуйте и вы поработать на нем!&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2519101447023967267-2994672430486708094?l=www.alvosoft.com%2Fitlife%2Findex.html'/&gt;&lt;/div&gt;</description><link>http://www.alvosoft.com/itlife/2009/06/lotus-symphony.html</link><author>kvl_mikki@mail.ru (Alvo)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-2519101447023967267.post-7419188705004827741</guid><pubDate>Wed, 24 Jun 2009 19:37:00 +0000</pubDate><atom:updated>2009-06-24T23:55:48.286+04:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>разное</category><title>Карты от Microsoft: Bing Maps. Какой сюрприз!</title><description>&lt;div&gt;В заголовке есть ссылочка. У кого Bing Maps не установлены, вот скриншот:&lt;/div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.alvosoft.com/itlife/uploaded_images/globus-751586.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 200px; height: 125px;" src="http://www.alvosoft.com/itlife/uploaded_images/globus-751575.png" border="0" alt="" /&gt;&lt;/a&gt;Присмотритесь, ничего не замечаете? На карте есть Казахстан, Украина, даже малюсенькая Грузия подписана огромным шрифтом, явно более крупным чем, например, Казахстан. Но на месте России красуется белое неподписанное пятно! За что так обидели Россию? А за что Грузию в "любимчики" записали?&lt;div&gt;Правда, замечу, если поувеличивать карту, то можно подобрать масштаб, при котором и слово Россия появляется. Но оно появляется вместе с названиями городов. На более крупном масштабе, на котором показываются названия только стран, оно пропадает, оставляя на своем месте лишь маленькие черные точечки.&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: center;"&gt;&lt;b&gt;Обращаюсь к россиянам-евангелистам от Майкрософт, восстановите славное имя Россия на глобусе Bing Maps!&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt; &lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2519101447023967267-7419188705004827741?l=www.alvosoft.com%2Fitlife%2Findex.html'/&gt;&lt;/div&gt;</description><link>http://www.alvosoft.com/itlife/2009/06/microsoft-bing-maps.html</link><author>kvl_mikki@mail.ru (Alvo)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>3</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-2519101447023967267.post-6692144665982160312</guid><pubDate>Mon, 27 Apr 2009 08:43:00 +0000</pubDate><atom:updated>2009-04-27T13:32:04.521+04:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>образование</category><category domain='http://www.blogger.com/atom/ns#'>карьера</category><category domain='http://www.blogger.com/atom/ns#'>деньги</category><title>Молот ненависти</title><description>&lt;p align="RIGHT"&gt;&lt;i&gt;Ученье- свет, а неученье- тьма.&lt;/i&gt;&lt;/p&gt;&lt;p&gt;Для быстрого старта в мире ИТ я давал &lt;a href="http://www.alvosoft.com/itlife/2007/04/blog-post_24.html"&gt;рекомендации&lt;/a&gt;. Однако, лет через пять успешного труда и продвижения по карьерной лестнице, многие почувствуют ЭТО. Сначала не обратят внимания, потом ЭТО вызовет раздражение, потом ненависть, уныние, депрессию. Затем в каком-либо программистском форуме появится вопрос: "Что делать, куда двигаться дальше?" Да, все верно, ЭТО он- &lt;a href="http://ru.wikipedia.org/wiki/%D0%A1%D1%82%D0%B5%D0%BA%D0%BB%D1%8F%D0%BD%D0%BD%D1%8B%D0%B9_%D0%BF%D0%BE%D1%82%D0%BE%D0%BB%D0%BE%D0%BA"&gt;"стеклянный потолок"&lt;/a&gt;. Это когда вы чувствуете, что дальнейшие усилия для продвижения по карьерной лестнице, для повышения зарплаты приносят все меньше и меньше денег. В конечном итоге, вы понимаете, что можно все 24 часа работать, и при этом, реально, существенного улучшения материальных условий у вас не произойдет. Теряется смысл дальше ударно работать, быть инициативным, креативным. Блеск в глазах тускнеет, пульс замедляется… Мозг сверлит вопрос: «Это конец»?&lt;/p&gt;&lt;p&gt;Моих первоначальных рекомендаций, данных ранее в этом блоге, хватит только для того, чтобы достичь этого мифического "стеклянного потолка". Каким молотком раскрошить эту, ненавистную многим, невидимую преграду, в своем блоге я еще не описывал. Вот и давайте поговорим об этом "молоте ненависти".&lt;/p&gt;&lt;p&gt;Конечно, всегда есть крайние случаи: кто-то решает радикально сменить профессию, и уходит в менеджеры. Однако все менеджерами и руководителями стать не смогут– хотя бы потому, что всем мест не хватит. Так что же делать остальным?&lt;/p&gt;&lt;p&gt;Есть другая крайность- &lt;a href="http://www.alvosoft.com/itlife/2007/12/downshifting.html"&gt;дауншифтинг&lt;/a&gt;. Живите в свое удовольствие, под этим стеклянным потолком. Почему бы нет, если психологически это вас не тяготит и денег хватает?&lt;/p&gt;&lt;p&gt;Промежуточный вариант: продолжать заниматься любимым делом, но, все же, как-то, хоть чуточку, продавить верхнюю планку по зарплате вверх. Указанного мною &lt;a href="http://www.alvosoft.com/itlife/2007/04/blog-post_24.html"&gt;минимума&lt;/a&gt; тут уже не хватит. Предлагаемый мною вариант: расширить свои знания. Новое знание - это как дополнительная степень свободы, придаст вам гибкость и позволит точнее адаптироваться к рынку труда, лучше соответствовать ожиданиям работодателей. А за это уже можно и денег больше просить. Да, скорее всего, их вам и так предложат. У каждой специализации есть свои особенности, однако можно выделить некоторые универсальные рекомендации.&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;p&gt;Пожалуй, как основное, я выделил бы совершенствование знаний в выбранной области деятельности. Научитесь не просто программировать, а узнайте тонкости компилятора. Изучите технологическую основу, на базе которой разработан компилятор и используемые вами в работе библиотеки. Ведь используемые технологии определяются назначением языка программирования, а все вместе формирует область применения. В этой области применения использование вашего инструментария будет наиболее эффективным, а четкое знание назначения, области применения, технологий позволит точно определять свои возможности, правильно позиционироваться на рынке труда. К тому же это отучит вас от глупой мысли: «Мне все равно, на чем программировать - я выбираю тот инструмент, на котором мне удобно решить задачу». Чтобы понять, почему это- глупость несусветная,  прочтите эту &lt;a href="http://www.alvosoft.com/itlife/2007/04/blog-post_18.html"&gt;статью&lt;/a&gt; (п. 6).&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;Учите английский язык. Знание языка открывает широкие перспективы поездить, поработать по всему миру. Кроме того, вы без труда сможете читать англоязычные профессиональные форумы, читать документацию из первоисточников. Это реальное,  конкурентное преимущество на рынке труда. Даже если вас не привлекает перспектива работы за границей, то у вас появляется возможность трудоустройства в российские представительства иностранных компаний. Там, как правило, требуется обязательно знать английский язык. Учтите к тому же, что зарплата в представительствах повыше будет, чем в среднем по рынку. Как видите, знание языка- сильнейший удар по «стеклянному потолку».&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;Научитесь усидчивости. Мой научный руководитель в университете постоянно сетовал, что нынешняя молодежь не умеет читать. Это правда. Очень важно научится читать внимательно, вдумчиво. Выжимая по максимуму информацию из каждой строчки. К своему стыду, я вспомнил свою историю на заре трудовой карьеры. У меня была английская документация по микросхеме. Я, в соответствии с ней, программировал микросхему, мне возвращался статус «ОК», но ничего не работало. Микросхема редкая, в России я, похоже, был первым, кто с ней работал – я на уши поставил форумы, поднял все свои связи. Никто не мог мне помочь. Через ПОЛГОДА я таки разобрал документацию. Вся проблема заключалась в одном слове. Я не мог его перевести. Оно было очень маленькое, короткое и я придавал мало ему внимания, считая, что это какая-то частица или междометие. Я ПОЛГОДА КАЖДЫЙ день бился с этой микросхемой, но как только понял смысл этого слова, я в этот же день смог ее запустить.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;Учитесь понимать других людей. Вдумывайтесь в то, что говорят вам. Приведу в качестве примера привычку отвечать буквально на каждое предложение оппоненту в дискуссии на форумах. Весь текст разбивается на цитаты, и по каждой цитате пишется ответ, прямо вот как сверху вниз читается текст, так сразу пишется ответ. При этом текст не воспринимается целостно, вырванные из контекста цитаты становятся бессмысленными и часто даже противоречащими друг другу. Дочитайте мысль оппонента до конца. Обдумайте и напишите целостный ответ, не рванный на цитаты. Сохраните в черновиках. Вернитесь к ответу через часик-другой. В 90% случаев вы поймете, что ответили чушь, и, что вообще лучше не отвечать. И, если после этого всего равно вы увидели, что дали достойный ответ, то тогда и отправляйте его оппоненту. В своем блоге я очень часто сталкиваюсь с этим. Вот и с предыдущей статьей про MS Dynamics так получилось. Ее прочли несколько сотен человек, но нашлись несколько человек, которые не поняли ее мысли, оценив ее по шаблону. Идея статьи в том, что я, как дилетант, взглянул на продукт и сказал, что мне там непонятно и помечтал о том, как бы я его развивал (я так и написал в статье «пофантазируем»). Однако, это было воспринято как неквалифицированная критика ПО и вызвало резкую реакцию. Пока не раздулся излишний флейм, я быстренько еще раз жирным буквами разжевал смысл статьи. Я, в свою очередь, буду стараться попроще, пояснее доносить свои мысли, но все же и комментарии мне желательно оставлять подумавши.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;Последнее, что бы я посоветовал для общего развития – изучайте прикладную математику. Алгоритмы. Читайте Кнута. Это из разряда вечных ценностей.&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;А теперь, резюмируя все выше сказанное, посмотрите, как заманчиво выглядит все это: «Специалист в своей области. Знающий досконально соответствующие стандарты и технологии. Внимательный и тщательный. Имеющий широкую алгоритмическую подготовку. Бегло говорящий на английском языке.» Даже такое абстрактное описание у работодателя уже вызовет слюнки. А вы, вооруженные собранными воедино перечисленными знаниями, без труда пробьете, как молотом, этот ненавистный «стеклянный потолок».&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2519101447023967267-6692144665982160312?l=www.alvosoft.com%2Fitlife%2Findex.html'/&gt;&lt;/div&gt;</description><link>http://www.alvosoft.com/itlife/2009/04/blog-post_27.html</link><author>kvl_mikki@mail.ru (Alvo)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-2519101447023967267.post-8333134125716423606</guid><pubDate>Mon, 13 Apr 2009 11:04:00 +0000</pubDate><atom:updated>2009-04-13T15:14:50.483+04:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>карьера</category><title>Амбиции против голоса разума</title><description>&lt;p&gt;Хочу высказать свое возмущение некоторыми публикуемыми вакансиями, а работодателям дать шикарный тест для претендентов на должность ведущего программиста или архитектора в конце статьи. В очередной раз читаю среди вакансий на форуме: "...требуется системный архитектор..., муж., возраст 25-35 лет...". В комментариях и без меня хватило народу, чтобы в пух и прах разнести эти требования. Что же лично мне не нравится в вакансии, кроме того, что указание пола и возраста противоречит конституции РФ?&lt;/p&gt;&lt;p&gt;Как вы думаете, сколько времени надо на подготовку системного архитектора, настоящего профессионала, которого можно "пускать сразу в бой"? Давайте посчитаем.&lt;/p&gt;&lt;ol&gt;&lt;li&gt;В 22-23 года большинство заканчивает ВУЗ. Хорошо, если студент заранее стажировался в софтверной компании. Однако, как показывает опыт, уделять существенное время работе он не может из-за учебы. Фактически, студента можно использовать только для очень маленьких задач, буквально с ежедневным контролем их выполнения.&lt;/li&gt;&lt;li&gt;Ясно, что на работу ведущим программистом, выпускника, с мизерным опытом работы, вряд какая-либо компания возьмет. Это означает примерно 1-2 года работы на стажерских позициях или работа в должности программиста, но без ответственности за проект. Практически, только после 25 лет программисту-стажеру можно будет поручать самостоятельную работу над участком проекта, не боясь, что он там сильно "накосячит".&lt;/li&gt;&lt;li&gt;Однако чтобы стать действительно ведущим программистов, не по бумажке, а по опыту работу, по знаниям, надо чтобы прошло еще лет пять. Я не вычислял эти цифры- все "на своей шкуре" испытано. Необходим багаж полностью выполненных 2-3 проектов, чтобы пройти через все стадии разработки и закрепить эти знания. Учитывая, что серьезные проекты длятся от полугода до нескольких лет, то 5 лет на работе в должности программиста уже не выглядят большой цифрой. Это минимум. Таким образом, нам 30 лет, а мы все еще программисты.&lt;/li&gt;&lt;li&gt;После этого надо поработать ведущим программистом. Это даст опыт руководства группой программистов, умение распределять и ставить задачи. Этот этап перепрыгнуть нельзя - архитектор, не умеющий общаться, доступно излагать мысли ничего не стоит. Аналогично, 2-3 проекта для накопления и закрепления опыта. Это еще примерно 5 лет, а значит наш возраст уже 35 лет.&lt;/li&gt;&lt;li&gt;Вот тут уже, после 35 лет жизни, можно и о карьере системного архитектора задуматься. Если пыл еще не угас, то почитайте, что надо чтобы получить &lt;a href="http://www.microsoft.com/learning/mcp/architect/default.mspx" target="_blank"&gt;сертификат архитектора от Microsoft&lt;/a&gt;. Тут явно 35 годами жизни не отделаешься. Но уж если получили сертификат, нашли работу архитектора, то примите мои поздравления - вы достигли действительно выдающихся результатов!&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;А теперь, возвращаясь к первоначальному вопросу, я хотел бы спросить того работодателя: "Где вы вообще видели архитекторов до 35 лет?" И другой вопрос к претендентам на эту должность: "Вам меньше 35 лет? Вы уверены, что действительно являетесь архитекторами на деле?" Чтобы многим сбить самомнение предлагаю шикарный тест, который недавно мне преподнесла жизнь. Я с тестом справился отлично. Недаром уже несколько лет работаю ведущим программистом, а не только по трудовой числюсь таковым. Итак, задача.&lt;/p&gt;&lt;p&gt;Недавно я записывал свою дочь на прием к врачу. Процедура многим известная: утром приходишь, берешь тетрадку с графиком приема врача, и вписываешь туда свою фамилию на то время, которое еще не занято и тебе удобно. Однако, т.к. врачей катастрофически не хватает, то к тетрадкам выстраивается очередь. Люди заранее занимают очереди к тетрадкам за несколько часов до открытия поликлиники. Для доступа к каждой тетрадке формируется своя очередь. Многие родители записывают своих детей сразу к нескольким врачам, соответственно, занимая сразу несколько очередей.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Задание 1.&lt;/strong&gt; Разработайте формализованную модель описанной процедуры записи на прием к врачу.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Задание 2.&lt;/strong&gt; Укажите слабые места в таком способе записи на прием к врачу.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Задание 3.&lt;/strong&gt; Представьте, что вы пришли на запись в 7 утра, а очередь уже из 50 человек. При этом врач принимает не более 15 человек в день, т.е. в этот день на прием записаться вы не успеете. Можно ли что-то все-таки сделать, чтобы записаться (применение силы и взятка не считается)?&lt;/p&gt;&lt;p&gt;Ответы:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;В общем-то, это типичная модель многопоточного приложения. Есть ограниченный ресурс: врач, доступ к нему организован через некое подобие мьютекса - тетрадку. Каждый человек - отдельный поток, становящийся в очередь для получения доступа к разделяемому ресурсу.&lt;/li&gt;&lt;li&gt;Типовые слабые места многопоточного приложения (например, сложность синхронизации потоков).&lt;/li&gt;&lt;li&gt;Чтобы продвинуться в очереди, можно воспользоваться ее слабыми местами. Например, совершенно понятно, что человеку, занявшему несколько очередей, очень сложно отследить движение нескольких очередей, а когда сразу десятки человек пытаются делать это одновременно, то задача слежения (синхронизации) за очередями становится вообще не решаемой. Это слабое место. Поэтому, пока другие заняты дележкой мест в очередях, тихо двигаетесь вперед - когда откроют поликлинику, все очереди перемешаются, и прав будет тот, кто первый схватит заветную тетрадку. Личный рекорд - пришел где-то пятидесятым, записался в тетрадку третьим.&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;PS: Набирал текст в «Google Docs». Как же он меня замучил! Регулярно автоматически сохраняется, и при этом теряется фокус с области ввода текста. Надо брать мышку и снова тыкать в то место, на котором меня застало врасплох это чертово автосохранение! Случается это через раз, и достает сильно.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2519101447023967267-8333134125716423606?l=www.alvosoft.com%2Fitlife%2Findex.html'/&gt;&lt;/div&gt;</description><link>http://www.alvosoft.com/itlife/2009/04/blog-post.html</link><author>kvl_mikki@mail.ru (Alvo)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-2519101447023967267.post-3850665979248951637</guid><pubDate>Fri, 27 Mar 2009 10:33:00 +0000</pubDate><atom:updated>2009-03-30T17:04:59.719+04:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>производство</category><title>Что я бы сделал с MS Dynamics</title><description>&lt;p&gt;Прочитал &lt;a href="http://itblogs.ru/blogs/kolesov/archive/2009/03/22/46174.aspx" title="Что удалось узнать про MS Dynamics" target="_blank"&gt;Андрея Колесова&lt;/a&gt;  про MS Dynamics или вот здесь еще:&lt;/p&gt;&lt;br /&gt;&lt;table style="BACKGROUND-COLOR: #fff; MARGIN: 10px" class="zeroBorder" border="0" width="75%"&gt;&lt;tbody&gt;&lt;/tbody&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td align="right"&gt;&lt;a href="http://www.pcweek.ru/" target="_blank"&gt;&lt;img style="WIDTH: 100px; HEIGHT: 30px" alt="PC Week/RE" src="http://www.pcweek.ru/images/pcweek/logo-blog.gif" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://www.pcweek.ru/themes/detail.php?ID=118269" target="_blank"&gt;&lt;img style="MARGIN: 0px 5px 5px 0px; WIDTH: 70px; FLOAT: left; HEIGHT: 50px" alt="Открыть материал" src="http://www.pcweek.ru/upload/iblock/165/90318daxk.jpg" /&gt;&lt;/a&gt;&lt;a style="FONT: 14px Arial; COLOR: #000; TEXT-DECORATION: none" href="http://www.pcweek.ru/themes/detail.php?ID=118269" target="_blank"&gt;&lt;b&gt;Microsoft готовит новую версию Dynamics AX&lt;/b&gt;&lt;/a&gt;&lt;br /&gt;&lt;a style="FONT: 12px Arial; COLOR: #000; TEXT-DECORATION: none" href="http://www.pcweek.ru/themes/detail.php?ID=118269" target="_blank"&gt;Microsoft -- точнее, ее подразделение Microsoft Business Solutions -- не собирается снижать свою активность в …&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right"&gt;&lt;a style="FONT: 12px Arial" href="http://www.pcweek.ru/themes/detail.php?ID=118269" target="_blank"&gt;Открыть материал&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;Все же интересная ситуация вокруг этого продукта. Обычно Microsoft мощно заходит на новые для себя рынки: регулярно выпускают новые версии; распространяют ПО разными путями, в том числе, бесплатная поставка в составе ОС; добиваются того, чтобы продукт в своем сегменте был лучшим и занял доминирующее положение. А тут- многолетняя вялость. Вбухали денег в покупку Axapta, Navision- ну хоть бы как-тор их слили, выстроили из них единую линейку решений для бизнесов разного уровня. В одной стороны, реклама как бы есть, но с другой стороны посмотрите на интернет ресурсы, посвященные этому ПО:&lt;br&gt;&lt;a href="http://www.microsoft.com/rus/dynamics/default.mspx"&gt;http://www.microsoft.com/rus/dynamics/default.mspx&lt;/a&gt;&lt;br&gt;&lt;a href="http://www.ms-dynamics.ru/"&gt;http://www.ms-dynamics.ru/&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Это самое лучшее, что я нашел. Бедность и убогость- вот мои впечатления. ведь автоматизация деятельности предприятий- это большой и денежный рынок. 1С на этом рынке больше похож на рака из пословицы "на безрыбье и рак рыба". У этой российской системы много слабых мест СИСТЕМНОГО уровня, т.е. фактически не устранимых. Пользуясь слабыми местами конкурента, несколькими движениями можно занять значительную долю на этом рынке.&lt;/p&gt;&lt;p&gt;Можно констатировать парадоксальную ситуацию: есть продукт, на который много затрачено денег; есть рынок, который еще не "закостенел" и довольно таки чувствителен к изменениями; стратегия Microsoft и тут применима, однако колОс замер, почти не двигается. Я много лет занимался внедрениями, автоматизацией предприятий, в свое время "накушался" 1Ски по "самое не хочу", т.е. эта сфера деятельности для меня не чуждая. С MS Dynamics сталкиваться не приходилось- только общие описания из интернета. Вот мне и стало интересно, а как бы я продвигал этот продукт. Пофантазируем?&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Интерфейсы перегружены контролами- конечно, впечатляет, сразу думаешь как много может программа, но пользоваться этим не хочется. Надо переделать формы.&lt;/li&gt;&lt;li&gt;Мало материала в интернете. Если нет соответствующего евангелиста в компании, то назначить, если есть- дать "втык".&lt;/li&gt;&lt;li&gt;Перевести англоязычный интерфейс и справку на русский язык. Это уж форменное безобразие: как вы себе представляете кладовщика, который пыжится понять что-то по английски&lt;/li&gt;&lt;li&gt;Книги: руководства пользователя, программиста, "Dynamics за 21 день" и т.п.&lt;/li&gt;&lt;li&gt;Пробная версия с сайта отдается только по запросу. Надо сделать бесплатную триальную версию, выложить ее на сайт для закачки одним кликом, без всяких запросов. При этом сразу после установки должен запускаться самоучитель и обучать на установленном типовом примере. Типовом именно для российских реалий. В идеале- чтобы в самоучителе, введя данные, человек мог сразу для себя сделать конфигурацию и продолжить работать уже в обычном режиме используя программу.&lt;/li&gt;&lt;li&gt;На сайте Майкрософт по Dynamics куда на страницу не ткни, чаще всего попадаешь на просьбу позвонить. Раздражает.&lt;/li&gt;&lt;li&gt;Нужны типовые конфигурации, регламентированная отчетность.&lt;/li&gt;&lt;li&gt;Регулярные обновления конфигураций в соответствии с законодательством (важно для мелкого и среднего бизнеса). Для этого проще заключить договор с какой-либо российской фирмой, чтобы она поставляла такие обновления.&lt;/li&gt;&lt;li&gt;Продвижение академических программ: в ВУЗах есть такая специальность: информационные технологии в экономике. Кафедры будут обеими руками "за".&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;Самые важные тут пункты: русскоязычный интерфейс, типовые конфигурации, регулярные обновления. В статье говорилось про руссификацию, типовые конфигурации. Уже хорошо, но не достаточно. Есть такой продукт: ВС:Бухгалтерия, он и русский, и конфигурация есть, и вроде все из перечисленного есть, а реально о нем мало кто знает. В свое время наши "бухи" пробовали его. Вроде все понравилось, но от внедрения остановило то, что не понятно было как обновления получать- так и остались на 1Ске. Так, что эти пункты- только очевидное, а на самом деле работы там только начать и делать, делать, делать...&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2519101447023967267-3850665979248951637?l=www.alvosoft.com%2Fitlife%2Findex.html'/&gt;&lt;/div&gt;</description><link>http://www.alvosoft.com/itlife/2009/03/ms-dynamics.html</link><author>kvl_mikki@mail.ru (Alvo)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>9</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-2519101447023967267.post-8590037713683457015</guid><pubDate>Mon, 16 Mar 2009 20:59:00 +0000</pubDate><atom:updated>2009-03-17T00:31:37.156+03:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>разное</category><title>"Моя твоя не понимать!"</title><description>&lt;p&gt;Прочитал сегодня в новостях:&lt;/p&gt;&lt;br /&gt;&lt;table cellpadding="2" cellspacing="0" bgcolor="white" style="border: 1px solid #c0c0c0; font: 12px normal Verdana, Arial, Helvetica, sans-serif;"&gt;&lt;tr&gt;&lt;td width="10%" valign="top" style="vertical-align:top; padding: 2px"&gt;&lt;img src="http://pics.top.rbc.ru/top_pics/uniora/07/1237209409_0207.250x200.jpeg" width="150" height="120" alt="С.Иванов: Кризис почти не сказался на IT-индустрии" &gt;&lt;/td&gt;&lt;td width="90%" valign="top" style="vertical-align:top; padding: 2px"&gt;&lt;a href="http://www.rbc.ru/" title="РБК"&gt;&lt;img src="http://pics.top.rbc.ru/top_pics/rbclogo.png" vspace="2" border="0" &gt;&lt;/a&gt;&lt;div style="font-size:0; height:1px; border-bottom:1px solid #183C73"&gt;&lt;/div&gt;&lt;div style="margin:5px 0 0; padding:0; font-weight: normal; color: #000;"&gt;&lt;font size="3"&gt;&lt;b&gt;С.Иванов: Кризис почти не сказался на IT-индустрии&lt;/b&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="2"&gt;&lt;p style="margin: 5px; padding: 0; font-size: 12px; color: #000;"&gt;IT-индустрия в России пострадала от кризиса в меньшей степени. Такое мнение журналистам высказал в ходе визита в Санкт-Петербург заместитель председателя правительства России Сергей Иванов. "Эта отрасль инновационная, здесь не требуется большого количества занятых, поэтому серьезных опасений у нас нет", - сказал он.&lt;br /&gt;&lt;br /&gt;Вице-премьер отметил, что существуют некоторые проблемы с кредитованием, поскольку сейчас "очень дорогие деньги". "Кредиты разорительны, если не применять систем субсидирования и другой поддержки правительства....&lt;a href="http://top.rbc.ru/economics/16/03/2009/287200.shtml" style="color:#808080"&gt;&lt;font color="#808080"&gt;Читать далее &gt;&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;&lt;p style="margin: 5px; padding: 0; font-size: 12px;" &gt;&lt;a href="http://top.rbc.ru/retail" style="color:#808080"&gt;&lt;font color="#808080"&gt;РБК. Потребрынок&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;p&gt;Как же эти заявления соотнести с этим:&lt;/p&gt;&lt;br /&gt;&lt;div style="padding:5px;"&gt;&lt;table cellpadding="0" cellspacing="0" width="100%" border="0" style="border:1px solid #a5aaba; background:#fff; font-family:Arial, Helvetica, sans-serif; font-size:12px;"&gt;&lt;tr&gt;&lt;td colspan="2" style="padding:12px 10px 0;"&gt;&lt;a href="http://www.bfm.ru/" title="BFM.RU"&gt;&lt;img src="http://static.bfm.ru/images/bfm-forblog.png?v=6588a"  alt="BFM.RU" border="0" width="132" height="32" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;tr&gt;&lt;td colspan="2" style="color:#484d59; padding:10px 10px 5px; line-height:130%;"&gt;&lt;span&gt;&lt;strong&gt;16 марта&lt;/strong&gt; 2009 года&lt;/span&gt; // &lt;a href="http://www.bfm.ru/news/list/branch/macroeconomics/"&gt;Макроэкономика&lt;/a&gt;, &lt;a href="http://www.bfm.ru/news/list/geo/749/" style="color:#7e828c;"&gt;Россия&lt;/a&gt;, &lt;a href="http://www.bfm.ru/news/list/stories/%CA%F0%E8%E7%E8%F1/" style="color:#7e828c;"&gt;Кризис&lt;/a&gt;, &lt;a href="http://www.bfm.ru/news/list/stories/%CA%F0%E8%E7%E8%F1+%E2+%D0%EE%F1%F1%E8%E8/" style="color:#7e828c;"&gt;Кризис в России&lt;/a&gt;, &lt;a href="http://www.bfm.ru/news/list/stories/%EF%F0%EE%E3%ED%EE%E7/" style="color:#7e828c;"&gt;прогноз&lt;/a&gt;, &lt;a href="http://www.bfm.ru/news/list/stories/%E4%E5%F4%E8%F6%E8%F2+%E1%FE%E4%E6%E5%F2%E0/" style="color:#7e828c;"&gt;дефицит бюджета&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="2" style="padding:0 10px;"&gt;&lt;a href="http://www.bfm.ru/news/2009/03/16/regiony-poshli-na-sokrashhenie-bjudzhetov.html" style="font-size:18px; color:#2455b9;"&gt;Регионы пошли на сокращение бюджетов&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="padding:11px 10px 12px;line-height:130%; color:#484d59;"&gt;&lt;a href="http://www.bfm.ru/news/2009/03/16/regiony-poshli-na-sokrashhenie-bjudzhetov.html" title="Регионы пошли на сокращение бюджетов"&gt;&lt;img src="http://media.bfm.ru/news/currentnew/2009/03/16/rec2.jpg" alt="В ряде регионов РФ сокращаются расходы на коммунальные услуги. Фото: ИТАР-ТАСС" style="float:left; margin:0 10px 10px 0;" border="0" /&gt;&lt;/a&gt;Российские регионы проводят резкое — до 30% — сокращение бюджетных расходов, о чем информируют Минфин. Под сокращение попадают работники местных администраций, автопарк чиновников, региональные программы развития. Капитальные вложения урежут на 50-90%&lt;br /&gt;&lt;a href="http://www.bfm.ru/news/2009/03/16/regiony-poshli-na-sokrashhenie-bjudzhetov.html" style="color:#2455b9;"&gt;Продолжение статьи&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;И с вот этим:&lt;/p&gt;&lt;br /&gt;&lt;a href="http://cnews.ru/"&gt;&lt;img src="http://pics.rbc.ru/img/cnews/2007/06/09/CNews_for_blog.gif" alt="http://cnews.ru/" style="margin-bottom:10px;border:none;" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;h2 style="margin:0 0 7px;padding:0;font:bold 18px Tahoma, Verdana;"&gt;ИТ-затраты сократятся вдвое сильнее, чем ожидалось&lt;/h2&gt;&lt;p style="margin:0 0 7px;padding:0;font:normal 11px Tahoma, Verdana;"&gt;Исследователи Goldman Sachs прогнозируют, что «с учетом тенденций развития ключевых экономических показателей, а также устойчивого стремления бизнеса к сокращению расходов» мировые ИТ-бюджеты в 2009 г. снизятся на 9%. В ноябре 2008 г. аналитики агентства полагали, что падение составит только 4%, передает The Associated Press.  &lt;br /&gt;&lt;br /&gt;Для сравнения, по данным той же аналитической компании, в 2008 г. мировые ИТ-затраты продемонстрировали 6%-й рост, в 2007 году они выросли на 9%. Нынешний прогноз — худш… &lt;a href="http://cnews.ru/news/top/index.shtml?2009/03/16/340842" style="color:#1e4a6d;text-decoration:underline;"&gt;полный текст&lt;/a&gt;&lt;/p&gt;&lt;p style="margin-bottom:7px;font:normal 11px Tahoma, Verdana;"&gt;Источник: &lt;a href="http://cnews.ru/" style="color:#1e4a6d;text-decoration:underline;"&gt;CNews&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Из личной жизни скажу, что у меня знакомого PM'a сократили, у нас на предприятии строжайший режим экономии. Так значит ИТ не сильно пострадали?&lt;/p&gt;&lt;p&gt;Со второй частью заявления про сотовую связь лично я читал аналитический материал, что будет подорожание связи (ссылку вот найти не смог), но вот никак не удешевление.&lt;/p&gt;&lt;p&gt;Другая несуразность: цены на нефть упали более чем вдвое, но бензин подешевел слабо, и то, под нажимом ФАС.&lt;/p&gt;&lt;p&gt;Вчера смотрел анонс интервью с нашим президентом. Он сказал, что кредиты банки должны выдавать по рыночным процентным ставкам, а не под откаты. Может я чего-то не знаю, но я не понимаю как у банка можно взять кредит под откат?&lt;/p&gt;&lt;p&gt;Помню ситуацию с Чечней: выделили на восстановление много денег, а потом из уст тогдашнего президента было сказано примерно в духе: "Деньги выделили, но они куда-то пропали. Найти не можем." Сейчас аналогичная ситуацию выделили кучу денег на поддержку фондового рынка, на кредиты, на отсрочки по ипотеке. Эй, кто в последний раз видел эти деньги? Не напрягайтесь- не найдете.&lt;/p&gt;&lt;p&gt;Вот он, ребята, кризис! А вы все про ипотеку, америку! В головах кризис, в головах. И если чиновники такого ранга несут полную чушь, то о чем можно далее говорить?&lt;/p&gt;&lt;p&gt;Ну вот,старался подальше держаться от политики, держаться строго в рамках блога, но тут не удержался- причины кризиса смог вычислить чисто ИТшными методами- сбором и обработкой информации. Чем с вами и поделился!&lt;/p&gt;&lt;p&gt;&lt;i&gt;PS: Букв написал немало, а нового вроде ничего и не сказал... Что, разве было когда-то иначе?&lt;/i&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2519101447023967267-8590037713683457015?l=www.alvosoft.com%2Fitlife%2Findex.html'/&gt;&lt;/div&gt;</description><link>http://www.alvosoft.com/itlife/2009/03/blog-post.html</link><author>kvl_mikki@mail.ru (Alvo)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-2519101447023967267.post-4691430123889783473</guid><pubDate>Thu, 05 Mar 2009 09:05:00 +0000</pubDate><atom:updated>2009-03-05T12:05:11.928+03:00</atom:updated><title>Интернет-стартапы в 2009 году</title><description>Я давал мой &lt;a href="http://www.alvosoft.com/itlife/2008/11/2009.html"&gt;прогноз на 2009 год&lt;/a&gt; еще в ноябре. И вот от 15 ферваля прочитал отчет: &lt;br /&gt;&lt;a href="http://inventure.ru/reports/startups2009/"&gt;Интернет-стартапы в 2009 году&lt;/a&gt;. Интересно, что в нем финансированию мобильных платформ дана "зеленая дорога". А судя по приведенной табличке, если сделать для PDA просмотр ТВ, слушание цифрового радио, то инвесторы деньгами вообще засыпят по самые уши хоть сейчас. В своем прогнозе я тоже говорил про перспективность мобильных платформ.&lt;br /&gt;Интересно, каких это потребует изменений в технологии производства ПО? Ведь там и пользовательские интерфейсы по-другому проектируются, и мощности железа другие, и, вообще, условия использования ПО другие (на ходу, в пути и не продолжительными сеансами). Без сомнений, средства разработки будут меняться.&lt;br /&gt;Интересно, что из всего этого получится?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2519101447023967267-4691430123889783473?l=www.alvosoft.com%2Fitlife%2Findex.html'/&gt;&lt;/div&gt;</description><link>http://www.alvosoft.com/itlife/2009/03/2009.html</link><author>kvl_mikki@mail.ru (Alvo)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-2519101447023967267.post-6642002846747372456</guid><pubDate>Thu, 19 Feb 2009 21:20:00 +0000</pubDate><atom:updated>2009-02-20T00:32:16.930+03:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>карьера</category><title>Кто есть кто в мире IT. Часть 8.</title><description>&lt;h2&gt;Мои мысли о тенденциях развития ИТ в России&lt;/h2&gt;&lt;p&gt;О типах компаний я расписал подробно и дал рекомендации по выбору компании. Следует еще поговорить о специализации. Чем именно заниматься: САПР, интернет, АСУ ТП или чем-то другим? Начну с резких выпадов в сторону излишнего увлечения модными технологиями. Тут будет много эмоций, т.к. испытывать эти модные "штучки" приходилось на собственной шкуре. В 99% опыт был весьма разочаровывающим.&lt;/p&gt;&lt;p&gt;Я не являюсь экспертом в области прогнозирования. Я не проводил специальных исследований на эту тему. Я не имею на руках никаких объективных данных и цифр. Это- не более чем субъективные ощущения, осмысление накопленного опыта и знаний в области информационных технологий. Мой опыт начал формироваться в лаборатории университета, закрепился на заводе, складе, интернет-компании, софтверной компании.&lt;/p&gt;&lt;p&gt;При всем моем уважении к известным личностям в ИТ-тусовке, позволю себе еще раз сказать про SaaS, SOA, cloud computing и прочее: я не скажу за весь мир, но в сегодняшней России им места нет. При охмуривании заказчиков лучше этих слов не говорить: будет непонимание (мы же до этого жили как-то- зачем нам это сейчас?), хмурые брови (подозрение, что хотят обмануть). Сергей Орлик тут прав: &lt;a href=http://sorlik.blogspot.com/2009/01/service-oriented-enterprise.html&gt;http://sorlik.blogspot.com/2009/01/service-oriented-enterprise.html&lt;/a&gt;. Прав в том, что не надо пугать клиентов такими словами.&lt;/p&gt;&lt;p&gt;Да, к нам на завод, на склад приходили внедренцы-агитаторы, которые пытались внедрять 1С, Oracle Forms и много еще чего- уж и позабыл что именно. Обычно все упиралось в то, что они не могли ответить на вопрос: "Что у вас есть такого, что у нас еще не внедрено, и нам это очень-очень надо внедрить?" Практика показывает, что запуск нового бизнес-процесса занимает 1-2 месяца. При такой скорости разработки любые внедренцы будут постоянно в роли догоняющих, а фиксировать функционал и ждать когда они его реализуют- бизнесу этот вариант не подходит. А красивые слова о высоких технологиях, масштабируемости, перспективах разбивались о конкретные факты. Мне ни разу не пришлось столкнуться с тем, чтобы возможностей классической клиент-серверной технологии работы с БД "не хватало". А я работал с многогигабайтными БД, которые не особых "напрягов" держали около 300 активных, подчеркиваю- активных, пользователей. На них вертелись очень сложные хранимые процедуры (мягко даже сказал про сложные- умопомрачительные). И это был Interbase, MS SQL Server. Ни тебе тяжеловесного Oracle, ни тебе трехзвенки и прочих изощрений. Отчетная форма в Fast Report вообще клепалась за полдня, позволяя не только распечатать отчет, но и экспортировать в MS Excel, MS Word, HTML. Пересылка данных филиалам, получение данных от партнеров и поставщиков в электронном виде- все это реализовывалось тривиально, через электронную почту. Никаких проблем- все работает, а процесс разработки несложен и быстр. А теперь прикиньте, много ли у нас в стране предприятий, где наберется 1000 пользователей или 300 активных подключений? Считанные единицы. И там вполне подойдут решения на базе трехзвенки. Все это- проверенные временем технологии: надежные, отработанные, с прекрасно развитым инструментарием. А экспериментировать на себе, и внедрять нечто сырое и непонятно на решение каких проблем направленное, никто не хочет.&lt;/p&gt;&lt;p&gt;К чему я разразился этой террадой про несостоятельность новомодных технологий? Активное их продвижение "замусоривает" мозги начинающих программистов, и они много времени тратят на поиски того, чем им стоит заняться. Эта ситуация сравнима с положением в ВУЗах: ради денег открываются наборы на новые специальности с громкими названиями, типа, "Микротехника", "Нанотехнологии". Звучит красиво, и подкупает перспективностью: "Вот окончу ВУЗ, и, как раз, нанотехнологии будут на подъеме, и я стану дорогим, востребованным специалистом". Проходит 2-3 года, студент осознает, что с таким дипломом он 100% по специальности нигде не устроится. И раскошеливаются его родители на дополнительное обучение в вечернем ВУЗе, но уже на вполне реальную земную специальность юриста, программиста 1С, бухгалтера. А спрашивается, почему сразу было не подумать, и не направить ребенка, с замусоренными мозгами, на обучение, пусть и не модным, но актуальным сегодня и завтра специальностями?&lt;/p&gt;&lt;p&gt;Но, если не SaaS и прочая мода, то, чем же заниматься, если хочется стать программистом? Было бы неправильно просто сказать: "Идите все, занимайтесь 1С!" Кроме этого замечательного продукта есть еще много областей ИТ, где можно и зарабатывать хорошо, и задачи решать интересные. Чем, например, плоха игровая индустрия? Поэтому, важно в целом дать правильное представление о положении в ИТ, что уже позволит самостоятельно сделать выбор.&lt;/p&gt;&lt;p&gt;Самый большой сегмент ИТ- это автоматизация внутренней деятельности предприятия. Еще иногда это называют, хоть и не всегда верно, АСУ ТП (автоматизация систем управления технологическими процессами). Если, кроме знания языка программирования, изучить еще и одну из СУБД, то в этой области вы всегда работу найдете, и по жизни будете чувствовать себя уверенно: такие специалисты всегда ценятся. Однако, в последние годы идет сильная тенденция к переходу от собственных систем к покупному ПО. Таким образом, "асушники" предприятия больше смещаются от чистого программирования к администрированию покупных систем и не большому программированию на уровне скриптов- адаптации системы под бизнес-процессы предприятия. Предприятия не просто переводят свои бизнес-процессы на покупные системы, а больше концентрируются на основной деятельности, передавая часть функций на аутсорсинг: хостинг сайта, разработка сайта, виртуальные АТС, аудиторские услуги, клиринговые услуги и т.д. Чем грозит это программисту? Ничем серьезным- просто будет большая миграции программистов в сторону софтверных компаний. В ИТ отделах предприятий останутся на поддержке ПО программисты невысокой квалификации. Предприятию такой сценарий удобен, т.к. такие программисты стоят дешевле, а покупные системы быстрее адаптируются под бизнес-процессы предприятия, чем если бы делали все свое.&lt;/p&gt;&lt;p&gt;Такой подход порождает класс специалистов, называемых консультантами. Действительно, если у предприятия нет своих высококвалифицированных специалистов, то кто же поможет разобраться в том, какую систему надо покупать или почему купленная система через год стала работать весьма нестабильно? Постоянно держать у себя в штате таких специалистов нет необходимости, а достаточно привлекать их время от времени для высококвалифицированной помощи.&lt;/p&gt;&lt;p&gt;С другой стороны уменьшается доля заказного ПО. Становится обычной схема, когда продается коробочное ПО, а затем выполняется его адаптация под потребности предприятия. Заказчику удобней, чтобы систему можно было сразу "пощупать", а не платить за то, что можно будет "потрогать" только через пару месяцев.&lt;/p&gt;&lt;p&gt;Таким образом, я прогнозирую что в будущем в ИТ усилится роль софтверных компаний, производящих коробочное ПО и интеграторов, его внедряющих на предприятия. Разработка собственных систем будет встречаться весьма редко- только в узкоспециализированных областях ИТ. Миграция на коробочное ПО- это очень медленный процесс. Вероятнее всего пройдет еще не одно десятилетие, прежде чем, наступит гегемония коробочного ПО. Другая тенденция- появление разнообразных веб-сервисов. Многие из них выглядят несуразно, непрактично. По сути, это идет проба сил, прощупывание пути развития. В этом бурлящем интернет-супе разнообразных сервисов можно как неплохо заработать, так и сильно проиграть. Тем не менее, если снять пенку с этого супа, то становятся очевидными ряд серьезных ограничений интернет-технологий, которые не позволят им в ближайшие десятилетия делать погоду на рынке ИТ. Это и неумение интернет-приложениями использовать полноценно мощь современных компьютеров, и неумение работать автономно при отсутствующем подключении к сети, а также рост объема передаваемых данных, опережающий возможности сети по их передаче. Эти тенденции приводят к очевидному результату: наибольшее развитие получат "десктопные" приложения, широко использующие как возможности компьютера, так интернета. В качестве отменного примера, показывающего отличное чутье менеджмента компании, я назову Microsoft Live. Компания Google в этом плане уступает, так как искусственно ограничивает себя исключительно веб-технологиями. Перспективные приложения- это приложения, умеющие обновляться в автоматическом режиме через интернет, отсылающие баг-репорты в случае сбоя программы, умеющие синхронизировать данные между разными компьютерами пользователя. На сегодняшний день таких приложений уже немало и эта тенденция будет усиливаться. Прочтите еще раз мой &lt;a href=http://www.alvosoft.com/itlife/2008/11/2009.html&gt;прогноз на 2009 год&lt;/a&gt;. Приложения для мобильных устройств- тоже относятся к перспективному направлению развития.&lt;/p&gt;&lt;p&gt;Суммируя всю сказанную информацию, можно сказать, что наиболее перспективна работа в софтверной компании, особенно в той, которая работает на рынке ПО для мобильных устройств. Но не надо абсолютизировать эту мысль- та же, ныне весьма обширная ниша внутренней автоматизации предприятий, будет не одно десятилетие оказывать сильное влияние на рынок ИТ. Если вы, молодой, сомневающийся в правильности своего выбора, специалист, то начните с работы в государственном учреждении или на большом заводе. Приложения для мобильных устройств, обмен данными через интернет, перспектива, карьера- все это придет к вам со временем, по мере того, как вы будете набираться опыта. Написав огромную статью, я так и не сказал четко, чем надо заниматься, к чему стремиться, но я надеюсь, что смог осветить для Вас темные уголки огромного мира ИТ.&lt;/p&gt;&lt;p align="right"&gt;&lt;i&gt;Конец.&lt;/i&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2519101447023967267-6642002846747372456?l=www.alvosoft.com%2Fitlife%2Findex.html'/&gt;&lt;/div&gt;</description><link>http://www.alvosoft.com/itlife/2009/02/it-8.html</link><author>kvl_mikki@mail.ru (Alvo)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>4</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-2519101447023967267.post-2929925383117618272</guid><pubDate>Wed, 18 Feb 2009 21:55:00 +0000</pubDate><atom:updated>2009-02-19T01:00:34.885+03:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>карьера</category><title>Кто есть кто в мире IT. Часть 7.</title><description>&lt;h2&gt;Как пользоваться приведенной в предыдущих частях информацией.&lt;/h2&gt;&lt;h3&gt;Любительская лига.&lt;/h3&gt;&lt;p&gt;Мои публикации нацелены на освещение внутренней "кухни" IT-отрасли. В первую очередь это должно быть интересно начинающим специалистам, а также тем, кто еще не знает, стоит ли ему связываться с информационными технологиями. У вас есть время пока вы молоды и есть поддержка со стороны семьи- поэкспериментируйте, нащупайте свой путь в жизни. Уже прошло почти два года с момента моей первой публикации в этом блоге, и моя первая статья стала &lt;a href=http://www.alvosoft.com/itlife/2007/04/blog-post_5372.html&gt;актуальней&lt;/a&gt;. Еще раз повторю: начните, сделайте первый шаг, а там виднее станет. Скорее всего, моих советов вам уже далее и не понадобиться тогда. Прочтите еще про &lt;a href=http://www.alvosoft.com/itlife/2007/04/blog-post_24.html&gt;специализации&lt;/a&gt;. Чтобы было легче совершить первый шаг опишу как это делают другие. Конечно, у каждого свой путь, не все прошли теми путями, которые я ниже опишу. Это значит только то, что я рассказываю о наиболее распространенных сценариях развития карьеры, на которые вы можете ориентироваться как на надежные, проверенные большинством ваших будущих коллег. Я не навязываю их, и не утверждаю, что только эти пути приведут к успеху.&lt;/p&gt;&lt;p&gt;Начитать пробовать устроиться в жизни надо как можно раньше. Я считаю, с 8-9 класса надо начинать (см. &lt;a href= http://www.alvosoft.com/itlife/2007/04/blog-post_5372.html&gt;статью&lt;/a&gt;). Чаще всего это просто интерес: сделать себе домашнюю страничку; написать простенькую программу типа "Hello, World!", которая из автозагрузчика будет приветствовать пользователя; помочь настроить соседу компьютер и т.д.&lt;p&gt;Вслед за любительским этапом возникает желание подзаработать на увлечениях. Вы еще не знаете, кем хотите стать: программистом, администратором, менеджером или, может быть, вообще не связываться с информационными технологиями. Вслед за соседом, знакомый бухгалтер просит помочь установить обновление 1С, мелкий предприниматель- завести ему e-mail и сделать web-страничку. Это первые деньги, первый опыт с которого начинали практически все ИТшники.&lt;/p&gt;&lt;p&gt;Следующий этап- это попытка официально трудоустроиться на работу. Чаще всего это происходит на 2-3 курсе учебы в ВУЗе. Но, если вы не зевали, и с 8-9 класса уже пробовали найти работу, то, скорее всего, к этому моменту вы будете учиться на заочном, т.к. это не мешает работать. Отличный вариант, поздравляю вас именно с таким выбором! Даже, если вы не имеете работы на момент окончания школы, все равно, лучше поступать на заочный, но, к сожалению, стереотипы сильны. Сможете ли вы от них отойти?&lt;/p&gt;&lt;p&gt;И вот, вдоволь наигравшись с обновлениями 1С, покупками-настройками компьютеров знакомым, Web-страничками, верстками мелких газет, редактированием в CorelDraw, Photoshop, участием "священных войнах" типа Windows против Linux и еще кучей всяких занятий, вы впервые задумываетесь над тем, кем хотели бы вы стать. Вот тут я вас и жду! Здравствуйте, мои дорогие!&lt;/p&gt;&lt;h3&gt;Определившиеся.&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;Админы.&lt;/strong&gt; Среди, вас, начинающих, есть те, кто твердо знает, чем хочет заниматься. Если вы твердо решили стать системным администратором, то я вам подскажу, что сисадмины часто начинают свою карьеру с малых предприятий. В их обязанности входит все: настройка компьютеров, прокладка сети, доступ в интернет, верстка web-сайта, настройка и написание программ для 1С, заправка картриджей, ремонт электрочайников, ксероксов, факсов, электрообогревателей, помочь в настройке домашних компьютеров сотрудникам предприятия, а также, как дополнительный бонус, бесплатная настройка домашнего компьютера начальника у него на дому с подключением его домашнего компьютера к интернету.&lt;/p&gt;&lt;p&gt;Второй вариант более редкий. Не всегда, но иногда удается сразу устроиться на большие предприятия, заводы или в государственные учреждения. Там начинающие админы, работая под руководством старшего администратора, получают обширный опыт настройки необычайно разношерстного зоопарка вычислительной техники. Тут и электрочайниками заниматься уже не надо, и в коллективе гораздо быстрее набирается опыт. К тому же, на крупных предприятиях и в государственных учреждениях (где без проблем, а где и выбить надо) дают учебные отпуска, оплачивают повышение квалификации (фирменные курсы, сертификации). Конечно же, такой вариант предпочтительнее. Многие сисадмины на этом успокаиваются: стабильная работа, регулярные повышения зарплаты, перспектива стать главным администратором предприятия- чего еще надо?&lt;/p&gt;&lt;p&gt;Гораздо реже некоторые из них уходят работать в компании-интеграторы, консалтинговые компании, компании-аутсорсеры. Там работа разнообразнее, интереснее, но требует более узкой специализации, высокого уровня знаний и опыта в своей области. Соответственно, и оплачивается это лучше. Однако, стабильность существенно ниже- чуть какой кризис, и вот, вы уже безработный. В общем, более высокая оплата- это плата за более высокие риски.&lt;/p&gt;&lt;p&gt;Подмечено, что не является редкостью переход из админов в программисты. Переметнувшиеся бывшие админы объясняют это тем, что работа программиста менее рутинна, и, в среднем, лучше оплачивается.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Программисты.&lt;/strong&gt; Если вы серьезно увлекаетесь программированием и твердо решили стать программистом, то знайте, что в вашем случае лучше пойти по пути трудоустройства в софтверную компанию (коробочный, заказной софт) на должность стажера. В интернет-компании, аутсорсеры,  интеграторы не рекомендую, так как там обычно процесс производства ПО поставлен плохо- вы не получите правильного опыта. В филиалы иностранных компаний и консалтеры устроится трудно- там уже нужно иметь хороший базовый уровень даже для стажера. Софтверные компании- это довольно распространенный путь для новичков, твердо решивших стать программистами. Затем, после нескольких лет стажерства и восхождения по карьерной лестнице, становиться яснее, чего хочется, куда податься. Обычно на этом этапе, те, кто угодил сразу к интеграторам, уходят в софтверные компании.&lt;/p&gt;&lt;h3&gt;Не определившиеся.&lt;/h3&gt;&lt;p&gt;Однако, твердо определившихся единицы. В основной массе начинающие специалисты не могут решить, чем хотели бы заниматься: программированием, администрированием или же податься в управленцы. На кону, как правило, лежит зарплата, сложность работы, интересность, перспективы. Я не буду рассуждать на эту тему, взвешивать все "за" и "против"- тут все индивидуально. Дам единственно верный совет- пробуйте себя в системном администрировании, в программировании и т.д. и уже решайте для себя сами. И не надо по форумам об этом спрашивать других- ничего никто толкового не ответит.&lt;/p&gt;&lt;p&gt;Как надо пробовать? Многие программисты начинали карьеру с работы в государственных учреждениях (например, на кафедре, в лаборатории) или в больших, сильно бюрократизированных организациях. Такой вариант удобен тем, что обычно в таких организациях процветает "пофигизм". Достаточно создавать видимость деятельности, и делай что хочешь. В свое время я работал на заводе. Единственная серьезная вещь, которую надо было соблюсти- прийти на работу без опоздания. Утром, буквально за пару часов решались все дела и потом я занимался своими делами- спал, общался через интернет, разбирался с интересными мне технологиями. Тут можно побыть и программистом, и администратором, и с бумажками побегать, строя из себя управленца.&lt;/p&gt;&lt;h2&gt;Пути-дороги.&lt;/h2&gt;&lt;p&gt;Когда первостепенная задача- закрепиться на месте, определиться со своими желаниями, начать трудовую карьеру- выполнена, то многие решаются двигаться дальше. Это происходит часто из-за ощущения того, что перерос эту работу, хочется большего, а тут уже как-то все застоялось, болото, одним словом.&lt;/p&gt;&lt;p&gt;Один из широко распространенных путей- это устроится на работу в софтверную компанию. В этих компаниях Итшник- основная рабочая сила, которую ценят и уважают. Задачи интересные, бонусы хорошие. На такой работе можно проработать хоть до самой пенсии, и не наскучит.&lt;/p&gt;&lt;p&gt;Некоторые задумываются о том, чтобы не только разнообразить свои будни, но и улучшить комфортность быта, и решаются на переезд в другой город. И тут наиболее популярный сценарий- трудоустройство в компании-системные интеграторы или аутсорсеры. Эти компании имеют программы помощи переезда специалистов из другого города: размещают на корпоративных квартирах, оплачивают проездной, мобильный, дают подъемные. Осмотревшись в другом городе, закрепившись, через год-полтора находят более оплачиваемую и интересную работу.&lt;/p&gt;&lt;p&gt;Если идея-фикс состоит в том, чтобы не просто переехать в другой город, так как в своем городе все варианты перебрали уже, а уехать за границу, то широко практикуется вариант с трудоустройством в компании-аутсорсеры, работающие с иностранными партнерами или трудоустройством в филиалы иностранных компаний. В этих компаниях есть программы ротации сотрудников, либо просто можно перевестись на работу в другой иностранный офис компании. Кто-то пробует эмигрировать через, так называемые, "боди-шопы". Этот тип компаний распространен за границей, в России это не практикуется.&lt;/p&gt;&lt;h2&gt;Резюме.&lt;/h2&gt;&lt;p&gt;Вот и получается, что дорожки ИТшника хорошо протоптаны и их не много:&lt;ol&gt;&lt;li&gt;Хорошо знаете, чего хотите? Тогда прямиком идете в стажеры в интересующую вас компанию.&lt;/li&gt;&lt;li&gt;Не уверены в себе? Пробуете себя на гос. службе, в крупных компаниях, набираетесь опыта, определяетесь, кем хотите работать. Набравшись опыта, устраивайтесь на интересную, хорошо оплачиваемую работу.&lt;/li&gt;&lt;li&gt;Хотите переехать в другой город- вам к интеграторам, аутсорсерам.&lt;/li&gt;&lt;li&gt;Хотите за границу- ваш выбор за аутсорсерами, филиалами иностранных компаний, боди-шопами.&lt;/li&gt;&lt;/ol&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;i&gt;Продолжение следует...&lt;/i&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2519101447023967267-2929925383117618272?l=www.alvosoft.com%2Fitlife%2Findex.html'/&gt;&lt;/div&gt;</description><link>http://www.alvosoft.com/itlife/2009/02/it-7.html</link><author>kvl_mikki@mail.ru (Alvo)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-2519101447023967267.post-8005842591614108133</guid><pubDate>Tue, 17 Feb 2009 20:49:00 +0000</pubDate><atom:updated>2009-02-17T23:54:00.708+03:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>карьера</category><title>Кто есть кто в мире IT. Часть 6.</title><description>&lt;h2&gt;Ликбез о цвете зарплат&lt;/h2&gt;&lt;p&gt;Чтобы, как это говорится "культурно", оптимизировать налоговые выплаты, многие предприятия используют различные схемы сокрытия от государства полных сумм зарплат. Это чрезвычайно широкая практика. Используются различные схемы. Например, прямые выплаты наличных, не проведенных официально по документам. Или, например, создается отдельное предприятие, называемое кадровым агентством, в котором числятся все сотрудники. Головное предприятие заключает договор с этим "карманным" кадровым агентством, по которому сотрудники выполняют некие работы. Соответственно, кадровому агентству перечисляются деньги за выполненные работы. Там уже их обналичивают по определенным схемам и выплачивают зарплаты. Получается, что головное предприятие не "марается" никакими "серыми" схемами выплат, оставаясь "белым и пушистым" перед государством. При этом официально по документам сотрудникам выплачивают минимальный разрешенный у нас в стране размер оплаты труда, остальное- "в конвертике". В итоге, необходимо самому заботиться о своих пенсионных накоплениях, ибо туда попадает мизерная сумма. В банке кредит дадут под более высокий процент, т.к. либо вообще никаких подтверждений полной суммы зарплаты нельзя получить на предприятии, либо можно, но только по справке банка. Кроме того, в случае увольнения вам могут заплатить только официальную часть денег и никаким судом вы не докажете, что получали больше.&lt;/p&gt;&lt;p&gt;Белые зарплаты, т.е. те зарплаты, у которых полная сумма выплачивается официально, по документам, платит крайне маленький процент предприятий. В основном это банки, гос. учреждения, филиалы иностранных фирм. Соответственно, с такой зарплаты больше отчислений идет в пенсионные накопления, можно в банке брать кредит по НДФЛ-2, что позволяет получить его под меньший процент. При трудоустройстве на "белую" зарплату учтите еще такой факт, что иногда по умолчанию вам будет называться сумма до уплаты налогов. Например, если договорились на сумму в 50 тысяч рублей, то на руки получите 43500 рублей (т.е. -13% налога).&lt;/p&gt;&lt;p&gt;При прохождении испытательного срока зарплату могут выплачивать более низкую, чем ту, на которую вы договорились. Однако по закону не могут выплачивать менее 2/3 от оговоренной зарплаты, и испытательный срок не может быть более 3 месяцев (6 месяцев для руководителей).&lt;/p&gt;&lt;p&gt;Так что, стремитесь, конечно, устроится на работу с "белой" зарплатой, но, учитывая реалии, не расстраивайтесь, если подобной подходящей работы найти не сможете.&lt;/p&gt;&lt;p align="right"&gt;&lt;i&gt;Продолжение следует...&lt;/i&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2519101447023967267-8005842591614108133?l=www.alvosoft.com%2Fitlife%2Findex.html'/&gt;&lt;/div&gt;</description><link>http://www.alvosoft.com/itlife/2009/02/it-6.html</link><author>kvl_mikki@mail.ru (Alvo)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-2519101447023967267.post-4812529351871937541</guid><pubDate>Mon, 16 Feb 2009 20:19:00 +0000</pubDate><atom:updated>2009-02-16T23:24:28.474+03:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>карьера</category><title>Кто есть кто в мире IT. Часть 5.</title><description>&lt;h2&gt;Не софтверные компании&lt;/h2&gt;&lt;p&gt;Большая сфера деятельности для программистов находится в не софтверных компаниях. Это работа в ИТ-отделах различных предприятий. Тут явно выделяются:&lt;ul&gt;&lt;li&gt;1С-ники;&lt;/li&gt;&lt;li&gt;Работа в банках;&lt;/li&gt;&lt;li&gt;Государственные учреждения;&lt;/li&gt;&lt;li&gt;ИТ-отдел предприятия (производственного, торгового).&lt;/li&gt;&lt;/ul&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;1С-ники.&lt;/strong&gt; Да, 1С-ники в эту классификацию не вписываются. Но тема столь обширна, что представляет собой целый мир, самостоятельный и сильно отличающийся от остального ИТ-ландшафта, поэтому я вынес тему 1С-ников в отдельный пункт. Чаще всего их можно встретить в бухгалтерии предприятия. Их зарплата в основном зависит от того, сколько они смогут себе выбить. Близость к бухгалтерии и личное знакомство с главбухом помогает в этом вопросе. На практике встречаются и мизерные зарплаты, и весьма приличные. Работа с бухгалтерией, требует, как бы мягче сказать, особого подхода и соответствующего характера. Часто в бухгалтериях работают люди преклонного возраста, либо просто далекие от компьютеров. Что требует большого терпения при объяснении работы программы, а также умения скрупулезно высчитывать проценты НДС, амортизации и прочая, и прочая. Сама по себе система 1С проста в изучении, что позволяет быстро обучиться и войти в мир ИТ технологий. Фирма 1С проводит семинары, сертификацию, что позволяет повышать как свой уровень знаний, так и запросы по уровню оплаты.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Работа в банках.&lt;/strong&gt; Большая и довольно специфичная область деятельности. Тут необходимы специальные знания. Я б не сказал, что эта работа интересна. Программист в банке не является основной рабочей силой, поэтому особым расположением у начальства не пользуется. Соответственно, часто все ошибки и упущения другие отделы сваливают на программистов, мол, это "их" недоработки. Да и возможности карьерного роста невелики. Рутинный характер и собачье отношение- зачем же туда идут работать? Ради зарплат и стабильных условий труда. Зарплаты в банках одни из лучших на рынке, а если работать в крупном банке, то и стабильность высокая. Будет строго соблюдаться трудовой кодекс, будет "белая" зарплата, будут курсы повышения квалификации, будет уверенность в завтрашнем дне.&lt;/p&gt;&lt;p&gt;Среди банковских программистов выделяется отдельная подгруппа так называемых, "квантов". Это, может быть, уже не столько программисты, сколько математики, аналитики. Задача квантов- тех. анализ состояния рынка ценных бумаг. Квантов не так много и "погоды" на рынке ИТ они не делают. Здесь я о них упомянул из-за того, что внимание программистов всегда привлекали подобные работы, связанные с прикладной математикой: вот уж где есть раздолье для ума! А если учесть, что у квантов зарплаты одни из лучших среди всех ИТ-специалистов, то вообще получается работа-сказка.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Государственные учреждения.&lt;/strong&gt; Старшему поколению хорошо знакомо понятие "совок". Госучреждения остались со времен застоя на том же уровне. Далеко не везде хорошее техническое оснащение, полное безразличие и "пофигизм", символические зарплаты. Но есть и "сытные" места, однако туда без знакомства вообще нереально попасть. Программирование минимально, в основном поддержка внешних разработок. Но есть и преимущество: железобетонная стабильность, абсолютно непыльная, ненапряжная работа. Ничего не мешает подрабатывать на стороне. Чем многие пользуются: устраиваются номинально на такую должность, а сами при этом активно "шабашат". Но, в основном программисты (по крайней мере все, кого я знаю) так или иначе стремятся найти нормальную работу, а не отсиживаться в этом тихом болотце.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;ИТ-отдел предприятия (производственного, торгового).&lt;/strong&gt; Это самая распространенный вид деятельности у программистов: разработка и обслуживание внутренней системы автоматизации предприятия. Такие отделы обычно состоят из нескольких человек, реже- пары десятков человек. На таких предприятиях программист не является основной рабочей силой, поэтому ИТ-отделам перепадает финансирование по остаточному принципу, но и этого немало для небольшого отдела. Работа тут обычно спокойная: разработка отчетных форм, программирование бизнес-процессов. Не очень интересная работа, компенсируется более высокой зарплатой, чем в софтверных компаниях. На такой работе можно получить хороший опыт в обслуживании различных систем и программировании разных технологий. Можно даже выбить оплату на обучение и посещение семинаров. Часто, как в госучреждениях, можно "шабашить" на стороне. Хороший вариант для начинающих программистов.&lt;/p&gt;&lt;p align="right"&gt;&lt;i&gt;Продолжение следует...&lt;/i&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2519101447023967267-4812529351871937541?l=www.alvosoft.com%2Fitlife%2Findex.html'/&gt;&lt;/div&gt;</description><link>http://www.alvosoft.com/itlife/2009/02/it-5.html</link><author>kvl_mikki@mail.ru (Alvo)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-2519101447023967267.post-7267937028525700975</guid><pubDate>Mon, 16 Feb 2009 14:03:00 +0000</pubDate><atom:updated>2009-02-16T22:32:08.324+03:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>карьера</category><title>Кто есть кто в мире IT. Часть 4.</title><description>&lt;h2&gt;Если делить компании по типу производимого ПО, то чаще всего вы услышите о компаниях производящих:&lt;/h2&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Игровое ПО;&lt;/li&gt;&lt;li&gt;САПР (системы автоматизированного проектирования, например, AutoCAD);&lt;/li&gt;&lt;li&gt;ГИС (геоинформационные системы, например, Яндекс.Карты);&lt;/li&gt;&lt;li&gt;Финансовое ПО (бухгалтерия, банковское ПО, платежные системы, трейдинговые системы);&lt;/li&gt;&lt;li&gt;Автоматизация предприятий (АСУ ТП, SCADA);&lt;/li&gt;&lt;li&gt;Программно-аппаратные комплексы.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Это тот тип производимого ПО, о котором больше всего говорят в телеконференциях, посвященных работе, а также российский производитель ПО в этих областях занимает значимое устойчивое положение (многие наверняка слышали такие названия как 1С, Диасофт, CQG, Никита, Бука). Если один из перечисленных пунктов заинтересовал, то вот краткая характеристика по каждому типу ПО.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Игровое ПО.&lt;/strong&gt; Обычно требуются знания C++. Также нужно знать DirectX, OpenGL; для интернет-игр: flash; для мобильных платформ: Simbian, Windows Mobile, iPhone, Android. При работе в небольшой компании или самостоятельной разработке надо иметь навыки художника, обладать креативным мышлением. Программирование ведется в подавляющем большинстве случаев для платформы Windows. Есть также небольшое количество вакансии по разработки игр для видеоприставок. Характерная особенность программирования игр- слабое внимание к тестированию и устранению ошибок. Это понятно: век игр не долог и потому нет смысла "вылизывать" их код.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;САПР.&lt;/strong&gt; Необходимы знания C++ или C#. Также требуется знание графической подсистемы ОС (GDI, GDI+), а также хорошие знания ООП. Так как такое ПО развивается от версии к версии, то немало внимания уделяется его тестированию и устранению ошибок. Важно писать грамотный код с использованием паттернов и тщательным продумыванием различных вариантов его реализации. Традиционная платформа для которой разрабатываются САПР- Windows.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;ГИС.&lt;/strong&gt; В этой области деятельности широко используется C++ в связке с каким-либо скриптовым языком (часто своей разработки). Необходимы знания различных алгоритмов обработки данных, навыки оптимизации кода по быстродействию, а также знания графической подсистемы ОС. Также, как и с САПР, нужно отлично владеть техникой ООП. Данные системы часто реализуются как для ОС Windows, так и для Linux. Часто состоят из клиентской и серверной части.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Финансовое ПО.&lt;/strong&gt; Здесь можете встретиться с Java, C++, Delphi, Visual Basic, MS SQL Server, Oracle. Выбор соответствующего инструментария определяется назначением ПО. Например, для разработки ПО для трейдинга используют C++, для документооборота- Java, Delphi. Для аналитики- Visual Basic. Также необходимо владеть базовыми знаниями в области учета финансов и иметь соответствующий склад характера- далеко не у каждого хватит терпения программировать очередной бизнес-процесс. Серверная часть такого ПО может быть реализована как на Windows, так и на Linux, а клиентская обычно делается на Windows.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Автоматизация предприятий.&lt;/strong&gt; В России в этой области традиционно сильны позиции связки Delphi/Interbase. Примерно на том же уровне, что и Interbase, возможно чуть меньше, используются MS SQL Server, Oracle. Однако у Delphi тут конкурентов нет, ближайший- C#- пока используется весьма редко. Требуется также уметь работать с COM-компонентами, выводить данные в MS Word, MS Excel, а также оптимизировать запросы к БД, подготавливать отчеты. Используемая платформа в 99% случаев- Windows.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Программно-аппаратные комплексы.&lt;/strong&gt; В этой области чаще всего используется C, C++, Delphi. Для сохранения данных используются различные СУБД: dbf, MS Access, Interbase, MS SQL Server, Oracle. Также необходимо уметь считывать данные с внешнего устройства (COM-порт, USB и т.п.), программировать многопоточные сервисы. Характер надо иметь въедливый, нудный, чтобы иметь терпение выловить сбой в одном бите в многобайтном пакете. Чаще всего данное ПО пишется под ОС Windows, реже- Linux.&lt;/p&gt;&lt;p align="right"&gt;&lt;i&gt;Продолжение следует...&lt;/i&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2519101447023967267-7267937028525700975?l=www.alvosoft.com%2Fitlife%2Findex.html'/&gt;&lt;/div&gt;</description><link>http://www.alvosoft.com/itlife/2009/02/it-4_16.html</link><author>kvl_mikki@mail.ru (Alvo)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>33</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-2519101447023967267.post-2962160791904274808</guid><pubDate>Tue, 10 Feb 2009 21:32:00 +0000</pubDate><atom:updated>2009-02-13T00:27:29.885+03:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>карьера</category><title>Кто есть кто в мире IT. Часть 3.</title><description>&lt;p&gt;&lt;strong&gt;Системные интеграторы.&lt;/strong&gt; Отечественные и иностранные компании, занимающиеся оказанием комплексных услуг в области ИТ: от поставки оборудования, до программирования и автоматизации деятельности предприятия с последующим обслуживанием. Примеры таких компаний: Ланит (&lt;a href="http://www.lanit.ru/"&gt;http://www.lanit.ru/&lt;/a&gt;),  IBS (&lt;a href="http://www.ibs.ru/"&gt;http://www.ibs.ru/&lt;/a&gt;), плюс несметная тьма интеграторов на базе ПО фирмы 1С. Часто системная интеграция сливается с разработкой ПО на заказ, хотя я разделяю это. При разработке программ на заказ используются свои наработки, а при системной интеграции используется как базовая платформа для разработки программное обеспечение другой компании (например, 1С, Navision, SAP). В этой области зарплаты минимальные (зарплаты SAP сюда не относятся, т.к. обычно специалисты SAP расцениваются как консалтеры). Навыки программирования необходимы начальные. Поэтому не редкость, когда в такие компании трудоустраиваются люди, не имеющие технического образования вообще. Обучаться приходиться на ходу. Работу можно делать "тяп-ляп"- лишь бы работало, т.к. работа, как правило, разовая. Никто особо никого не выгоняет, но работать заставляют различными штрафами и ограничениями. Высокая текучка кадров, низкий уровень корпоративной культуры, минимальный социальный пакет. Такие предприятия традиционно служат трамплином для тех, кто из провинции переезжает в крупные города. Именно здесь легче всего устроиться с минимальным опытом работы, при этом будет в долг предоставлена корпоративная квартира, дан аванс. При должном усердии пошлют на курсы, повысят зарплату, должность. Буквально в течение полугода-года можно сделать неплохую карьеру. Затем, имея уже некоторую репутацию, опыт, можно двигаться дальше и устраиваться уже в более приятное место работы. Тут требуются знания 1С, Visual Basic, базовые знания работы с СУБД MS Access, MS SQL Server.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Филиалы иностранных фирм.&lt;/strong&gt; Типичные примеры таких компаний: Microsoft (&lt;a href="http://www.microsoft.ru/"&gt;http://www.microsoft.ru/&lt;/a&gt;), Google (&lt;a href="http://www.google.ru/"&gt;http://www.google.ru/&lt;/a&gt;), Intel (&lt;a href="http://www.intel.ru/"&gt;http://www.intel.ru/&lt;/a&gt;). Такие компании могут иметь на территории России исследовательские подразделения, а могут заниматься только продажей ПО. Но даже там, где занимаются чисто продажей ПО есть программистские должности (для консультаций и обучения). В филиалах господствуют порядки западной корпоративной культуры. К такому стилю управления не каждый может привыкнуть. Сама работа идет в плотном темпе, но без "соковыжимания"- людей здесь ценят. Строго соблюдается трудовой кодекс, отличная зарплата по российским меркам, социальный пакет, да и работать весьма престижно в одной из таких компаний. Будут посылать на обучение, сертификацию. Однако для трудоустройства в такие компании требуется свободное владение иностранным языком и уверенное владение ПО, выпускаемым компанией. Работа в филиале компании может послужить отличным трамплином для перехода на работу в головной офис с последующей эмиграцией за границу. Обычно в таких компаниях требуется знание C++, C#, Java, помимо знания ПО, производимого компанией.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Интернет-компании.&lt;/strong&gt; Это компании, чей бизнес строится на получении прибыли от интернет-сервисов. Известнейшие примеры таких компаний: Яндекс, Mail.ru, Рамблер. Часто, в силу их молодости, такие компании называют "стартапами". Внутри подобных компаний, как правило, преобладает бодрая оптимистичная атмосфера, заряд на успех и чувство причастности к передовому отряду развития информационных технологий. Корпоративная культура во многом является калькой с западных образцов. Динамичность развития затрудняет отладку процесса производства ПО. Решения часто принимаются хаотично, буквально за день принятое утром решение может быть "переиграно" раз пять. В этих компаниях часто преобладают непринужденные отношения, широкое общение в курилках, комнатах отдыха, в общем, дружественная атмосфера (по крайней, дружественность старательно культивируется руководством). Работать в таких компаниях приятно, отличные перспективы карьерного роста. Однако, зарплаты будут средними, даже ниже среднего- работа за интерес. А требования к вашей квалификации будут практически заоблачными для такой зарплаты. В таких компаниях нужны специалисты по HTML, Java, C++, Perl, Python, My SQL. Вам хочется перспектив, интересных проектов? Тогда вам путь прямиком в эти компании!&lt;/p&gt;&lt;p align="right"&gt;&lt;i&gt;Продолжение следует...&lt;/i&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2519101447023967267-2962160791904274808?l=www.alvosoft.com%2Fitlife%2Findex.html'/&gt;&lt;/div&gt;</description><link>http://www.alvosoft.com/itlife/2009/02/it-3.html</link><author>kvl_mikki@mail.ru (Alvo)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-2519101447023967267.post-2662538598850899069</guid><pubDate>Tue, 10 Feb 2009 21:24:00 +0000</pubDate><atom:updated>2009-02-12T11:17:41.268+03:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>карьера</category><title>Кто есть кто в мире IT. Часть 2.</title><description>&lt;p&gt;&lt;strong&gt;Заказные программы.&lt;/strong&gt; Этот тип ПО производят отечественные компании, которые на базе пакета программ собственной разработки, выполняют автоматизацию деятельности предприятия, путем подгонки, перепрограммирования своего ПО под потребности конкретного заказчика. Примеры таких компаний: "Бюджетные финансовые технологии" (&lt;a href="http://www.bftcom.com/"&gt;http://www.bftcom.com/&lt;/a&gt;), CBOSS (&lt;a href="http://www.cboss.ru/"&gt;http://www.cboss.ru/&lt;/a&gt;), Borlas (&lt;a href="http://www.borlas.ru/"&gt;http://www.borlas.ru/&lt;/a&gt;). В компаниях данного типа программисты должны были бы быть основной рабочей силой и реально являются, но первую скрипку играют не они, а внедренцы. То есть те, кто ближе стоит к заказчику, к деньгам. Здесь надо уметь программировать очень быстро, качество кода играет второстепенную роль. Основной принцип: быстрее выполнить работу, сдать заказчику и забыть. Социальный пакет будет средненький, зарплаты средние. Характер работы- чаще всего "выжималки". Из-за чего текучка кадров высокая. Несмотря на нехороший мой отзыв о компаниях такого типа, многие программисты находят тут свои преимущества. Например:&lt;ul&gt;&lt;li&gt;более быстрое продвижение по карьере;&lt;/li&gt;&lt;li&gt;быстрое накопление опыта в широком спектре технологий;&lt;/li&gt;&lt;li&gt;компании имеют программы повышения квалификации.&lt;/li&gt;&lt;/ul&gt;&lt;/p&gt;&lt;p&gt;Кроме того, такие компании предъявляют меньшие требования к кандидатам на собеседованиях, чем компании, производящие коробочное ПО. А если сюда присовокупить еще тот факт, что зачастую заказчики после внедрения не редко перекупают программистов-внедренцев к себе на теплые, высокооплачиваемые местечки, то работа в компаниях такого типа становится весьма привлекательна по следующему сценарию. Устраиваемся, обучаемся, набираемся опыта, получаем повышение, участвуем во внедрениях. Заодно присматриваемся к заказчикам, подбираем теплое местечко. При соответствующем предложении от заказчика- валим.&lt;/p&gt;&lt;p&gt;Используемый инструментарий- любой, с помощью которого можно выполнить работу максимально быстро: Delphi, Visual Basic, Oracle Forms, C#. Требуется умение использовать COM-компоненты, генераторы отчетов. Почти всегда требуются знания СУБД: MS SQL Server и/или Oracle.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Занимающиеся аутсорсингом.&lt;/strong&gt; Отечественные компании, которые выполняют заказы иностранных компаний на основе временного или постоянного сотрудничества. Типичный пример: Luxoft (&lt;a href="http://www.luxoft.ru/"&gt;http://www.luxoft.ru/&lt;/a&gt;). В этих компаниях надо работать очень быстро и качественно. Для иностранных заказчиков важны сроки. Процесс идет непрерывным потоком, без передышки. В целом- все тоже самое, что и для компаний, занимающихся производством заказного ПО. Только у вас не будет возможности уйти на теплое место к заказчику. Но, если это все тоже самое, что и заказное ПО, но и даже несколько хуже, то какой смысл туда идти работать? Ответ такой: 1). вы получите более высокую зарплату (но, правда, все равно средненькую), чем в компаниях, занимающихся разработкой заказного ПО; 2). вы освоите кучу разных технологий, востребованных в мире, и сможете впоследствии эмигрировать в развитые страны, имея необходимый  багаж знаний и опыта для успешного трудоустройства в этих странах. И уж поверьте, после такой "соковыжималки" вы там устроитесь без проблем. В таких компаниях при приеме на работу требуют знания следующего инструментария: C++, C#, Java, Oracle, MS SQL Server. Технологии обычно даже не указывают- совершенно не известно, с чем придется работать в следующем проекте.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Оказывающие консалтинговые услуги.&lt;/strong&gt; Это как отечественные, так и иностранные компании, оказывающие консалтинговые услуги. Список таких компаний можно посмотреть здесь: &lt;a href="http://ru.wikipedia.org/wiki/%D0%9A%D0%BE%D0%BD%D1%81%D0%B0%D0%BB%D1%82%D0%B8%D0%BD%D0%B3"&gt;http://ru.wikipedia.org/wiki/Консалтинг&lt;/a&gt;. Консалтинговые услуги предоставляют крупные производители ПО, такие как IBM (&lt;a href="http://www.ibm.ru/"&gt;http://www.ibm.ru&lt;/a&gt;), HP (&lt;a href="http://www.hp.ru/"&gt;http://www.hp.ru&lt;/a&gt;), Oracle (&lt;a href="http://www.oracle.ru/"&gt;http://www.oracle.ru&lt;/a&gt;). Путь в консалтеры непрост, но работать там престижно. Условия труда типичны для западных компаний. Хорошие зарплаты, отличный социальный пакет, строгая корпоративная культура, возможность карьерного роста, заграничные командировки. Но не все смогут вписаться в западную корпоративную культуру, да и вакансий таких мало. Кроме того, тут часто требуется свободное знание иностранного языка, с чем у многих проблемы. Давить не будут, но надо быть профессионалом своего дела и работать четко, стабильно. Программирования там не много. Больше отчеты, презентации, аналитика и т.п. Требуются глубокие знания такого инструментария и технологий как Java, Oracle, MS SQL Server, C#, SAP.&lt;/p&gt;&lt;p align="right"&gt;&lt;i&gt;Продолжение следует...&lt;/i&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2519101447023967267-2662538598850899069?l=www.alvosoft.com%2Fitlife%2Findex.html'/&gt;&lt;/div&gt;</description><link>http://www.alvosoft.com/itlife/2009/02/it-2.html</link><author>kvl_mikki@mail.ru (Alvo)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-2519101447023967267.post-4112156055588835212</guid><pubDate>Tue, 10 Feb 2009 21:08:00 +0000</pubDate><atom:updated>2009-02-11T11:17:16.606+03:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>карьера</category><title>Кто есть кто в мире IT. Часть 1.</title><description>&lt;p&gt;Вопрос выбора технологий и инструментальных средств (например, языков программирования), которые собирается изучать начинающий специалист и впоследствии зарабатывать "на хлеб" с их помощью, упирается в сферу применения технологий и инструментов. В разных областях ИТ отдаются предпочтения тем или иным технологиям и инструментам. Например, если вы выберете изучение Delphi, то вероятность стать web-программистом у вас будет крайне низка, как бы вам этого ни хотелось. Кроме того, следует учитывать, что в разных областях различные уровни оплаты, различная корпоративная культура. Сменить выбранный курс весьма сложно. Это делается не часто. Поэтому отнеситесь к выбору изучаемых технологий и инструментария серьезно, учитывайте ту область, в которой вам придется работать (а область во многом определяется вашим набором знаний, как было сказано выше). Учтите также материальный вопрос: зарплаты в этих областях ИТ, а также психологическую составляющую, т.е. насколько комфортно вам будет работать в той корпоративной культуре, которая сложилась в той или иной отрасли.&lt;/p&gt;&lt;p&gt;Ранее была дана общая рекомендация в статье "Специализация": &lt;a href="http://www.alvosoft.com/itlife/2007/04/blog-post_24.html"&gt;http://www.alvosoft.com/itlife/2007/04/blog-post_24.html&lt;/a&gt;. Сейчас пройдемся по различным отраслям промышленности и рассмотрим, где и как применяются ИТ, дадим краткую характеристику условий работы в каждой отрасли. Информация о типах компаний имеет справочный характер, и ее можно пропустить, возвращаясь к нижеследующему описанию по мере необходимости.&lt;/p&gt;&lt;h2&gt;Софтверные компании&lt;/h2&gt;&lt;p&gt;Можно выделить компании по виду деятельности: &lt;/p&gt;&lt;ul&gt;&lt;li&gt;пишущие коробочный софт;&lt;/li&gt;&lt;li&gt;пишущие заказные программы;&lt;/li&gt;&lt;li&gt;занимающиеся аутсорсингом;&lt;/li&gt;&lt;li&gt;оказывающие консалтинговые услуги;&lt;/li&gt;&lt;li&gt;системные интеграторы;&lt;/li&gt;&lt;li&gt;филиалы иностранных фирм;&lt;/li&gt;&lt;li&gt;интернет-компании.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Коробочный софт.&lt;/strong&gt; Это отечественные компании, которые занимаются разработкой "коробочного" ПО. Примеры таких компаний: 1С (&lt;a href="http://www.1c.ru/"&gt;http://www.1c.ru/&lt;/a&gt;), Лаборатория Касперского (&lt;a href="http://kaspersky.ru/"&gt;http://kaspersky.ru/&lt;/a&gt;), ABBYY (&lt;a href="http://www.abbyy.ru/"&gt;http://www.abbyy.ru/&lt;/a&gt;). В компаниях данного типа программист- это основная рабочая сила. Поэтому тут их ценят, но, в то же время, предъявляют высокие требования к уровню их знаний, опыта и производительности. Работать надо будет с высокой отдачей, действительно уйдя с головой в работу. Перерабатывать не заставляют, но среди других сильных программистов у вас просто выбора не будет: вы или работаете не хуже чем они, чтобы иметь основания для продвижения карьеры, повышения зарплаты, либо быстро станете аутсайдером, "вывалитесь из обоймы", и с вами распрощаются совершенно безжалостно и быстро. Взамен вы получите зарплату выше среднего, отличный социальный пакет (дополнительное медицинское страхование, бесплатное питание, транспорт до работы, тренажерный зал, комната отдыха, много разнообразный корпоративных мероприятий), оплату курсов, получения сертификатов. Текучка кадров там не высокая, и, если вы туда устроитесь, то наверняка проработаете там десяток лет с удовольствием.&lt;/p&gt;&lt;p&gt;Так как коробочное ПО развивается непрерывно, то очень важно писать грамотный, легко расширяемый код, которые будет работать годами, и не требовать доработок. Кроме того, инструментарий выбирается многофункциональный, проверенный годами, так как программный продукт развивается годами и переводить его на использование другого инструментария из-за того, что выбранный вами инструмент перестал развиваться- занятие весьма дорогое. Поэтому почти "поголовно" такие фирмы выбирают для разработки язык программирования C++, базы данных- Oracle, MS SQL Server. Требуется умение писать COM-сервера, сервисы, многопоточное программирование.&lt;/p&gt;&lt;p align="right"&gt;&lt;i&gt;Продолжение следует...&lt;/i&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2519101447023967267-4112156055588835212?l=www.alvosoft.com%2Fitlife%2Findex.html'/&gt;&lt;/div&gt;</description><link>http://www.alvosoft.com/itlife/2009/02/it-1.html</link><author>kvl_mikki@mail.ru (Alvo)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-2519101447023967267.post-5854019520200208162</guid><pubDate>Sun, 30 Nov 2008 15:15:00 +0000</pubDate><atom:updated>2008-11-30T21:05:39.856+03:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>разное</category><title>Прогноз на 2009 год</title><description>Прочел я &lt;a href="http://sorlik.blogspot.com/2008/11/cio-2009.html"&gt;прогноз на 2009&lt;/a&gt; от Сергея Орлика. Вспомнил, как сбылся &lt;a href="http://www.alvosoft.com/itlife/2008/04/blog-post.html"&gt;мой прогноз про гугл&lt;/a&gt;. И решил последовать примеру и дать свой прогноз на 2009 год. А вдруг у меня чутье на прогнозы? Проверим?&lt;br /&gt;Прогноз №1. Ни одного прогноза Сергея не исполнится.&lt;br /&gt;Прогноз №2. Продажи ПО упадут до еще более низких уровней, чем были до начала компании по борьбе с пиратским ПО. Это связано с тем, что в ВТО мы уже вроде как не стремимся, поэтому нет потребности устраивать публичные порки (например, дело Поносова). А значит поднятая волна сойдет на нет, все вернется в свое русло, а с учетом кризиса- вообще пиратство расцветет пуще прежнего.&lt;br /&gt;Прогноз №3. Существенно повысятся доходы от мобильного контента: игры, мелодии, видео, общение. Приход iphone в Россию, выпуск гуглофона и сотового телефона от Microsoft- звенья одной цепи, аналитики этих компаний-гигантов чувствуют где деньги. Пока вся эта мобильность будет работать только на индустрию развлечений, на индивидуального пользователя. Для бизнеса мобильные решения так и не созреют за 2009 год. Эта ситуация аналогична тому как развивались 3D-ускорители, широкое использование которых началось с видеоигр.&lt;br /&gt;Прогноз №4. Ближе к концу кризиса производители ПО, наконец, поймут, что SaaS- это дерьмо, на которое клюнут считанные проценты дурачков. Поймут потому, что даже в условиях кризиса заманчивые предложения на базе SaaS не найдут покупателя, а что уж говорить про развитие вне кризиса. Зачем вообще за что-то платить, если бесплатное получает большее распространение? Более того, это бесплатное уже достигло весьма не плохого уровня развития: багов меньше, работает устойчивей, интерфейс дружественней, функционал полнее.&lt;br /&gt;Прогноз №5. Несмотря ни на какой кризис, продолжиться переход компаний от своих собственных разработок систем автоматизации к использованию унифицированных решений, в основном на базе 1С.&lt;br /&gt;Прогноз №6. Если online-продажа музыки уже превзошла продажи на CD, то цифровое ТВ только на подходе. Нас ждет быстрое развитие цифрового ТВ и всплеск интереса рекламодателей к нему. Многие в 2009 году осознанно полностью откажутся от обычного ТВ в пользу исключительно цифрового ТВ.&lt;br /&gt;Короче- все будет по-старому, но чуточку хуже. Однако в области связи, общения, интерактивных услуг, развлечений чувствуется, что назревает какой-то прорыв. Пока я не понимаю к чему все идет, есть только расплывчатые ощущения: В общественном транспорте больше народу сидит за нетбуками, из которых торчат антенны мобильной связи; 3G уж раскручивают все шире; айфоны, гуглофоны- только про них и слышишь; больше народу выкладывают в интернет свои фотки, смотрят видео, общаются через интернет; популярность "одноклассников.ру". Это все отдельные кусочки пазла, которые уже высыпали из коробки на стол, но еще не приступили к собиранию из них картинки. Вот в 2009 году сборка картинки и начнется. Ясно еще ничего не станет, но синергетический эффект от объединения отдельных кусочков мы ощутим.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2519101447023967267-5854019520200208162?l=www.alvosoft.com%2Fitlife%2Findex.html'/&gt;&lt;/div&gt;</description><link>http://www.alvosoft.com/itlife/2008/11/2009.html</link><author>kvl_mikki@mail.ru (Alvo)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>6</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-2519101447023967267.post-1789458036191223082</guid><pubDate>Sun, 09 Nov 2008 13:43:00 +0000</pubDate><atom:updated>2008-11-09T16:52:06.026+03:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>производство</category><title>Психологический портрет программиста</title><description>&lt;p&gt;&lt;em&gt;Народная мудрость: «Если ты сделаешь что-то быстро, но плохо, никто не вспомнит, что ты сделал это быстро. Но все скажут, что ты сделал это плохо. Если ты сделаешь что-либо медленно, но хорошо, никто потом не вспомнит, что ты делал это медленно. Но все потом скажут, что ты сделал это хорошо».&lt;/em&gt;&lt;/p&gt;&lt;p&gt;Можете ли вы поручить своему лучшему программисту любую задачу? А если поручите, то сможет ли он блестяще ее решить? Ответ на эти вопросы лежит не только в формальной области знает/не знает, опытен/не опытен, но и в области психологии мышления. Задачу можно решить: &lt;ul&gt;&lt;li&gt;Быстро и хорошо.&lt;/li&gt;&lt;li&gt;Быстро и плохо.&lt;/li&gt;&lt;li&gt;Медленно и хорошо.&lt;/li&gt;&lt;li&gt;Медленно и плохо.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;В зависимости от индивидуальных качеств, любого программиста можно отнести к одной из этих 4 групп. Но на самом деле, при классификации программиста, у вас будет выбор только между двумя категориями. Почему?&lt;/p&gt;&lt;p&gt;Потому, что люди, которые могут делать работу быстро и хорошо, стремительно совершают восхождение по карьерной лестнице и становятся либо руководителями, либо открывают свой бизнес. Вероятность встретить их на рядовых программистских должностях мизерна. Те, кто работает медленно и плохо программистами так и не становятся- их "заворачивают" еще на стадии стажера. Вот и остается два реально действующих типа программистов: работающих быстро и плохо, работающих медленно и хорошо. Обе категории важны для процесса производства ПО.&lt;/p&gt;&lt;p&gt;Тип работающих быстро, но плохо наиболее распространен. По моим ощущениям- не менее 60% от программистов, входящих в эти две группы. Эту категорию любит начальство и заказчик, потому, что они умеют прямо таки с космической скоростью клепать код. Именно, что клепать, так как такой код для дальнейшего развития вообще не пригоден. При модернизациях программ его либо полностью выкидывают, либо нанимают консультантов, которые чаще всего внешними косметическими мерами улучшают его. В таком коде, как правило, отсутствуют какие-либо проверки в функциях на корректность входных параметров, нет ни строчки комментариев и, чтобы избавится от надоедливых исключений (exception), густо натыканы их перехваты (catch) с пустыми операторными скобками. Такой код изобилует неожиданными "ходами" на ровном месте. Неожиданными, потому, что решение тривиальной задачи уже накатанным приемом решается вдруг каким-то умопомрачительным вывертом, который полдня разбираешь, а потом еще полдня цедишь сквозь зубы ругательства в адрес того м… который пару тривиальных и всем понятных строчек раздул в невесть что.&lt;/p&gt;&lt;p&gt;Но ведь заказчик и начальство не смотрят на код- их интересует конечный результат, который данная группа программистов может обеспечить весьма быстро. На практике оказывается не столь уж и важно, что потом при эксплуатации такого ПО возникает куча ошибок- благодаря умению быстро клепать код, такой программист молниеносно "залатывает" сотни обнаружившихся ошибок. Большое преимущество таких программистов в том, что с их помощью ПО можно запустить в дело весьма быстро. Находясь в эксплуатации, это ПО уже начнет приносить прибыль, а возникающие многочисленные ошибки в работе ПО быстро устраняются, не приводя к долгим простоям. Минус такого стиля кодирования проявляется не часто- в основном когда требуется внести существенный функционал в ПО. Тогда выясняется, что лучше его переписать с нуля.&lt;/p&gt;&lt;p&gt;Второй тип- медленный пишут ПО, но код грамотный, с хорошими возможностями расширения. Код медленно пишется не потому, что они тугодумы, а потому, что предпочитают перед написанием кода продумать архитектуру порученного им участка кода, и приступают к кодированию когда в голове складывается во едино вся картина предстоящей работы. Их труды можно распознать в первую очередь по комментированию кода и широкому использованию абстракций. В результате их работы код состоит в множества функций, небольших по объему, но в самих функциях делается много вложенных вызовов других функций. И тут чаще ругаешься по поводу того, как загнул сильно мысль свою программист, что "без 100 грамм и не поймешь".&lt;/p&gt;&lt;p&gt;Обычно заказчики и начальство недовольно ими из-за затягивания сроков. Но потом, когда в ходе эксплуатации, такое ПО работает устойчиво, с небольшим количеством ошибок, заказчик уже не помнит о том, с какими задержками проходило внедрение, а радуется текущей хорошей работе ПО. Чаще всего потом заказчик снова обратится к этому же разработчику с другим заказом. Поэтому начальники и ценят этих "тормозов"-программистов- если за "торопыг" заказчики не держатся ("торопыги" берут не качеством, а количеством), то у "тормозов" образуется свой круг клиентов.&lt;br /&gt;Поэтому, получив заказ, грамотный начальник, раздавая задания своим подчиненным, будет учитывать не только их профессиональный уровень, но и психологию мышления. Обе группы важны для процесса производства ПО- главное, правильно распределять между ними обязанности. Например, второй группе (медленные-хорошие) можно поручить реализацию сложного кода, ядра ПО, тех вещей, которые по-быстрому, не продумывая, не сделать никак. А программистам группы "быстрые-плохие" прекрасно подойдут короткие задания, реализации интерфейсных функций.&lt;/p&gt;&lt;p&gt;Самим программистам, прочитавшим эту статью, я рекомендую четко определиться с принадлежностью к тому или иному психологическому типу программистов и, в соответствии со своим типом, подбирать работу. Это повышает ваши шансы оказаться "на своем месте", получить максимальную отдачу от работы и в плане зарплаты, и в плане удовлетворения результатами своих трудов.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2519101447023967267-1789458036191223082?l=www.alvosoft.com%2Fitlife%2Findex.html'/&gt;&lt;/div&gt;</description><link>http://www.alvosoft.com/itlife/2008/11/blog-post.html</link><author>kvl_mikki@mail.ru (Alvo)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>5</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-2519101447023967267.post-7972261970677840181</guid><pubDate>Mon, 01 Sep 2008 18:56:00 +0000</pubDate><atom:updated>2008-11-05T23:10:09.039+03:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>образование</category><title>Багаж знаний. Часть 6.</title><description>&lt;h3&gt;Инженерная культура, командная работа &lt;/h3&gt;&lt;p&gt;Два понятия объединены вместо, чтобы сильно не дробить тему. К тому же, командная работа в принципе невозможна без привитой каждому участнику команды инженерной культуры. Сначала об инженерной культуре.&lt;/p&gt;&lt;p&gt;Понятие сложное, чтобы его свести в емкое определение. Сюда включено много внешне независимых понятий, которые сами по себе мало что значат, но объединенные вместе под словами "инженерная культура" становятся сильнейшим катализатором повышения уровня профессионализма.&lt;/p&gt;&lt;p&gt;&lt;i&gt;Начну с общения&lt;/i&gt;. Инженерная культура подразумевает, что вы владеете терминологией, умеете ее правильно использовать в дискуссиях, а также свободно ориентируетесь в жаргонном сленге. Попробуйте себя проверить, поймете ли вы о чем говорится в следующих фразах:&lt;ul&gt;&lt;li&gt;"… А ты создавай компонент в "ран-тайме" и присваивай ему "парентом" главную форму…" &lt;/li&gt;&lt;li&gt;"…Подменяй в "квери" динамически условие "where", и прибей к нему план запроса…" &lt;/li&gt;&lt;li&gt;"…Отпиши в трекер про эту багу, ковыряю ее на днях…" &lt;/li&gt;&lt;li&gt;"…Слил код с cvs, просмотрел дифы и закоммитил…" &lt;/li&gt;&lt;li&gt;"…Сегодня в "ньюсах" пробегала "инфа" о выходе нового релиза…" &lt;/li&gt;&lt;/ul&gt;&lt;/p&gt;&lt;p&gt;&lt;i&gt;Кстати, про релизы&lt;/i&gt;. Система нумерации версий ПО на сегодняшний день еще не устоялась. Если раньше продавали ПО, в имени которого фигурировал номер версии, то потом перешли на наименования по году выпуска, а номер версии стал внутренним атрибутом программы. Теперь уже и год выпуска уходит в прошлое- популярность набирает именование версии ПО просто красивым именем: "Виста", "Арканоид", "Центрино" и т.д. Но внутренние версии именуются все также: до точки ставится номер версии ПО, после точки- промежуточные варианты, связанные с внесением в ПО незначительных улучшений и устранением ошибок. В скобках также указывается номер билда. Номера билдов- это сквозная нумерация всех сборок программы, номер билда не сбрасывается в нуль при переходе к другой версии, он всегда только возрастает. Строго говоря, номер билда- это более точный идентификатор ПО, чем версия, т.к. в рамках одной версии может быть собрано несколько билдов с незначительными отличиями. Тем не менее, при обнаружении ошибок наиболее достоверный способ разработчику узнать, какие изменения привели к ошибке- это посмотреть номер именно билда, а не версии программы. Примеры версий программы:&lt;ul&gt;&lt;li&gt;1.01 (123)- версия (еще называемая мажорная версия) 1, в рамках этой версии- подверсия (минорная версия)- 01, билд- 123. &lt;/li&gt;&lt;li&gt;3.17 (1435) - версия 3, подверсия 17, билд- 1435. &lt;/li&gt;&lt;/ul&gt;&lt;/p&gt;&lt;p&gt;&lt;i&gt;Методологии программирования&lt;/i&gt;. С целью повышения продуктивности труда инженера и обеспечения стабильности выдаваемого им результата постоянно разрабатываются новые методики программирования. Существенного результата до сих пор не дала ни одна методика. Единственное, на чем все точно сошлись, так это на том, что каскадная разработка окончательно уступила место итерационному способу разработки ПО. Это случилось давно и нынешнее поколение молодых разработчиков уже нигде с ней (каскадной методикой разработки) не столкнется. А суть итерационного способа разработки сводится к тому, что сначала делаются крупные наброски, основной функционал, реализация которого требуется в первую очередь, и затем, круг за кругом функционал прорабатывается более детально с учетом замечаний заказчика, устраняя по пути обнаруженные ошибки. При такой методике зачастую оказывается, что проект далеко уходит от первоначальных планов, а для заказчика наиболее важным оказывается другое, чем то, что считалось в начале. Благодаря итерационному подходу подобные вещи выясняются наиболее быстро, а сама методика позволяет гибко адаптироваться к изменяющимся требованиям.&lt;/p&gt;&lt;p&gt;&lt;i&gt;Выпуску программы предшествуют несколько этапов ее разработки&lt;/i&gt;. Различные методологии программирования тут расходятся, но основной, наиболее практикуемый вариант следующий:&lt;ol&gt;&lt;li&gt;Обсуждение функционала. Это когда собирается группа и обсуждает, как надо сделать. Рисуют на доске, на листках, обсуждают после совещания в коридорах. Распределяются обязанности.&lt;/li&gt;&lt;li&gt;Делается первый черновой вариант, густо "нашинкованный" заглушками. Вариант обсуждается, учитывается первый опыт, замечания и разработка идет на второй круг.&lt;/li&gt;&lt;li&gt;Когда руководитель видит, что пора уже делать релиз, дается команда чуть притормозить коммиты в CVS нового функционала, а усиленно "довести до ума" функционал, который должен войти в релиз. Если вы не успели "довести до ума", то страшного ничего не будет, но вам добавиться лишняя работа т.к. наступит следующий этап.&lt;/li&gt;&lt;li&gt;Создается ветка в CVS. С этого момента новый функционал в ветку не добавляется, а коммитится в HEAD. В ветке с готовящимся релизом сидят разработчики, усиленно дорабатывающие ПО. В HEAD'e продолжает работать небольшая часть разработчиков. С этого момента начинают выкладываться так называемые "снап-шоты". Это ночные сборки всего ПО, которое должно войти в релиз. В эти сборки сходят изменения, сделанные разработчиками за день.&lt;/li&gt;&lt;li&gt;По мере готовности версии продукта, руководитель принимает решение о выпуске альфа-версии. Эта версия позволяет широкому кругу пользователей предварительно ознакомиться с ПО, а разработчикам получить обратный отклик ("фид-бэк") о ПО, а также список обнаруженных пользователями ошибок ("багов").&lt;/li&gt;&lt;li&gt;Когда функционал программы сформирован, выпускается RC1 (release candidate 1), т.е. предварительная версия. В ней уже нового функционала внедряться не будет, идет только исправление ошибок.&lt;/li&gt;&lt;li&gt;По мере снижения количества обнаруженных ошибок и их исправления выпускаются RC2, RC3. Крайне редко делают RC4. RC3 уже означает, что ПО в данной версии достигло зрелой стадии и пригодно к эксплуатации. Количество разработчиков, работающих над данной веткой продукта, уменьшается, т.к. для исправления ошибок их уже много не надо. Многие переходят на разработку следующей версии, как говорят "работать в HEAD'e". Такая вот несколько необычная ситуация- еще текущую версию не выпустили, уже работают на следующей. Легко может в производстве находится 1-2 версии ПО одновременно, и еще плюс экспериментальные разработки (это уже только в очень крупных компаниях уровня Microsoft).&lt;/li&gt;&lt;li&gt;И вот, наступает долгожданный момент, и объявляется о выпуске релиза (release). Именно релиз начинает массово распространяться, рекламироваться, а разработчики расходятся по другим проектам. Выпуск сопровождается банкетом для всех разработчиков, в каждой фирме есть свои традиции выпуска релизов: вручение памятных знаков, "золотых" дисков с релизом ПО и т.п.&lt;/li&gt;&lt;/ol&gt;&lt;/p&gt;&lt;p&gt;Участие в полном цикле разработке и выпуске релиза считается ценным опытом. Многие фирмы при приеме на работу весьма положительно смотрят на соискателей, имеющих подобный опыт.&lt;/p&gt;&lt;p&gt;Ночные сборки полезны &lt;i&gt;сторонним разработчикам&lt;/i&gt;, которые будут использовать готовящийся продукт в своем ПО. Сторонние разработчики являются не просто опытными пользователям ПО, наиболее доверенным из них предоставляется доступ к части исходного кода программы. Имея доступ к низкоуровневым интерфейсам программы, они, что называется, видят ее изнутри, и могут свежим взглядом со стороны подсказать направления реализации тех или иных возможностей, указать на ошибки, и даже ошибки проектирования. Для общения с наиболее активными пользователями и сторонними разработчиками создаются специализированные форумы, нередко сторонние разработчики напрямую по e-mail обращаются к разработчикам выпускаемой версии ПО, встречаются на семинарах и конференциях, где неформально общаются и обсуждают готовящийся релиз. Сторонние разработчики стараются вместе с анонсом выпуска релиза вашего ПО, объявить о выпуске своего ПО, полностью поддерживающего функционал новой версии вашей программы.&lt;/p&gt;&lt;p&gt;&lt;i&gt;Внутри команды&lt;/i&gt; обычно возникают специализации: у кого что лучше получается, тот тем и занимается. Кто-то берется за написание связи с базами данных, кто-то отвечает за сохранение в файл, соответственно, правит и найденные баги, которые относятся к его модулю. Принято не самому править баг, а сообщить о нем человеку, ответственному за модуль, где найден баг, чтобы он его исправил. Это связано с тем, что не занимаясь вплотную этим модулем, где обнаружен баг можно: во-первых, не учесть некоторых неявных зависимостей и, по незнанию, вообще завалить сборку; во-вторых, вы затратите на устранение бага больше времени, чем это займет у программиста, занимающегося этим модулем вплотную.&lt;/p&gt;&lt;p&gt;Совершенно нормально в команде попросить о помощи, если нет мысли как лучше реализовать функцию или помощь в поиске бага. Иногда, заработавшись, просто не замечаешь правильного решения, и взгляд со стороны очень помогает. Замечено, что иногда достаточно кому-то просто слух объяснить, проговорить постановку задачи или описание бага, и решение само собою всплывает.&lt;/p&gt;&lt;p&gt;Немаловажную роль в понятии инженерной культуры играет умение понятно, красиво оформить код и комментарии в нем. Внутри команды вырабатываются определенные правила оформления код. Придя в команду, смотрите как другие программисты в других модулях оформляют код и комментарии и подражайте им. Если вы программируете в уже существующем модуле, то, во-первых, придерживайтесь стиля оформления кода, принятого в этом модуле, а, во-вторых, не переформатируйте строки, написанные не вами. Второе требование имеет смысл еще и в другом плане. Системы контроля версий помечают за вами все измененные вами строки. Даже, если вы там только один пробельчик м-а-а-аленький такой поставили, то автором этой строки становитесь вы. И теперь багу, связанную с этим кодом, править вам, хотя вы и понятия об этом коде на самом деле не имеете. Кроме того, внимательно изучайте используемые приемы программирования в команде. Вы должны писать программы в одном стиле с остальными разработчиками, тогда код будет легче читаться и модули друг с другом проще будет связать между собой. Единство в оформлении кода, документировании кода и выборе способа решения задач- важный элемент командной работы.&lt;/p&gt;&lt;p&gt;Никакая учеба не способна научить инженерной культуре, это постигается только путем постоянной работы, ежедневным оттачиванием своего мастерства.&lt;/p&gt;&lt;h3&gt;Заключение&lt;/h3&gt;&lt;p&gt;Описанное в статье хорошо известно опытным IT-специалистам, и информация в статье для них будет тривиальной. Однако, начинающему специалисту о подобных вещах ни в одном университете не расскажут, и, кроме как "на собственных шишках", этому нигде не обучиться. Хотелось бы надеяться, что эта статья поможет молодому специалисту выбрать правильное направление для повышения уровня своего профессионализма.&lt;/p&gt;&lt;p align="right"&gt;&lt;i&gt;(Конец)&lt;/i&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2519101447023967267-7972261970677840181?l=www.alvosoft.com%2Fitlife%2Findex.html'/&gt;&lt;/div&gt;</description><link>http://www.alvosoft.com/itlife/2008/09/6.html</link><author>kvl_mikki@mail.ru (Alvo)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-2519101447023967267.post-5351173967374126430</guid><pubDate>Mon, 01 Sep 2008 18:43:00 +0000</pubDate><atom:updated>2008-09-14T21:51:25.173+04:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>образование</category><title>Багаж знаний. Часть 5.</title><description>&lt;h3&gt;Специализированные знания в определенной предметной области&lt;/h3&gt;&lt;p&gt;Если главы про книги, ОС, форумы и телеконференции актуальны для любой специализации, глава про инструментарий актуальна не всем, то про технологии и языки программировании главы интересны далеко не всем. Это такие специализации, как программист банковского ПО, программист бухгалтерского ПО, тестировщик, системный администратор и т.д.&lt;/p&gt;&lt;p&gt;Перечисленное в этой статье- только начало, некоторая общая информация, которая необходима, чтобы приступить к более подробному изучению вышеперечисленного, и далее получить узкоспециальные знания в выбранной вами области деятельности. Для этого существуют многочисленные курсы, сертификация, семинары и самое главное- опыт. Трудитесь, не бойтесь сложностей, чтобы стать настоящим профи.&lt;/p&gt;&lt;h3&gt;Знания и опыт&lt;/h3&gt;&lt;p&gt;Вы думаете что, например, программисту 1С не надо читать Страуструпа и Кнута? Вы пренебрежительно фыркали, читая главу про технологии или инструментарий? Ну тогда может вас убедят несколько случаев из моей жизни. Это &lt;b&gt;не&lt;/b&gt; взято с других сайтов, все случаи произошли с моим участием.&lt;/p&gt;&lt;p&gt;История первая. У гордости российской IT-отрасли, фирмы 1С, у ее хорошо развитого ПО, есть "ахиллесова пята": огромная армия низкопрофессиональных программистов, чей уровень подготовки зачастую граничит с профанацией. На мой взгляд, это произошло из-за низкого уровня вхождения в рынок: продукт настолько прост в изучении, что многие не программисты (экономисты, кадровики и пр.) становятся программистами 1С. Так вот, был в фирме, где я работал, программист 1С Толик. Экономист по образованию. Однажды мое внимание привлекло оживленное бегание бухгалтеров к нему, и Толика к бухгалтерам. Они носили кипы бумаг, оживленно что-то обсуждали, засиживались до поздна. Это продолжалось дня два. На третий день взлохмаченный и задуренный он оглянулся вокруг в поисках ЛЮБОЙ помощи. Тут я и спросил его:&lt;br&gt;- Толик, что за "запарка" у вас? Отчетность очередная?&lt;br&gt;- Неее, 1С глючит, третий день бьюсь, не могу обойти.&lt;br&gt;- ?!&lt;br&gt;- НДС считает не правильно, суммы с НДС и без НДС не сходятся в копейках.&lt;br&gt;В общем, тут уже можно смеяться, продолжать историю нет смысла. Далее я ему провел ликбез по программе первого курса технического ВУЗа, и объяснил, что такое погрешность округления. В следующие полчаса задача, занимавшая умы всех бухгалтеров предприятия и Толика, была успешно решена.&lt;/p&gt;&lt;p&gt;Вторая история. Костя, сертифицированный программист по финансовым системам. Сидим в кафе, говорим о разном. Зашла речь о его работе. Он расхваливает свою систему и предлагает ее внедрить на моем предприятии. На что я говорю, что она такие объемы не потянет. Далее Костя говорит:&lt;br&gt;- Ну почему же не потянет, вот мы заканчиваем крупный проект и там все нормально с производительностью.&lt;br&gt;- А что будет через год, когда там будет много данных? - спрашиваю я.&lt;br&gt;- Купят сервер помощнее.&lt;br&gt;- Да, у вас система мощная, но почему бы вам ее не оптимизировать, чтобы не требовалось наращивать железо?&lt;br&gt;- А это умная программа: она сама себя оптимизирует.&lt;br&gt;- Такого не может быть! Что будет, если я добавлю в таблицу БД еще одно поле и буду вести по нему поиск? Если я ручками не проиндексирую поле, то поиск будет вестись медленно, перебором! Тут сама программа ни при чем.&lt;br&gt;- Неее, программа умная, там все очень хорошо продумано. Будет работать быстро.&lt;br&gt;- Но как?!&lt;br&gt;- Я точно не знаю, но думаю, что она сама будет автоматически все поля индексировать!&lt;/p&gt;&lt;p&gt;Следующая история. Маленький диалог:&lt;br&gt;- Я буду переписывать твою программу с нуля.&lt;br&gt;- Для чего? Там будет другой функционал?&lt;br&gt;- Нет.&lt;br&gt;- Там будет использоваться другая БД?&lt;br&gt;- Нет.&lt;br&gt;- Я потратил месяц чтобы ее написать. Зачем ты будешь еще минимум месяц тратить, на то, чтобы ее переписать?&lt;br&gt;- Я не хочу разбираться как работает твой код.&lt;/p&gt;&lt;p&gt;Еще одна история. Напротив меня одно время было рабочее место программиста Жени, с очень большой зарплатой, т.к. он считается очень хорошим специалистом. Он упорно работает над протоколом обмена данными между программами. У Жени в его работе возник затык. Он прогулялся, поймав меня в коридоре и, немного стесняясь, спрашивает: "А сколько бит в числе?". Так и спросил: бит в числе.&lt;/p&gt;&lt;p&gt;Несколько лет назад я разбирался с мистической историей. Функционал у клиента в принципе не работал. Вообще. Как будто его и вовсе не было. "Ларчик" открылся быстро- достаточно было взглянуть на исходный код. Код, который был помещен программистом в... модуль с Unit-тестами! Т.е. на тестировании все работало великолепно, но когда собирался релиз, этого кода там просто не оказывалось.&lt;/p&gt;&lt;p&gt;После этих историй, я надеюсь, вы поймете, что есть вещи которые, надо знать всем программистам. Без обсуждения -знать, и точка.&lt;/p&gt;&lt;br /&gt;&lt;p align="right"&gt;&lt;i&gt;(Продолжение следует...)&lt;/i&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2519101447023967267-5351173967374126430?l=www.alvosoft.com%2Fitlife%2Findex.html'/&gt;&lt;/div&gt;</description><link>http://www.alvosoft.com/itlife/2008/09/5.html</link><author>kvl_mikki@mail.ru (Alvo)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-2519101447023967267.post-499987135957230678</guid><pubDate>Mon, 01 Sep 2008 18:34:00 +0000</pubDate><atom:updated>2008-09-04T23:19:30.112+04:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>образование</category><title>Багаж знаний. Часть 4.</title><description>&lt;h3&gt;Рабочий инструментарий программиста&lt;/h3&gt;&lt;p&gt;Как я уже писал ранее, рабочее место современного программиста оснащается, как "космический корабль", кучей различного ПО: см. "Инструменты программиста": &lt;a href="http://www.alvosoft.com/itlife/2007/05/blog-post_30.html"&gt;http://www.alvosoft.com/itlife/2007/05/blog-post_30.html&lt;/a&gt;. По этому вопросу даю еще ссылку: &lt;a href="http://alenacpp.blogspot.com/2008/01/wiki.html"&gt;http://alenacpp.blogspot.com/2008/01/wiki.html&lt;/a&gt;. Теперь, как и с технологиями, список с небольшими комментариями от себя (сразу извиняюсь, что в списке я не всегда корректно "на одну доску" ставлю в качестве примера два сильно разных инструментария- для кратких пояснений различия между ними можно не учитывать, общей картины это не ухудшит): &lt;ul&gt;&lt;li&gt;Система контроля версий (представители: CVS, SVN)- данные системы ведут учет версий файлов, хранят все версии и информацию о том, кто изменил файл, какие именно строчки в файле изменил и когда. Это позволяет восстановить состояние файлов на любой версии, а также организовать коллективную работу на проектом. Работа над проектом нескольких человек практически невозможна без использования какой-либо системы контроля версий. Поэтому научиться работать с CVS или SVN начинающему специалисту надо обязательно.&lt;/li&gt;&lt;li&gt;BugTracker (представители: Jira, BugZilla)- системы отслеживания ошибок. Позволяют пользователям вести учет найденных в ПО ошибок и отслеживать этапы их устранения. Это тоже обязательный элемент изучения для начинающего. В командах разработчиков багтрекеры используются незначительно реже, чем системы контроля версий.&lt;/li&gt;&lt;li&gt;Документирование (представители: Wiki, Doxygen)- эти системы позволяют документировать исходный код программы (Doxygen), а также документировать процесс разработки (wiki): обмен мнениями, идеи, планы. Системы просты в изучении, поэтому даже обсуждать не стоит, надо их изучать или нет- даю полчаса на изучение. Время пошло!&lt;/li&gt;&lt;li&gt;Profiler- позволяет замерить время выполнения отдельных функций программы с целью выявления узких мест для последующей оптимизации кода программы. Этим пользуются нечасто, чаще предпочитают купить железо помощнее. Для начинающего достаточно просто знать что есть такие штуки как "профайлеры".&lt;/li&gt;&lt;li&gt;Debugger- отладчики программ. Ну, без них отладка ПО мучение сплошное. Обязательно надо уметь не только ими пользоваться, но и великолепно владеть методами отладки. Тут учебники не помогут: практика, практика и, еще раз, практика.&lt;/li&gt;&lt;li&gt;Сборщик (представители: make, cmake, ant)- программа, которая по заданному сценарию вызывает компиляцию отдельных файлов исходного кода ПО в нужной последовательности. Конечный результат работы сборщика: собранная и готовая к запуску программа. Обычно у сборщиков бывает несколько целей работы: сборка отладочной версии ПО, сборка с тестированием, сборка релиза, сборка инсталляционного пакета. В правильно организованном процессе сборки подготовка инсталляционного пакета должна выполняться в два этапа: выгрузка из системы контроля версий нужной версии программы и запуск сборщика- все, после этого в заданном каталоге должен оказаться инсталляционный пакет. Обычно в командах программистов от 5 человек, как правило, есть отдельный человек, который занимается исключительно сборщиком. От начинающего программиста требуются общие знания о сборщиках.&lt;/li&gt;&lt;li&gt;Тестирование (например: UnitTest)- видов тестирования много, это отдельная от программирования область деятельности. В серьезных проектах обязательно есть тесты, есть люди, занимающиеся тестированием. Программисту достаточно понимать, что тестируется и как, не вникая в тонкости построения систем тестирования.&lt;/li&gt;&lt;li&gt;Написание справки (представители: Tex, Chm)- часто программистам самим приходится писать справки для пользователей. Это не любимое дело большинства из программистской братии. В серьезных организациях для этого есть отдельные люди, и даже отделы. Техническая сторона дела- формат записей, сборка справки несложна, однако косноязычность- непреодолимый барьер для большинства IT-специалистов. В общем, бегло просмотрите что это такое, чтобы знать, кто такие "течрайтеры" и как с ними общаться.&lt;/li&gt;&lt;li&gt;Инсталляторы (представители: Inno Setup, MSI)- этими программами, отвечающими за корректную установку или удаление ПО, как правило, занимаются отдельные специалисты. Программист сталкивается с ними в основном когда пробует сам продавать свое ПО (shareware). Поэтому от начинающего программиста достаточно, чтобы он знал, используемые им технологии: какие dll надо включить к инсталляционный пакет, какие значения задать в реестре и т.п., чтобы сообщить это специалисту, занимающемуся сборкой инсталляционного пакета.&lt;/li&gt;&lt;li&gt;Защита ПО (представители: Execryptor, Hasp)- в этим программист уж вряд столкнется в начале карьеры. Установкой системы защиты ПО от нелегального копирования редко занимаются в самих организациях, предпочитая отдавать эту работу на аутсорсинг. Это связано с тем, что защита обычно пересматривается перед релизом и держать на постоянной основе своего специалиста по защите большинству фирм не выгодно.&lt;/li&gt;&lt;li&gt;Проектирование (представитель: UML)- в этой области знаний больше "воды", чем реально полезной информации. UML- хорошо пропиаренный способ описания проекта. Я работал и был связан с очень крупными IT-предприятиями, имена которых у всех на слуху. Их штат сотрудников насчитывает более 1000 человек. И что характерно, они не используют ни UML, ни каких-либо других способов описания проекта. Прекрасно обходятся доской с фломастерами и живым общением. Поэтому моя рекомендация начинающим: "на первых порах" держитесь подальше от слов UML, методики проектирования- это точно не первоочередные вещи, которые надо изучать.&lt;/li&gt;&lt;li&gt;Управление разработкой (представители: MS Project, электронные таблицы)- волей-неволей, но вы все же придете к понимаю необходимости управлять процессом разработки. Даже, хотя бы лично для себя составить кратенький план: "1). написать класс…; 2). не забыть его подключить туда-то…; 3). изменить то-то…". Например, я делаю такие пометки в обычном notepad.exe. Рекомендую этот стиль работы: вы ничего не забудете сделать, что повысит качество вашей работы, а вашему начальнику вы в любой момент сможете предоставить отчет о том, что сделали, и о том, что вам еще предстоит сделать.&lt;/li&gt;&lt;li&gt;Протоколированное общение (представители: телеконференции, IM-клиенты, e-mail)- я указал именно протоколированное общение. В работе важно, чтобы общение записывалось, чтобы можно было потом что-то важное по записям вспомнить. Личный совет: никогда не удаляйте протоколы- пройдет 3-4 года и обязательно что-то всплывет, что потребует вспомнить, что же вообще-то было.&lt;/li&gt;&lt;li&gt;Обмен файлами (представители: SMB, FTP)- ну куда уж без этого! В ходе работы файлам обмениваются постоянно, начиная с внутренней документации, заканчивая личными фотками с отпуска. Я предпочитаю FTP- неприхотливый протокол. FTP-сервера у меня запущены и дома, и на работе.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Информация по перечисленному инструментарию можно найти в &lt;a href="http://ru.wikipedia.org/"&gt;http://ru.wikipedia.org/&lt;/a&gt;. В каждом пункте я привел по паре примеров, но подобного ПО существенно больше- освойте, хотя бы перечисленное для начала. Приведенные примеры- наиболее популярные программы, зная их, на собеседовании вы будете чувствовать себя гораздо увереннее.&lt;/p&gt;&lt;p align="right"&gt;&lt;i&gt;(Продолжение следует...)&lt;/i&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2519101447023967267-499987135957230678?l=www.alvosoft.com%2Fitlife%2Findex.html'/&gt;&lt;/div&gt;</description><link>http://www.alvosoft.com/itlife/2008/09/4.html</link><author>kvl_mikki@mail.ru (Alvo)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>9</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-2519101447023967267.post-7476596663031180183</guid><pubDate>Mon, 01 Sep 2008 18:16:00 +0000</pubDate><atom:updated>2008-09-04T00:21:25.842+04:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>образование</category><title>Багаж знаний. Часть 3.</title><description>&lt;h3&gt;Операционные системы&lt;/h3&gt;&lt;p&gt;На протяжении всего блога я ориентирую начинающих специалистов на мэйнстрим. Явно указываю язык программирования, который надо изучать, критерии для оценки фирм, в которых стоит работать и т.п. Да! И еще я по-прежнему утверждаю, что не надо поступать учится в ВУЗ: &lt;a href="http://www.alvosoft.com/itlife/2007/04/blog-post_5372.html"&gt;http://www.alvosoft.com/itlife/2007/04/blog-post_5372.html&lt;/a&gt;. А по операционными системами я еще "наводок" не давал.&lt;/p&gt;&lt;p&gt;На сегодняшний день ситуация такова, что Linux получает все более широкое распространение. Даже на дешевые ноутбуки стали ставить эту ОС, чего ранее не было вообще. Так стоит ли оставаться на Windows или надо уже потихоньку перекочевывать на Linux? Вне сомнений, что на текущий момент Windows кормит минимум 80% IT-специалистов. Я не буду проводить никаких исследований, и скажу на основании своего опыта: лучше изучать программирование под Windows. Как ни крути, а "винда"- это мэйнстрим, то, где крутятся основные деньги, выделяемые на IT. Ситуация в будущем коренным образом не изменится, т.к. любая попытка более широкого продвижения Linux за счет доли Windows упрется в сопротивление уже не только Microsoft, но и многочисленной армии программистов, откормленной на сытном рабочем столе Windows.&lt;/p&gt;&lt;p&gt;Если вы сделали самостоятельный выбор в пользу программирования под Linux, то переубеждать вас не буду- и там вы свой хлеб найдете, а не определившимся однозначно советую освоить программирование под Windows. Именно эта ОС на сегодняшний день лучшая в смысле перспектив развития, карьеры и заработка.&lt;/p&gt;&lt;h3&gt;Языки программирования&lt;/h3&gt;&lt;p&gt;Про языки программирования я уже писал: &lt;a href="http://www.alvosoft.com/itlife/2007/04/blog-post_24.html"&gt;http://www.alvosoft.com/itlife/2007/04/blog-post_24.html&lt;/a&gt;, предлагая осваивать Java и БД Oracle. Вот моя небольшая характеристика языков: &lt;ul&gt;&lt;li&gt;Java. Синтаксис языка изящен. Программировать на нем приятно. Создан, что называется, "по уму". Для него существует огромное количество библиотек, хорошо организованно сообщество программистов, этот язык поддерживают крупные корпорации, такие как IBM, Sun, Oracle. Язык нашел широкое применение в области разработки крупных корпоративных систем.&lt;/li&gt;&lt;li&gt;С++. Лично мне он нравится за то, что его многие критикуют: за отсутствие сборки мусора. У данного языка программирования весьма широкие возможности, что позволяет с его помощью решать широчайший круг задач, которые, зачастую, трудно решаемы в рамках других языков программирования. Однако его высокая гибкость, запутанный и трудночитаемый синтаксис, сложность задают высокий барьер "вхождения", т.е. надо приложить гораздо большие усилия, чем в других языках, чтобы освоить его.&lt;/li&gt;&lt;li&gt;C#. Часто о нем говорят, как об майкрософтовской альтернативе Java. Т.е., фактически, признавая только одну причину его появления- попытка Microsoft захватить лидерство и в области инструментария для программистов. В общем-то, язык не имеет ничего выдающего по отношению к другим языкам, и, наверное, для использующих его программистов, главное- это целостная, единая поддержка его со стороны компании. Что весьма важно при разработке крупных проектов, где C# и нашел свое применение. Но, боюсь, что этот вечный ярлык его, как подражателя, оппонента Java сыграет с ним свою злую шутку, и он пойдет по пути Visual Basic, которого мало кто всерьез воспринимает.&lt;/li&gt;&lt;li&gt;Python, Ruby и др. Их стоит воспринимать как эксперимент. Основные "мэйнстримовые" языки уже сформированы и серьезные изменения в них недопустимы, т.к. это может поломать многие крупные проекты. Однако жизнь не стоит на месте, появляются новые технологии, новые идеи, которые надо где-то обкатывать. Вот и появляются новые языки программирования, реализующие некий новый функционал, который в них обкатывается. По прошествии нескольких лет успешной эксплуатации этот новый функционал появляется в основных языках программирования: C++, Java, C#. Если идея, новый функционал на деле показал себя "не очень", то язык с этим функционалом тихонько займет свою узкую нишу, где спокойно и будет доживать свои дни.&lt;/li&gt;&lt;li&gt;Узко специализированные языки программирования. Яркий и широко известный пример: встроенный язык программирования в системе 1С или, например, web-программирование. Такие языки отлично адаптированы для решения узких задач в своей области. В них во главу угла ставится не программирования как таковое, а решение бизнес-задач. Программирование здесь вторично. Благодаря своей легкости осваивания, порог "вхождения" в эту область деятельности низок. Как правило, это приводит к тому, что в данной области скапливается разношерстный народец с весьма низким уровнем познаний в области программирования. Данное "сборище" формирует высококонкурентное сообщество, что приводит в более низким зарплатам в этих областях.&lt;/li&gt;&lt;li&gt;Мало распространенные языки программирования или уже потерявшие былую славу. Это языки типа (тут сейчас будут возмущенные вопли): C, Delphi, Basic. Армия программистов на этих языках еще весьма велика, но эти языки уже явно не являются основными в целом по отрасли, и ушли в узкую нишу. Существует огромное количество ПО, написанного на них, которое надо поддерживать. Учитывая, что пополнения рядов программистов в этих языках идет крайне низкими темпами, то "старые" программисты на этих языках с каждым годом становятся все ценнее и ценнее.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;По вышеуказанной вначале списка ссылке вы можете пройти простой алгоритм по которому вы можете сориентироваться, куда вам лучше всего податься. Став хорошим специалистом, вы в любой нише найдете себе высокооплачиваемую работу. Но я лично рекомендую держаться мэйнстрима, и выбирать между C++, Java, C#, 1С, web-программированием. А Python и прочие оставьте для экспериментов.&lt;/p&gt;&lt;p align="right"&gt;&lt;i&gt;(Продолжение следует...)&lt;/i&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2519101447023967267-7476596663031180183?l=www.alvosoft.com%2Fitlife%2Findex.html'/&gt;&lt;/div&gt;</description><link>http://www.alvosoft.com/itlife/2008/09/3.html</link><author>kvl_mikki@mail.ru (Alvo)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>9</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-2519101447023967267.post-4315822933171014260</guid><pubDate>Mon, 01 Sep 2008 17:48:00 +0000</pubDate><atom:updated>2008-09-14T21:51:25.174+04:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>образование</category><title>Багаж знаний. Часть 2.</title><description>&lt;h3&gt;Технологии&lt;/h3&gt;&lt;p&gt;Для свободного общения с коллегами надо владеть соответствующей терминологией и разбираться в ряде технологий программирования. Их незнание с головой выдаст вас как программиста-новичка и затруднит общение с коллегами. Вот те, что я вспомнил (коллеги, прошу дополнить меня, если что упустил). Пробегитесь по нему глазами- здесь нет строгих определений, общие вводные слова: &lt;ul&gt;&lt;li&gt;Run-Time, Design-Time, Compile-Time. Эти термины означают момент, когда происходит то или иное действие: во время исполнения программы, во время разработки, во время компиляции. Эти понятия не должны вызывать ни малейших трудностей при использовании их в дискуссии.&lt;/li&gt;&lt;li&gt;RTTI- возможность во время выполнения программы (Run-Time) исследовать тот или иной объект в программе: определить список его свойств, узнать тип каждого свойства. Эта технология требуется не часто, допустимо знать про нее в общих чертах.&lt;/li&gt;&lt;li&gt;ООП- парадигма программирования, в основе которой лежит понятие объекта заданного класса. На сегодняшний день- это мэйнстрим, основной способ написания программ у подавляющего числа программистов.&lt;/li&gt;&lt;li&gt;Шаблоны- генерация кода по заданному шаблону. В принципе, общих знаний про шаблоны будет достаточно.&lt;/li&gt;&lt;li&gt;Перегрузка операторов- возможность задать свои функции для выполнения таких операций, как сложение, умножение и т.п. Используется не часто- общих знаний будет достаточно.&lt;/li&gt;&lt;li&gt;Исключения- один из способов обработки ошибок в программе. Это лучше знать- мощнейший механизм, значительно облегчающий обработку ошибок, хотя многие его избегают, в основном из-за недостаточных знаний об исключениях.&lt;/li&gt;&lt;li&gt;Call-back вызовы- когда какой-либо внешней функции передается адрес определенной функции в нашей программе, чтобы та внешняя функция могла вызвать от себя нашу функцию (типа того, как мы пишем SMS кому-то: "Перезвони мне на такой-то номер"). Знать обязательно- встречается часто, можно сказать- постоянно.&lt;/li&gt;&lt;li&gt;Лямбда-функции- смотри про лямбда-исчисление. "Зверь" относительно новый, ради эрудиции почитать стоит.&lt;/li&gt;&lt;li&gt;Компонентная модель- говоря про это емкое понятие, обычно имеют ввиду способ построения программы с помощью компонент- функционально полных программных блоков, которые являются как бы "кирпичиками" программы. Простота разработки программ с помощью компонент породила класс программистов, называемый "кнопочкокидатели на формочки".&lt;/li&gt;&lt;li&gt;Обмен сообщениями- тема очень широкая. Тут и RPC, и очереди, и посылки сообщений, сигналы. Знать обязательно. Ключевые слова для поиска информации к изучению: RPC, events, signal, queue.&lt;/li&gt;&lt;li&gt;Приемы оптимизации. Это когда что-то тормозит или "кушает" много каких-либо ресурсов, то надо улучшить показатели программы по этому "тормозному" параметру. Например, если низкая скорость работы программы, то повысить ее можно предварительным кэшированием данных. Обычно улучшение одного показателя ухудшает другой. Например, увеличение быстродействия часто требует повышенного расхода используемой памяти. Хороших книг по оптимизации я не знаю- только практика.&lt;/li&gt;&lt;li&gt;Многопоточность- это когда внутри программы может выполняться одновременно несколько функций. В наш век многоядерности и многопроцессорности про это надо знать.&lt;/li&gt;&lt;li&gt;Синхронный/асинхронный режим работы- в синхронном мы посылаем запрос и дальше не работаем пока не придет ответ, а в асинхронном- послали запрос и занимаемся "своими делами", по приходу ответа выполняем его обработку. Асинхронный в реализации сложнее. Это тему знать надо хорошо.&lt;/li&gt;&lt;li&gt;Каналы, потоки- это некоторые из способов обмена информацией. При этом технология каналов имитирует канал, трубу (pipes), по которой как бы течет информация, а потоки (stream) имитируют что-то типа потоков, рек информации из которых мы как бы черпаем нужные нам данные. Эти вещи знать надо железно.&lt;/li&gt;&lt;li&gt;Блокировки (мьютексы, критические секции)- это способ сообщить другим частям программы или другим программам, чтоб они "не лезли сюда" (к определенным данным, к "железу"), т.к. вы в своей функции уже приступили к работе с блокируемыми ресурсами и пока не закончите, никто не должен их трогать. Про блокировки надо знать, эта тема идет "рука об руку" с темой многопоточности.&lt;/li&gt;&lt;li&gt;Регулярные выражения- поиск текстовых данных по заданному образцу. Ну без этого совсем никуда.&lt;/li&gt;&lt;li&gt;XML- замечательный язык для структурирования информации. Получил широкое распространение, легок в изучении. Знать обязательно.&lt;/li&gt;&lt;li&gt;Библиотеки подпрограмм, классов. У каждого языка программирования есть свои библиотеки. Есть такая фраза, часто цитируемая в форумах: "В языке главное не знание его синтаксиса, а знание его библиотек". Говорить, что это знать обязательно, даже не имеет смысла- мимо изучения библиотек не пройти на пути повышения своей квалификации.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;В этом перечне краткие пояснения мои. Я упрощал пояснения в ущерб точности определения. По большинству терминов определения можно найти в википедии: &lt;a id="nlbn252" href="http://ru.wikipedia.org/" goog_docs_charindex="12741"&gt;http://ru.wikipedia.org/&lt;/a&gt;. От программиста ожидается, что он ориентируется в большинстве из перечисленных терминов. Исключением является большая группа программистов 1С, SAP и других, им подобных. В их областях программирования первично умение решать бизнес-задачи, а не сугубо технические задачи программирования, поэтому и требуемый круг знаний там другой. НО! Другой список терминов вовсе не означает, что не надо читать Страуструпа и Кнута. Перечисленные книги надо прочесть всем- это фундаментальная подготовка. К чему может привести ее недостаток- в конце статьи.&lt;/p&gt;&lt;h3&gt;Форумы и телеконференции&lt;/h3&gt;&lt;p&gt;Обычно в каждой области знаний есть свои наиболее популярные форумы, телеконференции. Однако есть и несколько универсальных сайтов, на которых общаются высокопрофессиональные специалисты, активность этих сайтов высокая и спамом и флеймом там следят модераторы. Из таких универсальных сайтов я порекомендую в порядке предпочтений: &lt;ul&gt;&lt;li&gt;&lt;a id="nlbn270" href="http://www.rsdn.ru/" goog_docs_charindex="13704"&gt;http://www.rsdn.ru/&lt;/a&gt; - наиболее предпочитаемый мною. Тут есть и бдительные модераторы, и опытные специалисты, а особенно мне нравится наличие удобного оффлайного клиента для чтения форумов на сайте.&lt;/li&gt;&lt;li&gt;&lt;a id="nlbn279" href="http://www.sql.ru/" goog_docs_charindex="13913"&gt;http://www.sql.ru/&lt;/a&gt; - более "чайниковского" уровня форумы. Для начинающих может быть и ничего, но лично меня форумы этого сайта раздражают: слишком мало полезной информации, в основном вопросы начального уровня. Но зато можно подключиться к форумам по протоколу NNTP и просматривать их в том же Outlook'e.&lt;/li&gt;&lt;li&gt;&lt;a id="nlbn288" href="http://groups.google.ru/" goog_docs_charindex="14233"&gt;http://groups.google.ru/&lt;/a&gt; - хорошие форумы есть, но их надо поискать среди кучи практически мертвых форумов. К плюсам можно отнести возможность подключения к форумам по протоколу NNTP.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Если вы еще не были на этих форумах, то обязательно зайдите- наверняка найдете там интересное для себя.&lt;/p&gt;&lt;p align="right"&gt;&lt;i&gt;(Продолжение следует...)&lt;/i&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2519101447023967267-4315822933171014260?l=www.alvosoft.com%2Fitlife%2Findex.html'/&gt;&lt;/div&gt;</description><link>http://www.alvosoft.com/itlife/2008/09/1.html</link><author>kvl_mikki@mail.ru (Alvo)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-2519101447023967267.post-8462431051877531051</guid><pubDate>Sat, 02 Aug 2008 09:54:00 +0000</pubDate><atom:updated>2008-09-14T21:51:26.926+04:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>образование</category><title>Багаж знаний. Часть 1.</title><description>&lt;p&gt;&lt;i&gt;Полночь. Я опять набираю свою новую статью в блог. Для меня это загадка, но самое продуктивное время для меня с 23 часов и до 2 часов ночи. Я не один такой- несколько моих друзей тоже говорят, что наиболее активны в это время. Может все же подумать над тем, чтобы удаленно работать…&lt;/i&gt;&lt;/p&gt;&lt;p&gt;Ладно, это все мысли вслух. В моем гугловском блокноте записана тема для новой статьи. Записана давно, и кратко мысли набросаны, но я все тяну с написанием, т.к. тема очень обширна, и в "один присест" ее не освоить. Вот, разминаюсь потихоньку легкими статьями про отдых (&lt;a href="http://www.alvosoft.com/itlife/2008/07/blog-post.html"&gt;http://www.alvosoft.com/itlife/2008/07/blog-post.html&lt;/a&gt;), организацию рабочего места (&lt;a href="http://www.alvosoft.com/itlife/2008/03/blog-post.html"&gt;http://www.alvosoft.com/itlife/2008/03/blog-post.html&lt;/a&gt;) и т.п.&lt;/p&gt;&lt;p&gt;Очередная "разминочная" тема ужасна. Нет, я не кокетничаю, она и в правду ужасна. Я хочу, отойдя в сторонку от всех этих "священных войн", на чистой полянке в тылу битв провести курс "молодого бойца" для &lt;b&gt;новобранцев- молодых программистов&lt;/b&gt;, в глазах которых много желания, вопросов, но не хватает понимания, что к чему. Это то, что приходит с опытом, и без чего праведный молодой специалист легко может быть одурманен и затащен фанатиком в свою секту "священного знания" (это я про ярых "линуксоидов", "сишников" и прочих, весьма активных агитаторов, брызгающих слюной на многих форумах). Не делая оговорок и "реверансов", я буду говорить безаппеляционно о том: &lt;ol&gt;&lt;li&gt;какие книги надо прочитать, а какие лучше или не читать, или отложить "на потом";&lt;/li&gt;&lt;li&gt;какие форумы и телеконференции читать;&lt;/li&gt;&lt;li&gt;какая ОС лучше;&lt;/li&gt;&lt;li&gt;какой язык программирования лучший;&lt;/li&gt;&lt;li&gt;рабочий инструментарий программиста;&lt;/li&gt;&lt;li&gt;специализированные знания в определенной предметной области;&lt;/li&gt;&lt;li&gt;знания и опыт, инженерная культура, командная работа.&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Ну вот, сами видите: тема ужасна, как я и говорил. Приступаем к погружению в пучины "священных войн"!&lt;/p&gt;&lt;p&gt;Прежде всего, скажу сразу, что я не могу говорить за все специализации: 1С или PHP, ГИС или VoIP- это вещи кардинально разные. Но тем не менее единую "точку опоры", так сказать, "поле боя", выделить можно. Это- молодой специалист (собственно весь блог для этой категории и задумывался). Каков его типичный портрет? Ну все мы в школе, институте проходили уроки информатики. Нам преподавали системы счисления, машинную арифметику, базовые алгоритмы (помните, сортировка "пузырьком", операции с матрицами?). Программирование ведется и поныне на таких языках как Фортран, Бейсик, Паскаль. Те, кто решает сделать своей профессией программирование, обычно на "программистских" специальностях изучают C, C++, и, более углубленно,- алгоритмы. В итоге, "на выходе", мы имеем пылкого молодого человека (или даму), который хочет и "горы своротить" и получить за это кучу денег. Но, при этом, его опыт удручающе мал, и к реальным проектам его нельзя подпускать "на пушечный выстрел".&lt;/p&gt;&lt;p&gt;В итоге, получается активный (желающий сделать карьеру) специалист с нулевым опытом, чисто теоретическим знанием алгоритмов (что это такое знает, а правильно применить пока не умеет), программирующий на C, C++. Попав в реальный мир, он это осознает, и тут же перед ним встают вопросы: &lt;ol&gt;&lt;li&gt;Какие книги прочесть, чтобы набраться практических знаний?&lt;/li&gt;&lt;li&gt;Какую специализацию выбрать: остаться C++ программистом или пойти в 1С, уйти в область программирования банковского ПО или писать драйвера?&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Старожилы программистских форумов, узнаете эти вопросы? Не проходит и недели, чтобы кто-то не задал один из этих вопросов в каком-либо форуме или телеконференции для программистов. И часто те же молодые специалисты затевают в форумах очередные "священные войны". Вот их, молодых и сомневающихся, активно впитывающих любую информацию, и еще не определившихся, я и выбрал как площадку для "священных войн".&lt;/p&gt;&lt;h3&gt;Книги&lt;/h3&gt;&lt;p&gt;В форумах на эту тему любят приводить внушительный список, больше демонстрируя свою эрудицию. Я читал многие из перечисляемых на форумах книг, и предлагаю следующий минимальный набор, который надо прочесть, чтобы максимально быстро перейти из разряда молодых специалистов ("джуниоров") в просто "хорошие специалисты".&lt;/p&gt;&lt;p&gt;Сначала надо прочесть Страуструпа "Язык программирования C++. Специальное издание": &lt;a href="http://www.books.ru/shop/books/84700"&gt;http://www.books.ru/shop/books/84700&lt;/a&gt;. Эту книгу надо прочесть любому программисту: 1С, web-программисту, программисту баз данных и программистам других специализаций. Будьте готовы к порой весьма занудным философским отступлениями. Не пропускайте их и не забрасывайте чтение. Помните: Страуструп не только создатель C++, он преподаватель с многолетним опытом. Стиль изложения материала в книге выверен годами преподавания, все философские отступления делаются не зря: значит эти занудные места важны, и автор, видимо, не раз сталкивался в непониманием сути того, что он пытается объяснить. Уделите внимание разбору приводимых примеров: отменная подборка материала! Многие опытные программисты нередко обзывают книгу "художественным чтением на ночь", призывая читать стандарт. Однако, они забывают, для кого написана эта книга (см. ее введение). Книга полезна не только для программистов C++, но и вообще для всех программистов, т.к. в большинстве современных языков программирования реализованы и ООП, и шаблоны, и перегрузка операторов, и т.д. А похожий синтаксис у C++, Java, C# делает понятными приводимые на C++ примеры в книге большинству программистов. В общем, моя рекомендация- начинать укреплять свои знания с этой книги. После изучения этой книги вы научитесь подходить к решению задачи с правильной стороны, и уж точно избежите участи стать "кнопочкокидателем на формочки".&lt;/p&gt;&lt;p&gt;Для подковывания знаний в области алгоритмов: Дональд Кнут, "Искусство программирования": &lt;a href="http://www.books.ru/shop/books/7231"&gt;http://www.books.ru/shop/books/7231&lt;/a&gt;. Несколько томов исчерпывающего материала по различным алгоритмам. Выберите на свое усмотрение тот том, который, как вам кажется, наиболее полезен будет для вас, как в смысле применения почерпнутых знаний на работе, так и для ликвидации пробелов в ваших знаниях. А далее вы уже решите сами, надо ли вам читать остальные тома.&lt;/p&gt;&lt;p&gt;И все- этого уже будет достаточно, чтобы стать конкурентоспособным на рынке труда, но еще недостаточно, чтобы стать хорошим программистом. А для этого нужен еще и опыт. Опыт получается только постоянным трудом и никакие книги тут не помогут. Именно поэтому я &lt;b&gt;не&lt;/b&gt; рекомендую к прочтению достаточно популярные книги: &lt;ol&gt;&lt;li&gt;"Рефакторинг: улучшение существующего кода": &lt;a href="http://www.books.ru/shop/books/30436"&gt;http://www.books.ru/shop/books/30436&lt;/a&gt;;&lt;/li&gt;&lt;li&gt;"Архитектура корпоративных программных приложений": &lt;a href="http://www.books.ru/shop/books/156126"&gt;http://www.books.ru/shop/books/156126&lt;/a&gt;;&lt;/li&gt;&lt;li&gt;"Приемы объектно-ориентированного проектирования. Паттерны проектирования": &lt;a href="http://www.books.ru/shop/books/8451"&gt;http://www.books.ru/shop/books/8451&lt;/a&gt;.&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Так как, прочитав эти книги, молодой специалист, не имея еще достаточного опыта применения приемов и идей, изложенных в данных книгах на практике, становится похож на "буриданова осла". В конкретной ситуации он видит возможность решить поставленную задачу несколькими способами из книги, а какой именно способ выбрать не знает из-за недостаточного опыта. Форумы по архитектуре на 99% состоят из вопросов типа: "А какой лучше применить здесь паттерн?" С другой стороны, опытному программисту эти книги уже не интересны: большинство популярных техник программирования он уже освоил. Вот и не понятно, для какой аудитории вообще эти книги написаны? Поэтому, отложите их прочтение "на потом", а там уж, будучи "в теме", сами решите, нужны ли они вам.&lt;/p&gt;&lt;p&gt;Для тех, кому понравился C++, советую обратить внимание и на другие рекомендации: &lt;a href="http://alenacpp.blogspot.com/2006/09/blog-post_19.html"&gt;http://alenacpp.blogspot.com/2006/09/blog-post_19.html&lt;/a&gt;.&lt;/p&gt;&lt;p align="right"&gt;&lt;i&gt;(Продолжение следует...)&lt;/i&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2519101447023967267-8462431051877531051?l=www.alvosoft.com%2Fitlife%2Findex.html'/&gt;&lt;/div&gt;</description><link>http://www.alvosoft.com/itlife/2008/08/1.html</link><author>kvl_mikki@mail.ru (Alvo)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-2519101447023967267.post-7612480085516547375</guid><pubDate>Fri, 11 Jul 2008 20:56:00 +0000</pubDate><atom:updated>2008-07-12T01:15:41.203+04:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>производство</category><title>Про важность отдыха</title><description>&lt;p&gt;Начну с такой истории в своей жизни. На заре своей трудовой деятельности работал я в небольшой фирмочке. За соседним столом сидел коллега лет 40. Я каждый день старался, выкладывался как только мог. Часто бывало, что приходил домой в 2-3 часа ночи. Я очень хотел заработать хорошую репутацию и сделать карьеру. И для этого считал, что важно работать лучше других, делать больше всех. Я внимательно следил, как продвигается работа у коллеги, опираясь в оценках своей работы на его результаты.&lt;/p&gt;&lt;p&gt;А коллега в это время никуда не торопился. Частенько выходил покурить, и там читал книги по полчаса, пил чаек. Тем не менее, когда подходил срок сдачи задания, у него все было готово. Я нервничал, что никак не мог толком оторваться от него по производительности, и увеличивал свои усилия для выполнения работы.&lt;/p&gt;&lt;p&gt;В таком режиме я проработал примерно год, и, уже имея неплохую репутацию, устроился на другую работу. На новой работе я снова продолжил гонки, пытаясь выделиться, что неплохо у меня получалось. Однако, я стал замечать, что зависимость того, что я зарабатываю, от прилагаемых усилий далеко не линейная. Каждый дополнительный рубль достается все большими усилиями. И это прослеживалось не только с работой, но и с "шабашками". Осознав данный факт, я решил прекратить насилие над собой- завязал с "шабашками", снизил нагрузку на работе. И произошло нечто удивительное: была потеряна совсем незначительная часть дохода, однако я стал лучше, полноценнее отдыхать, лучше справляться с работой. И тогда я понял, в чем был секрет высокой работоспособности того коллеги- он умел расслабиться, отдохнуть, грамотно распределяя свои силы в течение дня.&lt;/p&gt;&lt;p&gt;Я стал понимать, что не на пустом месте возникли статьи трудового кодекса: 8-часовой рабочий день, час на перерыв, 5 рабочих дней, 28 дней отпуска. И теперь, как тот мой бывший коллега, я предпочитаю пойти попить чаю, если мысль в голову не идет. Могу просмотреть телеконференции, почитать новости. И ничего страшного в плане моей работоспособности не происходит- у меня среднестатическая производительность.&lt;/p&gt;&lt;p&gt;И теперь замечаю уже другую картину. Вот недавно я работал в очень славной компании в окружении замечательных людей, настоящих профессионалов. Работал в нашей группе парень, который постоянно сокрушался, что он ничего не успевает сделать. Даже на обеды практически не ходил. Брал работу на дом. На что я ему советовал принципиально так не делать, а лучше отдохнуть. Сам я при этом работал как обычно, спокойно распределяя свои силы, попивая чаек. При регулярных оценках начальством моей работы оказывалось, что уважаемый "торопыга" делал совсем не больше меня. Наши результаты были равны.&lt;/p&gt;&lt;p&gt;Из своего опыта я вынес несколько правил (кстати, многие скажут про них, что это все "старые избитые истины"):&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Соблюдайте трудовой кодекс: 8 часов поработали- остальное время отдыхайте. Не "шабашьте" вне работы- лучше направьте все свои силы в одно русло, достигая наилучших результатов в одном деле, и не распыляясь по куче мелких делишек.&lt;/li&gt;&lt;li&gt;Не сидите все 8 часов за компьютером- делайте перерывы, пейте чай, общайтесь с коллегами. Если мысли нет, то ее и не высидишь. По этому поводу великолепно написал Джоэль Спольски. Почитайте про его "состояние потока": &lt;a href="http://russian.joelonsoftware.com/Articles/FireAndMotion.html"&gt;http://russian.joelonsoftware.com/Articles/FireAndMotion.html&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;Те, кто говорят, что могут работать по 8 часов непрерывно- лгуны. Доказано, что более 4 часов человек не способен сохранять концентрацию внимания. Об этом вам наверняка говорили на лекциях ОБЖ в ВУЗе, т.к. на данном факте строится график работы всех критически важных служб жизнеобеспечения. Если вы все же утверждаете, что трудитесь каждый день по 8 часов непрерывно, то понаблюдайте за собой: через несколько часов активной работы вам захочется в туалет, либо вы вспомните, что надо срочно, пока не забыли, поговорить в аське со знакомым о чем-то, либо просто захотите проверить почту, посмотреть погоду, вспомните какую-то новость и обсудите ее с коллегами. Все это вам будет казаться важным, частью трудового процесса, однако это мозг сам "находит поводы" расслабиться, т.к. в его работе наступил спад, и на первый план вылезли второстепенные вопросы, которые, по большому счету, можно было  бы и отложить, но вам они вдруг показались важными почему-то ("пока не забыл", "пока не ушел" и т.п.).&lt;/li&gt;&lt;li&gt;Для работников умственного труда, в которым относится подавляющее большинство IT-специалистов, важны комфортные условия труда. Человек должен быть выспавшимся, не голодным, с достаточным размером оплаты труда, чтобы ему не приходилось думать о том, где достать денег. Не должно быть ни холодно, ни душно, без сквозняков, пыли и грязи. Без внешнего шума и беготни вокруг. Удобное кресло, хорошая техника. Это все совсем не дорого, а прирост производительности будет приличный. По своему опыту скажу, что как только я перешел работать из фирмы, где практикуют "open space", в фирму, где у работников даже не свой кубикл, а отдельный кабинет, то я реально увидел, что стал работать существенно производительней. Подробнее тут: &lt;a href="http://www.alvosoft.com/itlife/2008/03/blog-post.html"&gt;http://www.alvosoft.com/itlife/2008/03/blog-post.html&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;А еще я заметил, что лучше всего трудятся те, кто разнообразно отдыхает: ездит в турпоходы, на курорты, а не просто весь отпуск на даче с утра до вечера грядки пропалывает.&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;В общем, желаю вам приятного отдыха и продуктивного высокооплачиваемого труда!&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2519101447023967267-7612480085516547375?l=www.alvosoft.com%2Fitlife%2Findex.html'/&gt;&lt;/div&gt;</description><link>http://www.alvosoft.com/itlife/2008/07/blog-post.html</link><author>kvl_mikki@mail.ru (Alvo)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>4</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-2519101447023967267.post-9153207701393006920</guid><pubDate>Mon, 12 May 2008 19:28:00 +0000</pubDate><atom:updated>2008-05-12T23:52:41.266+04:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>образование</category><title>Дети, программирование и наука</title><description>&lt;a href="http://www.alvosoft.com/itlife/uploaded_images/child-753334.jpg"&gt;&lt;img style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://www.alvosoft.com/itlife/uploaded_images/child-753291.jpg" border="0" /&gt;&lt;/a&gt; &lt;p&gt;&lt;i&gt;Как кандидат технических наук, ранее работавший в области научных исследований, а теперь живущий в более "сытной" области прикладного программирования, я не утратил в себе основных качеств научного работника: наблюдательности и системного подхода при анализе наблюдаемого. Поэтому появление в моей семье маленькой дочки, помимо отцовских забот, вызвало у меня любопытство к тому, как развивается маленький человечек. Уж больно много знакомых мне по научным исследованиям и программированию вещей происходит при его развитии.&lt;/i&gt;&lt;/p&gt;&lt;p&gt;Еще со студенческих времен я интересовался синергетикой, читал статьи Капицы. Одна из мыслей, пропагандируемая им, заключается в том, что будущие открытия в науке лежат в области междисциплинарных исследований. На практике я многократно сталкивался с тем, что даже простое применение подхода из одной области знаний к наблюдениям, относящимся к другой области знаний, как минимум, весьма занятно.&lt;/p&gt;&lt;p&gt;В связи с этим, я вспоминаю как мы, студенты-технари, слушали курс по нейробиологии про работу головного мозга. Про нейроны, про их объединение в колонны, логику работы колонн. Слушали "с открытыми ртами", т.к. аналогии с программированием, двоичной логикой и работой мозга были явные. После лекции мы подходили к преподавателям-медикам и обсуждали эти аналогии. Преподаватели не знали о достижениях в области обработки информации, и, соответственно, не применяли "программистских" методов обработки информации в своих исследованиях. Уже тогда обсуждение даже простых, поверхностных аналогий давало пищу для размышлений.&lt;/p&gt;&lt;p&gt;Были и обратные случаи. Я слышал об одном обсуждении технарями того, как устроена кровеносная система. Обсуждая течение крови по артериям и венам, технари, не зная о клапанах в венах, самостоятельно пришли в выводу, что в сосудах должны быть какие-то клапаны, чтобы предотвратить обратный кровоток.&lt;/p&gt;&lt;p&gt;Налицо недостаток обмена информацией между различными научными дисциплинами, а слова Капицы о важности междисциплинарного подхода актуальны и по сей день.&lt;/p&gt;&lt;p&gt;Новая волна интереса к междисциплинарному подходу в наблюдениях у меня возникла с рождением дочери. Я не специалист в биологии, и мне не известно многое из того, что знают биологи о развитии человека. Поэтому, на развитие дочки я смотрел как программист, через призму методик программирования. Сразу оговорю два момента: &lt;ul&gt;&lt;li&gt;Я понимаю (об этом еще в школе рассказывают), что не верно считать человеческий мозг компьютером. Такое сравнение не более, чем попытка объяснить его работу с точки зрения текущих знаний и опыта, накопленного человечеством.&lt;/li&gt;&lt;li&gt;Я не знаю о достижениях нынешней биологии. Скорее всего мои наблюдения для биологов уже далеко не секрет и вызовут у специалистов лишь улыбку.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Это интересно мне, и я об этом пишу без всяких претензий на научность наблюдений.&lt;/p&gt;&lt;p&gt;Итак, известно, что поведение человека весьма сложное, и описать его поведение набором алгоритмов не удастся. Однако это поведение формируется не сразу. Младенцы не обладают таким сложным поведением, как взрослый человек, и поэтому на ранних этапах развития (до 6 месяцев) можно увидеть в действиях младенца отдельные простые алгоритмы поведения, которые удивительно напоминают действия сегодняшних роботов.&lt;/p&gt;&lt;h3&gt;Наблюдение 1&lt;/h3&gt;&lt;p&gt;Рефлекс сосания груди. Он есть с рождения. Сам процесс очень занимательный. Вы видели, как дозаправляются в воздухе самолеты? Процесс похож. Ребенок щекой чувствует сосок, поворачивает голову в его сторону. Затем отклоняется от груди и, как коршун, со всего размаха, кидается на грудь, пытаясь присосаться к ней. Если попытка не удалась, то голова ребенка "отпружинивает" назад, и он снова повторяет попытку. Это показывают на видео на курсах молодых родителей, но на практике обычно мамы сами дают грудь. Но я заметил кое-что еще. У младенца голова по отношению к телу большая и тяжелая. Ребенок ее не может держать. Поэтому отклонение и набрасывание на грудь для него весьма энергозатратная операция. Буквально, после 2-3 подходов-отскоков младенцу требуется передышка. Следовательно, задача точного "прицеливания" на грудь для него важна. Попробуйте сами с завязанными глазами попить воды из фонтанчика, не облившись водой. Как решает ее малыш? Известным математическим методом деления отрезка пополам, которым он пользуется интуитивно! Вот, он ведет щекой по соску до угла рта, но не пытается захватить его сразу- сил мало, надо только с размаху. Он ведет сосок дальше, до другого угла рта. Затем, оценив размеры рта таким образом, движется в обратном направлении на половину времени: если путь через весь рот длился 1 секунду, то обратно он с такой же скоростью движется 0,5 секунды. В результате сосок оказывается примерно посередине рта. Тогда ребенок немедленно (пока прицел не сбился :) ) отклоняется и набрасывается на грудь. Если не получилось, то тут же делается еще пара попыток, как в артиллерии- с корректировкой цели.&lt;/p&gt;&lt;h3&gt;Наблюдение 2&lt;/h3&gt;&lt;p&gt;Четко видно, что первоначально органы чувств не развиты. Первыми развиваются вкусовые рецепторы. Это понятно, т.к. еда- это самый первый вид взаимодействия малыша с окружающим миром. Затем, когда ребенок может уже брать вещи, то он первым делом тянет их в рот. Я думаю, что это именно из-за того, что только вкусовые рецепторы наиболее развиты у него, и малыш получает больше всего информации об изучаемом им предмете через язык: твердость предмета, вкус, шершавость поверхности. Затем, в организме ребенка, как истинной адаптивной системы, постепенно настраиваются органы чувств. Сначала даже тактильная чувствительность у него практически не развита: холод, жара, неудобная поза не производят на него сильного влияния, только грубые пороговые значения. С точки зрения технаря происходит нечто вроде калибровки датчиков организма.&lt;/p&gt;&lt;h3&gt;Наблюдение 3&lt;/h3&gt;&lt;p&gt;Ребенок явно учится простейшим движениям, так, как мы, программисты, бы программировали робота: от низкоуровневых алгоритмов, до сложных алгоритмов, образующих, фактически, свой язык программирования, свою среду программирования. Вот, лежит малыш, видит свою руку и начинает просто сгибать и разгибать всю пятерню. Когда у него это получается, пробует дотронуться одной рукой до другой. Трогает свое лицо- это очень не умело, и, зачастую, приводит к расцарапыванию лица. Позже пробует ласкать маму, но движения неумелые и получается, что больше бьет ее. Далее: &lt;ol&gt;&lt;li&gt;Изучение своего языка. Ребенок засовывает руки в рот и ощупывает свой язык.&lt;/li&gt;&lt;li&gt;Пробует, настраивает голос- просто кричит с разной громкостью, затем с изменением интонации, далее- более сложные звуки.&lt;/li&gt;&lt;li&gt;Учится брать предметы. Сначала не догадывается, что, чтобы взять другой предмет надо оставить предыдущий. Позже, когда даешь ему другой предмет, он просто разжимает руку и бросает предыдущий предмет.&lt;/li&gt;&lt;li&gt;Изучает ноги. Подтягивает к лицу, рассматривает, ощупывает.&lt;/li&gt;&lt;/ol&gt;&lt;/p&gt;&lt;p&gt;Так, постепенно, шаг за шагом, ребенок отрабатывает простые алгоритмы, выстраивает из них сложные. И уже через 4 месяца сложность действий малыша возрастает настолько, что выделить простые движения, алгоритмы становится невозможно.&lt;/p&gt;&lt;h3&gt;Наблюдение 4&lt;/h3&gt;&lt;p&gt;Узнавание. Ребенок сначала не распознает лиц. Затем просто распознает любое лицо. Затем отличает лицо близкого человека (мамы, папы) от других лиц (чужих). Распознавание идет медленно, до 30 секунд. Как у программиста, у меня напрашивается аналогия с жестким диском, оперативной памятью и кэшем. Разумеется, сначала алгоритм кэширования несовершенный, и для распознавания образа мозг ребенка часто обращается к более медленной оперативной памяти. Со временем алгоритм совершенствуется, у хранимой информации появляется приоритет, и тогда при пробуждении ребенка происходит упреждающая "подзагрузка" образа родителя в кэш. Смешно говорю, да? Но тем ни менее, внешне это все выглядит весьма похоже: вот, малыш открывает глазки, они совсем пустые и невидящие. Затем взгляд начинает приобретать осмысленность, лицо начинает подергиваться улыбкой. И вот, наконец, программа в оперативную память загружена, распознавание образов произошло и ребенок расплывается в широкой улыбке, узнав близкого человека. С возрастом скорость загрузки и распознавания уменьшается до, примерно, 5 секунд.&lt;/p&gt;&lt;h3&gt;Наблюдение 5&lt;/h3&gt;&lt;p&gt;Ребенок начинает активно копировать родителей примерно с 6 месяцев. Вы спрашиваете ребенка: "Больше не хочешь пить?" и мотаете головой. И вот, уже вы замечаете как малыш сидит и трясет головой, копируя вас. Вы вытираете руки- и малыш начинает имитировать вытирание рук.&lt;/p&gt;&lt;p&gt;Вот так, в одном маленьком ребенке сходится воедино наука и программирование. И, напоследок, приведу пример уже известного многим видео, демонстрирующего достижение роботостроения.&lt;/p&gt;&lt;object height="355" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/W1czBcnX1Ww&amp;amp;hl=en"&gt;&lt;param name="wmode" value="transparent"&gt;&lt;br /&gt;&lt;embed src="http://www.youtube.com/v/W1czBcnX1Ww&amp;hl=en" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2519101447023967267-9153207701393006920?l=www.alvosoft.com%2Fitlife%2Findex.html'/&gt;&lt;/div&gt;</description><link>http://www.alvosoft.com/itlife/2008/05/blog-post.html</link><author>kvl_mikki@mail.ru (Alvo)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>3</thr:total></item></channel></rss>