В мире как никогда остро стоит вопрос переквалификации. Переход от индустриальной экономики к цифровой происходит так быстро, что за бортом времени остается много работников традиционных трудовых сфер. Кадровый голод в IT-сфере, в свою очередь, неутолим. Как найти себе новую профессию и переквалифицироваться, используя бесплатные источники знаний?
Конечно, сменить профессию в зрелом возрасте непросто. Страхи за семью и финансовую стабильность, какой бы она ни была, заставляют отбросить мысли о карьере, которую можно перезапустить с чистого листа.
Только нужно понимать, что этому переобучению придется посвятить немало свободных часов. Точнее, даже так: свободных часов оставаться в принципе не должно. И все время, не занятое основной работой или семьей, придется уделять обучению. С чего начать, если вы хотите «войти в «айти»» или хотя бы сделать первые шаги на этом пути?
Содержание
С чего начать?
В Гарвардском университете есть вводный курс о компьютерных технологиях Computer Science 50 — как в офлайне, так и в онлайне. В этом вводном курсе на протяжении более двух десятков лекций рассказывают об основах программирования доступным и понятным языком, что позволяет втянуться новичкам. Там обучают, как мыслить алгоритмически, объясняют такие концепции, как абстракция, алгоритмы, структуры данных, инкапсуляция, управление ресурсами, безопасность, а также знакомят с языками C, Python, JavaScript, CSS и HTML
Курс в оригинале звучит на английском языке, но он настолько популярен, что лекции уже давно переведены на русский. Так что проблем с его освоением возникнуть не должно. Ниже находится встроенный плей-лист, а вот и на него.
Какой язык выбрать?
Однозначно ответить на этот вопрос просто невозможно. Языков программирования много, среда разработки под каждый язык отличается своими нюансами. Но можно сказать точно, что если вам удастся освоить один язык программирования, то с последующими будет проще.
В любом случае к выбору первого языка программирования стоит подходить прагматично. Некоторые советуют Python в качестве начальной ступени. Он классный и простой, академический, для него существует много библиотек, много примеров. Но отталкиваться стоит от количества вакансий на сайтах по поиску работы. Чем больше вакансий для новичков по определенному языку, тем меньше входная конкуренция, а значит, будет работа.
Пускай в первое время это будет работа за хлеб, но она позволит прокачать практические навыки за счет работодателя.
«Изучив один язык программирования, решив 5—10 практических задач с помощью этого языка, я с легкостью за пару недель могу перейти на другой язык на базовом уровне. Но не стоит сразу пытаться изучить все языки», — объясняет практикующий разработчик, который пришел в IT самостоятельно, без платных курсов и университетской базы.
Для примера, если вы хотите программировать под iOS, то выбор должен быть сделан в сторону Swift — относительно молодого языка программирования приложений для устройств Apple. Для этого, правда, понадобится обзавестись MacBook или заморочиться и накатить macOS на Windows-машину («хакинтош»). Руководств по этим манипуляциям в интернете превеликое множество.
Apple разработала отличный самоучитель по Xcode (среда разработки под iOS) — правда, на английском языке. Но белорусский разработчик Антон Марченко записал на YouTube 21 урок, в которых проводит новичков через весь самоучитель и объясняет сложные темы.
Практика очень важна
С базовым знанием определенного языка программирования стоит попробовать свои силы в каком-нибудь Open Source — проекте или в обязательном порядке сделать свой мини-проект — пускай это будет даже Telegram-бот, который сообщает погоду или присылает анекдоты.
Во-первых, это позволит ворваться в сообщество разработчиков, в их чаты. Там можно будет задавать вопросы опытным разработчикам. А как показывает практика, люди из IT с удовольствием готовы помогать, делиться ссылками на полезные статьи и учебники. И если не наглеть, тебе с удовольствием помогут и бесплатно.
Во-вторых, нетривиальные задачи, с которыми новичок сталкивается на проекте, заставляют искать решения, впитывать новую информацию. Это поможет в наработке полезных ресурсов и контактов.
В-третьих, участие в каком-то проекте на безвозмездной основе или создание своего небольшого продукта — это уже строчка в резюме.
Если же работа над проектом не задастся и ты не сумеешь довести его до конца, то поймешь, что это не твое. И больше не будешь тратить время на то, чем не нравится заниматься.
«Вечерами после работы водителем читал форумы и статьи. Интернет был медленный и дорогущий. Сейчас бы я, наверное, смог обучиться быстрее, так как существует куча сообществ, каналов и чатов. Нужно только пользоваться этим, а не ждать, что тебе скажут решение», — подчеркивает разработчик.
За большинством технических удобств вроде онлайн-банка или информационного табло в аэропорте стоят специалисты одной и самых востребованных профессий современности – программисты. Без них не работали бы ни гаджеты, ни соцсети. Даже заказать новые кроссовки в интернет-магазине было бы проблематично. До сих пор it-сфера только ускоряет темп развития, требуя все новых работников. Кампании готовы нанимать даже новичков. Средняя зарплата программиста начинается от 35 тысяч рублей, а уж профессионалы со стажем могут зарабатывать заоблачные деньги.
Профессия программиста популярна и востребована
В этой статье мы расскажем, как попасть в престижную профессию, кто такие Senior-программисты, и почему без английского вам здесь придется трудно.
Кто такие программисты и чем они занимаются
Запросы it-сферы на профессионалов постоянно увеличиваются. Следовательно нужны люди, которые будут в этом разбираться: создавать, чинить, поддерживать. Кодеры бывают разные, и каждая работа имеет свою специфику. Расскажем про основные специализации айтишников:
- Программист-разработчик
Самый очевидный вариант. Но он не так прост, как вы можете подумать. Кодеры выполняют разные задачи в зависимости от их профильного языка программирования и проекта.
Например, разработчик мобильных приложений создаёт программы под системы android, ios и другие. Смартфон и планшет есть у каждого первого, так что тут работа закончится ещё не скоро.
Ещё одно перспективное направление – java-программирование. Большинство банковских систем спроектированы на этом языке. Банки готовы хорошо платить за качественный продукт и штатным работникам, и сторонним фирмам. Но и требования тут высоки: придется нести ответственность за корректную работу приложения с чужими деньгами. Конечно, программировать на java можно не только в банке, а хорошие it-специалисты со стажем получают около 200 тысяч рублей в месяц.
- Тестировщик
Тестировщик – специалист, без которого ни один проект не увидит релиза. Этот айтишник знает все о тонкостях кода и о местах, где программа может дать сбой. Его обязанность – проверить устойчивость продукта к ошибкам и багам и вернуть его разработчикам на исправление. На первых порах проверка делается вручную, но, когда все слабые места найдены, тестировщик пишет специальную программу, чтобы автоматизировать поиск неисправностей.
Ещё одна похожая профессия – qa engeneer, специалист по качеству продукта. Основное его отличие в том, что он не ищет ошибки в коде, а старается их не допускать. Подробно выяснить требования заказчика, спланировать разработку, наладить связь между группами программистов – все это обязанности qa engeneer. Часто тут даже язык программирования знать не надо, важнее представлять этапы разработки и особенности управления проектами.
Профессия привлекательна зарплатой: даже новичку тут могут заплатить 50 тысяч в месяц.
- Web-разработчик
Согласно исследованию StackOverFlow, это самая востребованная it-профессия 2017 года. Web-программисты делятся на две категории: front end и back end (они же часто шифруются как UX/UI дизайн). Первые следят за всем, что связано с пользовательской частью: удобство приложения и сайта, интуитивно понятное использование и просто красивая картинка. Вторые прорабатывают техническую составляющую: логика сайта, его функции, взаимодействие с базой данных. Чтобы страничка в интернете выглядела современно, разработчики проходят курсы html и php, владеют css, java-script, программированием на python.
Ваша зарплата будет зависеть от количества инструментов, которыми вы владеете. Самое маленькое вознаграждение у html-верстальщиков, они получают от 25 тысяч в месяц.
- Программист 1C
Особенность 1С-программирования – тесная связь с экономической отраслью. Например, чтобы правильно начислить зарплату 3000 людей на заводе, надо где-то хранить данные об их рабочем времени, ставке, больничных и т.п. Эту задачу берет на себя программы 1С-предприятие. 1С-программист настраивает программы бухучета и документооборота так, чтобы легко выгружались документы, автоматически формировались отчеты.
Возможную рутинность работы с лихвой компенсирует порядок зарплат. Если говорить о фиксированной ставке, то начинающий Программист 1C сразу найдет вакансию с зарплатой в 45 тысяч в месяц, а ведущий специалист получает от 120. А вот в случае фриланса заработок будет зависеть от ваших навыков и от количества рабочих часов в неделю. Профессионалы зарабатывают и 200, и 500К в месяц.
Споры о настоящих программистах не утихают до сих пор
- Системный администратор
Этот айтишник не совсем программист. Его особенность в том, что он отлично разбирается в «железе». Подключить принтер, ноутбук, проектор, настроить его работу, раздать интернет и спроектировать хитрую локальную сеть – это все к нему. Гуру проводов и работающих принтеров платят от 25 тысяч рублей, а зарплата программиста-сисадмина с хорошим опытом может доходить до 150 тысяч в месяц.
- Менеджер IT-продукта
Он же product manager, он же product owner. Менеджер продукта выступает как переводчик между заказчиком, которые не разбирается в информационных технологиях и исполнителей-программистом. Кажется, что это работа из ничего – что заказчик с программистов сами разобраться не смогут?! Хорошо не смогут. Именно product manager может объяснить заказчику возможности функционала и потом уже сформулировать точное задачу для айтишников. На product owner лежит ответственность, чтобы готовое приложение, сайт или игра приносили пользователю максимум радости и пользы.
- Директор по ИТ-продукту
Любой успешный айтишник может достичь высшей позиции в it-сфере – chief procurement officer (коротко CPO). Этот человек глубоко знает продукт, понимает систему кодинга, знает лучшие стратегии для создания программного обеспечения. В подчинении ИТ-директора средней компании может находиться 30-50 человек. Средний доход… далеко выше среднего.
Как стать программистом?
Обучение программированию в вузе
Самый очевидный способ стать программистом – поступить на соответствующий профиль в вуз. Жизнь большинства специалистов уже невозможна без it-технологий. Обращаться с кодом в какой-то мере учат и математиков, и химиков, и биологов. Но чтобы не мучиться на неинтересных для вас предметах и изучать только профильные дисциплины, выберите одно из следующих направлений:
Каждый вариант имеет свои особенности. С одной кафедры выпускаются учёные, с другой — управленцы, а с третьей — самые настоящие анти-хакеры! Чтобы подробнее в этом разобраться, посмотрите нашу инфографику. Будущим it-специалистам лучше выбирать технические университеты. Эти профили есть в МИРЭА, МИФИ и других.
Обучение на программиста в колледже
Необязательно ждать выпускного, чтобы посвятить себя любимому занятию. Обучение на программиста можно начать после 9 класса, надо только правильно выбрать колледж. Подходящих специальностей тут не так много:
- 09.02.03 Программирование в компьютерных системах;
- 09.02.05 Прикладная информатика;
- 09.02.07 Информационные системы и программирование.
Всего в стране 71 учреждение среднего профессионального образования с нужными нам направлениями подготовки. Эти профили вы найдете в Санкт-Петербургском колледже информационных технологий, Петровском колледже, Новосибирском колледже электроники и вычислительной техники, в Уральском технологическом колледже «МИФИ” и в многих других.
Читайте также нашу статью «Тенденции в высшем образовании: новые специальности в московских и петербургских университетах»
Курсы дополнительного образования
Учить программированию в России начали не так давно, потому найти качественный профессиональный курс — целое приключение. К тому же далеко не все варианты бесплатные. Чтобы не потратить деньги зря, обратите внимание на отзывы, на преподавателей, программу и перспективу трудоустройства.
- Онлайн-платформы
Изучать приглянувшийся язык программирования можно самостоятельно в удобном темпе на одном из обучающих ресурсов. Например, на INTUIT легко подобрать курс по java-программированию. После успешного прохождения итогового тестирования система выдаст бесплатный сертификат.
- Онлайн-школы
Если идея самостоятельного изучения вам не по душе, то приглядитесь к онлайн-школам. Существенный плюс — чаще всего тут курсы ведут практикующие программисты, которые не только поделятся общими знаниями, но и расскажут о реальных интересных кейсах. В конце обучения дают диплом и обещают помочь с трудоустройством. Обучение «официальное», даже налоговый вычет можно получить. Но и стоит довольно много. Годовой курс обойдется в 150 тысяч рублей. Здесь уже как посмотришь: это большой расход или умная инвестиция в себя.
- Очные курсы
Для желающих видеть преподавателя не через экран монитора, а вживую, есть очные курсы. Например, MAXIMUM ведет занятия по изучению it-сферы для школьников Digital Skills. Программирование там тоже есть, а на ознакомительное занятие можно прийти бесплатно.
Как поступить на специальность Программирование и что сдавать?
От будущих it-специалистов вузы чаще всего требуют результаты ЕГЭ по русскому языку, профильной математике и информатике. Некоторые могут попросить сдать еще и английский.
Облегчить себе жизнь в жаркую пору итоговых государственных аттестаций можно с помощью олимпиад. Ниже список подходящих юному программисту соревнований по информатике. Уровень 1 — самый сложный, но цена победы бесконечно высока: вы можете поступить в вуз вне конкурса или получить 100 баллов по профильному предмету. Подробнее о различиях олимпиад и о выборе подходящей читайте в нашей статье об олимпиадах.
Название олимпиады | Уровень сложности |
Всесибирская олимпиада школьников | 1 |
Московская олимпиада школьников | 1 |
Олимпиада школьников «Ломоносов» | 1 |
Открытая олимпиада Университета Иннополис | 1 |
Открытая олимпиада школьников | 1 |
Открытая олимпиада по программированию | 1 |
Олимпиада «Высшая проба» | 2 |
Олимпиада СПбГУ | 2 |
Открытая олимпиада по программированию «Когнитивные технологии» | 2 |
Олимпиада по дискретной математике и теоретической информатике | 3 |
Олимпиада школьников «Надежда энергетики» | 3 |
Чем заняться сейчас, чтобы повысить свои шансы на успешную карьеру программиста
Надо понимать, что it-сфера развивается с огромной скоростью. Вузы физически никогда не успеют адаптировать программы, чтобы давать студентам самую последнюю информацию. Университет заложит основу в виде базовых возможностей языка и стандартных алгоритмов. Именно поэтому работа программиста невозможна без непрерывного самообразования. Языки программирования модернизируются, разработчики создают новые удобные инструменты, чтобы облегчить работу себе и коллегам, придумывают новые алгоритмы решения задач. Дальше мы расскажем, где и чему поучиться ещё, чтобы преуспеть в it-сфере:
- Ботайте английский язык. Многие ресурсы на английском. Чтобы не ждать, пока кто-то сжалится и переведет текст за вас, позаботьтесь о языке заранее. Это настолько важно, что некоторые платные курсы дают уроки по языку своим студентам как часть основного программы.
- Чатьтесь на it-форумах. Ответы на многие вопросы можно найти на форумах программистов, как например, Хабрахабр. Профессиональное сообщество щедро делится знаниями и полезными кусочками кода. Правда, иногда поиски растягиваются на несколько дней и параллельно приходится разбираться в новых инструментах, с которыми не был знаком раньше. И да, часто самая полезная ссылка будет на английском.
- Погружайтесь в книги. Не спешите покупать первую попавшуюся литературу в ближайшем книжном. На полках много бесполезного и безнадежно устаревшего материала. Опять же много трудов изначально написаны на английском, и русская версия может страдать серьезными недочётами перевода. Можете начать с наших рекомендаций, а потом поймете, как выглядит годный контент.
Дочитали до конца? Вот вам ещё пара интересных фактов, которые помогут лучше представить профессию программиста.
- Если вы зайдёте на сайт вакансий, то увидите: требуются загадочные middle или senior разработчики. У программистов есть своя градация степени профессионализма: junior, middle и senior. Первые, новички, должны владеть всеми средствами языка, на котором работают. Вторые — it-специалисты со стажем 3-5 лет. Третьи не только знают все о коде, но и могут организовать работу группы разработчиков над проектом. С ростом звания соответственно растет и зарплата!
- Популярный портрет типичного программиста – неразговорчивый человек в очках с литровой чашкой кофе. На самом деле, эта картинка верна разве что для редкого фрилансера. И совсем не обязательно быть интровертом, чтобы идти в профессию. Как и в любом другом деле, важны надпрофессиональные навыки — объяснять, аргументировать, договариваться, выходить из конфликта.
Такой портрет программиста безнадежно устарел. Современные it-специалисты — общительные позитивные ребята!
- Над большими проектами работает целая группа it-специалистов. Каждый отвечает за свой участок кода, и все кусочки в конце должны собраться в единый продукт. Чтобы это случилось, команды постоянно проводят планерки, помогают коллегам искать и исправлять недочёты. А в некоторых офисах даже есть TV-приставки и настольные игры. Коллективная смена деятельности помогает наладить контакт и переключиться, когда работа «встала».
- Программисты празднуют свой профессиональный праздник 13 сентября. Дата выбрана не случайно: это 256-ой день года, максимально возможная степень двойки, которая влезает в число 365.
Начать свой путь к карьере программиста стоит с ответа на вопрос, нужно ли вам программирование вообще? Этот вопрос не относится к тем, кто учится или учился по специальности, близкой к программированию. Если вам в школе математика давалась лучше, чем гуманитарные науки, если вам нравится проводить много времени за компьютером, если вам хочется изучать что-то новое, тогда программирование вам подойдёт.
С чего начать
Есть несколько вариантов развития событий, в результате которых человек становится программистом. Первый — родители-программисты, которые всему научили своих детей. Таким детям даже не нужно идти в университет. Второй вариант — модная профессия программиста. После школы нужно было выбрать, куда пойти учиться, и выбрали модное направление IT, вроде бы понравилось. И последний вариант — хобби, которое переросло в работу.
Если с вами ничего из вышеперечисленного не произошло, значит, у вас есть выбор из четырёх вариантов:
- Самообразование. Этот вариант можно использовать как самостоятельно, так и в паре с другими методами. В интернете полно сайтов, книг и приложений, которые помогают изучать различные языки программирования и технологии. Но это самый тяжёлый путь для начинающих.
- Университет. Если вы оканчиваете школу и хотите быть программистом, тогда идите в университет. Если не за знаниями, тогда за корочкой. Она может послужить бонусом при устройстве на работу. Хотя и какие-то знания вы тоже получите. Но не забывайте заниматься и самообучением. К выбору вуза стоит подойти очень ответственно. Внимательно изучите программы обучения и выбирайте лучшие технические вузы.
- Ментор. Будет очень неплохо, если вы найдёте человека, который согласится помочь вам и направит вас в правильную сторону. Он подскажет подходящие книги и ресурсы, проверит ваш код, даст полезные советы. Кстати, мы уже писали о полезном ресурсе, где вы сможете найти ментора. Наставника можно искать среди знакомых программистов, на IT-тусовках и конференциях, на онлайн-форумах и так далее.
- Специализированные практические курсы. Попробуйте поискать в своём городе курсы, где вас обучат какому-нибудь языку программирования или технологии. Я был приятно удивлён количеством таких курсов в Киеве, в том числе бесплатных и с последующим трудоустройством.
Какой язык, технологию и направление выбрать
Когда вы станете программистом, через годик-другой будете вольны выбирать любой язык, который вам нравится. Но при выборе первого языка программирования новичок должен учитывать следующие критерии:
- Наличие на рынке вакансий. Конечная цель этого пути — найти работу программистом. А это будет трудно сделать, если на рынке вакансий никто не будет искать разработчиков на вашем языке программирования. Проверьте сайты с вакансиями, посмотрите, кого больше ищут, выпишите десяток языков. И переходите к следующему критерию.
- Низкий уровень вхождения. Если вам придётся потратить длительное время на изучение языка, это может отбить у вас охоту к программированию вообще. Почитайте о тех языках, которые вы выбрали выше. Просмотрите литературу, которую нужно будет прочитать, чтобы изучить эти языки. И выберите те, о которых пишут, что они лёгкие, или которые вам показались лёгкими. Такими языками могут оказаться PHP, Ruby, Python.
- Кайф от процесса. Если вам не нравится писать код на выбранном языке, вы не будете получать удовольствия от этого процесса, от работы и от жизни. А оно вам надо? Делайте правильный выбор.
Также вам придётся определиться с направлением программирования. Мобильное, десктопное, игры, веб, низкоуровневое программирование и так далее. Самые популярные и относительно лёгкие отрасли — разработка под веб, мобильные и десктопные клиенты. Под каждое направление может подходить один язык и совсем не подходить другой. То есть при выборе языка программирования также стоит отталкиваться и от этого фактора.
В любом случае изучите веб-технологии. Это язык разметки HTML, стили CSS и JavaScript, который позволит сделать вашу страницу динамической. На следующем этапе изучите серверный язык (Python, PHP, Ruby и другие) и подходящие для него веб-фреймворки. Изучите базы данных: практически в каждой вакансии программиста это упоминается.
Как получить начальный опыт
Без опыта вы не получите работу. Без работы вы не получите опыт. Замкнутый круг реальной жизни. Но ничего страшного, мы из него выберемся.
Во-первых, не стоит ждать, пока вы прочитаете все книги по выбранному языку программирования. Начинайте писать свои первые строки кода уже после второй главы книги. Выполняйте все задания из книг, перепечатывайте примеры, разбирайтесь в них. Усложняйте примеры и задания из книг своими идеями. Создавайте свои задачи к пройденному материалу. Решайте эти задачи.
Во-вторых, вам нужно найти свои первые проекты. Это, наверное, самый сложный вариант, но рабочий. Вам придётся самому искать заказы, выполнять их, заморачиваться с оплатой. Для новичка это архисложно, но зато затем все остальные варианты покажутся плёвым делом. Выполненные проекты можно будет записать в опыт и показать вашему будущему работодателю. Реальные проекты являются большим плюсом в вашем резюме.
Если вы знаете английский язык, регистрируйтесь лучше на англоязычных биржах. Рынок там больше. Если не знаете английского, учите его. А пока что вам доступны русскоязычные биржи фриланса. Ищите небольшие проекты, которые соответствуют вашему уровню знаний или чуть выше него. Подайте заявку на пару десятков таких заданий. И приготовьтесь получить море отказов. Но если одна-две заявки выстрелят, у вас будет шанс получить реальный опыт.
Ещё одним неплохим вариантом для получения реального опыта является open source. Таким проектам всегда нужны новые люди, пусть даже и новички. Вы можете поискать в проекте баги или посмотреть в баг-трекере и предложить методы их решения. Найти такие проекты легко на GitHub или других сервисах для хостинга кода. Не стесняйтесь задавать там вопросы.
Четвёртый вариант получения опыта — помощь знакомым программистам. Попросите их передать вам маленькие и несложные задания. Если что-то не будет получаться, у вас всегда будет к кому обратиться. И при этом вы будете участвовать в реальном проекте.
Последний способ — собственные проекты, различные хакатоны или работа в коворкинге. Свои проекты сложно начинать самому, лучше поискать знакомых или друзей.
Почему стоит выбрать Python
Давайте немного подробнее поговорим о выборе первого языка программирования. Первый язык должен быть простым и популярным на рынке. Таким языком является Python. Я очень советую выбрать именно его в качестве первого языка программирования.
Код программы на Python читабелен. Вам даже не нужно быть программистом, чтобы в общих чертах понять, что происходит в программе. Из-за несложного синтаксиса Python вам понадобится меньше времени для написания программы, чем, например, на Java. Огромная база библиотек, которая сэкономит вам кучу сил, нервов и времени. Python является высокоуровневым языком. А значит, вам не нужно особо думать о ячейках памяти и о том, что там разместить. Python — язык широкого назначения. И он такой простой, что даже дети могут его выучить.
Справедливости ради стоит упомянуть и о других языках программирования. Java может стать неплохим выбором для новичка. Этот язык популярнее, чем Python, но и немного сложнее. Зато инструменты для разработки гораздо лучше проработаны. Стоит только сравнить Eclipse и IDLE. После Java вам будет проще перейти к работе с низкоуровневыми языками программирования.
PHP — ещё один очень популярный язык. И, мне кажется, он даже проще, чем Python. Очень легко найти себе ментора или решение какой-нибудь проблемы на форуме. Всё потому, что в мире существует огромное количество PHP-программистов разного уровня. В PHP нет нормального импорта, есть множество вариантов решения одной и той же задачи. А это усложняет обучение. И PHP заточен исключительно под веб.
Языки C и C# очень сложны для новичка. Ruby — хороший выбор в качестве второго языка, но не первого. JavaScript — очень простой язык, но ничему хорошему он вас не научит. А задача первого языка программирования всё-таки научить вас чему-то правильному, задать какую-то логику.
Важен ли английский язык
Важен! Не знаете? Учите. Знаете? Совершенствуйте. Учитесь читать, писать, слушать и говорить на английском. Делайте упор на техническую литературу. Слушайте англоязычные подкасты. Читайте англоязычные учебники по программированию.
Что нужно знать, кроме языка программирования
Конечно же, кроме языка программирования и английского, нужно знать что-то ещё. А вот что — зависит от направления, которое вы выберете. Веб-программист обязан знать HTML, CSS, JavaScript. Десктоп-программист учит API операционной системы и различные фреймворки. Разработчик мобильных приложений учит фреймворки Android, iOS или Windows Phone.
Всем нужно выучить алгоритмы. Попробуйте пройти курс на Coursera или найти подходящую для себя книгу по алгоритмам. Кроме этого, нужно знать одну из баз данных, паттерны программирования, структуры данных. Стоит также познакомиться с репозиториями кода. Хотя бы с одним. Обязательно знание систем версионного контроля. Выбирайте Git, он самый популярный. Вам нужно знать инструменты, с которыми вы работаете, операционную систему и среду разработки. И главный навык программиста — уметь гуглить. Без этого вы не проживёте.
Последние шаги
Вам нужно подготовить резюме. Не просто резюме, а хорошее резюме. Не стоит писать там лишней информации, но и умалчивать о своих умениях тоже не нужно. После того как вас пригласят на интервью, вы должны к нему подготовиться. Пройдитесь по материалу, который указан в вашем резюме. Вы должны быть уверены в своих знаниях. Просмотрите проекты, над которыми вы работали, вспомните технологии, которые вы применяли. И вперёд — к светлому будущему с новой профессией программиста.