Что нужно, чтобы стать программистом и зарабатывать от 2000$ в месяц? Что нужно сделать чтобы стать программистом

БЕСПЛАТНО ответим на Ваши вопросы
По лишению прав, ДТП, страховом возмещении, выезде на встречную полосу и пр. Ежедневно с 9.00 до 21.00
Москва и МО +7 (499) 938-51-97
С-Петербург и ЛО +7 (812) 467-32-86
Бесплатный звонок по России 8-800-350-23-69 доб.418

Инструкция для тех, кто хочет стать программистом с нуля

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

С чего начать

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

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

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

lifehacker.ru

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

От автора: работа программистом может стать вашим счастливым билетом в жизнь. Это сложная дорога, требующая огромного количества потраченных усилий и времени на изучение языка HTML, CSS, Java, PHP и прочих технических штук, но, черт возьми, игра стоит свеч. Продолжайте чтение статьи, если вас не пугают трудности на пути к звездам, и вы четко хотите понять, что нужно, чтобы стать программистом.

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

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

С чего начать?

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

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

Современные тенденции и подходы в веб-разработке

Узнайте алгоритм быстрого профессионального роста с нуля в сайтостроении

Узнать подробнее

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

Развиваться в этой тематике можно, выбрав один из 4 представленных ниже путей:

Самостоятельно стать программистом (самообразование).

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

Причем многие из них находятся в бесплатном доступе, поэтому если вы на тематических форумах уже успели всех достать сообщениями: «Хочу стать программистом, с чего начать? А где взять деньги? Я же с нуля!», то вот, пожалуйста ответ. Скачивайте бесплатные курсы, обучайтесь, применяйте полученные знания на практике, зарабатывайте.

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

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

Быстро стать программистом при помощи специализированных курсов.

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

Современные тенденции и подходы в веб-разработке

Узнайте алгоритм быстрого профессионального роста с нуля в сайтостроении

Узнать подробнее
Получить высшее образование в университете.

Этот путь будет самым долгим. За сколько можно стать программистом в университете? Лет 5, не меньше. Нельзя сказать, что у вас будет большое преимущество в знаниях, ведь половину образовательной программы разбавят ненужными предметами вроде физкультуры, философии и прочих наук, с преподавателями которых явно не поговоришь на языке HTML или Java.

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

Стать крутым программистом с помощью ментора.

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

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

Какие знания необходимы?

Знания, которые необходимо получить, зависят от того, на чем вы хотите специализироваться. Каким программистом лучше стать — решать только вам. У каждого человека свои цели и предпочтения. Если говорить о том, что надо, чтобы стать программистом в самом начале, то советую определиться с подходящим языком программирования (PHP, Java, Python, Ruby и т. д.). Критериями выбора могут стать следующие 3 параметра:

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

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

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

Как получить первый практический опыт?

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

Не нужно ждать, пока закончится последняя страница новой мега полезной книги, которая сделает вас гуру программирования. Увидели задание? Тут же выполняйте, потом усложняйте, экспериментируйте. Задача: прокачать ключевые навыки в программировании до уровня автоматизма. Бои выигрывает не тот, кто много знает, а тот, кто может удачно применить свои знания на поле битвы.

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

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

Современные тенденции и подходы в веб-разработке

Узнайте алгоритм быстрого профессионального роста с нуля в сайтостроении

Узнать подробнее

Практика монетизации блога: от раскрутки до реальных денег

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

Научиться

webformyself.com

Как стать программистом (1 часть) / Песочница / Хабр

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

Кто такой программист
Давайте поговорим о самой профессии программиста. Кто он? Бородатый мужик лет 40 с котом под мышкой? Или же очкастый подросток-хакер круглыми сутками сидящий за монитором? Давайте оставим стереотипы и обратимся к определению.Программист — это человек, который пишет программы. В первую очередь стоит отметить, что профессия программиста включает в себя огромное количество различных специальностей. И каждая из них требует определённой специфики. Однако определённые навыки необходимы в любой из специальностей.
Какими чертами нужно обладать, чтобы стать программистом
Самая важная черта отделяющая хорошего программиста от дилетанта — стремление к постоянному совершенствованию и самообразованию. Хороший программист тратит время на обучение ничуть не меньше, чем время на написание программы. Отсутствие привычки учиться, стремления узнавать что-то новое приводит к отставанию программиста от прогресса и он перестаёт быть ценен на рынке труда.

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

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

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

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

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

Работа программиста
Допустим, вы разобрались с теорией. Хочется практики? Хорошо. Давайте посмотрим, чем же всё-таки занимается программист.

Работа программиста в широком смысле слова — это:

  • Грамотная постановка задачи
  • Разработка алгоритма
  • Запись алгоритма на языке программирования
  • Отладка программы
  • Тестирование программы
  • Оформление документации на программу
Все эти этапы требуют различных знаний и умений. Несмотря на то, что теоретически этапов много — программист тратит 80% своего времени именно на этап программирования (запись алгоритма на языке программирования).
Промежуточный итог
Давайте подведём итог, и обобщим всё что необходимо знать о профессии программиста. Программист — это человек, который пишет программы. Он должен постоянно учиться и совершенствоваться, чтобы всегда быть в курсе всех технологий. Усидчивость и аккуратность, как никто другие, помогут программисту на его тернистом пути. Любимые науки программиста — информатика и математика, также стоит не забывать про английский язык. Работа программиста состоит из множества этапов, а главный из них — этап записи алгоритма на языке программирования.

На этой нотке я закончу первую часть своего повествования. Ждите, всё самое важное уже скоро!

habr.com

Профессия программист. Как стать программистом? С чего начать? Кому эта профессия под силу?

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

Что необходимо учить, чтобы овладеть этой профессией?

Эти и многие другие вопросы мы рассмотрим в этой статье. Отдельное спасибо за создание этой статьи отправляется в фонд Галины, которая задала их в конкурсе «Задай вопрос и выиграй приз».

Программист — кто это?

Поговорим немного о самой профессии программиста.

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

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

Какими чертами нужно обладать, чтобы стать программистом?

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

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

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

Каким школьным предметам стоит уделить пристальное внимание?

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

Для программиста математика и информатика — основополагающие предметы, но не единственные нужные программистам.

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

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

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

www.pc-someworld.ru

Неправильный, но быстрый способ стать программистом

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

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

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

Как я стал программистом

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

Первый шаг — резюме

Первая и основная проблема, с которой сталкиваются новички, — резюме. Без адекватного, цепляющего резюме вас не будут приглашать на собеседования. Но как быть тем, у кого совсем нет опыта работы? Для того чтобы «не с пустыми руками» идти к HR, мы с моим другом вписали мне в резюме целый год опыта работы над его проектом, над которым мы якобы вместе трудились.

Зарплатная политика

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

Позор и стыд

Первые собеседования были провальными. Надо мной буквально смеялись. На первом же техническом собеседовании, где мне дали пару задачек на бумаге, меня раскусили в два счёта. Кто-то даже по-отечески посоветовал книгу Thinking in Java.

Первая работа

В конце концов меня пригласили на собеседование в филиал одной датской компании, где я ответил на фундаментальные вопросы и приятно удивил всех своим английским. Меня взяли на должность Junior Java developer с одним условием — первые три месяца я буду проходить курс SCJP (Sun Certified Java Programmer), который восполнил бы мои пробелы и выковал бы из меня более подготовленного специалиста. Что может быть лучше, чем оплачиваемая стажировка без нужды работать (выдавать свою некомпетентность)? В этой компании я проработал полгода, чтобы через несколько месяцев пойти на повышение в компанию покрупнее.

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

Рекомендации для начинающих программистов

  1. Резюме. Оно должно быть правильно отформатированным и написанным исключительно на английском. Если не хватает опыта, то его можно (и нужно) придумать, но следует подготовиться отвечать за каждое написанное в резюме слово. Например, если у вас там написано JMS (Java Message Service), то вам как минимум следует пройти хоть одну обучалку и поиграться с JMS, поделать какие-нибудь примеры, пускай это и будет банальное «Hello, world!». Теперь вам будет удобнее пускать пыль в глаза, вы ведь и правда «работали с JMS».
  2. Выучите азбуку программирования. Если вы ещё можете позволить себе «плавать» на глубоких уровнях каких-нибудь комплексных технологий вроде Struts и Spring, то неправильные ответы на элементарные вопросы вам никогда не простят. Если вас ночью разбудить, то вы должны уметь рассказать про ООП, наследование, инкапсуляцию, полиморфизм и другие базовые концепции, а также суметь объяснить это всё на примерах.
  3. Практика. Научиться программировать можно, только лишь программируя. Это больно и неприятно (если вы не программист), но другого пути нет. Единственный способ перестать бояться задачек на собеседованиях — порешать их дома самостоятельно.
  4. Читайте книги и проходите туториалы по Java только на английском. Абсолютно все термины программирования проще понимать на языке оригинала, то есть на английском. Читать техническую литературу по Java на русском — себя не уважать. Почему? Потому что, чтобы понимать что-нибудь в духе «…модуль таблицы во многих смыслах представляет собой промежуточный вариант, компромиссный по отношению к сценарию транзакции и модели предметной области», нужно быть поистине гением, которым вы вряд ли являетесь.
  5. Выучите, наконец, английский! В первую очередь это касается разговорного английского. Сложно сосчитать то огромное количество толковых программистов, которых на моей памяти забраковали по одной единственной причине — неудовлетворительный уровень разговорного английского. Нет, если вы, конечно, собираетесь работать программистом где-нибудь в «Киевстаре» или в другой отечественной компании, то ваш уровень языка не будет играть важной роли. Но если вы хотите попасть на работу в международную компанию, то сам бог велел выучить язык. Уровень вашего английского будет конвертироваться в дополнительные сотни долларов прибавки к вашей зарплате.
  6. Знайте рынок. Походите по вакансиям, почитайте требования, поспрашивайте друзей-программистов, сколько они получают. Используйте сервисы, которые позволят составить вам более полную картину о рынке IT. Вы были бы удивлены, узнав о том, насколько велико количество талантливых программистов, которые получают в два раза меньше, чем могли бы, только лишь по причине своей лени и нежелания держать нос по ветру.
  7. Торгуйтесь. Нет ничего предосудительного в том, чтобы торговаться за зарплату. Вашим аргументом в споре может быть как хороший английский, так и предложение о работе в другой компании. Последний аргумент особенно хорошо работает: «Да, но мне в Luxoft предлагают на 300 долларов больше, почему я должен соглашаться на ваши условия? Может, мы могли бы найти компромиссный вариант?». В своё время мне пару раз удалось выторговать дополнительную сотню долларов к своей зарплате, и через год эта сотня долларов дала мне дополнительные 1 800 долларов дохода на ровном месте. Вы должны понимать, что даже для небольших зарубежных IT-компаний лишняя сотня баксов как капля в море.
  8. Найдите себе ментора. Хорошо, если у вас будет более опытный товарищ, который сможет помочь советом и ответить даже на самые глупые вопросы. Благодаря его опыту и моральной поддержке вы будете продвигаться в программировании быстрее, чем в одиночку. Если нет ментора, то неплохо бы сходить на какие-нибудь курсы по программированию, которые не только дадут вам более полную картинку того, чем занимается программист, но и позволят познакомиться с более опытными людьми. Кто знает, может быть, кто-нибудь из них захочет стать вашим ментором.
  9. Начните свой проект. Даже если он будет образцом самых худших практик кодинга и вы его никогда не закончите, по крайней мере у вас будет то дело,  ради которого вам захочется разбираться в программировании и изучать новые технологии. Кроме того, у вас появится дополнительная тема для задушевных бесед на собеседованиях.
  10. Ищите работу летом. Во-первых, когда все в отпусках, в компаниях более остро ощущается нехватка кадров и повышается вероятность того, что вас позовут на собеседование. Во-вторых, поскольку ваши конкуренты-соискатели тоже на отдыхе, у вас опять-таки повышаются шансы быть замеченным HR.
  11. Никогда не сдавайтесь. Даже если вам кажется, что вы заваливаете собеседование, важно проявить стойкость и продолжить попытки решить задачу, какой бы сложной она ни казалась. Кто знает, может быть так, что вас именно в этот момент проверяют на усердие в работе!
  12. Избегайте заданий на компьютере. Нет способа быстрее раскусить непрофессионала, чем сразу же бросить его в пекло программирования. Ваша задача — постараться перевести все беседы на высокий уровень, где обсуждаются общие подходы и концепции, но никак не конкретная реализация в решении той или иной задачи. Если вам дали бумагу и ручку и попросили записать решение, то попросите возможность нарисовать его схематически. Таким образом, удалившись от синтаксиса конкретного языка, вы не только убережёте себя от каких-нибудь режущих глаз ошибок, но и покажете, что способны мыслить абстрактно, не вдаваясь так уж сильно в детали.
  13. Начинайте говорить первым. Избегайте ситуаций, когда в воздухе виснет пауза, во время которой в мозгу у интервьюера может созреть очередной коварный вопрос. Как только происходит какая-либо заминка, следует начать рассказывать что-нибудь из того, что вы хорошо знаете. Постарайтесь навязать интервьюеру свою игру.
  14. Старайтесь говорить правду. Если вы никогда не писали PL/SQL процедуры, то лучше об этом сказать прямо. Возможно, в этом для вас будет минус, однако вы убережёте себя от нужды выкручиваться, отвечая на вопрос, в котором ничего не смыслите. Опытный интервьюер за версту почувствует ваши пробелы в знаниях.
  15. Бойтесь маленьких компаний. В небольших компаниях, как правило, небольшие команды. Чем меньше в команде людей, тем быстрее вас раскусят. Ваша цель — большая и неповоротливая корпорация, где вы сможете выиграть для себя немного времени.
  16. Соблюдайте дресс-код. Если вы придёте на собеседование на должность программиста в шикарном костюме, то это вызовет больше подозрения, чем если вы явитесь в шортах или потёртом свитере. Не лишним будет также нацепить очки, мол, «эдакий я книжный червь».

Конечно, кто-то знающий может отметить, что приведённый выше рецепт — это скорее способ стать кодером, чем программистом, и он где-то будет прав. Однако дело всё в том, что вы никогда не найдёте вакансию с заголовком «Требуется плохой кодер». Всем нужны программисты. Желательно senior. У которых более пяти лет опыта работы на корпоративных проектах и которые одинаково хорошо владеют сразу несколькими языками программирования, при этом досконально разбираются в СУБД, умеют писать bash-скрипты, хранимые процедуры, знают в совершенстве Linux, TCP/IP, обладают лидерскими качествами, стрессоустойчивостью, коммуникабельностью и ещё массой навыков, «без которых никак».

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

lifehacker.ru

Как стать программистом? - Пошаговые инструкции

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

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

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

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

Также будущий программист должен выбрать направление, которое ему больше всего нравится. Всего существует три основных направления программирования: системное, прикладное и веб. В последнее время быстро прогрессирует веб-программирование. Оно связано с интернет-сайтами, которые отображаются в браузере. Изначально веб-программист осваивает такие языки, как CSS (каскадные стилевые таблицы) и HTML (гипертекстовая разметка). Далее необходимо изучить два типа языка веб-программирования: серверный и клиентский. В перечень клиентских языков программирования входят JavaScript, ActionScript, AJAX, VBScript и т.д. Серверные — PHP, С#, SSI, ASP, Perl и т.д. Минимальный объем знаний веб-программиста: один язык программирования серверный и один клиентский. Чтобы понять структуру серверов и принцип их работы, нужно обратить внимание на систему управления базой данных Microsoft SQL Server, MySQL, Microsoft SQL Server Express, SQLite, PostgreSQL или Oracle.

Прикладное программирование представляет собой создание приложений для взаимодействия и контакта с пользователем. Причем это могут быть как персональные приложения, так и сетевые. Основные языки прикладного программирования — Java, C++, C, Pascal, Python, Delphi и Visual Basic.

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

Как стать программистом в домашних условиях

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

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

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

Сейчас многие люди хотят стать программистом 1С. Их привлекают в первую очередь информационные технологии и бизнес-процессы. К тому же программист 1С крайне востребованная профессия. Однако, как стать программистом 1С? Нужно иметь желание и запастись терпением. Затем нужно приобрести программу 1С. рекомендуется прочитать специализированные книги, а также пройти курсы, связанные с 1С. И, конечно же, необходимо постоянно практиковаться. Кроме базовых знаний программирования потребуется изучить управленческий и бухгалтерский учет. Только тогда можно действительно стать программистом 1С.

Похожие статьи:

howtobecome.ru

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

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

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

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

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

С чего начать изучение программирования

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

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

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

Поэтому теперь у вас есть выбор — дочитать до конца эту статью и воспользоваться моими рекомендациями, или начать с книги Якова :)

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

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

Бесплатный онлайн-курс для изучения программирования

Также я очень рекомендую Гарвардский курс по основам программирования CS50: https://cs50.harvard.edu/.

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

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

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

Дальше — мои оригинальные рекомендации, актуальные и сегодня.

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

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

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

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

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

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

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

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

По возможности я рекомендую все материалы читать на английском — он 100% понадобится вам в работе программистом.

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

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

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

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

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

Для этого я рекомендую книгу «jQuery — учебник для начинающих»:http://anton.shevchuk.name/jquery-book/

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

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

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

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

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

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

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

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

Вообщем я люблю Python и рекомендую начать с него.

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

Язык программирования Python за 10 минут

Язык программирования Python — подробно для начинающих

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

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

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

Я точно рекомендую познакомится с ним.

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

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

Затем посмотрите http://www.tangowithdjango.com/

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

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

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

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

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

Для старта рекомендую книгу: «Изучаем РНР и MySQL» авторов Линн Бейли и Майкл Моррисон

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

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

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

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

Или так:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

itman.in



О сайте

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