It обучение с нуля. Обучение программированию с нуля – пошаговое руководство для начинающих. Десять шагов от чайника к программисту-профессионалу

Успех - паршивый учитель. Он заставляет умных людей думать, что они не могут проиграть. - Билл Гейтс

Здравствуй, %habrauser%!
Долго думал как получить инвайт, чем я могу быть полезен для IT-сообщества, и вот, наконец-то, нашел, чем поделиться. Опытом! Именно он отличает меня от моих одногодок и не только, так как в свои 23 у меня есть 4-х летний опыт в сфере IT. Был ли он полезен? Да, ведь это опыт. Какой он был? Всё под катом.

Данная публикация будет интересна, в первую очередь, начинающим IT-специалистам (я не разделяю на более узкие специализации, хочу обобщить) и, надеюсь, послужит некой мотивацией к осознанию сущности бытия своих истинных целей и способа их достижения (в части карьеры, конечно).

В публикации я постараюсь осветить этапы в начале IT-карьеры и золотые правила, которые я вынес из них.

Всех, кто умеет учится не только на своих ошибках, прошу под кат.

Этап 0. Подготовка

В первую очередь немного расскажу о себе для более полного понимания общей картины. После окончания техникума (специальность «Обслуживание компьютерных систем и сетей») встал выбор дальнейшего пути: дневное отделение в институте или «заочка» и работа. В силу того, что я изрядно устал протирать штаны на парах (далеко не все предметы вызывают интерес) и захотелось какой-то свободы и взрослости, выбор пал на второй вариант. Посему, когда мои сокурсники наслаждались весной и большими сроками на дипломную работу, я «денно и ношно» корпел над дипломом. Это дало следующие плоды:
а) я получил бесценный опыт (т.к. взял не первую попавшуюся тему из списка дипломного руководителя, а предложил свою и сделал её не для «галочки», а практически внедрил на прототипе);
б) выиграл время на поиск работы благодаря тому, что начал это процесс в тот момент, когда большинство выпускников почуяли скорый deadline и уселись за свои дипломы. Проще попасть на собеседование, пока волна выпускников еще не начала штурмовать работодателей.

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

Этап 1. Поиск работы.

Дьявол в мелочах

Этот этап придется разделить на 3 подэтапа в попытке осветить эти вопросы в полной мере.
Этап 1.1. Резюме
Есть куча сайтов с примерами, описаниями и рекомендациями. Их дают и психологи, и HR-менеджеры, и все, кому не лень. Но как написать резюме, когда тебе нечего писать в опыте работы? Многие мои знакомые начинали туда лепить все, что только могло как-то наполнить резюме. Использовал Photoshop для убирания эффекта «красных глаз»? Добавляем информацию о владении данным инструментом. Делал чертежи для курсового в AutoCAD? Его сюда же.

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

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

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

Есть еще один спорный вопрос, мнение о котором я знаю с обеих сторон: и соискателя, и работодателя. Отправлять ли резюме, если ты не полностью подходишь по требованиям? Работодатель говорит - нет. Я говорю - ДА! И вот почему:
а) Требования иногда пишут HR-менеджеры. И когда ищут специалиста могут скопировать с другой вакансии, не понимая что это значит;
б) Некоторые требования могут оказаться косвенными. Т.е. несоответствие им не помешает взять тебя на работу;
в) Бывают ситуации, когда соискателю требуется сотрудник «на вчера» (случается и такое). Тогда тебя могут взять для выполнения каких-то базовых задач, а недостающие навыки уже «прокачают» в рабочем процессе;
г) Великое и могучее «А вдруг»(с)! (правда, тут может возникнуть неприятная ситуация на собеседовании, но ведь «А вдруг»(с) не возникнет?).

Этап 1.2. Выбор вакансии
Главное - выбирайте то, что по душе именно вам. Не нужно выбирать по престижности, советам знакомых и прочим, не относящимся к вашим желаниям критериям. Работа должна приносить удовольствие (в идеале и хороший доход, но для старта - удовольствие тоже важно). Она будет формировать ваше представление о работе, ведь она первая.

Так же стоит обратить внимание на направление работы. Она должна расширить ваши профессиональные навыки, а не сузить к какой-нибудь рутине. При правильном выборе направления вы станете более опытным специалистом, но не специалистом с навыками, которые никому не нужны.

Этап 1.3. Собеседования
Я изучал много статей по этому поводу (и вам советую это сделать) и даже сам проводил собеседования, поэтому могу привести некую «выжимку» правил, которые помогут пройти его более эффективно:
а) Не волноваться. Многие сейчас подумали «Ага, на экзамене тоже говорят не волноваться, но не получается!». А нужно. Связная и последовательная речь всегда располагает к соискателю;
б) Готовьтесь к собеседованию. И это относится не только к внешнему виду. Следует «отрепетировать» рассказ о том, что вы уже знаете и умеете, рассказать об этом подробно. Лучше даже с описанием проблем, с которыми пришлось столкнуться во время реализации. Так вы сможете завязать диалог и чувствовать себя уверенней, повествуя о том, в чем вы разбираетесь. Если работодателю будет интересно что-либо другое - он сам направит разговор в нужное русло;
в) Узнайте побольше о компании, куда вы идете на собеседование. Работодатель должен понять, что вы идете не наобум, а целенаправленно к ним. Это так же располагает;
г) Почитайте и ПОЙМИТЕ теорию по тем направлениям, которые указываются в требованиях. Я сам часто «забивал» на теорию, думая, что главное - это быстро разобраться при наличии проблемы. Работодатель так зачастую не думает. И в некоторых ситуациях он прав. Если у вас нет опыта работы - вы можете знать только теорию. И вы должны её знать.

Этап 2. Работа

При счастливом положении звёзд правильном выполнении предыдущих этапов вы устроились на работу. Но это не повод расслабляться. Не буду давать советы, как себя вести в коллективе и в выполнении трудовых обязанностей, т.к. это очень сильно разнится в зависимости от коллектива/руководства.

Но есть «железобетонные» советы как НЕ нужно делать, работающие везде:
а) Не отлынивайте от работы. Таких людей никто не любит. Работу необходимо расценивать как опыт, коего у вас на данный момент еще нет;
б) Делайте свою работу качественно. Казалось бы банальность, но нет. Есть люди, которые по незнанию или из-за лени вместо правильного решения задачи «лепят костыли». Не надо так (с). Никто не любит переделывать за другими. Так же как никто не любит, когда банальную задачу решают долго путем переделывания своих же «костылей»;
в) Если у вас все-же остается свободное время - не тратьте его на социальные сети, игры и прослушивание музыки. Как бы это грубо не звучало: вы еще никто. И только от вас зависит, станете ли вы кем-то или так и будете специалистом «самого среднего звена». Обучайтесь постоянно , будь то какая-то информация о внутренних сервисах компании, которые касаются ваших должностных обязанностей или какая-то более общая информация о том, что вам понадобится в дальнейшем для развития (раз уж вы в своей работе достигли «дзена»). И не нужно откладывать обучение. «Потом» может не настать. Как случилось и у меня: работал, в ус не дул и игрался в свободное время, радуясь тому, что все работает, все обучены на выполнение рутины. И тут - БАЦ! Ликвидация компании, банкроты. С чем мы идем искать работу? С опытом игры в последние месяцы вместо полезных знаний. Не самый удачный багаж.
г) Проявляйте инициативу. Это может поспособствовать как расширению вашего опыта, так и продвижению по карьерной лестнице. Изучайте работу других сервисов, вдруг вы в процессе работы найдете более подходящее и интересное место для себя. Помните, что вы еще не сформировались как специалист и можете попробовать найти себя в другом, родственном направлении. Но это ни коим образом не значит, что нужно «метаться» и сдаваться при первых трудностях. Они будут везде.

Для первой статьи и для понимания как начать свою карьеру в IT, думаю, достаточно. Если у кого-то возникнут вопросы - с радостью отвечу на них в комментариях и в личной переписке.

Ну а чтобы предупредить вопрос «Чего ты добился, чтобы раздавать советы тут», вкратце опишу свой опыт работы. Первое место работы: сначала ведущий специалист отдела программно-технического обеспечения регионального отделения банка, через несколько месяцев - уже начальник этого отдела. Еще через год -начальник отдела, поддерживающего IT-инфраструктуру всего банка - и так 3 года. И это не связи и знакомства, а то, что я говорил - вникание в работу других сервисов. Замечают молодых и инициативных, которые могут и хотят развиваться и работать.

В силу непреодолимых обстоятельств пришлось сменить работу и сейчас вот уже пол года работаю в системном интеграторе, где, собственно, я и узнал о том, что опыт бывает и бесполезный, теория нужна, но это уже совсем другая история (с).

UPD: Всем новичкам советую

Крупнейший ресурс Superjob уже 17 лет помогает работодателям и соискателям найти друг друга. По статистике, IT-специальности уже не первый год входят в пятерку самых востребованных и высокооплачиваемых. Если вы мечтаете об успешной карьере, хорошей зарплате и интересной работе, этот вариант для вас! Учитесь, осваивайте сложный и увлекательный мир IT-разработок и программирования.

Популярных метода 4:

  • окончить вуз;
  • заниматься самостоятельно;
  • найти IT-гуру и напроситься в ученики;
  • окончить онлайн-курсы

У каждого из этих способов есть существенные преимущества. Но все больше людей отдает предпочтение онлайн-обучению. Клиентами обучающего ресурса GeekBrains стали около 2 млн человек.

Онлайн-обучение и вуз

Главное преимущество обучения в вузе - диплом. На некоторых предприятиях такой документ необходим: на работу без него не возьмут.

  • Вам придется потратить много времени на изучение теории, а вот практики будет мало. Ее придется нарабатывать либо самостоятельно, либо после вуза.
  • Обучение длительное, не менее 5 лет, а в программе много посторонних предметов, нужных для общего развития, но бесполезных в профессиональной деятельности. Зачем IT-специалисту нужна история или культурология?
  • Самое важное: понять, нравится вам специальность или нет, вы сможете только на последних курсах, когда начинается специализация. Изменить что-то будет очень трудно.

У онлайн-курсов нет минусов обучения в вузе:

  • Вы сами выбираете области знания, которые вам важны и интересны. Если вы считаете, что какой-то курс вам не нужен - не проходите его. Но если вы передумаете, всегда можно вернуться к нему.
  • Вы можете сразу оценить привлекательность профессии и понять, нашли вы свое призвание или нужно искать дальше. К примеру, на ресурсе GeekBrains есть курсы по 18 специальностям. Базовые знания по этим специальностям бесплатные: вы выбираете профессию после того, как «попробуете» ее. К примеру, вы мечтаете стать программистом. Проходите по ссылке https://geekbrains.ru/basics_intensive , изучаете основы программирования и понимаете, что ошибались. Вам это не интересно, зато интересен веб-дизайн. Вы переходите к другому курсу и занимаетесь тем, что вам нравится. Потерянного времени - минимум, потерянных денег - 0 рублей 0 копеек.

Онлайн-обучение или самоподготовка

Самоподготовка абсолютно бесплатна. К тому же вы делаете только то, что считаете нужным и правильным. Но:

  • Вы теряете много времени на поиски нужного материала. К тому же вы толком не знаете, что вам нужно, а что нет. Самостоятельно составить план занятий, если вы совершенно не разбираетесь в теме, сложно.
  • Если у вас возникает какой-то вопрос, обратиться за помощью не к кому. Можно поспрашивать на форумах, но не факт, что вам ответят. Никто не любит учить новичков.

Онлайн-курсы стоят денег. Зато:

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

Онлайн-обучение или общение с опытным IT-специалистом

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

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

А что после обучения?

Главная проблема начинающего специалиста - найти работу. Работодатели предпочитают нанимать сотрудников с опытом. Учеба на GeekBrains - это практические проекты, которые пойдут в портфолио: вам будет что показать работодателю.

Многие компании ищут сотрудников на GeekBrains. На странице https://geekbrains.ru/career вы найдете список вакансий. Этим работодателям не нужны люди с дипломами. Им нужны сотрудники, умеющие решать конкретные задачи за достойную зарплату. Вы сможете стать как раз таким человеком.

На одних только статьях журнала «Хакер» далеко не уедешь. Это я тебе точно говорю. Если хочешь стать настоящим специалистом в области IT, необходимо учиться и обязательно получить фундаментальные знания о предмете. К счастью, сегодня для этого возможностей больше, чем когда-либо. В Сети не только доступно множество учебников бесплатно, но и стремительно развиваются совершенно новые, прогрессивные способы обучения. И особенно это касается нашей – IT’шной - специальности.

Цель данного материала - показать, насколько просто сегодня можно обучаться самостоятельно. Быстро осваивать новые технологии и языки программирования. При этом делать это не в напряг и получать настоящее удовольствие от обучения. Я не претендую на полноту картины, и эта статья, само собой, не является сборником всех проектов, которые могут помочь тебе в самообразовании. Но я постарался собрать некоторые особенно интересные сервисы, которые были интересны лично мне. Уверен, они пригодятся и тебе.

Изучаем английский язык

Я серьезно рискую, начиная этот материал со слов «английский язык». У многих людей с ним сложности, и ирония в том, что чем серьезнее проблема, тем больше люди противятся его изучению, придумывая отговорки и оправдания. Как бы там ни было, могу тебе сказать с полной уверенностью: по-настоящему успешный IT-специалист если и может обойтись без английского языка, то упускает при этом многие интересные возможности. Большинство авторитетных конференций проходит на английском. В самых крупных сообществах специалистов принят английский язык. Известные ученые ведут блоги и пишут статьи на английском языке. На английском языке говорят в Силиконовой долине. И на нем же изъясняются программисты из Индии, которых стало так много, что спрятаться от них у тебя не получится при всем желании:). Короче говоря, изучение языка нужно добавить в свой личный список дел в качестве одного из приоритетных пунктов. Сказать по правде, абсолютное большинство ресурсов, о которых я буду говорить далее, требуют хотя бы минимального знания английского. Причина простая: на русском ничего подобного не делают (уверен, что только пока). Однако для первого проекта из нашего обзора иностранный как раз не нужен - напротив, он направлен на то, чтобы ты быстро прокачал свои знания «ИнЯз’а». И он сделан в России:).

LinguaLeo

Есть простое правило: чтобы лучше и увереннее подтягиваться на турнике, нужно больше и чаще подтягиваться на турнике. Просто интенсивнее заниматься. Так же и с английским: чтобы хорошо понимать на слух английскую речь, не вслушиваясь в каждое слово в попытке разобрать хоть что-то, нужно больше слушать этой самой речи. Можно начать с просмотра какого-нибудь сериала, подключив для уверенности оригинальные субтитры, но… по сравнению с тем, что представляет сервис LinguaLeo, - это прошлый век. В его базе уже собрано огромное количество сериалов, всевозможных фильмов, записей различных семинаров и выступлений (например, тематических минивыступлений с TED.com), лекций из западных университетов (в том числе по иностранному языку) и так далее. Все это разбито на категории по тематике, сложности и рейтингу у пользователей. Но главное заключается в том, как именно сервис позволяет этот контент потреблять. Рядом с видео выводится полная расшифровка речи, поэтому ты всегда можешь прочитать непонятный на слух фрагмент. Встречаешь неизвестное слово? Один клик, - и LinguaLeo тут же показывает перевод и заносит это слово в твой личный словарь, чтобы дальше с помощью самых разных упражнений ты мог запомнить его и начать использовать в нужном контексте. Никаких тебе больше ковыряний с субтитрами и словарей, – ты просто смотришь интересный для себя контент и быстро разбираешься с непонятными местами. Для себя я не вижу лучшего способа, во-первых, пополнять словарный запас, а во-вторых, привыкнуть к английской речи. Чтобы «отрабатывать» те слова, которые просто встречаются в интернете, я давно себе установил специальный аддон для браузера, реализующий интеграцию с сервисом.

Онлайн-универы

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

Учебные курсы от Стэнфорда

Университет Стэнфорда, расположенный в Калифорнии, известен по всему миру. Фактически это кузница кадров для технологических компаний Силиконовой долины, многие из которых расположены в Пало Альто - в том же городе, что и сам университет. Попасть в Стэнфорд - мечта для многих молодых людей, которые жаждут сделать карьеру в области ИТ. Чем больше читаешь про Стэнфорд, тем больше радуешься тому факту, что осенью университет запустил проект бесплатных онлайн-курсов. Изначально всем желающим предлагалось пройти три курса: «Машинное обучение» (ml-class.org), «Искусственный интеллект» (ai-class.com), «Введение в базы данных» (db-class.org). Каждый из курсов состоит из лекций, проверочных работ и финального экзамена. В случае успешного завершения обучения студент получает сертификат в виде PDF-файла, заверенного цифровой подписью преподавателя. Эксперимент оказался успешным, и в начале года Стэнфорд анонсировал сразу дюжину новых курсов, в том числе:

  • Информационная безопасность (security-class.org);
  • Проектирование и анализ алгоритмов (security-class.org);
  • Теория игр (cs101-class.org);
  • Информатика (cs101-class.org);
  • Криптография (cs101-class.org).

Помимо непосредственно ИТ’шных предметов, есть пара курсов по предпринимательству (в области высоких технологий). Я пока успел послушать курс по машинному обучению и получил огромное удовольствие. Курс построен таким образом, чтобы быть понятным практически каждому, хотя, безусловно, знания в области дискретной математики и математического анализа будут здесь очень полезны. Надо сказать, что видео любого из курсов сопровождается субтитрами на случай, если что-то сложно разобрать на слух. Как правило, язык очень простой, поэтому все понятно даже со средним уровнем английского.

MITx от Массачусетского технологического института

Ты наверняка слышал и о MIT - не менее известном западном вузе. Тот тоже пошел по стопам Стэнфорда и в начале года анонсировал разработку MITx - технологической платформы для онлайн-образования. И вот уже в феврале появилась информация о первом курсе, который будет проходить с помощью этой системы – «6.002x: Схемотехника и электроника». Обучение начнется весной и потребует примерно десять часов в неделю. Предмет непростой, поэтому допускаются только студенты, обладающие необходимыми знаниями по электричеству, магнетизму и дифференциальному исчислению. Среди трех преподавателей - профессор Джеральд Сассмен, который создал язык Scheme и является автором одного из самых лучших учебников по программированию - «Structure and Interpretation of Computer Programs». В скором будущем обещается появление и других предметов. Уверен, что подобное по зубам и российским учебным заведениям, которые просто обязаны не отставать.

Попробовать технологию!

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

JavaScript

Впрочем, курсы английского - хоть и нужный, но все-таки шаг в сторону. Главное, о чем я хочу сегодня рассказать - это сервисы, позволяющие изучить вполне конкретный язык программирования. Тут очень заметна закономерность: чем активнее язык развивается и набирает популярность, тем больше появляется инструментов для его изучения. Для примера я взял несколько особенно модных языков программирования: Python, Ruby (плюс Ruby on Rails) и, конечно же, JavaScript (HTML5). С последнего и начнем. Ни одно современное веб-приложение не обходится сегодня без ударной дозы кода на JS, на котором полностью реализовано взаимодействие с пользователем. Особенные гики умудряются имплементировать на JavaScript совершенно невозможные вещи: взять хотя бы проект виртуальной машины, на которой вполне себе успешно запускается Linux (bellard.org/jslinux). Но этот случай мы рассматривать не будем:).

Codecademy

Простой вопрос: какой самый проверенный способ выучить новый язык программирования? Взять умную книгу и начать ее читать. Этот подход никогда не устареет. Так было двадцать лет назад, так есть и сейчас. Однако сложно представить, что к 21 веку не придумали более прогрессивных методов обучения, тем более - обучения программированию. Codecademy - это стартап, позиционирующий себя как школу разработчика. За семьдесят два часа после открытия он собрал более двухсот тысяч (вдумайся в цифру!) начинающих программистов, предложив им пройти интерактивный курс JavaScript.

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

Проект быстро получил финансирование и очень скоро обещает значительное пополнение учебных курсов. Уже сейчас доступна система для создания своих курсов на готовой платформе Codecademy.

Выучить jQuery за тридцать дней

Неотделимой частью JavaScript постепенно стала библиотека jQuery, упрощающая работу с HTML-документом, обработку событий, создание анимации и реализацию AJAX. Фактически jQuery во многом изменил подход к программированию на JavaScript. Разобраться с библиотекой в принципе несложно. Но чтобы сделать это еще более безболезненно, портал Nettuts+, известный своими качественными обучающими статьями, разработал специальный курс. Курс разбит на тридцать уроков-скринкастов по пятнадцать минут каждый, что позволяет день за днем постепенно брать библиотеку на вооружение. Как ни крути, а пятнадцать минут можно найти всегда. Да и формат обучения очень приятный: лично для меня нет ничего более понятного, чем непосредственная демонстрация кодинга с комментариями по ходу дела. Для тех, кто только начинает изучать JS, есть и видеокурс этого же автора (bit.ly/AqK4s0).

Первый полет на jQuery

Если спросить, кто снимает скринкасты эталонного качества, то среди победителей совершенно точно будет онлайн-школа программирования c<>de school. Это очень профессиональный проект, предлагающий как платные, так и бесплатные курсы для специалистов различного уровня. Курс «jQuery Air: First Flight» долгое время был платным, но с недавнего времени открыт всем желающим. Он состоит из пяти уровней, каждый из которых включает в себя обучающий скринкаст и интерактивные упражнения по программированию, реализованные прямо в браузере. За прохождение заданий начисляются очки (например, 350 за решенную задачку). Если где-то возникла трудность, можно попросить подсказку, но в этом случае не избежать штрафных баллов. На первом уровне предлагается пройти азы JavaScript, на втором - селекторы, на третьем - CSS-атрибуты, на четвертом - манипулирование с HTML-элементами и DOM, на пятом - работа с событиями. Чтобы пройти курс, необходимо выполнить пятьдесят пять простых и не очень упражнений.

Ruby и Ruby on Rails

Если ты читал в прошлом номере интервью с Аленой Владимирской, которая по праву считается ведущим хедхантером Рунета, то уже знаешь, насколько востребованными сейчас являются программисты на Ruby on Rails. За грамотными специалистами, готовыми быстро поднимать растущие веб-проекты, гоняются все. И чем больше растет спрос, тем больше становятся зарплаты. Если у тебя есть опыт программирования, и ты хочешь переквалифицироваться на более востребованное направление, то Ruby в связке с Ruby on Rails - совершенно точно очень неплохой вариант. И выучить его сейчас можно довольно быстро. Впрочем, знание языка пригодится, даже если ты не собираешься работать профессиональным разработчиком. Ruby популярен и среди экспертов по информационной безопасности: к примеру, известный фреймворк для хакера Metasploit (и в том числе все его модули) написаны именно на Ruby.

rubymonk

Проект представляет собой интерактивную книгу, состоящую из пятидесяти упражнений, позволяющих быстро пройтись по основам Ruby. Тебе говорят: «Массив из элементов создается так – попробуй». И ты пробуешь. Далее объясняется что-то еще, - ты опять же сразу проверяешь это в действии. Как только знаний становится достаточно, тебе предлагаются более сложные упражнения. Совершенно улетно реализована проверка выполненных заданий (код решения, естественно, надо набирать прямо в браузере, а редактор даже поддерживает подсветку синтаксиса). Для каждого упражнения заданы контрольные точки, по которым проверяется правильность решения. Таким образом, в любой момент можно понять, что именно не нравится интерактивной системе, какой результат должен быть на выходе, и где в твоем решении спряталась ошибка.

try ruby

Если у тебя был мало-мальский опыт программирования, то эта интерактивная обучалка буквально за пятнадцать минут позволит тебе пройтись по базовым понятиям языка Ruby и понять, что к чему. Впрочем, даже если ты вообще никогда не имел дело с программированием, try ruby будет тебе по зубам. Правда, в этом случае обучение, вероятно, займет чуть больше времени. Всего нужно пройти восемь уроков и справиться с более чем пятьюдесятью заданиями. Проект стал еще лучше после того, как его взяла под свое крыло уже упомянутая выше школа c<>de school. Теперь это практически идеальный репетитор.

The Intro to Rails Screencast I Wish I Had

Как уже было отмечено, язык Ruby четко ассоциируется с популярнейшим фреймворком для построения веб-приложений Ruby On Rails. Последний помог взлететь не одному стартапу из Силиконовой долины, в том числе и Twitter’у. Джеффри Вэй - главный редактор сервиса tutsplus.com - записал убойный скринкаст с говорящим названием «Скринкаст для чайников в Rails, с которого я хотел бы начать сам». В 40-минутном ролике в самой доходчивой форме рассказывается, как использовать Rails. После этого слова «Models», «TDD», «ActiveRecord», «RSpec», «Capybara», «Partials» уже не будут пугать. Это не единственный скринкаст для начинающих: немало видеоуроков для программистов самого разного уровня можно найти на другом профильном проекте - railscasts.com.

Rails for Zombies

После того (и только после того!) как у тебя будут необходимые знания Rails и некоторый опыт в создании веб-приложений, обязательно нужно пройти бесплатный курс «Рельсы для зомби» от все той же школы c<>de school. Записанные на неизменно высоком уровне уроки, приправленные здоровой дозой юмора, сопровождаются упражнениями, составленными из ситуаций, с которыми каждый день встречаются программисты на «рельсах». Если этого курса тебе окажется мало, то у авторов есть продолжение «Rails for Zombies 2», но его можно пройти уже только за денежку.

Python

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

Более того, Python часто встраивают во многие серьезные приложения в качестве скриптового языка, чтобы иметь богатые возможности для создания сценариев.

Попробуй Python!

Лучший способ быстрого старта - попробовать онлайн-обучалку Python. По интерактивности сервис сильно проигрывает аналогичным проектам для JS и Ruby, но, тем не менее, позволяет пройти базовый курс обучения прямо в браузере. На компьютер не надо даже устанавливать интерпретатор. Это очень удобно: любой приведенный пример можно тут же попробовать в действии. Однако на этом интерактивность заканчивается: Try Python никак не проверяет твой код, не следит за правильностью действий и не предлагает задачки для проверки знаний. Весь курс состоит из семи частей (пять по Python и две по IronPython). Забавно, что сам сервис написан на Silverlight’е.

Онлайн-репетитор Python

Забавный сервис был разработан в рамках курса по программированию в известной американской кузнице программистов Массачусетского технологического института. Его идея заключается в том, чтобы визуализировать выполнения сценариев, написанных на Python, позволяя пошагово выполнять их (вперед-назад) и на каждом шаге просматривать значения разных структур данных (переменных, объектов в куче, фреймов стэка). Это может быть произвольный код, набранный прямо в браузере, или один из нескольких заранее заготовленных сниппетов, взятых из учебной программы Python в MIT. Забавно, что здесь есть несколько задачек, которые предлагают соискателям на должность программистов. С решениями. Сервис можно было бы назвать онлайн-отладчиком, однако для выполнения сложных сценариев использовать его уже нельзя из-за отсутствия возможности подключения модулей, выполнения I/O-операций и так далее.

Уроки Python от Google

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

Покажи эту статью друзьям.

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

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

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

Сейчас чтобы стать «айтишником», необязательно иметь техническое образование. «Айтишник» – это не только разработчик с фундаментальным знанием одного из языков программирования. Есть и другие профессии, без которых сейчас сложно представить мировой IT-рынок.

Путь 1. Программист

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

Чтобы стать действительно востребованным разработчиком, вам понадобиться достаточно много времени и желания развиваться именно в программировании. На сегодняшний день Senior-специалисты преобладают на рынке труда, их почти в два раза больше, чем Junior-программистов. Работодатели готовы тратить больше средств на высококлассного специалиста с опытом 5+ лет, чем брать новичка в команду, которого необходимо будет обучать всему фактически с нуля.

Путь 2. Бизнес-анализ

Если вы гуманитарий до мозга костей, то, возможно, именно бизнес-анализ станет для вас идеальным шансом, чтобы стать IT-шником.

Бизнес-аналитик – это своеобразное промежуточное звено между заказчиком и разработчиком. Его задача заключается в том, чтобы выяснить пожелания заказчика, проанализировать и соотнести их с целями продукта, а впоследствии предоставить их разработчикам в понятном для них виде.

Бизнес-аналитик должен уметь структурированно излагать свои мысли при написании документации, поскольку именно она будет служить точкой опоры при разработке продукта.

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

Тем не менее, как бы привлекательно ни звучала данная IT-специальность, следует учитывать следующие факторы:

  • небольшое количество вакансий для специалистов без опыта – большинство работодателей требуют 2+ года опыта;
  • необходимость владения английским языком на хорошем уровне, начиная от Upper-Intermediate.
  • глубокие знания хотя бы в одной предметной области (например, здравоохранение или банковская сфера).

Путь 3. Тестировщик (или QA-инженер)

Путь тестировщика – это баланс между востребованной работой и достаточно легким входом в IT-сферу.

Для тестировщика технические знания не являются обязательными, в отличие от программиста. Необязательно быть «технарем», чтобы стать успешным QA-специалистом. QA-инженера выделяют как раз не технические знания или знание определённого языка программирования, а любознательность, критичность и внимание к деталям, поскольку зачастую в работе необходимо будет посмотреть на привычные вещи свежим взглядом.

Говоря о получении знаний в сфере тестирования, чаще всего люди прибегают к одному из следующих способов: , самообразование или очные курсы.

Онлайн-обучение и самообразование – наименее затратные способы получения знаний для тех, кто не знает с чего можно начать в IT-сфере. Однако часто эти две дороги могут быть полны «белых пятен», если вам не хватает усидчивости, самодисциплины и самомотивации. На графике ниже можно увидеть, насколько низок процент завершения онлайн-курсов студентами по результатам совместного опроса, проведенного Гарвардом и Массачусетским Технологическим Институтом.

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

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

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

Путь 4. Административные позиции

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

Если вы точно решили следовать вашему гуманитарному направлению, то лучше искать точки соприкосновения с полученным образованием. Вы можете стать, например, офис-менеджером или работать в отделе маркетинга. Также если вы в совершенстве знаете английский язык, то вы можете просто «подтянуть» техническую лексику и общие знания об IT-индустрии, чтобы стать, например, техническим писателем или копирайтером.

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

Английский язык открывает больше дорог

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

Во времена аутсорсинга понимание иностранной речи и умение четко выразить свою мысль на английском языке является must-have. Подтянуть свои знания, увеличить активный словарь и научиться без страха разговаривать с англоговорящими клиентами можно на экспресс-курсах по . Такие интенсивы содержат только те правила, слова и выражения, которые подойдут для использования в переписке, во время онлайн-переговоров и на встречах с иностранными коллегами.

Возраст имеет значение?

Согласно отчету, подготовленному компанией EY «ИТ-отрасль Беларуси», можно говорить о «молодости» IT-сферы. Об этом свидетельствуют следующие факты:

  • 57 процентов штата компаний-резидентов ПВТ имеют возраст до 30 лет.
  • Карьерный путь в индустрии обычно начинается до 25 лет.
  • Около 12 процентов занятых в ИТ-отрасли – студенты.

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

«Изучать что-то новое гораздо легче в студенческие годы, чем в 30-40 лет. Но в 20 лет чтобы понять, что профессия вам не подходит или что вы не подходите данной профессии, ее сначала нужно освоить. И вот время проходит, а вы обнаруживаете себя «стучащим головой в стенку». Значит, направление стоит менять. Не надейтесь, что, когда вам стукнет 30 или 40 лет, стенка станет податливее.

Часто люди не видят перспектив развития и роста на одной работе, но бояться уйти в другую отрасль, потому что о ней ничего не знают. Как гласит восточная мудрость: «Лошадь сдохла – слазь». Чем раньше вы задумаетесь о переподготовке, дополнительном образовании, тем больше шансов «пересесть на другую лошадь» и успеть сделать успешную карьеру к 30», – делится своими мыслями по поводу возраста IT-специалистов Юрий Анушкин, директор образовательного центра QA Academy.

IT – это действительно отличная возможность построить успешную карьеру, познакомиться с большим количеством целеустремленных людей и вдохновиться инновационными идеями. Осталось только выбрать, какой путь подходит именно вам!

IT-специалист – одна из самых востребованных профессий нашего времени. Что нужно знать и уметь, чтобы овладеть такой профессией? Где можно получить эту профессию? С какими "неудобствами" сталкиваются ИТ-специалисты? Давайте попробуем в этом разобраться.

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

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

Кто такой IT-специалист?

К разработке информационных технологий ученые приступили еще в середине двадцатого века, когда возникла потребность в автоматизации обработки, систематизации и хранении информации, поскольку классические источники (библиотека, периодические издания) уже не справлялись с этой задачей в полной мере.

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


Первые ЭВМ (электронно-вычислительные машины), появившиеся в конце шестидесятых годов прошлого века, уже канули в прошлое. Эта техника записывала информацию на перфоленты, длинные полосы бумаги с точечным рисунком. Но такую информацию тоже необходимо было как-то хранить. С начала 60-х годов человечество начало активно использовать магнитные записи, сотовую связь, а к концу 90-х годов появились жесткие диски, записывающие информацию на языке цифр. Для обработки информации потребовались люди, умеющие создавать команды (программы) для машин, а также специалисты, создающие искусственный интеллект.

Так появилось целое семейство профессий, которые объединены одним названием : программист, системный аналитик, системный архитектор, специалист по системному администрированию, специалист по информационным системам, специалист по защите информации, оператор ПК, менеджер информационных технологий, администратор баз данных, Web-мастер и т.д.

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

Какими личностными качествами должен обладать IT-специалист?

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


Также будущий IT-специалист должен:

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

Подчеркнем, что перечисленные требования - это только "программа "Минимум".

Чтобы реализовать себя в одном из профильных направлений информационных технологий , нередко требуются и определенные творческие способности: художественный вкус, способности к творчеству, увлеченность той сферой деятельности, для которой разрабатывается программа.

Преимущества профессии IT-специалист

Считается, что у каждой работы должно быть, как минимум, три преимущества, которые и являются стимулом для того, чтобы заняться ею. Профессия IT-специалист имеет такие преимущества:

  • Каждый человек стремится идти в ногу со временем, занимаясь саморазвитием, повышением образования, расширением кругозора. Но для этого, чаще всего, требуется специально выделять свободное от работы время. IT-специалист имеет возможность повышать свой интеллектуальный уровень без отрыва от производства, поскольку это является и его прямой обязанностью.
  • Поскольку трудовая деятельность IT-специалиста является интеллектуальной, то, благодаря тем же технологиям, он может осуществлять ее, находясь на большом расстоянии от непосредственного места работы (то есть, удаленно).
  • Нельзя не отметить востребованность профессии и достаточно высокий уровень зарплат (причем как в частном бизнесе, так и в государственной системе). Согласно статистическим данным, эта профессия отмечается ежегодным приростом заработной платы на 10-16%, которая часто выплачивается в долларовом эквиваленте.

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


Недостатки профессии IT-специалист

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

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

Не стоит забывать и о негативном влиянии профессиональной деятельности на здоровье: постоянные и очень высокие зрительные нагрузки требуют внимательного отношения к органам зрения, а "сидячий" образ жизни часто приводит к проблемам с лишним весом и опорно-двигательным аппаратом.

  • (Российский государственный университет нефти и газа); Факультет автоматики и вычислительной техники;
  • ; Факультет информационных технологий.
  • Кстати, если имеется хороший базовый уровень по математике и английскому языку, то перед сдачей вступительных экзаменов в ВУЗ неплохо было бы пройти подготовку на специальных курсах: icnd1 или Cisco. Такая предварительная подготовка поможет успешно сдать вступительные экзамены, попрактиковаться и получить начальное представление о будущей работе.