Повышенное образование, или учеба после учебы
25 мая 2008
Рубрика: Статьи, присланные на конкурс.
Автор: Артур Орлов.

Что должен знать «реальный» IT-специалист.

Это мы не проходили, это нам не задавали!
Любой студент любого ВУЗа, впервые устраивающийся на работу.

Что ожидают студенты, приходя в ВУЗ за IT-специальностью? Закончить вуз полностью подготовленным специалистом.

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

Очень много студентов получивших диплом по специальности полагают свое обучение законченным, тогда как на самом деле задача вуза, прежде всего, сформировать инженерное мышление — то, что составляет основу профессионализма. Для того чтобы стать по-настоящему квалифицированным и востребованным специалистом, недостаточно знать те 2-3 языка, основы которых читаются во время обучения. Грамотный специалист чувствует и предугадывает развитие IT-технологий, для чего он должен держать руку на пульсе IT.
С чем же предстоит столкнуться начинающему специалисту сегодня?

Операционные системы.
Образовательная программа в высшем учебном заведении по любой IT-специальности традиционно включает в себя курс, посвященный операционным системам, в котором достаточное внимание уделяется ОС семейства DOS и Microsoft Windows. Этих знаний для современного IT-специалиста явно не достаточно. Будущий компьютерный гуру также должен свободно работать с Unix-системами. Работа в консольном режиме Unix-систем способствует пониманию процесса решения задачи. Особо ценные навыки и знания можно получить, принимая участие в разработке свободного программного обеспечения, примером которого является Doppix — узбекский GNU/Linux дистрибутив.

Технологии и стандарты.
Во время обучения при реализации программных проектов для курсовых и дипломных работ выбор технологий зачастую не является настолько критичным, как для реальных IT-проектов. Из множества распространенных на сегодняшний день технологий и стандартов особо следует обратить внимание на следующие:
— XML — lingua franca среди языков программирования;
— тонкие клиенты;
— Rich Internet Applications.

Об XML правильнее говорить как о семействе технологий, которые получили широкое применение в самых разных сферах. Основная из которых — структурированное описание данных. На сегодняшний день XML является основой целого ряда стандартов таких как: OpenDocument, XHTML, Microsoft OfficeXML и ряда других. Знание XML и связанных с ним технологий является обязательным для любого современного IT специалиста.

Технология тонких клиентов применяется при разработке клиент-серверных приложений. Сущность ее заключается в том, что в качестве клиентского приложения используется стандартное программное обеспечение, например, браузер или почтовая программа. Эта технология наиболее распространена в сфере бизнес-приложений, так как существенно упрощает развертывание приложения и снижает затраты на поддержку и сопровождение. Примером использования этой технологии служат «банк-клиенты» — практически каждый банк Узбекистана имеет банк-клиент, основанный на web-интерфейсе, то есть использующий в качестве тонкого клиента браузер.

В тех случаях, когда возможностей тонкого клиента недостаточно, на сцену выходят так называемые Rich Internet Applications — интернет приложения с расширенными возможностями. Чаще всего эти возможности заключаются в более тесной интеграции с сервисами операционной системы пользователя. RIA представляется одной из наиболее перспективных в настоящее время технологий, и в развитии ее принимают участие такие гиганты, как Microsoft с платформой Silverlight, Eclipse Foundation, основанная IBM с платформой Eclipse, Adobe с платформой Flex, которая является продолжением развития Flash-технологии.

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

Языки программирования.
Многие студенты полагают, что языки программирование — это то единственное, что следует учить в вузе. На самом же деле все обстоит с точностью до наоборот. Главное в высшем образовании — это то, что составляет основу инженерного образования: высшая математика, химия, физика, гуманитарные предметы. Хороший IT-специалист должен обладать широкими знаниями, так как его работа заключается не просто в проектировании программных систем и написании кода, а, в первую очередь, умении решать задачи в самых различных областях человеческой деятельности и формализовать полученное решение в виде программных систем. Что же касается языков программирования, то считается, что программист должен осваивать по одному новому языку в год. Обучение в учебном заведении дает только основы одного-двух языков, да и то тех, которые предназначены для обучения студентов программированию.

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

C++
Этот язык по праву может считаться вершиной программистского мастерства. Это не самый простой, а, может быть, и самый сложный в изучении язык. Для того, чтобы по-настоящему понять его, требуются не один год. Он достаточно широко распространен, но грамотных специалистов, знающих его не так уж и много, так как знание платформы Microsoft Visual Studio еще не говорит о знании самого языка. Как говорят гуру, там, где кончается MFC, начинается настоящий C++. Тем, кто решил изучать этот не простой, но могучий язык, следует обратить особое внимание не на коммерческие библиотеки языка, которых великое множество, начиная от уже упомянутой MFC от Micosoft, и заканчивая common-cpp от фонда свободного программного обеспечения, а на стандартную библиотеку языка, которая обладает огромными возможностями, и на ее расширение TR1 — это те классы и компоненты, которые будут приняты в качестве стандарта в следующей версии языка, известной под кодовым названием C++0x.

PHP
PHP, возможно, является одним из самых популярных на сегодняшний день языков программирования. Он менее универсален, чем Delphi или C++, так как область его применения, в основном, ограничена сферой web-решений. Но, учитывая широкую популярность технологии тонких клиентов, следует признать этот язык весьма и весьма перспективным. PHP достаточно прост и доступен для изучения, однако с его применением связано немало подводных камней. Одним из таких камней является чрезмерное увлечение объектно-ориентированными возможностями языка. Сама природа языка часто делает применение ООП в реальных задачах избыточным, и на самом деле усложняет, а не упрощает сопровождение.

Python
К сожалению, этот интересный язык с большими возможностями пока незаслуженно обделен вниманием в образовательных программах учебных заведений Узбекистана. Это связано, в первую очередь, с отсутствием достаточного числа специалистов. Однако, несмотря на это, язык представляется перспективным в силу целого ряда причин — он так же прост и переносим, как и PHP, но сфера его применения не ограничена web-решениями. Он идеально подходит для решения задач системного администрирования, так как предоставляет больше возможностей, нежели языки командных интерпретаторов, а его кроссплатформенность и четкая стандартизация позволяют создавать легко переносимые и поддерживаемые продукты.

Помимо вышеперечисленных, есть еще целый ряд языков программирования, знание которых позволит IT-специалисту всегда найти себе работу. Это, в первую очередь, такие гиганты, как Java, C# и распространенный среди Unix-пользователей Perl. Это и небольшой, но и не самый очевидный Javascript. Все они постоянно эволюционируют и модернизируются. Быть передовым IT-специалистом — это бежать со скоростью локомотива, имя которому «Прогресс». Для этого надо уметь быстро учиться. И учиться тому, что завтра будет востребовано. Высшее учебное заведение учит учиться. А настоящее обучение начинается после его окончания, и «реальный» IT-специалист, или «хакер», никогда не считает его законченным.

Автор: Артур Сергеевич Орлов. Место работы: ЧП «Linked Bits»

Информация о конкурсе Версия для печати

Orphus system
Подписывайтесь на канал infoCOM.UZ в Telegram, чтобы первыми узнавать об ИКТ новостях Узбекистана
В Telegram
В Одноклассники
ВКонтакте