пятница, 20 февраля 2009 г.

Кто есть кто в мире IT. Часть 8.

Мои мысли о тенденциях развития ИТ в России

О типах компаний я расписал подробно и дал рекомендации по выбору компании. Следует еще поговорить о специализации. Чем именно заниматься: САПР, интернет, АСУ ТП или чем-то другим? Начну с резких выпадов в сторону излишнего увлечения модными технологиями. Тут будет много эмоций, т.к. испытывать эти модные "штучки" приходилось на собственной шкуре. В 99% опыт был весьма разочаровывающим.

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

При всем моем уважении к известным личностям в ИТ-тусовке, позволю себе еще раз сказать про SaaS, SOA, cloud computing и прочее: я не скажу за весь мир, но в сегодняшней России им места нет. При охмуривании заказчиков лучше этих слов не говорить: будет непонимание (мы же до этого жили как-то- зачем нам это сейчас?), хмурые брови (подозрение, что хотят обмануть). Сергей Орлик тут прав: http://sorlik.blogspot.com/2009/01/service-oriented-enterprise.html. Прав в том, что не надо пугать клиентов такими словами.

Да, к нам на завод, на склад приходили внедренцы-агитаторы, которые пытались внедрять 1С, Oracle Forms и много еще чего- уж и позабыл что именно. Обычно все упиралось в то, что они не могли ответить на вопрос: "Что у вас есть такого, что у нас еще не внедрено, и нам это очень-очень надо внедрить?" Практика показывает, что запуск нового бизнес-процесса занимает 1-2 месяца. При такой скорости разработки любые внедренцы будут постоянно в роли догоняющих, а фиксировать функционал и ждать когда они его реализуют- бизнесу этот вариант не подходит. А красивые слова о высоких технологиях, масштабируемости, перспективах разбивались о конкретные факты. Мне ни разу не пришлось столкнуться с тем, чтобы возможностей классической клиент-серверной технологии работы с БД "не хватало". А я работал с многогигабайтными БД, которые не особых "напрягов" держали около 300 активных, подчеркиваю- активных, пользователей. На них вертелись очень сложные хранимые процедуры (мягко даже сказал про сложные- умопомрачительные). И это был Interbase, MS SQL Server. Ни тебе тяжеловесного Oracle, ни тебе трехзвенки и прочих изощрений. Отчетная форма в Fast Report вообще клепалась за полдня, позволяя не только распечатать отчет, но и экспортировать в MS Excel, MS Word, HTML. Пересылка данных филиалам, получение данных от партнеров и поставщиков в электронном виде- все это реализовывалось тривиально, через электронную почту. Никаких проблем- все работает, а процесс разработки несложен и быстр. А теперь прикиньте, много ли у нас в стране предприятий, где наберется 1000 пользователей или 300 активных подключений? Считанные единицы. И там вполне подойдут решения на базе трехзвенки. Все это- проверенные временем технологии: надежные, отработанные, с прекрасно развитым инструментарием. А экспериментировать на себе, и внедрять нечто сырое и непонятно на решение каких проблем направленное, никто не хочет.

К чему я разразился этой террадой про несостоятельность новомодных технологий? Активное их продвижение "замусоривает" мозги начинающих программистов, и они много времени тратят на поиски того, чем им стоит заняться. Эта ситуация сравнима с положением в ВУЗах: ради денег открываются наборы на новые специальности с громкими названиями, типа, "Микротехника", "Нанотехнологии". Звучит красиво, и подкупает перспективностью: "Вот окончу ВУЗ, и, как раз, нанотехнологии будут на подъеме, и я стану дорогим, востребованным специалистом". Проходит 2-3 года, студент осознает, что с таким дипломом он 100% по специальности нигде не устроится. И раскошеливаются его родители на дополнительное обучение в вечернем ВУЗе, но уже на вполне реальную земную специальность юриста, программиста 1С, бухгалтера. А спрашивается, почему сразу было не подумать, и не направить ребенка, с замусоренными мозгами, на обучение, пусть и не модным, но актуальным сегодня и завтра специальностями?

Но, если не SaaS и прочая мода, то, чем же заниматься, если хочется стать программистом? Было бы неправильно просто сказать: "Идите все, занимайтесь 1С!" Кроме этого замечательного продукта есть еще много областей ИТ, где можно и зарабатывать хорошо, и задачи решать интересные. Чем, например, плоха игровая индустрия? Поэтому, важно в целом дать правильное представление о положении в ИТ, что уже позволит самостоятельно сделать выбор.

Самый большой сегмент ИТ- это автоматизация внутренней деятельности предприятия. Еще иногда это называют, хоть и не всегда верно, АСУ ТП (автоматизация систем управления технологическими процессами). Если, кроме знания языка программирования, изучить еще и одну из СУБД, то в этой области вы всегда работу найдете, и по жизни будете чувствовать себя уверенно: такие специалисты всегда ценятся. Однако, в последние годы идет сильная тенденция к переходу от собственных систем к покупному ПО. Таким образом, "асушники" предприятия больше смещаются от чистого программирования к администрированию покупных систем и не большому программированию на уровне скриптов- адаптации системы под бизнес-процессы предприятия. Предприятия не просто переводят свои бизнес-процессы на покупные системы, а больше концентрируются на основной деятельности, передавая часть функций на аутсорсинг: хостинг сайта, разработка сайта, виртуальные АТС, аудиторские услуги, клиринговые услуги и т.д. Чем грозит это программисту? Ничем серьезным- просто будет большая миграции программистов в сторону софтверных компаний. В ИТ отделах предприятий останутся на поддержке ПО программисты невысокой квалификации. Предприятию такой сценарий удобен, т.к. такие программисты стоят дешевле, а покупные системы быстрее адаптируются под бизнес-процессы предприятия, чем если бы делали все свое.

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

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

Таким образом, я прогнозирую что в будущем в ИТ усилится роль софтверных компаний, производящих коробочное ПО и интеграторов, его внедряющих на предприятия. Разработка собственных систем будет встречаться весьма редко- только в узкоспециализированных областях ИТ. Миграция на коробочное ПО- это очень медленный процесс. Вероятнее всего пройдет еще не одно десятилетие, прежде чем, наступит гегемония коробочного ПО. Другая тенденция- появление разнообразных веб-сервисов. Многие из них выглядят несуразно, непрактично. По сути, это идет проба сил, прощупывание пути развития. В этом бурлящем интернет-супе разнообразных сервисов можно как неплохо заработать, так и сильно проиграть. Тем не менее, если снять пенку с этого супа, то становятся очевидными ряд серьезных ограничений интернет-технологий, которые не позволят им в ближайшие десятилетия делать погоду на рынке ИТ. Это и неумение интернет-приложениями использовать полноценно мощь современных компьютеров, и неумение работать автономно при отсутствующем подключении к сети, а также рост объема передаваемых данных, опережающий возможности сети по их передаче. Эти тенденции приводят к очевидному результату: наибольшее развитие получат "десктопные" приложения, широко использующие как возможности компьютера, так интернета. В качестве отменного примера, показывающего отличное чутье менеджмента компании, я назову Microsoft Live. Компания Google в этом плане уступает, так как искусственно ограничивает себя исключительно веб-технологиями. Перспективные приложения- это приложения, умеющие обновляться в автоматическом режиме через интернет, отсылающие баг-репорты в случае сбоя программы, умеющие синхронизировать данные между разными компьютерами пользователя. На сегодняшний день таких приложений уже немало и эта тенденция будет усиливаться. Прочтите еще раз мой прогноз на 2009 год. Приложения для мобильных устройств- тоже относятся к перспективному направлению развития.

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

Конец.

четверг, 19 февраля 2009 г.

Кто есть кто в мире IT. Часть 7.

Как пользоваться приведенной в предыдущих частях информацией.

Любительская лига.

Мои публикации нацелены на освещение внутренней "кухни" IT-отрасли. В первую очередь это должно быть интересно начинающим специалистам, а также тем, кто еще не знает, стоит ли ему связываться с информационными технологиями. У вас есть время пока вы молоды и есть поддержка со стороны семьи- поэкспериментируйте, нащупайте свой путь в жизни. Уже прошло почти два года с момента моей первой публикации в этом блоге, и моя первая статья стала актуальней. Еще раз повторю: начните, сделайте первый шаг, а там виднее станет. Скорее всего, моих советов вам уже далее и не понадобиться тогда. Прочтите еще про специализации. Чтобы было легче совершить первый шаг опишу как это делают другие. Конечно, у каждого свой путь, не все прошли теми путями, которые я ниже опишу. Это значит только то, что я рассказываю о наиболее распространенных сценариях развития карьеры, на которые вы можете ориентироваться как на надежные, проверенные большинством ваших будущих коллег. Я не навязываю их, и не утверждаю, что только эти пути приведут к успеху.

Начитать пробовать устроиться в жизни надо как можно раньше. Я считаю, с 8-9 класса надо начинать (см. статью). Чаще всего это просто интерес: сделать себе домашнюю страничку; написать простенькую программу типа "Hello, World!", которая из автозагрузчика будет приветствовать пользователя; помочь настроить соседу компьютер и т.д.

Вслед за любительским этапом возникает желание подзаработать на увлечениях. Вы еще не знаете, кем хотите стать: программистом, администратором, менеджером или, может быть, вообще не связываться с информационными технологиями. Вслед за соседом, знакомый бухгалтер просит помочь установить обновление 1С, мелкий предприниматель- завести ему e-mail и сделать web-страничку. Это первые деньги, первый опыт с которого начинали практически все ИТшники.

Следующий этап- это попытка официально трудоустроиться на работу. Чаще всего это происходит на 2-3 курсе учебы в ВУЗе. Но, если вы не зевали, и с 8-9 класса уже пробовали найти работу, то, скорее всего, к этому моменту вы будете учиться на заочном, т.к. это не мешает работать. Отличный вариант, поздравляю вас именно с таким выбором! Даже, если вы не имеете работы на момент окончания школы, все равно, лучше поступать на заочный, но, к сожалению, стереотипы сильны. Сможете ли вы от них отойти?

И вот, вдоволь наигравшись с обновлениями 1С, покупками-настройками компьютеров знакомым, Web-страничками, верстками мелких газет, редактированием в CorelDraw, Photoshop, участием "священных войнах" типа Windows против Linux и еще кучей всяких занятий, вы впервые задумываетесь над тем, кем хотели бы вы стать. Вот тут я вас и жду! Здравствуйте, мои дорогие!

Определившиеся.

Админы. Среди, вас, начинающих, есть те, кто твердо знает, чем хочет заниматься. Если вы твердо решили стать системным администратором, то я вам подскажу, что сисадмины часто начинают свою карьеру с малых предприятий. В их обязанности входит все: настройка компьютеров, прокладка сети, доступ в интернет, верстка web-сайта, настройка и написание программ для 1С, заправка картриджей, ремонт электрочайников, ксероксов, факсов, электрообогревателей, помочь в настройке домашних компьютеров сотрудникам предприятия, а также, как дополнительный бонус, бесплатная настройка домашнего компьютера начальника у него на дому с подключением его домашнего компьютера к интернету.

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

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

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

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

Не определившиеся.

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

Как надо пробовать? Многие программисты начинали карьеру с работы в государственных учреждениях (например, на кафедре, в лаборатории) или в больших, сильно бюрократизированных организациях. Такой вариант удобен тем, что обычно в таких организациях процветает "пофигизм". Достаточно создавать видимость деятельности, и делай что хочешь. В свое время я работал на заводе. Единственная серьезная вещь, которую надо было соблюсти- прийти на работу без опоздания. Утром, буквально за пару часов решались все дела и потом я занимался своими делами- спал, общался через интернет, разбирался с интересными мне технологиями. Тут можно побыть и программистом, и администратором, и с бумажками побегать, строя из себя управленца.

Пути-дороги.

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

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

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

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

Резюме.

Вот и получается, что дорожки ИТшника хорошо протоптаны и их не много:

  1. Хорошо знаете, чего хотите? Тогда прямиком идете в стажеры в интересующую вас компанию.
  2. Не уверены в себе? Пробуете себя на гос. службе, в крупных компаниях, набираетесь опыта, определяетесь, кем хотите работать. Набравшись опыта, устраивайтесь на интересную, хорошо оплачиваемую работу.
  3. Хотите переехать в другой город- вам к интеграторам, аутсорсерам.
  4. Хотите за границу- ваш выбор за аутсорсерами, филиалами иностранных компаний, боди-шопами.

Продолжение следует...

вторник, 17 февраля 2009 г.

Кто есть кто в мире IT. Часть 6.

Ликбез о цвете зарплат

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

Белые зарплаты, т.е. те зарплаты, у которых полная сумма выплачивается официально, по документам, платит крайне маленький процент предприятий. В основном это банки, гос. учреждения, филиалы иностранных фирм. Соответственно, с такой зарплаты больше отчислений идет в пенсионные накопления, можно в банке брать кредит по НДФЛ-2, что позволяет получить его под меньший процент. При трудоустройстве на "белую" зарплату учтите еще такой факт, что иногда по умолчанию вам будет называться сумма до уплаты налогов. Например, если договорились на сумму в 50 тысяч рублей, то на руки получите 43500 рублей (т.е. -13% налога).

При прохождении испытательного срока зарплату могут выплачивать более низкую, чем ту, на которую вы договорились. Однако по закону не могут выплачивать менее 2/3 от оговоренной зарплаты, и испытательный срок не может быть более 3 месяцев (6 месяцев для руководителей).

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

Продолжение следует...

понедельник, 16 февраля 2009 г.

Кто есть кто в мире IT. Часть 5.

Не софтверные компании

Большая сфера деятельности для программистов находится в не софтверных компаниях. Это работа в ИТ-отделах различных предприятий. Тут явно выделяются:

  • 1С-ники;
  • Работа в банках;
  • Государственные учреждения;
  • ИТ-отдел предприятия (производственного, торгового).

1С-ники. Да, 1С-ники в эту классификацию не вписываются. Но тема столь обширна, что представляет собой целый мир, самостоятельный и сильно отличающийся от остального ИТ-ландшафта, поэтому я вынес тему 1С-ников в отдельный пункт. Чаще всего их можно встретить в бухгалтерии предприятия. Их зарплата в основном зависит от того, сколько они смогут себе выбить. Близость к бухгалтерии и личное знакомство с главбухом помогает в этом вопросе. На практике встречаются и мизерные зарплаты, и весьма приличные. Работа с бухгалтерией, требует, как бы мягче сказать, особого подхода и соответствующего характера. Часто в бухгалтериях работают люди преклонного возраста, либо просто далекие от компьютеров. Что требует большого терпения при объяснении работы программы, а также умения скрупулезно высчитывать проценты НДС, амортизации и прочая, и прочая. Сама по себе система 1С проста в изучении, что позволяет быстро обучиться и войти в мир ИТ технологий. Фирма 1С проводит семинары, сертификацию, что позволяет повышать как свой уровень знаний, так и запросы по уровню оплаты.

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

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

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

ИТ-отдел предприятия (производственного, торгового). Это самая распространенный вид деятельности у программистов: разработка и обслуживание внутренней системы автоматизации предприятия. Такие отделы обычно состоят из нескольких человек, реже- пары десятков человек. На таких предприятиях программист не является основной рабочей силой, поэтому ИТ-отделам перепадает финансирование по остаточному принципу, но и этого немало для небольшого отдела. Работа тут обычно спокойная: разработка отчетных форм, программирование бизнес-процессов. Не очень интересная работа, компенсируется более высокой зарплатой, чем в софтверных компаниях. На такой работе можно получить хороший опыт в обслуживании различных систем и программировании разных технологий. Можно даже выбить оплату на обучение и посещение семинаров. Часто, как в госучреждениях, можно "шабашить" на стороне. Хороший вариант для начинающих программистов.

Продолжение следует...

Кто есть кто в мире IT. Часть 4.

Если делить компании по типу производимого ПО, то чаще всего вы услышите о компаниях производящих:


  • Игровое ПО;
  • САПР (системы автоматизированного проектирования, например, AutoCAD);
  • ГИС (геоинформационные системы, например, Яндекс.Карты);
  • Финансовое ПО (бухгалтерия, банковское ПО, платежные системы, трейдинговые системы);
  • Автоматизация предприятий (АСУ ТП, SCADA);
  • Программно-аппаратные комплексы.

Это тот тип производимого ПО, о котором больше всего говорят в телеконференциях, посвященных работе, а также российский производитель ПО в этих областях занимает значимое устойчивое положение (многие наверняка слышали такие названия как 1С, Диасофт, CQG, Никита, Бука). Если один из перечисленных пунктов заинтересовал, то вот краткая характеристика по каждому типу ПО.

Игровое ПО. Обычно требуются знания C++. Также нужно знать DirectX, OpenGL; для интернет-игр: flash; для мобильных платформ: Simbian, Windows Mobile, iPhone, Android. При работе в небольшой компании или самостоятельной разработке надо иметь навыки художника, обладать креативным мышлением. Программирование ведется в подавляющем большинстве случаев для платформы Windows. Есть также небольшое количество вакансии по разработки игр для видеоприставок. Характерная особенность программирования игр- слабое внимание к тестированию и устранению ошибок. Это понятно: век игр не долог и потому нет смысла "вылизывать" их код.

САПР. Необходимы знания C++ или C#. Также требуется знание графической подсистемы ОС (GDI, GDI+), а также хорошие знания ООП. Так как такое ПО развивается от версии к версии, то немало внимания уделяется его тестированию и устранению ошибок. Важно писать грамотный код с использованием паттернов и тщательным продумыванием различных вариантов его реализации. Традиционная платформа для которой разрабатываются САПР- Windows.

ГИС. В этой области деятельности широко используется C++ в связке с каким-либо скриптовым языком (часто своей разработки). Необходимы знания различных алгоритмов обработки данных, навыки оптимизации кода по быстродействию, а также знания графической подсистемы ОС. Также, как и с САПР, нужно отлично владеть техникой ООП. Данные системы часто реализуются как для ОС Windows, так и для Linux. Часто состоят из клиентской и серверной части.

Финансовое ПО. Здесь можете встретиться с Java, C++, Delphi, Visual Basic, MS SQL Server, Oracle. Выбор соответствующего инструментария определяется назначением ПО. Например, для разработки ПО для трейдинга используют C++, для документооборота- Java, Delphi. Для аналитики- Visual Basic. Также необходимо владеть базовыми знаниями в области учета финансов и иметь соответствующий склад характера- далеко не у каждого хватит терпения программировать очередной бизнес-процесс. Серверная часть такого ПО может быть реализована как на Windows, так и на Linux, а клиентская обычно делается на Windows.

Автоматизация предприятий. В России в этой области традиционно сильны позиции связки Delphi/Interbase. Примерно на том же уровне, что и Interbase, возможно чуть меньше, используются MS SQL Server, Oracle. Однако у Delphi тут конкурентов нет, ближайший- C#- пока используется весьма редко. Требуется также уметь работать с COM-компонентами, выводить данные в MS Word, MS Excel, а также оптимизировать запросы к БД, подготавливать отчеты. Используемая платформа в 99% случаев- Windows.

Программно-аппаратные комплексы. В этой области чаще всего используется C, C++, Delphi. Для сохранения данных используются различные СУБД: dbf, MS Access, Interbase, MS SQL Server, Oracle. Также необходимо уметь считывать данные с внешнего устройства (COM-порт, USB и т.п.), программировать многопоточные сервисы. Характер надо иметь въедливый, нудный, чтобы иметь терпение выловить сбой в одном бите в многобайтном пакете. Чаще всего данное ПО пишется под ОС Windows, реже- Linux.

Продолжение следует...

среда, 11 февраля 2009 г.

Кто есть кто в мире IT. Часть 3.

Системные интеграторы. Отечественные и иностранные компании, занимающиеся оказанием комплексных услуг в области ИТ: от поставки оборудования, до программирования и автоматизации деятельности предприятия с последующим обслуживанием. Примеры таких компаний: Ланит (http://www.lanit.ru/), IBS (http://www.ibs.ru/), плюс несметная тьма интеграторов на базе ПО фирмы 1С. Часто системная интеграция сливается с разработкой ПО на заказ, хотя я разделяю это. При разработке программ на заказ используются свои наработки, а при системной интеграции используется как базовая платформа для разработки программное обеспечение другой компании (например, 1С, Navision, SAP). В этой области зарплаты минимальные (зарплаты SAP сюда не относятся, т.к. обычно специалисты SAP расцениваются как консалтеры). Навыки программирования необходимы начальные. Поэтому не редкость, когда в такие компании трудоустраиваются люди, не имеющие технического образования вообще. Обучаться приходиться на ходу. Работу можно делать "тяп-ляп"- лишь бы работало, т.к. работа, как правило, разовая. Никто особо никого не выгоняет, но работать заставляют различными штрафами и ограничениями. Высокая текучка кадров, низкий уровень корпоративной культуры, минимальный социальный пакет. Такие предприятия традиционно служат трамплином для тех, кто из провинции переезжает в крупные города. Именно здесь легче всего устроиться с минимальным опытом работы, при этом будет в долг предоставлена корпоративная квартира, дан аванс. При должном усердии пошлют на курсы, повысят зарплату, должность. Буквально в течение полугода-года можно сделать неплохую карьеру. Затем, имея уже некоторую репутацию, опыт, можно двигаться дальше и устраиваться уже в более приятное место работы. Тут требуются знания 1С, Visual Basic, базовые знания работы с СУБД MS Access, MS SQL Server.

Филиалы иностранных фирм. Типичные примеры таких компаний: Microsoft (http://www.microsoft.ru/), Google (http://www.google.ru/), Intel (http://www.intel.ru/). Такие компании могут иметь на территории России исследовательские подразделения, а могут заниматься только продажей ПО. Но даже там, где занимаются чисто продажей ПО есть программистские должности (для консультаций и обучения). В филиалах господствуют порядки западной корпоративной культуры. К такому стилю управления не каждый может привыкнуть. Сама работа идет в плотном темпе, но без "соковыжимания"- людей здесь ценят. Строго соблюдается трудовой кодекс, отличная зарплата по российским меркам, социальный пакет, да и работать весьма престижно в одной из таких компаний. Будут посылать на обучение, сертификацию. Однако для трудоустройства в такие компании требуется свободное владение иностранным языком и уверенное владение ПО, выпускаемым компанией. Работа в филиале компании может послужить отличным трамплином для перехода на работу в головной офис с последующей эмиграцией за границу. Обычно в таких компаниях требуется знание C++, C#, Java, помимо знания ПО, производимого компанией.

Интернет-компании. Это компании, чей бизнес строится на получении прибыли от интернет-сервисов. Известнейшие примеры таких компаний: Яндекс, Mail.ru, Рамблер. Часто, в силу их молодости, такие компании называют "стартапами". Внутри подобных компаний, как правило, преобладает бодрая оптимистичная атмосфера, заряд на успех и чувство причастности к передовому отряду развития информационных технологий. Корпоративная культура во многом является калькой с западных образцов. Динамичность развития затрудняет отладку процесса производства ПО. Решения часто принимаются хаотично, буквально за день принятое утром решение может быть "переиграно" раз пять. В этих компаниях часто преобладают непринужденные отношения, широкое общение в курилках, комнатах отдыха, в общем, дружественная атмосфера (по крайней, дружественность старательно культивируется руководством). Работать в таких компаниях приятно, отличные перспективы карьерного роста. Однако, зарплаты будут средними, даже ниже среднего- работа за интерес. А требования к вашей квалификации будут практически заоблачными для такой зарплаты. В таких компаниях нужны специалисты по HTML, Java, C++, Perl, Python, My SQL. Вам хочется перспектив, интересных проектов? Тогда вам путь прямиком в эти компании!

Продолжение следует...

Кто есть кто в мире IT. Часть 2.

Заказные программы. Этот тип ПО производят отечественные компании, которые на базе пакета программ собственной разработки, выполняют автоматизацию деятельности предприятия, путем подгонки, перепрограммирования своего ПО под потребности конкретного заказчика. Примеры таких компаний: "Бюджетные финансовые технологии" (http://www.bftcom.com/), CBOSS (http://www.cboss.ru/), Borlas (http://www.borlas.ru/). В компаниях данного типа программисты должны были бы быть основной рабочей силой и реально являются, но первую скрипку играют не они, а внедренцы. То есть те, кто ближе стоит к заказчику, к деньгам. Здесь надо уметь программировать очень быстро, качество кода играет второстепенную роль. Основной принцип: быстрее выполнить работу, сдать заказчику и забыть. Социальный пакет будет средненький, зарплаты средние. Характер работы- чаще всего "выжималки". Из-за чего текучка кадров высокая. Несмотря на нехороший мой отзыв о компаниях такого типа, многие программисты находят тут свои преимущества. Например:

  • более быстрое продвижение по карьере;
  • быстрое накопление опыта в широком спектре технологий;
  • компании имеют программы повышения квалификации.

Кроме того, такие компании предъявляют меньшие требования к кандидатам на собеседованиях, чем компании, производящие коробочное ПО. А если сюда присовокупить еще тот факт, что зачастую заказчики после внедрения не редко перекупают программистов-внедренцев к себе на теплые, высокооплачиваемые местечки, то работа в компаниях такого типа становится весьма привлекательна по следующему сценарию. Устраиваемся, обучаемся, набираемся опыта, получаем повышение, участвуем во внедрениях. Заодно присматриваемся к заказчикам, подбираем теплое местечко. При соответствующем предложении от заказчика- валим.

Используемый инструментарий- любой, с помощью которого можно выполнить работу максимально быстро: Delphi, Visual Basic, Oracle Forms, C#. Требуется умение использовать COM-компоненты, генераторы отчетов. Почти всегда требуются знания СУБД: MS SQL Server и/или Oracle.

Занимающиеся аутсорсингом. Отечественные компании, которые выполняют заказы иностранных компаний на основе временного или постоянного сотрудничества. Типичный пример: Luxoft (http://www.luxoft.ru/). В этих компаниях надо работать очень быстро и качественно. Для иностранных заказчиков важны сроки. Процесс идет непрерывным потоком, без передышки. В целом- все тоже самое, что и для компаний, занимающихся производством заказного ПО. Только у вас не будет возможности уйти на теплое место к заказчику. Но, если это все тоже самое, что и заказное ПО, но и даже несколько хуже, то какой смысл туда идти работать? Ответ такой: 1). вы получите более высокую зарплату (но, правда, все равно средненькую), чем в компаниях, занимающихся разработкой заказного ПО; 2). вы освоите кучу разных технологий, востребованных в мире, и сможете впоследствии эмигрировать в развитые страны, имея необходимый багаж знаний и опыта для успешного трудоустройства в этих странах. И уж поверьте, после такой "соковыжималки" вы там устроитесь без проблем. В таких компаниях при приеме на работу требуют знания следующего инструментария: C++, C#, Java, Oracle, MS SQL Server. Технологии обычно даже не указывают- совершенно не известно, с чем придется работать в следующем проекте.

Оказывающие консалтинговые услуги. Это как отечественные, так и иностранные компании, оказывающие консалтинговые услуги. Список таких компаний можно посмотреть здесь: http://ru.wikipedia.org/wiki/Консалтинг. Консалтинговые услуги предоставляют крупные производители ПО, такие как IBM (http://www.ibm.ru), HP (http://www.hp.ru), Oracle (http://www.oracle.ru). Путь в консалтеры непрост, но работать там престижно. Условия труда типичны для западных компаний. Хорошие зарплаты, отличный социальный пакет, строгая корпоративная культура, возможность карьерного роста, заграничные командировки. Но не все смогут вписаться в западную корпоративную культуру, да и вакансий таких мало. Кроме того, тут часто требуется свободное знание иностранного языка, с чем у многих проблемы. Давить не будут, но надо быть профессионалом своего дела и работать четко, стабильно. Программирования там не много. Больше отчеты, презентации, аналитика и т.п. Требуются глубокие знания такого инструментария и технологий как Java, Oracle, MS SQL Server, C#, SAP.

Продолжение следует...

Кто есть кто в мире IT. Часть 1.

Вопрос выбора технологий и инструментальных средств (например, языков программирования), которые собирается изучать начинающий специалист и впоследствии зарабатывать "на хлеб" с их помощью, упирается в сферу применения технологий и инструментов. В разных областях ИТ отдаются предпочтения тем или иным технологиям и инструментам. Например, если вы выберете изучение Delphi, то вероятность стать web-программистом у вас будет крайне низка, как бы вам этого ни хотелось. Кроме того, следует учитывать, что в разных областях различные уровни оплаты, различная корпоративная культура. Сменить выбранный курс весьма сложно. Это делается не часто. Поэтому отнеситесь к выбору изучаемых технологий и инструментария серьезно, учитывайте ту область, в которой вам придется работать (а область во многом определяется вашим набором знаний, как было сказано выше). Учтите также материальный вопрос: зарплаты в этих областях ИТ, а также психологическую составляющую, т.е. насколько комфортно вам будет работать в той корпоративной культуре, которая сложилась в той или иной отрасли.

Ранее была дана общая рекомендация в статье "Специализация": http://www.alvosoft.com/itlife/2007/04/blog-post_24.html. Сейчас пройдемся по различным отраслям промышленности и рассмотрим, где и как применяются ИТ, дадим краткую характеристику условий работы в каждой отрасли. Информация о типах компаний имеет справочный характер, и ее можно пропустить, возвращаясь к нижеследующему описанию по мере необходимости.

Софтверные компании

Можно выделить компании по виду деятельности:

  • пишущие коробочный софт;
  • пишущие заказные программы;
  • занимающиеся аутсорсингом;
  • оказывающие консалтинговые услуги;
  • системные интеграторы;
  • филиалы иностранных фирм;
  • интернет-компании.

Коробочный софт. Это отечественные компании, которые занимаются разработкой "коробочного" ПО. Примеры таких компаний: 1С (http://www.1c.ru/), Лаборатория Касперского (http://kaspersky.ru/), ABBYY (http://www.abbyy.ru/). В компаниях данного типа программист- это основная рабочая сила. Поэтому тут их ценят, но, в то же время, предъявляют высокие требования к уровню их знаний, опыта и производительности. Работать надо будет с высокой отдачей, действительно уйдя с головой в работу. Перерабатывать не заставляют, но среди других сильных программистов у вас просто выбора не будет: вы или работаете не хуже чем они, чтобы иметь основания для продвижения карьеры, повышения зарплаты, либо быстро станете аутсайдером, "вывалитесь из обоймы", и с вами распрощаются совершенно безжалостно и быстро. Взамен вы получите зарплату выше среднего, отличный социальный пакет (дополнительное медицинское страхование, бесплатное питание, транспорт до работы, тренажерный зал, комната отдыха, много разнообразный корпоративных мероприятий), оплату курсов, получения сертификатов. Текучка кадров там не высокая, и, если вы туда устроитесь, то наверняка проработаете там десяток лет с удовольствием.

Так как коробочное ПО развивается непрерывно, то очень важно писать грамотный, легко расширяемый код, которые будет работать годами, и не требовать доработок. Кроме того, инструментарий выбирается многофункциональный, проверенный годами, так как программный продукт развивается годами и переводить его на использование другого инструментария из-за того, что выбранный вами инструмент перестал развиваться- занятие весьма дорогое. Поэтому почти "поголовно" такие фирмы выбирают для разработки язык программирования C++, базы данных- Oracle, MS SQL Server. Требуется умение писать COM-сервера, сервисы, многопоточное программирование.

Продолжение следует...