Рубрика:
Карьера/Образование /
Пятая пара
|
Facebook
Мой мир
Вконтакте
Одноклассники
Google+
|
ВАЛЕНТИН СИНИЦЫН, ведущий рубрики, разработчик ПО, автор курсов по Linux и веб-технологиям. Кандидат физико-математических наук, доцент УрФУ
Встречайте: «Пятая пара»
Порассуждаем о проблемах, которые есть сейчас в отечественном ИТ-образовании, предложим решения и поговорим о перспективах развития ИТ в 2013 году
Новый год – подходящее время, чтобы попробовать что‑то новое. Вот и мы в «СА» решили ознаменовать начало 2013 года появлением в журнале новой ежемесячной рубрики, которую назвали «Пятая пара». Как нетрудно догадаться, ориентирована она будет в первую очередь на студентов ИТ и технических специальностей, но, не исключаем, окажется интересной и полезной также тем, кто давно простился с вузовской скамьей.
На круглом столе, организованном по случаю десятилетия «Системного администратора», прозвучала мысль, что между ИТ-образованием и ИТ-реалиями в России существует определенный разрыв. Мы, разумеется, не претендуем на то, чтобы решить эту проблему в рамках одного отдельно взятого журнала (хотя кто знает?), но хотим поспособствовать «смычке» теории и практики.
Поэтому в материалах рубрики «Пятая пара» будут освещаться вопросы, имеющие непосредственное отношение к работе ИТ-специалиста, будь то системный администратор или программист, но традиционно оказывающиеся за рамками учебных курсов, – то, что молодой выпускник обычно постигает на практике, придя на работу в ту или иную компанию.
Лабораторную работу или небольшой проект можно легко собрать на машине разработчика, но что делать, когда компиляция нескольких миллионов строк исходного кода занимает ощутимое время даже на самом современном оборудовании? Как протестировать такую махину? Как организовать взаимодействие с конечными пользователями, чтобы отчеты об ошибках были полезными, а пожелания не терялись на фоне «шума»? Почему подходы, прекрасно работающие при администрировании сети в пять-десять машин, перестают действовать, когда хостов становится на один-два порядка больше? Мы надеемся, что рубрика сможет дать ответы на эти и другие вопросы.
Некоторые исследователи считают, что взрослый человек учится, только перенимая опыт. И поскольку задача рубрики – дополнить учебные курсы, а не заменить их, постараемся свести «теорию» к минимуму. А поскольку учиться лучше на хороших примерах, будем привлекать в качестве авторов рубрики экспертов, работающих над успешными и достаточно крупными проектами.
Мы надеемся, что выпускник или студент старших курсов, только начинающий свой профессиональный путь, будет иметь представление о том, как все выглядит на самом деле, и это не только поможет ему быстрее адаптироваться, но и позволит оценить, насколько технологичен, современен его первый работодатель. Многие хотят работать в Google или Microsoft, но, возможно, вы с удивлением обнаружите, что на вашем нынешнем месте работы уже есть многое из того, что могут предложить крупные игроки, – ну, может быть, кроме автоматов с газированной водой, чипсами и личного служебного автомобиля.
Вторая тема, которую планируется развить в рамках рубрики, может быть условно названа «Как это работает?».
Известное изречение гласит, что хорошая технология неотличима от магии. Опыт проведения собеседований с различными ИТ-специалистами (не обязательно вчерашними студентами) показывает, что многие кандидаты именно так ее и воспринимают, то есть имеют (зачастую весьма обширный) багаж накопленных «батареечных» знаний, к сожалению, не подкрепленный пониманием внутренних принципов, заложенных в ту или иную технологию. В результате в случае любой нетипичной ситуации принимаемые таким специалистом решения оказываются далекими от идеальных.
Конечно, о чем-то (и довольно о многом) рассказывается в вузах. Но, во-первых, не у всех есть профильное образование (а самообучение часто происходит по принципу: «знакомимся только с тем, что нужно прямо здесь и сейчас»), а во-вторых, учебный курс по определению ограничен во времени, и выбор между понятийным и практически применимым зачастую (вполне оправданно) делается в пользу последнего. В этом направлении новая рубрика будет дополнять учебные курсы примерно в том же смысле, как «Ядро Linux, 3-е издание» Д. Бовата и М. Чезатти дополняет «Современные операционные системы» Э. Таненбаума: в первой книге рассказывается, как именно реализованы общие концепции, описанные в последней.
Чему пойти учиться?
Передо мной на столе лежат два устройства, называемые интернет-планшетом. Первый, по имени Nokia N800, имеет четырехдюймовый экран, стилус, одноядерный 0,4-ГГц процессор и датирован 2007 годом. Приложения, работающие на нем, во многом напоминают настольные и пишутся с использованием GTK+ и языков вроде C и Python. Второй – ASUS Eee Pad – родом из 2012-го; он оснащен 10-дюймовым емкостным экраном и четырехядерным процессором. Приложения для него пишутся на языке Java или, если есть желание, связке из HTML, CSS и JavaScript.
Первая мысль, которую я хочу выразить в связи с этим, проста и банальна: не нужно пытаться «выучиться раз и навсегда». Технологии все равно развиваются быстрее, и (условно выражаясь) студент, начавший специализироваться в области Maemo на первых курсах, к шестому рискует оказаться в положении изготовителя шор для лошадей, то есть представителя редкой, почетной, но не слишком востребованной специальности. Не нужно ждать, что вуз, каким бы хорошим он ни был, даст «все знания», необходимые для будущей работы: многое все равно придется постигать самостоятельно, на месте.
В чем действительно может преуспеть вуз, так это дать хорошее фундаментальное образование, позволяющее быстро разбираться во всем разнообразии новых концепций, которые зачастую оказываются хорошо забытыми старыми. Если вы студент и вам кажется, что преподаватели пичкают вас «ненужными» матанализом и теорией графов, вместо того, чтобы рассказать про Windows 8, имейте в виду: к моменту вашего выпуска на смену Metro придет что-то еще, а сложность алгоритмов по-прежнему будет обозначаться посредством O-нотации.
На что же обратить внимание, если срок обучения в вузе уже подходит к концу и пора переходить от фундаментального к конкретному? Мы составили для вас шорт-лист из пяти актуальных тенденций в развитии ИТ (по версии рубрики «Пятая пара» и журнала «СА») на 2013 год.
Функциональные языки. Если вы программист, предлагаем обратить внимание на языки, которые принято называть функциональными: F#, Erlang и прочие. Начавшиеся как экзотика, они постепенно переходят в разряд мейнстрима и (если, например, говорить об Erlang) покидают исходную нишу, становясь все больше языками общего назначения. Отдельные элементы функционального подхода проникают в языки, традиционно придерживавшиеся других парадигм (объектно-ориентированной, процедурной и т.п.). Границы размываются, и мы не исключаем, что через несколько лет знакомство и опыт программирования на функциональном языке станет столь же повсеместным требованием, как сейчас знание основ ООП.
Веб-технологии. В этой области происходят схожие превращения. JavaScript (и в меньшей степени HTML/CSS) покидает границы веб-браузера, превращаясь в инструмент для решения самых разных задач, например, сетевого программирования и создания апплетов рабочего стола.
С другой стороны, общий курс на отказ от традиционных клиентов в пользу веб-интерфейсов и развитие библиотек вроде Ext JS приводят к тому, что создание веб-страниц (каковыми по большому счету являются все веб-приложения) все чаще вменяется в обязанность не веб-мастеру (кто-то еще помнит такое словосочетание?), а обычному разработчику. И обычно это бывает оправданно: создание RIA средствами того же Ext JS – это именно программирование, а не верстка. В общем, JavaScript постепенно становится lingua franca, знать которую (пусть и не во всех тонкостях) должен любой программист, даже если его непосредственная область не особенно связана с веб.
Windows 8. Разумеется, по этой теме за последние несколько месяцев не прошелся только ленивый. Да, есть мнение, что «это уже не Windows», и оно тоже в чем-то оправданно. Примерно то же самое было и с выходом Vista. В любом случае, Windows 8 – это та реальность, в которой придется жить ближайшие несколько лет, даже если вы используете Linux (или Mac OS X) и на работе, и дома.
В отличие от двух предыдущих пунктов этот относится не только к разработчикам, но и к администраторам. Windows 8, как, впрочем, и любое другое предложение от Microsoft, можно не любить (насильно, как известно, мил не будешь), но представлять, хотя бы в общих чертах, точно не помешает.
Samba 4. Если вы администратор Unix-систем, то, конечно, не могли не слышать о том, что «признанный долгострой» мира свободного ПО, сервер Samba 4, наконец-то был выпущен в форме официального релиза. На момент написания этих строк он еще не включен в качестве основного компонента ни в один «промышленный» дистрибутив, но это не повод не попробовать Samba 4 в деле – хотя бы на виртуальной машине. Как отмечает вики проекта, Samba 4 дошел до точки, в которой он способен заменить стандартный контроллер Active Directory, что открывает довольно интересные перспективы для администратора гетерогенных сетей.
Облака. Не спешите обвинять автора в спекулировании на громких маркетинговых терминах. Да, действительно, года три-четыре назад об облаках говорили все. Прошедшее время выявило некоторые подводные камни аренды вычислительных мощностей у стороннего поставщика, поэтому сегодня набирает силу новый тренд – «частные» облака (private cloud).
OpenStack, OpenNebula и иже с ними – необходимость аргументированно подобрать, развернуть, настроить и поддерживать подобное решение может возникнуть не только у администратора дата-центра транснациональной корпорации, но и в сравнительно небольшой компании на 50 человек, где просто активно используется виртуализация.
***
Возможно, предложенные тенденции покажутся кому-то не такими уж новыми или актуальными. В этом случае, а также если у вас есть другие предложения по новой рубрике, мы будем рады узнать о них по электронной почте: sa@samag.ru. Пишите.
А мы передаем слово первому приглашенному эксперту: Денис Силаков расскажет, как организован процесс разработки одного из отечественных дистрибутивов Linux. Надеемся, на этом примере довольно крупного распределенного проекта нам удалось показать, как выстроить взаимодействие ИТ-специалистов из самых разных областей так, чтобы они эффективно работали над достижением общей цели. Приятного чтения!
Facebook
Мой мир
Вконтакте
Одноклассники
Google+
|