Для нас, живущих в США и говорящих на русском языке, слово “программист” практически стало синонимом слов “моя работа”. И дело здесь не только в хорошем преподавании точных наук в советских университетах, но и в том, что программирование означает хорошие деньги, творческую работу и легкость трудоустройства. Для эмигрантов есть дополнительный плюс – языковый барьер для программиста значительно ниже, чем при устройстве на работу, скажем, клерком, продавцом или менеджером.
Поэтому, в ответ на вопрос “кем работаешь?”, русскоговорящий молодой человек в Штатах, как правило, отвечает: “программистом”. Но “программист” – растяжимое понятие. Многие студенты не только научных, но и гуманитарных специальностей не против пойти на курсы программирования, так как это поможет им в работе. Компьютеры стали неотделимой частью нашей жизни, мы оплачиваем счета через компьютер, покупаем через интернет, по телефону нам отвечают роботы, и то ли еще будет! Программировать компьютеры, чтобы они сделали то, что ты хочешь – это интересная работа, а когда за нее хорошо платят – она интересна вдвойне.
Я часто слышу вопрос “Как научиться программировать?”. Об этом, а также о том, как переквалифицироваться из одной области программирования в другую, мы беседуем с Евгением Розиным, организатором и преподавателем курсов программирования в Балтиморе.
Евгений, чему вы учите?
Наш основной курс – это разработка (development) на языке Java. У нас также есть курсы по базам данных и курс приложений для домашнего пользователя. Но мы не только учим, мы еще и переучиваем. К нам приходят специалисты из других отраслей программирования, которые хотят получить квалификацию в Java.
Почему именно Java?
Java очень сильна в Вашингтоне, DC, Балтиморе и окрестностях, во многом благодаря правительственным контрактам. Java стала стандартом во многих правительственных организациях. Я сам работал в Department of Homeland Security, Social Security Administration, Department of Veterans Affairs, а также во многих крупных и маленьких частных компаниях, и знаю, насколько задействованы там Java-технологии. Спрос на Java программистов сейчас снова превышает предложение в нашем регионе, настолько, что людей берут на работу уже после телефонного интервью. И я уверен, что эта ситуация продержится еще как минимум несколько лет.
Так легко берут на работу?
Именно. Посмотрите на предложения на Monster.com, Dice и подобных сайтах. Если компания не поспешит взять кандидата на работу с Java, он может быстро устроиться в другую компанию.
То есть, о Microsoft .NET можно забыть?
Совсем нет. Мы, кстати, можем научить и Microsoft .NET, если наберем группу. У меня есть опыт и сертификации как в Microsoft, так и в Java технологиях, и я могу их сравнивать “от первого лица”. .NET силен, но Java – сильнее. В целом по стране, и особенно в окрестностях Большого Вашингтона.
Также хочу добавить, опять же “от первого лица”, что Java, как язык программирования, и Java EE, как framework, значительно превосходят соответствующие .NET технологии в легкости обучения и усваивания.
И сколько зарабатывает программист на Java?
В среднем от $71,000 до $92,000 в год (источник: Dice.com Tech Salary Survey). А если человек с опытом, или независимый контрактор, то гораздо больше. После наших курсов люди легко находят работу на $70-$75 тысяч в год.
Давайте подробнее поговорим о ваших курсах. Сколько они длятся, как часто проходят? На каком языке преподавание?
Курсы 6-месячные, занятия два раза в неделю, по вечерам, по 3 часа. Группы (в идеале) – по 10 человек. Уроки проходят в Балтиморе, в районе Pikesville. Занятия мы проводим на русском языке.
И много таких русскоязычных школ программирования в округе?
В Балтиморе, кроме нас, нет ни одной. И, насколько я знаю, подобных нет и в Вашингтоне.
Сразу возникает вопрос – у вас, в основном, учатся эмигранты?
Большая часть, вы правы, это люди - приехавшие из бывшего СССР, но учатся у нас не только эмигранты. Приходят и дети эмигрантов – молодые люди, которые родились уже здесь, в Америке.
Какой контингент людей приходит учиться?
Приходят ребята сразу после окончания школы, некоторые приходят после колледжа. Есть инженеры и бухгалтеры, экономисты и математики, таксисты и профессора, в общем, кто угодно, без каких-либо ограничений. Достаточно много народа приходит переучиваться на Java с других платформ.
А сложно это, переучиваться?
Людям с опытом в любой области информатики выучить язык Java нетрудно. Сложно сломать стереотипы, которые сложились, если вы, например, всю жизнь программировали на Cobol или в Power Builder и других пакетах. Люди пытаются постоянно сравнивать Java со старой платформой, и эту ментальность трудно переломать. Новичка, зачастую, проще научить Java, чем ветерана программирования. Но стоит только забыть о стереотипах, как все становится гораздо проще.
Какой возрастной контингент на ваших курсах? И какой процент приходит переучиваться?
Примерно 30% - молодежь после колледжа, более половины - в районе 30 - 40 лет, и около 10% - старше, есть и те, кому уже за 50. Переучиваться приходит около 40%, учиться с нуля – порядка 60%.
Можно, пожалуйста, подробнее о вашей программе?
У нас, в данный момент, три направления: Java, базы данных и основы работы с компьютером . Последний курс – только для начинающих, он идет меньше месяца, и учат в нем офисным приложениям, Internet, Windows.
Java и базы данных – это углубленные курсы, продолжающиеся 6 месяцев. Я не люблю говорить, что мы учим “программированию” (coding). Мы учим “разработке” программ (development). Coding – это менее квалифицированная и менее творческая работа. Мы учим не просто писать объектно-ориентированный код, а понимать бизнес-логику программ. Мы учим таким вещам, как design patterns, n-tier, клиент-серверная архитектура. Разработчик должен видеть весь проект, как сложный механизм, и знать взаимодействия между его компонентами.
Разумеется, мы даем азы, синтаксис языка, библиотеки. Но мы также преподаем разработку приложений в масштабе предприятия, учим Java Enterprise Edition (Java EE), Enterprise Java Beans (EJB), web-development (включая JSP и Servlets), учим интеграции с серверами приложений (например, JBoss), учим использовать интегрированную среду разработки (Eclipse), учим Java transaction (JTA) and persistence API (JPA), front and back end, и многим другим вещам.
Также, некоторое время мы уделяем побочным и вспомогательным технологиям, таким как HTML, XML, Web Services, build tools (Ant) и test tools (JUnit). Поверхностно знакомим с такими вещами, как Struts, Spring и Hibernate.
Как насчет баз данных?
Мы не учим каким-то конкретным базам данных, мы учим работе с базами данных с точки зрения разработчика программ. Разумеется, учащийся получает знания о SQL, queries, дизайне таблиц, relationships, keys. Но мы также учим его, как разработать database layer, как правильно построить архитектуру приложения, чтобы оно работало с любыми базами данных.
Многие читатели, вероятно, захотят задать вопрос: зачем ходить на курсы, если можно почитать книжки и все узнать?
Практически все книги по программированию написаны очень техническим языком. Для новичка учиться по таким книгам – долго и трудно, зачастую – просто мучительно. Тем, кто имеет опыт в программировании, легче, но книга не может заменить живого общения с учителем. Людям нужны жизненные примеры, они хотят задавать вопросы учителю, чтобы немедленно получить квалифицированный ответ. Курсы научат вас гораздо лучше и быстрее, чем чтение книг урывками по вечерам.
Скажите, Евгений, много ли ваших студентов устроилось потом на работу?
Устроились все, и очень быстро. Мало того, все, с кем я до сих пор поддерживаю контакт, по прежнему работают в этой индустрии, и многие продвинулись по службе. Я даже знаю, сколько мои выпускники зарабатывают, но, не вдаваясь в подробности, скажу, что практически все зарабатывают выше среднего. Есть даже несколько человек, зарабатывающих в два-три раза больше, чем средняя зарплата. Так что, можно сказать, что все “устроились удачно”. Все, кроме одного человека. У него серьезные проблемы с английским языком, который он не может выучить вот уже 6 лет, из-за чего не может пройти ни одно интервью. Он уже отчаялся, и на интервью перестал ходить совсем.
То есть, Java мог выучить, а английский – нет?
Все же есть разница: Java – это технический язык, а не разговорный. У этого человека, видимо, исключительно технический склад ума, а не гуманитарный.
Сколько выпускников прошли ваши курсы? И в какие компании они устроились?
Наши курсы закончило более 50 человек. Многие работают на government – (DHS, SSA, FCC), Sylvan learning center, Wells Fargo, Legg Mason, T. Row Price, Deutsche Bank, Blue Cross Blues Shield.
Устраиваете ли вы своих учеников на работу?
Мы, непосредственно, не устраиваем на работу, но активно в этом помогаем. Мы помогаем правильно написать резюме, разместить его в поисковых системах, подготавливаем к интервью, даем рекомендации (references). У нас сложился круг знакомых, через который мы рекомендуем наших учеников. Зачастую, по цепочке, это доходит до потенциальных работодателей.
Сколько стоят ваши курсы?
Для переквалификации на Java курсы стоят $4,000, для новичка в программировании - $6,000. Ознакомительный курс с компьютером стоит всего лишь $150. Наши цены небольшие, если учесть хорошую зарплату, которую вы сможете потом получить. Для групп – скидки. Также возможно обучение в рассрочку.
Евгений, расскажите немного о своем опыте в IT-индустрии.
В этой области я работаю свыше 10 лет. У меня есть следующие сертификаты: Sun Certified Java Programmer, Sun Certified Java Developer, Sun Certified Enterprise Architect for Java, Microsoft Certified Solution Developer. У меня также есть сертификаты от IBM и ATG по технологиям, связанным с Интернет-порталами и электронной коммерцией. Работал на government в DHS, SSA, VA, работал в крупных публичных компаниях, таких, как UPS, разрабатывал систему My UPS (myups.com) и UPS CampusShip (campusship.ups.com), банках – Allfirst и Deutsche Bank – разрабатывал online banking systems. Также работал в небольших частных компаниях, и даже startups.
Давно ли существует ваша школа? Как повлиял на нее недавний спад в IT-индустрии?
Школа существует с 2000 года. Спад, который был несколько лет назад, конечно, повлиял на нас. Было мало учеников. Но те времена, к счастью, прошли. Индустрия снова на подъеме. Сейчас безработица среди программистов в нашем регионе составляет меньше 2% (по сравнению с 5% в экономике в целом).
Евгений, и напоследок. Как стать хорошим программистом?
Не зацикливаться на написании одного лишь кода. Видеть проект со стороны, мыслить глобально, как архитектор. Очень много людей сейчас, нахватавшись терминов и прочитав пару книжек, бросаются в омут программирования, и пишут, честно говоря, отвратительный код. Мы как раз учим не “хватать по вершкам”, а получить достойную теоретическую базу, и правильно применять ее в дизайне ваших приложений. Разработчик программного обеспечения – это звучит гордо, постоянно совершенствуйтесь и будьте достойными представителями этой профессии! Интересных Вам проектов!