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

Возможности 06.05.2019
Возможности

Не буду придираться к трактовке терминов «актив» и «пассив», в конце концов, мы не в бухгалтерии. Черкну лишь несколько строк в подтверждение (а, скорее, и в подкрепление) позиции её автора.

UPD: Как стать успешным айтишником

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

Кредит

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

Есть и ещё немаловажный момент, который каждый уважаемый читатель отнесет к той категории, которая соответствует его личным убеждениям:

Семья

Семья является эдаким приятным пассивом, на мой взгляд, который может, при неправильном рассмотрении, просто стащить ваш бизнес в Марианскую впадину. Обзаводясь семьёй, нужно знать одну простую вещь - заботы просто необходимо сочетать с вашей деятельностью по выращиванию Древа Благополучия, а не уходить в работу с головой, говоря, что у вас скоро все изменится. Вы потеряете и то и другое. Этому нужно будет научиться, разработав свою собственную систему тайм-менеджмента. Единомышленники кивают.

Ну и несколько советов лично от меня, но придуманные, скорее всего не мной. Просто подтвержденные годами и моим личным опытом.

Тайм-менеджмент

  1. Определитесь, для чего вам нужна та или иная социальная сеть. Если для времяпровождения - удаляйте аккаунт. Сэкономите от 300 часов в год (почти 2 месяца плодотворной работы при 8-часовом рабочем дне). Ну, или попытайтесь отвести для своего фейсбука два часа в воскресенье вечером. Ничего не потеряете.
  2. Проверяйте электронную почту не чаще, чем раз в час. Экономьте на этом еще 50 часов в год.
  3. Помните, на курение вы тратите 2 часа в день, употребляя по 1 сигарете в час. 700 часов в год. Сам я курить не бросил, но стал это делать реже и только в те моменты, когда это меня не отвлекает от работы: за рулем, например.
  4. Ограничьте телефонные разговоры до минимума. Научитесь формулировать лаконичные фразы для разговора. Освободите еще 150 часов в год.

Итого получаем 1200 часов в год, или 3,5 часа в день свобдного времени. Можно конвертировать его в собственные проекты, или умножить на стоимость человеко-часа специалиста вашего профиля и удивленно охнуть.

Расходы

Основной совет: Подходя к кассе в гипермаркете обязательно вспомните о том, что в вашей тележке не менее 30% абсолютно ненужного содержимого (если вы без списка), и еще 15% пропадет в холодильнике и будет выброшено. Более половины покупателей покупают ненужный продукт просто потому, что они голодны (вы же тоже после работы заскакиваете в магазин), а заботливые маркетологи распыляют из ароматических установок запахи копченой рыбки, колбаски и прочих вкусняшек. Выкладывайте половину, умножайте на средний чек и количество таких тележек в год.

Резюме

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

Профессия программиста сегодня является одной из самых востребованных, перспективных и высокооплачиваемых. Оплата труда колеблется от 1000$ до 5000$, в зависимости от компании. Вы мечтаете попробовать себя в ИТ, но не знаете с чего начать? Что же нужно для того, чтобы стать айтишником?

1. Получайте кайф

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

2. Начните с самообучения

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

Ресурсы:

На этом сайте язык программирования изучают 25 миллионов людей. Ресурс постоянно обновляется и подстраивается под вас.

Code.org

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

Udacity

Когда вы изучили основы можете переходить к изучению курсов. На этом сайте вы найдете множество курсов, которые помогут стать вам настоящим профессионалом. На сайте доступны такие курсы, как « Введение в Java-программирование», «Введение в параллельное программирование», «Мобильная веб-разработка».

Codeavengers

Здесь вы сможете интересно обучаться HTML5, CSS3 и JavaScript.

Coursera

Это платформа созданная профессорами Стэндфордского университета с бесплатными курсами. Вы сможете найти множество курсов по обучению ИТ.

Udemy

На сайте можно пройти такие курсы, как iOS8 and Swift App Programming Crash Course, Kids Coding - Introduction to HTML, CSS and JavaScript и Advanced Java Programming.

Microsoft Virtual Academy

Здесь вас обучат разработке приложений для HTML5, Windows и Windows Phone, Microsoft Office 365, SQL Server, Azure и System Center.

Приложения:

Learn Programming: Coding Tutorial

Для тех, кто мечтает научиться создавать крутые сайты. Вы узнаете больше об Python, Django, HTML и CSS.

L2Code HTML

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

Книги:

Бьерн Страуструп – Язык программирования C++

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

Герберт Шилдт – Искусство программирования на С++

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

Д. Э. Кнут: Искусство Программирования

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

Стив Макконнелл – Совершенный код

Более 10 лет первое издание этой книги считалось одним из лучших практических руководств по программированию. Сейчас в обновленном издании вы сможете получить практическое руководство по разработке программного обеспечения

3. Практикуйтесь не дожидаясь, пока изучите все существующие ресурсы

Далее переходим к практике. Конечно же, всегда проблема в недостаточном опыте работы. Где его получить? Начинайте писать свои первые строки во время обучения. Делайте все задания, перечитывайте примеры, усовершенствуйте и усложняйте задачи.

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

Ищите проекты open source. У вас есть возможность найти в проекте ошибки и предложить методы их решения. Найти такие проекты вы сможете на сервисах хостинга кода.

Самый сложный способ – собственные проекты. Хакатоны или работа в коворкинге.

Любой опыт пригодится вам для написания резюме.

Невероятно, но программистами не рождаются, ими становятся. При большом желании любой может стать айтишником. Доказать это можно на живом примере Александра Макаренка. Хоть Александр и не программист, а тестировщик, на его опыте вы можете убедиться, что освоить какую-либо айтишную профессию не так сложно, как может показаться. Он расскажет вам о том, как музыкант может стать айтишником и поделится личным опытом.

Александр, расскажите о себе.

Музыкальный этап в моей жизни начался в 8 лет, первые концерты в 10, а в 17 лет мы уже играли квартетом на дипломатических приемах у Президента и в мэрии. Но где-то на втором курсе консерватории я стал замечать, что в классической музыкальной сфере не многим удается соответствовать понятию «средний класс», несмотря на то, что люди более чем профессионалы в своей сфере. Потом началась революция и стало понятно, что искусство в нашей стране силами самих музыкантов не поднять. Максимум - поиграть редким ценителям классики. Я стал искать альтернативные сферы деятельности - сначала мы проводили мастер-классы по музыке и живописи для детей. Дело пошло неплохо, но с ростом курса доллара это стало все больше благотворительностью, но не работой.

Как тебе пришла идея поменять роль деятельности и пойти в ИТ?

У меня были знакомые, которые давно и успешно работали в этой сфере не имея профильного образования. Друг скрипач – разработчик PHP в Австрии, и подруга – главный QA автоматизатор, которая делает отличную карьеру, хотя ее образование с IT никак не связано.

Это интеллектуальная работа, где грамотно вложенные усилия наверняка отобьются как в карьерном росте так и в росте вознаграждения. А также это возможность поработать за границей и при желании остаться там с семьей.

Ты искал варианты того, как можно стать айтишником? Если да, какие варианты были и по какому пути пошел ты?

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

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

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

Расскажи о поиске работы.

Курсы продолжались месяц и практически сразу по окончанию я был в состоянии проходить собеседование на trainee/junior позиции. Я был готов к переезду в любой город в Украине и потому выбор вакансий получился значительно больший, чем у большинства конкурентов.

После 5-го собеседования я получила дв оффера в Запорожье и в Харьков в геймдев компанию. Я выбрал второй вариант, т. к. в компании большой qa-отдел и есть у кого учиться.

Чем ты занимаешься сейчас? Доволен ли ты и не жалеешь ли, что выбрал сферу ИТ?

Совершенно не жалею о смене специальности и работе в своей компании. Часто говорят, что нетехнари идут в айти из-за денег. Отчасти это так. Но об этом можно говорить, когда ты бросаешь работу за 2к $ и идешь валять дурака за 5к $, меняешь Форд на Мерс. Но когда твое любимое дело при всех вложениях сил и интеллекта может принести не более 500$ в месяц, задумываешься о реальной цене своих способностей и усилий. Кроме того, айти – это интересно и если ты соответствуешь - почему нет?

Для действительно ощутимых успехов в этой сфере требуется отдать очень много времени, сил и готовности вкалывать. Сама специальность предъявляет естественные для человека требования - развиваться. Нужно много менять и учиться постоянно, даже когда тебе 30 или 40. И это правильно.

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

4. Действуйте

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

Главное фото взято с сайта

В статье мы расскажем, какие шаги предпринять, с чего начать и как построить свое обучение, чтобы стать айтишником, если вы далеки от ИТ.

Определитесь со специализацией

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

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

Если ваших знаний языка не хватает на свободное чтение, начать следует именно с него. Английский будет нужен не только для коммуникаций, вам придется много читать и искать в интернете на английском. Это может быть как техническая документация или ответ на StackOverflow, так и просто интересная тематическая статья на Medium .

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

Освойте базовые понятия

Для начала узнайте, чем отличается бит от байта, изучите базовые термины и концепции информатики, узнайте про условия, циклы и прерывания. Как работает процессор, зачем нужен веб-сервер и что за ascii – все это нужно знать, чтобы начать углубляться в ту область, которая вам интересна.

Структуры данных и алгоритмы – фундаментальные для разработки и ИТ понятия. Вам не расскажут о них как следует на прикладных курсах по программированию, поэтому изучите эти вещи самостоятельно.

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

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

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

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

Так как же стать айтишником?

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

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

На одних только статьях журнала «Хакер» далеко не уедешь. Это я тебе точно говорю. Если хочешь стать настоящим специалистом в области 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, ответили представители тренинг-центра ЕРАМ: Евгений Пешкур, заместитель директора по подготовке персонала, Святослав Куликов, менеджер отдела по функциональному тестированию, Александр Барановский, руководитель образовательных программ по тестированию, и Светлана Захаренко, Java-тренер.

1. Хочу работать в сфере IT , но не знаю, с чего начать. Что посоветуете?

Евгений Пешкур:

Трудно советовать, не зная стартовых условий. Посоветую для среднего пользователя PC, уверенно овладевшего Counter Strike, форумами и социальными сетями.

Учите английский язык . Без шуток. Если вы не восприняли это серьезно, дальше можно не читать. Изучение английского до минимального уровня, применимого в компаниях, работающих на внешние рынки (уровень B1 , если кому интересно) занимает год-полтора. Знание другого иностранного языка будет плюсом, но никак не заменой. Вам простят незнание какой-либо технологии, но не отсутствие языковой подготовки.

В основе всего лежит то, чему учат все ВУЗы, – способность самостоятельно искать и изучать материал . Многие, не осознавая этого, рассматривают курсы как место, где их «возьмут за руку и приведут к успеху». На самом деле, вас приведут к промежуточному финишу, дадут сертификат (оценку, диплом) и далее сделают в блокнотике пометку «профнепригоден». И это будет связано не с результатом финального теста, а с вашим образом мышления. И опытный преподаватель это очень быстро определит, проверяя и обсуждая с вами ваше задание. «Незагугленное» и осмысленное решение (пусть и не работающее, даже попытка его создания), отходящее от того, что он сам преподал днем ранее, для него будет очевидным.

Начните с азов. Смешно и нелепо, но добрая половина из тех, кто идёт на курсы, не знают, что такое бит и байт. Замечали возмущения типа «платил за винчестер на 40 GB, а дали всего на 38»? Почитайте, что такое сети и каковы общие принципы их работы. Познакомьтесь с базовыми понятиями типа ascii, heap, process & thread, прерывание.

ООП. Тут при всей простоте определений всё сложно. К сожалению, простое изучение определений не даёт ничего. Наверное, это одно из немногих мест, где самостоятельное изучение малоэффективно. Попробуйте рассматривать ООП как образ мышления. Понимание ООП приходит через многократное написание и переписывание кода и общение с теми, кто его понял. Простых советов нет, но могу поставить цель: скорее всего вы действительно поняли ООП, если разобрались в работе и смогли написать программу типа Elastic Nodes .

Структуры данных и алгоритмы. Этого также не даст почти никакой из курсов, чаще всего предполагается, что это вы изучили в школе или вузе. Джентельменский набор терминов к изучению: дерево, стек, очередь, хеш. Алгоритмы… Не будем лезть в бутылку и советовать изучить теорию графов, но разобраться с различными алгоритмами надо. Как отсортировать массив (желательно знать и понимать несколько алгоритмов). Ваша цель – понять quick sort. Какие существуют способы обойти дерево.

Как видите, здесь почти не надо ходить на курсы, разве что на английский. Просто не игнорировать то, что вам преподают. Или суметь самостоятельно разобраться, если желание выспаться часто побеждало необходимость посещать скучные пары. Если мои намёки слишком туманны, то резюмирую: АНГЛИЙСКИЙ и немедленно! И понять все термины, упомянутые выше.

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

Александр Барановский:

IT – достаточно широкая и объёмная сфера с десятками профессий и специализаций. Поэтому первым шагом является выбор и осознание того, чем именно вы хотите заниматься. Потому что для каждой профессии нужно обладать определённым набором навыков, умений и складом ума. После того как определились с выбором, берёте лист А4 и с одной стороны записываете, что необходимо знать и уметь для начала карьеры в выбранной позиции (программист, специалист по тестированию, бизнес-аналитик и т.д.), а с другой – те знания и навыки, которыми вы обладаете на текущий момент. Точками, на которые стоит обратить внимание и с которыми стоит работать, являются «недостающие» вещи из списка умений. А тут все средства хороши – тренинги, книги, форумы.

Светлана Захаренко:

Мне кажется, начать нужно с понимания, почему вы хотите работать в сфере IT. Чем именно эта сфера привлекает вас, и что является основным мотивирующим фактором. Понимание позволит правильно расставить приоритеты и выбрать нужное направление.

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

2. У меня гуманитарное образование. Можно ли переучиться на программиста?

Евгений Пешкур:

Да. Кто такой «строитель»? Это архитектор, прораб, каменщик, маляр или сторож? А кого вы подразумеваете, говоря «программист»? Работа в IT – это не обязательно именно написание кода. Есть масса специализаций, где гуманитарий найдет себя: тестирование, бизнес-анализ.

Святослав Куликов:

Можно. Сложность переучивания, его скорость, эффективность и иные показатели будут индивидуальны для каждого человека. Стоит честно признать два факта:

  • чем вы старше, тем сложнее вам переучиваться (не только на программиста, а переучиваться вообще);
  • вы будете долгое время проигрывать в степени профессионализма тем, кто посвятил IT всю жизнь.

Но эти факты – не приговор, и я лично знаю тех, кто пришёл в IT из «гуманитарных профессий», но благодаря своей целеустремлённости добился ощутимых успехов.

Александр Барановский:

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

Светлана Захаренко:

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

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

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

3. Как выбрать «своё» направление обучения?

Евгений Пешкур:

Посоветоваться с теми, кто достаточно долго работает в IT и сам успел попробовать много различных ролей или тесно работал с представителями различных специализаций. Т.е. это специалист уровня Team Leader или выше. А далее пробовать.

Святослав Куликов:

В последнее время участились случаи «перепрофилирования в IT» с единственной целью – получением высокой зарплаты. Аргумент понятный, честный и имеющий право на существование. Но если деньги – единственное, что интересует вас в IT, то дальше вы рискуете столкнуться с серией сложностей и разочарований, так как заниматься нелюбимым делом – это всегда насилие над собой (даже при хорошей зарплате).

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

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

Светлана Захаренко:

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

4. Какие технологии нужно в первую очередь изучить новичку? (Какие базовые знания в программировании и использовании ПК нужны новичку в IT -мире)?

Святослав Куликов:

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

  • Быстрый: сразу изучать то, с чем вы собираетесь работать на своей первой IT-должности. Это быстро потому, что позволяет (временно!) пропустить огромный пласт «фундаментальных знаний», но побочным эффектом является способность решать только узкий круг очень чётко описанных задач. Уйму недостающих знаний придётся накапливать по мере наработки опыта.
  • Медленный: начать с базы – от основ алгоритмизации к паре языков программирования (сейчас, как правило, – Java/C# + что-то из серии JavaScript/Python/Ruby/PHP) и изучению конкретных технологий (я затруднюсь назвать «универсальные примеры», слишком уж много вариантов).
  • «Универсальный путь для сферического ученика в вакууме»: JavaScript + HTML + CSS, Java или C# + базы данных.

Светлана Захаренко:

Мне кажется, что самыми базовыми будут хорошие навыки пользователя ПК и обязательно очень качественное владение иностранным языком. Также неплохо понимать операционные системы, желательно иметь опыт использования разных ОС, понимать командную строку.

Если говорить о технологиях, то было бы неплохо иметь знания по базам данных, языку SQL, понимать XML, иметь представление о UML.

5. Что лучше: изучать интересующие технологии самостоятельно (книги, интернет) или записаться на тренинг или к репетитору?

Евгений Пешкур:

Идеально сочетать оба способа. Суть IT’шника – постоянное САМОразвитие. В начале пути посещение тренинга или репетитора сэкономит массу времени, укажет правильный путь и сделает нужные акценты. Ну и в личной работе скорректирует именно ваши отклонения от курса. Но не надо заблуждаться – самостоятельное изучение первично. «Я бы в … пошел, пусть меня научат» – это в корне неверный подход. «Пойду учиться, пусть мне помогут» – вот так надо.

Александр Барановский:

Оптимальный вариант – совместить приятное с полезным:). Книги расширяют кругозор и дают точку зрения на проблему/технологию. Тренинги позволяют закрепить знания на практике под присмотром тренера.

Светлана Захаренко:

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

6. Какие тренинги в сфере информационных технологий сегодня пользуются популярностью среди студентов (по технологиям и местам проведения)?

Александр Барановский:

Популярны как и давно существующие «Введение в функциональное тестирование», Java, .NET, так и новые области – Mobile Development, BI.

Святослав Куликов:

Самыми популярными направлениями тренингов EPAM в Минске являются Java, .NET, тестирование – обучение по этим направлениям проводится, в основном, на базе БГУ, БГУИР, БНТУ. С перечнем направлений подготовки, осуществляемой тренинговым центром ЕРАМ на базе ведущих вузов РБ, вы всегда можете ознакомиться на нашем сайте . Стоит особо подчеркнуть, что мы проводим подготовку не только программистов и тестировщиков. Следите за открывающимися наборами на тренинги.

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

7. Какие сайты, форумы и сообщества стоит посещать, чтобы быть в курсе последних событий в IT -сфере?

Святослав Куликов:



Рекомендуем почитать

Наверх