Введение в программирование

Как стать программистом?

Обучение программированию в вузе 

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

  • 02.03.01 Математика и компьютерные науки; 
  • 09.03.02 Информационные системы и технологии; 
  • 09.03.03 Прикладная информатика; 
  • 09.03.04 Программная инженерия; 
  • 10.03.01 Информационная безопасность; 
  • 38.03.05 Бизнес-информатика. 

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

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

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

  • 09.02.03 Программирование в компьютерных системах;  
  • 09.02.05 Прикладная информатика;  
  • 09.02.07 Информационные системы и программирование. 

Всего в стране 71 учреждение среднего профессионального образования с нужными нам направлениями подготовки. Эти профили вы найдете в Санкт-Петербургском колледже информационных технологий, Петровском колледже, Новосибирском колледже электроники и вычислительной техники, в Уральском технологическом колледже “МИФИ” и в многих других. 

Курсы дополнительного образования 

Учить программированию в России начали не так давно, потому найти качественный профессиональный курс — целое приключение. К тому же далеко не все варианты бесплатные

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

Онлайн-платформы 

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

Онлайн-школы 

Если идея самостоятельного изучения вам не по душе, то приглядитесь к онлайн-школам. Существенный плюс — чаще всего тут курсы ведут практикующие программисты, которые не только поделятся общими знаниями, но и расскажут о реальных интересных кейсах. В конце обучения дают диплом и обещают помочь с трудоустройством. Обучение «официальное», даже налоговый вычет можно получить. Но и стоит довольно много. Годовой курс обойдется в 150 тысяч рублей. Здесь уже как посмотришь: это большой расход или умная инвестиция в себя. 

Очные курсы 

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

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

Всё больше и больше людей хотят стать программистами. Связано это с тем, что многие думают, что программисты ничего не делают и получают огромные деньги. Конечно же, это не так, работа программиста очень сложная, и большие зарплаты следует ждать только после большого периода времени. Однако, если же есть желание стать программистов и вы не знаете, какой язык программирования стоит начать изучать как первый, то эта статья для вас.
Итак, вы хотите стать программистом и думаете, какой бы язык программирования стоит изучить первым. Сразу хочется сказать, что не стоит смотреть на сторону Паскаля, которого так любят в школе преподавать и Бейсика, который ещё остался со времён СССР. Конечно, можно изучить их для основ, чтобы понимать, как вообще всё устроено, но это трата времени. Например, если взять язык Python, то он и лёгкий, как Паскаль, но в то же время и мощный. Вообще, где используется Python. Этот язык часто используют при разработке сайтов, а именно: серверной части сайта. Да и вообще, не только сайтов. Взять только приложение Instagram, или игру World of Tanks, там тоже используется Python! Конечно, об этом языке не так много пишут, поэтому он ещё не получил такой популярности. Новички ведь как думают, чем популярнее язык – тем он лучше. На самом деле не так, ведь в программировании всё зависит от целей. Например, перед вами стоит цель: создать игру под мобильные платформы. В таком случае, конечно, лучше начать изучать Java, но этот язык сложный, и стоит начать с чего-то простого, например, Python. Питон является скриптовым языком, а иметь в арсенале скриптовый язык всегда надо, так как он пригодится везде! Стоит заметить, что популярность этого языка с каждым годом растёт. Многие сайты переходят с PHP на Python. Так как у Python и синтаксис приятней и работать легче, чем с PHP. Такие гиганты как: Yandex, Вконтакте, Google – давно уже перешли на Python. Скоро Питон займёт место PHP и станет самым популярным языком для веб-разработки. PHP держится только по той причине, что многим проектам лень переписывать тонну кода с одного языка на другой. 
Делая вывод хочется сказать, что лучшим языком для новичка является Python. Это и перспективы большие и лёгкость в обучении. Python можно освоить за пару недель, основы, конечно. Вообще, сейчас даже в школах хотят заменить Паскаль на Python. Но всё же конечный выбор стоит перед вами, ведь есть такие люди, которые не любят синтаксис Python.

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

В 2018 появилась книга «Введение в разработку программного обеспечения» Якова Крамаренко. Для изучающих программирование с нуля — вполне стоящая книга, с которой стоит начать. Освещены начальные шаги в веб-разработке, не затрагивая серверной части. В доступной форме рассказано про HTML, CSS  и Javascript, которые необходимы, если вы изучаете веб-программирование в 2020.

К тому же книга есть на трёх языка. Ви можете розпочати вчити програмування українською or start learn programming in English — все варианты доступны! Главное начать 🙂

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

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

Захотел в IT, потому что это интересно

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

Я вспомнил, что когда-то интересовался вебом, но дальше забав с HTML-тегами дело не пошло. Вскоре наткнулся на бесплатные тренажёры HTML Academy — часами проходил их и громко матерился на заданиях, где вёрстка должна была совпасть с образцом пиксель в пиксель. Потом я купил подписку и прошёл все тренажёры по вёрстке.

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

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

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

Вторая работа была удалённой

Позже мне снова написали в Telegram — компания из Кисловодска нашла мой аккаунт на GitHub, где сказано, что меня не пугают сдвиг часового пояса и удалёнка, у меня нет игровой приставки, а на ноутбуке стоит Linux.

Человек спросил, сколько лет я работаю с Vue.js (нисколько), знаю ли Vuex (нет). Я скинул ему тестовое, которое делал для магазина техники, и меня взяли. На всё ушёл один телефонный звонок.

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

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

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

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

Плюсы и минусы профессии

Плюсы

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

Минусы

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

руководитель группы разработки финтех-сервиса «Выберу.ру»

Как стать Java разработчиком?

1. Можно пойти на курсы, в том числе с возможностью трудоустройства. Учиться можно онлайн. Примеры таких программ:

Название и ссылка на курс

Описание

Программа разработана университетом Нетология совместно с Альфа-Банком. Включает вебинары и практические занятия. Подходит для людей, изучающих профессию с нуля. Вы научитесь программировать на Java, освоите фреймворк Spring, шаблоны проектирования и многое другое. Лучшим выпускникам могут предложить стажировку или работу.

Это онлайн-курс в университете Skillbox. Вы изучите основы языка, научитесь работать с MySQL, применять принципы ООП, использовать GIT, писать веб-приложения. Подходит новичкам или молодым разработчикам.

Популярный фреймворк для создания веб-приложений и REST-сервисов. Курс дополняет предыдущий. Необходимо знать основы языка. Совсем новичкам он не подойдет.

Enterprise технологии

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

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

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

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

3. Обучиться основам программирования на Джава можно по книгам. Среди книг на русском языке можно назвать следующие:

Перспективы профессии программиста

В любом случае, в дальнейшем вас ждёт долгий и увлекательный путь по карьере, который сам по себе тоже бывает совершенно разным. Официально, науке Computer Science чуть больше 50 лет, так что она достаточно нова, и в ней есть, куда расти и развиваться ещё многие годы. Будучи неопытным разработчиком, я отовсюду слышал фразы вроде «Всё уже написано, нечего программировать». Поверьте, это сущая глупость.

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

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

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

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

Антон Ярков — Senior Software Developer and Chief of development staff.  Инженер-программист и руководитель команды из 100 разработчиков в компании Access Softek Inc., занимающейся разработкой банковских продуктов для рынка США. Последние 8 лет играет ключевые роли в приятии инженерных и управленческих решений, работая над высоконагруженными и инновационными приложениями. 10+ лет опыта в разработке в стартапах и enterprise. LinkedIn.

Это неэффективно

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

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

Например, заказчику нужно на сайте изменить какую-то надпись. Допустим, поменять сообщение, которое уведомляет об использовании cookies, или заменить на сервере файл политики конфиденциальности.

Обе задачи на 5 минут: 3 минуты, чтобы запустить редактор кода и FTP-клиент, по одной минуте на каждую задачу.

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

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

Тыжпрограммист, или Что такое особый склад ума

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

Правда ли это? Отчасти. Но успешный программист не всегда обязан быть снобом

Что важно и нужно знать, чтобы выучиться на программиста:

  • Уметь работать в команде. Независимо от того, с чего начинать: веб-программирование, создание мобильных приложений, верстка и многие другое – это командная работа. Поэтому без этого – никуда.
  • Понимать, что такое приоритет и как правильно его расставлять. Даже в самой престижной компании программистам часто падают задачи в стиле «Сделай сейчас, а это еще вчера нужно было, а вот здесь – быстро и только подправить». Структурирование задач – один из важнейших навыков крутого проггера.
  • Обладать феноменальной усидчивостью. Нет, в офисе от звонка и до звонка сидеть не придётся, а вот проводить много времени за ноутбуком или компьютером – точно. Именно поэтому айтишников и считают нелюдимыми: просто пока все отдыхают, большинство из них предпочитает поработать.
  • Не бояться совершенствоваться и учиться новому. Языки программирования устаревают, нужно учить новые, мобильные приложения создаются на новых платформах, каждый день появляются десятки сервисов. Если хочется стать хорошим программистом – нужно быть гибким и готовым прокачивать свои навыки.
  • Любить свой компьютер. Здесь и добавить больше нечего. Ваша машина – это основной рабочий инструмент.

Когда начинать и где разработчику искать стажировку

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

Базовыми для фронтенда считаю знания в:

  • HTML.
  • CSS.
  • Поверхностно JavaScript.

Бэкенд-специалисту, помимо HTML и CSS, нужно:

  • Базово изучить какой-нибудь фреймворк, например, Django.
  • Разобраться с простыми запросами SQL.
  • Хотя бы немного знать теорию компьютерных сетей и сетевые протоколы.
  • Уметь работать в linux (окажется нелишним).

Всем советую:

  • Разобраться с распределенной системой управления версиями Git.
  • Завести аккаунт на GitHub, научиться там создавать репозитории, ветки и пользоваться инструментами разработки.

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

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

Сначала откликаемся на открытые вакансии стажера. Если ничего подходящего нет, ищем IT-компании, которые занимаются тем, что вам нравится, и предлагаем свои услуги стажера. Так два года назад я обратился в WB—Tech.

Как я проходил стажировку

Штатный разработчик WB—Tech дал мне первое задание — написать REST API веб-сервис с несколькими методами на Django и набор юнит-тестов для них. Я месяц или полтора работал над этим. Главное — увидел, какие пробелы в знаниях и навыках программирования нужно восполнить для решения подобных задач. Когда первое задание выполнил, отправил его на проверку и попросил новое.

Я брал одно задание за другим. Делал их долго и вдумчиво. Отправлял результат — тимлид указывал на ошибки, недоработки и подсказывал, в каком направлении искать нужную информацию. Не все получалось сразу. Многое приходилось переделывать. Исправлял долго, медленно и с трудом. Уставал до головной боли. Было реально сложно. Зато сейчас у меня уходит 3-4 часа на работу, которую раньше мог делать неделю. А главное — я получаю удовольствие, когда решаю какую-то сложную задачу, и в результате все работает как надо.

В таком режиме я проработал два месяца. На платную стажировку переходить не хотел. Хотелось свободы без обязательств по срокам.

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

Где сейчас программисту можно пройти стажировку

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

Вы записываетесь в школу, изучаете программирование и сдаете итоговое тестирование. Это бесплатно. После успешной сдачи тестов предлагаем поработать над проектами — вы получаете первое «боевое» задание. По результатам выполнения обратная связь от куратора. Если в процессе сотрудничества мы понимаем, что подходим друг другу — принимаем вас на работу в WB—Tech. Если открытых вакансий нет, рекомендуем вас как крутого специалиста коллегам.

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

Кстати, работать в WB—Tech после обучения необязательно. Вы становитесь свободным и востребованным специалистом. В остальном решение только за вами. Есть другие варианты трудоустройства.

Личный кабинет стажера-программиста в WB—Tech.

Условия

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

Качества человека и склад ума, способствующие успеху в профессии разработчика:

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

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

Стажировка и старт карьеры

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

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

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

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

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

Выберете направление

«программистом может стать каждый, надо лишь приложить достаточно усилий»

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

Особо популярна сегодня разработка мобильных приложений — на HeadHunter можно найти больше 4000 вакансий «разработчик под Android», но средняя зарплата примерно на 33 % ниже, чем у специалиста в области Data Science — 80 000 рублей против 120 000.

Цель

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

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

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

Рис. 1 – Человек за компьютером

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

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

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

Как преодолеть сопротивление и начать учиться программированию?

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

Чтобы начать учиться, необходимо преодолеть все свои сомнения. Многие уверены, что IT – это крайне сложная сфера, которая требует особого склада ума, знания высшей математики, а также свободного владения английским. Более того, существует мнение, что девушкам в ИТ не место, ровно так же, как и всем тем, кому больше 30 лет.

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

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

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

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

Постоянное самообразование

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

Практика

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

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

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

Советы начинающим программистам

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

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

  • Петцольд Ч. Код: тайный язык информатики.
  • Столяров А.В.: Программирование — введение в профессию. Том 1 — азы программирования.

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

  • Заведите аккаунт на платформе GitHub. Это сайт, где программисты хранят историю создания своих программ, делятся исходными кодами, учатся и берут примеры, создают совместные проекты и свои собственные, и где целые компании настраивают полный цикл создания программного обеспечения. По ходу использования аккаунта, так или иначе, вам придётся вникнуть в азы технологии GIT, которая используется по всему миру. Книга «Pro Git» от Скотта Шакона поможет вам разобраться во всём необходимом.
  • Заведите аккаунт на LinkedIn. Это ресурс, где весь западный мир ищет специалистов, и где можно найти топовых людей из IT-индустрии, спросить совета или просто узнать новости. Тут есть авторы языков программирования и фреймворков, технологий и алгоритмов, книг и журналов.
  • Заведите аккаунт и читайте Twitter — там огромное количество технических специалистов всех областей, которые регулярно постят что-то интересное.
  • Для мотивации и выбора направления подписывайтесь и читайте тематические рассылки Habr.com, VC.ru, xakep.ru, Telegram-каналы профессионалов индустрии (https://t.me/addmeto, https://t.me/techsparks, https://t.me/g33ks, https://t.me/denissexy и т.д.) и целых компаний (https://t.me/avitotech, https://t.me/luxoftrussia и т.д.), слушайте подкасты про разработку, а также листайте профильные англоязычные ресурсы вроде Hacker News и прочих.
    Имея всё это, позднее, при составлении резюме, вам будет что написать и на что сослаться.

3. В своём развитии найдите баланс между тем, что вас действительно интересует и увлекает (создание сайтов, программ, решение задач и т.д.) и изучением всей необходимой теории. Я советую 50% времени тратить на полезную практику и остальные 50% на теорию.

Например, всё ещё поверхностно зная язык программирования, можно уже начать создавать простые утилиты и выкладывать их на GitHub (попутно изучая как пользоваться системой контроля версий Git, или черпая хорошие примеры других похожих программ).

Создание чего-то работающего и полезного будет вас мотивировать и не даст бросить дело, а примеры ваших работ на GitHub дадут будущему работодателю понимания пути вашего развития.

Не стоит сразу и на 100% углубляться в языки, технологии или теорию без практического подкрепления, ведь теория сложна и часто не сразу можно её понять. Да и не вся она применима в жизни.

4. Используйте технику параллельного чтения. Я советую читать параллельно сразу несколько книг по одной и той же теме: языку программирования, алгоритмам, фреймворкам или технологиям. Как правило, главы и темы в них пересекаются. При этом разные авторы дают материал по-разному, и далеко не всегда их ментальная модель совпадает с вашей. К некоторым книгам нужна предварительная подготовка или опыт, а другие «разжёвывают» всё так, как вам нужно.

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

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

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

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

Программистом не брали, поэтому работал где придётся

Пока я искал работу программистом, рассматривал и временные варианты не из IT. Удалось устроиться в агентство недвижимости на восемь месяцев на очень маленькую зарплату. Зато хватало времени верстать какие-то свои проекты и я урывками решал задачи из RS School. Но каждый день меня ждал вынос мозга, а по утрам понедельника хотелось плакать — иногда я так и делал.

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

По одной из вакансий вроде оператора ПК меня позвали на собеседование. Я ехал до места с двумя пересадками, а вместо офиса там оказался цех с паяльниками и шуруповёртами. Меня встретил директор по производству и сказал, что здесь собирают электросчётчики. Я покивал, хотя ничего не знаю про счётчики. Оператором ПК там и не пахло.

Зарплата устроила, оформляли официально — работа с 9 до 18, час на обед, перекуры. Я подписал бумаги и вышел уже на следующий день. Решил, что днём буду собирать счётчики на заводе, а дома буду учить React.

В первый же день мне дали задание — нарезать 3000 кусков проволоки по 3 сантиметра. Если вы когда-нибудь делали что-то подобное, наверняка поймёте меня. В конце дня я уходил с работы с ощущением, что меня жестоко избили. Но самое страшное ждало меня дома после двух пересадок на автобусе.

Я поел, включил лекцию по React и понял, что ничего не соображаю. Попробовал писать код, но вышло так себе. Понадеялся, что через день-два привыкну. На работе я научился паять, крутил пластиковые гайки — делал одно и то же по восемь часов подряд. Мозг и пальцы уже не справлялись.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector