It технологии обучение с нуля. Что нужно знать начинающему IT специалисту

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

С чего начать

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

Если с вами ничего из вышеперечисленного не произошло, значит, у вас есть выбор из четырёх вариантов:

  • Самообразование . Этот вариант можно использовать как самостоятельно, так и в паре с другими методами. В интернете полно , и приложений , которые помогают изучать различные языки программирования и технологии. Но это самый тяжёлый путь для начинающих.
  • Университет . Если вы оканчиваете школу и хотите быть программистом, тогда идите в университет. Если не за знаниями, тогда за корочкой. Она может послужить бонусом при устройстве на работу. Хотя и какие-то знания вы тоже получите. Но не забывайте заниматься и самообучением. К выбору вуза стоит подойти очень ответственно. Внимательно изучите программы обучения и выбирайте лучшие технические вузы.
  • Ментор . Будет очень неплохо, если вы найдёте человека, который согласится помочь вам и направит вас в правильную сторону. Он подскажет подходящие книги и ресурсы, проверит ваш код, даст полезные советы. Кстати, мы уже писали о , где вы сможете найти ментора. Наставника можно искать среди знакомых программистов, на IT-тусовках и конференциях, на онлайн-форумах и так далее.
  • Специализированные практические курсы . Попробуйте поискать в своём городе курсы, где вас обучат какому-нибудь языку программирования или технологии. Я был приятно удивлён количеством таких курсов в Киеве, в том числе бесплатных и с последующим трудоустройством.

Какой язык, технологию и направление выбрать

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

  • Наличие на рынке вакансий . Конечная цель этого пути - найти работу программистом. А это будет трудно сделать, если на рынке вакансий никто не будет искать разработчиков на вашем языке программирования. Проверьте сайты с вакансиями, посмотрите, кого больше ищут, выпишите десяток языков. И переходите к следующему критерию.
  • Низкий уровень вхождения . Если вам придётся потратить длительное время на изучение языка, это может отбить у вас охоту к программированию вообще. Почитайте о тех языках, которые вы выбрали выше. Просмотрите литературу, которую нужно будет прочитать, чтобы изучить эти языки. И выберите те, о которых пишут, что они лёгкие, или которые вам показались лёгкими. Такими языками могут оказаться PHP, Ruby, Python.
  • Кайф от процесса . Если вам не нравится писать код на выбранном языке, вы не будете получать удовольствия от этого процесса, от работы и от жизни. А оно вам надо? Делайте правильный выбор.

Также вам придётся определиться с направлением программирования. Мобильное, десктопное, игры, веб, низкоуровневое программирование и так далее. Самые популярные и относительно лёгкие отрасли - разработка под веб, мобильные и десктопные клиенты. Под каждое направление может подходить один язык и совсем не подходить другой. То есть при выборе языка программирования также стоит отталкиваться и от этого фактора.

В любом случае изучите веб-технологии. Это язык разметки , стили и , который позволит сделать вашу страницу динамической. На следующем этапе изучите серверный язык (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, он самый популярный. Вам нужно знать инструменты, с которыми вы работаете, операционную систему и среду разработки. И главный навык программиста - уметь гуглить. Без этого вы не проживёте.

Последние шаги

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

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

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

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

    Научитесь пользоваться командной строкой, но пользуйтесь ей только когда нужно. Научиться пользоваться командной строкой в Windows или терминалом в Linux очень важно, чтобы как минимум повысить эффективность пользования компьютером. В Windows командная строка не очень нужна, но все же это хорошая идея - научиться ей пользоваться. Однако, в Linux или UNIX, Mac или BSD, а также в других операционных системах на основе UNIX важно уметь пользоваться командной строкой для того, чтобы работать более эффективно, используя скрипты bash.

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

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

    Изучите язык программирования. Это одна из самых важных вещей, которые нужно сделать. Не путайте разные типы языков. Интерпретируемые языки, такие как BASIC, не очень хороши для настоящего программирования, но если все, что вы хотите, это писать простые компьютерные игры, то он подойдет. HTML или CSS используются в веб-страницах, изучить их - хорошая идея, но они не очень полезны для настоящего программирования. Рекомендуется выучить скриптовый язык командного интерпретатора (например, bash), поскольку он даст силу и эффективность программисту-новичку или администратору. Однако, вы можете изучить любой язык, какой пожелаете.

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

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

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

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

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

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

    Используйте операционные системы с открытым исходным кодом. Большинство компьютерных специалистов используют открытые операционные системы такие, как *BSD или Linux, потому что обычно они бесплатные и позволяют делать такие классные вещи, как программирование, запуск серверов и использование командной строки (CLI).

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

    Узнайте, как работает интернет.

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

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

    Компьютерный специалист должен разбираться в системах счисления. 1 бит данных - это двоичная единица, 1 или 0. 8 бит составляет 1 байт. Большинство людей считает, что килобайт - это 1000 байт, на самом деле это 1024 байта. Узнайте, сколько байт в килобайте (KB), мегабайте (MB), гигабайте (GB) и так далее. Когда вы это запомните, вы будете чувствовать себя увереннее в двоичной системе счисления. Далее изучите восьмеричную и шестнадцатеричную системы счисления, и как конвертировать числа из одной в другую. Когда вы поймете почему программисты всегда путают Рождество и Хелоуин, вы найдете свой собственный путь, чтобы стать настоящим компьютерным специалистом.

Перед конференцией IT Entrance , которая состоится 22 апреля в бизнес-инкубаторе Парка высоких технологий, сайт решили рассказать о самых интересных выступлениях на . Сегодня своим опытом поделится Яна, которая поменяла работу в банковской сфере на IT.

Как попасть в IT по формуле «24/7»

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

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

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

Что нужно в IT?

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

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

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

Эволюция IT-продуктов

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

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

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

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

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

Как сделать так, чтобы ваш продукт купили?

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

Вот эта магия спрятана именно в области User Experience Design (UXD).

Для чего нужен UXD?

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

«Прикладные программы, в большинстве своем, не сильно напрягаются для пользователей. Не в том смысле, что не делают работу, но в том смысле, что часто тратят гигантские усилия, чтобы ублажить пользователей, относясь к ним так, как если бы они были программистами. Это все равно, что подарить жене на день рождения электродрель. Если электродрели нравятся вам, это совсем не означает, что они нравятся и ей» (с) Алан Купер.

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

Как UX-специалисты готовят «вкусняшки»

Если UX-специалисты хорошо поработают над продуктом, то на выходе получаются «пирожные», которые пользователям хочется съесть, а потом повторить это много-много раз. И для того, чтобы это пирожное появилось и получилось, нужны определенные ингредиенты. Рассмотрим некоторые из них:

1. Human-Centered Design. Это проектирование продукта, которое начинается с выявления целей и потребностей пользователя, на основании которых определяются необходимые функции продукта.

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

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

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

Для меня UX - это магия, которая подчиняется определенным объективным законам. Есть определенные правила, зная которые, можно создавать хороший User Experience. Можно говорить, что продукт крутой, что его полюбят миллионы пользователей, но если не соблюдать эти законы, то скорее всего, столкнешься с жестокой реальностью.

Теперь давайте попробуем объединить все эти ингредиенты. Представим, что наш IT-продукт – это пирожное, которое мы готовим для любимой бабушки. Тогда рецепт этого пирожного, по которому мы будем его готовить так, чтобы оно понравилось бабушке, – это будет Human-Centered Design. Когда мы сделаем это пирожное нужной высоты, чтобы его можно было легко укусить, мягким, чтобы у бабушки не вывалились протезы – это юзабилити. А все вместе, плюс наша любовь и частичка души, которые мы вкладываем, когда готовим… и вот эта вишенка наверху - все вместе это складывается в User Experience нашей бабушки. Если мы угадаем со всем этим (особенно с вишенкой), бабушка будет наши пирожные просто обожать. Вот также и с IT-продуктами.

Прыжок в IT

Теперь немного про мою нетипичную историю «прыжка в IT».

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

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

Знакомство с UX

Поиски себя заняли 2 года. И вот в феврале 2016 года на меня случайно «свалился» UX. Я испытала на себе это особенное ощущение озарения (о котором так часто пишут в книгах): вот же оно... мое! Я к тому моменту уже начинала свой бизнес, но все приостановила, занялась UX. И чем дальше изучала, тем больше понимала, что я хочу только туда.

Нетипичная история

Я узнала, что в большинстве случаев в UX приходят люди с образованием в IT, социологии или психологии. В большинстве случаев туда берут людей, у которых есть или в бизнес-анализе. И (самое ужасное для меня) средний возраст работающих в IT - 28-30 лет, включая директоров. Я не подходила ни по одному из параметров, а учитывая, что на тот момент мне было 35 с большим плюсом, для меня это был просто шок.

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

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

Каждое утро, когда я вставала, у меня день начинался с картинки «А что ты сегодня сделал для достижения своей цели?». Я садилась за компьютер и начинала учиться. Через пять месяцев самообучения я случайно в Facebook увидела, что UXpresso объявляют открытую вакансию на должность senior UX-специалиста.

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

Что значит моя формула перехода в IT «24/7»?

24 месяца - отпустить старое, 7 месяцев – изучить новое.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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 и многое другое.

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

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

Статьи по теме: