Что надо чтобы стать айтишником. Книга по веб-программированию для начинающих

С чего начать учится программированию с нуля чайнику?
В этой статье я постарался подробно разобрать, можно ли стать программистом с нуля самостоятельно и какие варианты есть для того, чтобы освоить программирование самостоятельно и начать зарабатывать на этом.
UPD : Тем, кто ищет, с чего начать изучать программирование с нуля в 2018 (или пока только собирается и приступит в 2019:)), сильно повезло благодаря книге Якова Крамаренко «Введение в разработку программного обеспечения». Я искренне рекомендую с ней ознакомится — она стоит того, чтобы обновить статью №1 по рейтингу Google и отзывам читателей для тех, кто изучает программирование самостоятельно.

Постарался дать самый лучший — на мой взгляд — путь. Предупреждаю — он не из легких! Дальнейшее прочтение может стоить вам многих часов интересных занятий:)

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

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

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

Книга по веб-программированию для начинающих

Версия 2016 года есть в переводе: https://courses.prometheus.org.ua/courses/Prometheus/CS50/2016_T1/about .

Лучше пройти курс на английском. И язык прокачаете, и информация посвежее. Хотя сильно курс не менялся — только в 2017 вместо PHP начал использоваться Python.

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

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

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

Как самостоятельно стать программистом с нуля

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

1. Разобраться в HTML и CSS

Хороший курс для базового освоения HTML и CSS: https://learn.shayhowe.com/html-css/ (English) или https://webref.ru/layout/ learn-html-css (перевод).

После этого стоит посмотреть на возможности Bootstrap, который стал стандартом де-факто для ускоренной разработки веб-приложений: http://getbootstrap.com/

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

На этом тоже можно зарабатывать — как на фрилансе, так и работая в ИТ-компании, которая специализируется на веб-разработке.

Но раз мы решили стать программистом — двигаемся дальше!

2. Познакомиться с jQuery

Если понравилось — можно продолжить разбираться с frontend и начать изучать Javascript .

Если следом пойдет https://angularjs.org/ или http://backbonejs.org/ — то это путь во фронт-енд разработку. Хорошая специальность, тем более, что такие знания пригодятся любому программисту, который выбрал веб-разработку.

Мой совет — пока остановиться на jQuery и двигаться дальше.

3. Освоить серверный язык программирования

Тут выбор большой. Самые перспективные языки программирования — Ruby, Java, Python, Node.JS (Javascript для сервера).

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

Хороший вариант — язык программирования Python и Django

Плюс — Python и Django научат вас «правильному» программированию. Python стабильно входит в ТОП5-10 самых востребованных языков, а хорошие специалисты в Python одни из самых высокооплачиваемых программистов. Python одновременно простой и понятный для начинающих программистов язык программирования, и при этом используется во многих крупных компаниях и на больших проектах.

Для самостоятельного освоения прочтите «Python для детей» Джейсона Бриггса или посмотрите:

Среди других материалов рекомендую Learn Python The Hard Way . книгу «Простой Python. Современный стиль программирования». И, конечно The Python 2 Tutorial и The Python 3 Tutorial .

Django — возможно лучший фреймворк для веб-разработки

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

С чего начать для изучения Django:

Начните с официальной документации, там очень хороший tutorial: https://docs.djangoproject.com/en/2.1/intro/

Tango with Django — это хорошая возможность подтянуть английский и одновременно получить понимание того, как устроены веб-проекты и как всё работает.

Вариант №2 — PHP и WordPress

Другой путь — начать с PHP и работы с популярными CMS. Если вы изучаете программирование сами и хотите быстро начать работать — начните с PHP.

Многие считают PHP «не совсем настоящим» языком программирования и для этого есть основания. PHP редко используется в крупных веб-приложениях и заточен только для веб — использовать его в других областях не получится.

С другой стороны — PHP лидирует по количеству запущенных в мире сайтов. На нем основаны самые популярные CMS (системы управления сайтами).

После этого разберитесь с созданием тем под WordPress — это вероятно самая популярная CMS в мире, если оценивать по количеству запущенных сайтов.

Хорошо разобравшись с этим, уже можно найти работу. Под PHP и WordPress очень много сайтов, поэтому работы хватит всем.

Как начать зарабатывать программистом

Многие представляют работу программиста-фрилансера так:

На самом деле это выглядит примерно так:

Если вы готовы к работе программиста и ищете способ зарабатывать — добро пожаловать на фриланс! Фриланс-биржи позволят вам найти простые заказы (возможно почти бесплатно на первых порах) — чтобы получить практику. Как правило, работа в ИТ-компании может быть прибыльнее, если вы просто ищете работу программиста.

Уже после пункта 2 — освоив HTML, CSS и jQuery — можно идти на фриланс биржи и брать несложные заказы, нарабатывая профиль.

Знаете английский? https://www.upwork.com/

Совсем нет, даже со словарем? http://freelance.ru/

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

Быстрый путь в веб-разработчики

Исходя из моего опыта, на изучение программирования с нуля уйдет от 6 до 12 месяцев в лучшем случае, при этом 6 месяцев — это если вам кто-то помогает.

Чтобы ускорить процесс входа в ИТ — ищите возможность пойти на тренинг (возможно понадобится не один) или найдите человека, который будет заниматься с вами. Реально без человека, который передаст вам свои знания — очень сложно, можно просидеть год за книгами и так и не начать. А со знающим человеком, который может просто рассказать о сложных вещах — намного легче.

В свое время я выбрал путь входа через тренинг. При том, что я много знал о разработке, это позволило мне за 2 месяца освоить то, на что могло уйти полгода. Ищите свой путь.

У меня есть , которые серьезно приняли решение начать карьеру программиста, и хотят ускорить этот процесс. Есть много других курсов. Если вы найдёте себе ментора — человека, который проведёт вас за руку — это заметно сократит ваш путь в разработчики.

Как только почуствуете уверенность в том, что можете что-то создать — ищите компанию, где сможете развиваться дальше или клиентов.

HTML, CSS, Python и Javascript — это только базовые знания, первый этап. Дальше очень важна практика, изучение алгоритмов и инструментов для разработки.

Если есть вопросы — задавайте в комментариях! Надеюсь эта статья поможет вам сделать первый шаг. Успехов!

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

Кто такой айтишник?

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

На сегодня профессий, используемых в IT-индустрии, насчитывается порядка 500. Отсюда следует логичный вопрос: "Айтишник - кто это?" Как правило, это обобщенное название людей, работающих в секторе информационных технологий.

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

Категории айтишников

Условно всех их можно разделить на несколько типов:

  • Разработчики программного обеспечения и различных утилит, так называемых software и hardware.
  • Специалисты, реализующие HW/SW-решения и различные сценарии. Или те же системные администраторы.
  • Ребята, занимающиеся трафиком, социальными сетями и т. д.
  • Специалисты, работающие в секторе IT-безопасности.
  • Бизнес-аналитики, которые служат связующим звеном между миром компьютерных технологий и руководителями различных компаний.

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

Чем занимается специалист IT?

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

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

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

Где обучают профессии?

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

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

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

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

Требования работодателя к знаниям и умениям IT-специалиста

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

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

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

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

Когда айтишники отмечают профессиональный праздник

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

17 мая с 2006 года отмечается Всемирный день информационного сообщества. Ранее он имел несколько других названий. Это были "Всемирный день телекоммуникаций" и "Международный день электросвязи".

Почему же именно 17 мая? Причину нужно искать в далеком прошлом. Считается, что 17 мая 1865 г. было впервые подписано международное Телеграфное Соглашение. Это дало толчок мировому сотрудничеству в области улучшения, а также более рационального использования различных видов электросвязи.

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


Внимание, только СЕГОДНЯ!

На одних только статьях журнала «Хакер» далеко не уедешь. Это я тебе точно говорю. Если хочешь стать настоящим специалистом в области 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 этот курс проходит по интенсивному сценарию и умещается в два дня.

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

Сегодня многих интересует, можно ли научиться программировать с нуля.

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

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

Cодержание:

Шаг первый. Подготовка

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

Они представляют данное ремесло как что-то романтическое, динамичное – прямо какой-то постоянный экшн.

В фильмах этот процесс показывается совсем не таким, какой он есть на самом деле.

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

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

Так что если вы просто пропитались духом всевозможных кинолент и хотите самостоятельно начать «кодить», программирование – это явно не для вас .

Вот вам правда о рассматриваемом ремесле – программирование это:

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

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

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

Шаг второй. Выбор первого языка

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

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

Но интересно, что в хороших учебных заведениях, а также на курсах студенты изучают языки в таком порядке:

1 Pascal .

2 C++ .

3 PHP и все, что связано с веб-программированием, а также SQL (это система, предназначенная для работы с базами данных путем запросов).

  1. Веб (разработка сайтов, онлайн систем и все, что с этим связано) – html (хотя его нельзя назвать полноценным языком программирования), PHP, Perl, Python, Ruby, Java, Groovy, а также технология ASP.NET.
  2. Пользовательское ПО (всевозможные программы вроде справочников, браузеров, мессенджеров и тому подобное) – Delphi, C, C++, C#.
  3. Пользовательское ПО для мобильных устройств – Java, Objective-C.
  4. Машинные разработки (работы с микропроцессорами и другими устройствами, проектирование робототехники) – Assembler, модификации С.

Кто-то также может внести в этот список так называемое программирование 1С. Не верьте профанам и ничего не знающим людям! Это совсем не программирование.

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

Выбирайте то, что вам больше всего понравится.

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

Большинство специалистов также советуют начать свое обучение с Pascal. Такой вариант позволит

Вам написать самые простые программки и иметь общее представление о рассматриваемом ремесле в целом.

Можно сказать, что Паскаль – это некий мост. Человек, который просто хорошо знает математику, может перейти через него в мир программирования.

Внимание! В какую бы компанию вы не устроились после обучения, вас будут переучивать под себя. Поэтому вы должны просто понимать сам принцип написания программ. А для этого нет ничего лучше, чем Pascal.

Шаг третий. Изучение компиляторов

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

Собственно, все свои программы вы будете писать, и выполнять именно в компиляторах.

Если вы решили последовать нашему совету и начать с Паскаля, то вам следует скачать Free Pascal. Этот компилятор абсолютно бесплатный и распространяется на официальном сайте .

Как видим, выглядит он достаточно «старомодно», но программирование начинается именно с этого. Кстати, компилятор C++ выглядит практически так же.

Называется он Turbo C++ (скачать его можно ).

Что касается Паскаля, то существует также GNU Pascal, Turbo/Borland Pascal, TMT Pascal и Virtual Pascal. А для С++ можно использовать Borland C++, Visual C++, Dev C++, GCC и Eclipse.

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

Вот список наиболее популярных на сегодняшний день компиляторов в зависимости от направлений деятельности:

    Что касается Delphi , то компилятор там так и называется. Существует также Embarcadero Delphi и некоторые другие модификации. Делфи 7 можно скачать на многих сайтах, к примеру, . Если вы выбрали C, C++ или C#, то вам нужна Microsoft Visual Studio. Загрузить ее можно прямо на официальном сайте производителя.

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

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

Вот наиболее популярные из них:

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

Виртуальные машины будут работать под управлением . На них вы можете хоть удалить системную папку, установить абсолютно любую программу и так далее.

А теперь приступим к написанию вашего первого шифра (кода). Сделать это можно даже без книг и длинных инструкций.

Шаг четвертый. Первый код

Для первого кода мы будем использовать первый язык и первый компилятор, который мы советовали выбирать выше. Это Паскаль и Free Pascal.

Одна из самых простых программ пишется следующим образом:

1 Скачайте Free Pascal по ссылке выше и запустите его на своем компьютере.

2 Введите следующее: «program [название];» . То есть если вы хотите, чтобы программа называлась «hello», необходимо ввести «program hello;».

3 Введите инструкцию «begin» . Это означает, что код, который в дальнейшем нужно будет выполнить, начался.

4 Используем одну из самых распространенных в Паскале конструкций «writeln(‘[какой-то текст]’);» . Она просто выводит на экран текст. Который содержится в скобках и кавычках. Мы введем сочетание «Hello, world!» . Обычно свой путь в большой мир разработок ПО начинают именно с этого. Таким образом, следующая строчка будет выглядеть как «writeln(‘Hello, world!’);» .

5 Чтобы закончить исполняемый шифр, введите «end.» (обязательно с точкой в конце).

6 Теперь нажмите кнопку «F9» , чтобы запустить то, что написали. Вы увидите, как на экране появились слова «Hello, world!» . Это и требовалось!

Чтобы начать свое знакомство с другими языками, в книгах обычно также приводятся инструкции по написанию «Hello, world!» , то есть инструкции, которая просто выводит такой простой текст на экран.

Итак, вы осилили свой первый шифр! Начало положено. Теперь переходите к интенсивному обучению.

Шаг пятый. Пройдите онлайн тренинг

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

Поэтому новичкам лучше все-таки начинать свой путь именно с онлайн тренингов. Вот лучшие курсы на русском языке:

  • Курс «Основы программирования» от Образовательного IT-портала GeekBrains . Здесь все рассказывается с самого начала, с самых азов. Вы сможете изучить историю, развитие данной отрасли, а затем постепенно стать ее частью. Тот же цикл тренингов можно скачать с торрента (вот ссылка).
  • Уроки от Школы программистов . Этот курс подойдет тем, кто ничего не смыслит даже в математике, не знает природу чисел, как представляется информация в компьютере и другие подобные моменты. То есть если вы считаете себя полным профаном, смотрите эти видеоуроки.
  • «Фундамент программирования» от EG Lab . Здесь расскажут о данном ремесле в целом, о разработке сложных задач и типах данных (всего три урока). Просмотр данных уроков будет отличным подспорьем, чтобы начать изучать какой-то конкретный язык в дальнейшем.

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

Если вы знаете английский, это огромное преимущество, но только в том случае, если вы уже что-то знаете.

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

Зато есть курсы для конкретных языков. К примеру, есть Learn Java Simply , C++ Programming Tutorial for Beginners , How to program in C# - BASICS и многое другое.

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

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

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

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

На сегодня профессий, используемых в IT-индустрии, насчитывается порядка 500. Отсюда следует логичный вопрос: "Айтишник - кто это?" Как правило, это обобщенное название людей, работающих в секторе

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

Категории айтишников

Условно всех их можно разделить на несколько типов:

  • Разработчики программного обеспечения и различных утилит, так называемых software и hardware.
  • Специалисты, реализующие HW/SW-решения и различные сценарии. Или те же системные администраторы.
  • Ребята, занимающиеся трафиком, социальными сетями и т. д.
  • Специалисты, работающие в секторе IT-безопасности.
  • Бизнес-аналитики, которые служат связующим звеном между миром компьютерных технологий и руководителями различных компаний.

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

Чем занимается специалист IT?

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

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

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

Где обучают профессии?

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

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

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

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

Требования работодателя к знаниям и умениям IT-специалиста

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

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

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

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

Когда айтишники отмечают профессиональный праздник

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

17 мая с 2006 года отмечается Всемирный день информационного сообщества. Ранее он имел несколько других названий. Это были «Всемирный день телекоммуникаций» и «Международный день электросвязи».

Почему же именно 17 мая? Причину нужно искать в далеком прошлом. Считается, что 17 мая 1865 г. было впервые подписано международное Телеграфное Соглашение. Это дало толчок мировому сотрудничеству в области улучшения, а также более рационального использования различных видов электросвязи.

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



Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: