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

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

С программированием я знаком не по наслышке. C, Pascal, JavaScript, HTML, CSS - это лишь неполный список программных языков, с которыми мне приходилось работать для создания небольших алгоритмов и, конечно же, сайтов. В разных направлениях успехи разные, однако речь сейчас не обо мне.

Вернусь к основной теме и рассмотрим 5 этапов от подготовки до трудоустройства программиста. По факту получился краткий план формата «с нуля до результата».

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

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

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

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

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

  • 1С бухгалтерии и связанных с ней программ;
  • сайтов со стандартной и мобильной версией;
  • мобильных приложений.

Для начала выбираем одно из предложенных или иное направление будущей занятости и осваиваем его «от и до». Фраза «это я умею, а это не знаю» — вообще не профессионально.

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

Отбор значимых языков программирования для освоения с нуля

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

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

Самостоятельное и профессиональное обучение

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

  1. профессиональное образование в учебных заведениях;
  2. дополнительное образование в учебных заведениях (курсы);
  3. электронные курсы от мастеров своего дела;
  4. удаленные обучающие программы с теорией, практикой и технической поддержкой профессионалов.

Если еще нет диплома и предстоит многое узнать в жизни, то подходят первые два варианта. Их не рассматриваю, ситуация стандартная.

Лично для меня особый интерес представляют платные версии третьего и четвертого варианта. Знаете почему?

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

Да, можно пытаться научиться всему самостоятельно и бесплатно. А не думали, что лет через 5-10 лет может прийти простое осознание — «если бы я не экономил на своем образовании и сразу учился у профессионала, то...»? Подумайте над этим.

Кстати, вы только посмотрите какие шикарные курсы и обучающие программы можно найти в электронном формате. Примеры:

  • JAVASCRIPT и JQUARE для начинающих ;
  • Современный PHP ;
  • Интернет магазин под ключ ;
  • Joomla 3 – профессиональный сайт за один день ;
  • Школа блоггеров с практическим обучением через интернет .

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

Подготовка к трудоустройству или открытию бизнеса

Итак, допустим обучение только пройдено. Пора приниматься за дело.

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

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

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

У такого сайта будет два серьезных преимущества:

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

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

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

Трудоустройство и первые заказы

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

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

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

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

22.12.14 157K

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

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

Что нужно знать «чайнику»

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

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

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

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

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

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

В странах бывшего СССР основным языком программирования, преподаваемым в технических ВУЗах, был Бейсик.

Ситуация кардинально не изменилась и через 10 лет. Лишь некоторые учебные заведения, учуяв веяния нового времени, в начале двухтысячных года начали перекраивать свое обучение под мировые стандарты. И только с этого момента программирование стало восприниматься как отдельная профессия и специализация обучения:

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

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

В некоторой мере такая тенденция сохраняется и по сей день. Хотя в наше время количество профессионалов, занимающихся преподаванием, заметно возросло.

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

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

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

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

Изучая C, вы постигаете основы не одного языка программирования, а сразу нескольких.

Рассмотрим особенности этого языка, делающего его оптимальным для изучения:

  • Простая для понимания основа – часть встроенных возможностей языка для простоты вынесена в отдельно подключаемые библиотеки. К таким элементам относится большая часть математических функций и методов для работы с файловой системой;
  • Оптимально подогнанная система типов – благодаря простому набору типов данных и строгой типизации уменьшается риск допущения ошибок в процессе написания программного кода;
  • Направленность C на процедурный тип программирования, при котором соблюдается четкая иерархия всех элементов кода;
  • Доступ к памяти машины с помощью указателей;
  • Минимальное количество поддерживаемых ключевых слов;
  • Поддержка области действия имен;
  • Поддержка пользовательских типов данных (объединения и структуры ).

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

Программы (компиляторы) для программирования

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

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

Вот несколько специализированных компиляторов с поддержкой языка C:

  • Microsoft Visual Studio – профессиональный инструмент, поддерживающий множество языков, в том числе и несколько серверных. Подойдет для новичков, если брать его «на вырост»:

  • Borland C++ — бесплатный компилятор, идеально подходящий для начинающего обучение. В отличие от предыдущего инструмента, отличается ясным и понятным интерфейсом. Поэтому его освоение не вызовет особых трудностей даже при самостоятельном освоении азов программирования:

  • Code::Blocks – бесплатная среда разработки, поддерживающая написание кода на нескольких языках. Средний по сложности освоения вариант:

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

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

Первый шаг

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

Конечно, на теории дело не закончится, все полученные знания нужно пару десятков раз применить на практике — тогда они вобьются в вашу голову намного лучше, так что, даже есть после этого разбудить вас ночью, и спросить: «а как работает в css @keyframes?» — вы все подробно расскажете.

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

Тут в самом низу вы можете увидеть то, что будете изучать, если оплатите обучение.

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

Что должен знать веб-программист?

Итак, как видите, это:

  1. HTML/CSS — базовые языки разметки и оформления веб-страниц, без них невозможно представить себе сайтостроение. Это — основа, самые простые технологии, которые вы должны изучить в первую очередь.
  2. PHP — основное оружие веб-программиста. С помощью этого языка создаются социальные сети, интернет-магазины, фреймворки, движки и много чего другого. Именно благодаря нему работает большинство онлайн-сервисов, формы комментариев, регистрации на сайтах и т.д.
  3. JavaScript — язык программирования специально для веб, с его помощью страницу можно программировать так, чтобы при различных событиях ее дизайн менялся. Например, при клике по окну оно расширялось и т.д. Примеров можно привести очень много.

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

Где все это выучить?

В моем понимании есть 3 основных способа обучаться на веб-программиста:

  1. Читать бесплатные статьи и материалы в интернете, смотреть бесплатные видеоуроки и курсы. Так вы можете получить базу, но дальше начального уровня не продвинетесь!
  2. Покупать платные курсы. Этот вариант избрал я, так как сайтостроение я изучаю не для работы на компанию, а на самого себя, поэтому меня устраивает обучение по курсам. 1 толковый курс в рунете стоит от 3 до 7 тысяч рублей. Лично я потратил на курс всего около 40-50 тысяч рублей и не жалею, т.к. уже получил много знаний, которые смог применить на практике и начать зарабатывать.
  3. Купить полноценное удаленное обучение с наставником. Это самый дорогой вариант, который обойдется в 40-150 тысяч рублей. Конечно, в плане эффективности он является самым лучшим. Такое обучение, к примеру, можно купить в онлайн университете Geekbrains .

Хорошими площадками для получения базовых знаний по html, css, php и js будут Magisters.org , HtmlAcademy.ru и премиум раздел Web4myself.com (хоть он и платный, но доступ в него всего 500+ рублей в месяц, а уроков там тьма).

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


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

По итогу можно получить такое приличное резюме:


И такие навыки:

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

Например, за одиннадцать месяцев Geekbrains обещает вас обучить таким технологиям: HTML/CSS, PHP, JS, NodeJS, AngularJS, Yii . С другой стороны, для того, чтобы найти простую работу или начать делать сайты для себя, вам необязательно знать все это. Я уже говорил, что является базой. Это html, css, php, javascript. Но дело в том, что с каждым годом требования к веб-разработчикам растут и если вы хотите серьезных результатов, так или иначе придется изучать современные технологии и тенденции.

Курсы по PHP и фреймворкам


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

Книги тоже имеют право на жизнь. Для расширения своих знаний в любой сфере читать их полезно. И по php почитать можно много чего. Например, такое.

Необязательно знать все

Если вы изучили только javascript (а php — нет), то сможете работать front-end разработчиком, а если наоборот — попробуете свои силы в back-end . В общем-то, даже имея небольшие знания, уже можно что-то заработать на сайтостроении, но чем больше вы будете знать, тем больше ваш потенциал.

У многих возникает вопрос: "Могу ли я стать программистом, если вообще ничего не знаю о программировании?" Отвечаем: "Конечно". Стать программистом с нуля, безусловно, можно. Более того, стать успешным программистом - это реально! Поэтому, давайте рассмотрим типичные для начинающего программиста вопросы.

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

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

Определились?

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

  1. Поиск учебных материалов. Это могут быть книги, журналы, блоги опытных программистов и так далее. Главное, чтобы вы понимали, о чем они пишут, так что лучше подольше поищите приятного вам автора, чтобы в дальнейшем учиться с удовольствием, а не с усилием сажать себя за учебники. Также стоит заняться поиском словаря терминов, он может понадобиться вам в будущем.
  2. Общение с программистами. Было бы полезно обратиться за помощью к специалисту, чтобы узнать как он начинал программировать, с каких языков программирования начинал и так далее.
    Во-вторых, не теряйте времени. Приступайте к работе. Что нужно делать дальше, чтобы уже начать программировать:
  3. Выбрать язык программирования, на котором вам будет удобно созидать.
  4. Подобрать программу для начинающих (подобную Pascal ABC , которая используется для обучения студентов и школьников).
  5. В процессе чтения разбирать примеры на практике (пробовать создавать подобные ситуации параллельно).

Как стать веб-программистом и чем отличается эта спецификация?

Веб-программирование отличается уклоном на разработку веб-приложений. Это один из разделов программирования. Чтобы стать веб-программистом с нуля вам потребуется:

  1. Изучить и понять, на каком языке вам будет приятнее программировать, какой язык широко используется в вашей сфере и какие у него возможности. Чаще всего используются языки HTML и JavaScript и большинство веб-программистов специализируются именно на них.
  2. Прибегайте к практике после прочтения материала. Создайте свой небольшой веб-сайт на бесплатном хостинге (подойдет даже ucoz ), куда бы вы могли внедрять и тестировать свои разработки. Также тестирование можно производить прямо в браузере , многие из них поддерживают эту функцию (это такие популярные браузеры как EI, Firefox , Chrome и Opera ), обычно данная функция есть во вкладке "Веб-разработка".
  3. Показывайте свои наработки веб-программистам, они подскажут, что нужно изменить и где не стоит мудрить с кодом.

Как стать программистом 1C и использовать это в работе?

Программирование 1С часто требуется в самых различных компаниях и фирмах. Чтобы успешно заняться программированием 1С вам нужно:

  1. Желательно окончить любые бухгалтерские курсы (возможно, с конкретной направленностью на изучение 1С), чтобы вы имели представление о том, что делаете.
  2. Пробуйте заполнять формы и программировать имея какие-то данные (таковые есть почти во всех учебниках программирования 1С).
  3. Посетите тематические сайты и форумы, вероятно, у пользователей есть свой личный опыт, который мог бы вам помочь.

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

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

Возможно Вас заинтересуют.

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

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

Разумеется, речь в статье пойдёт исключительно о моём личном опыте, который позволял мне проходить собеседования даже в такие топовые компании, как 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».
  • Выучи азбуку программирования. Если ты ещё можешь позволить себе «плавать» на глубоких уровнях каких-нибудь комплексных технологий вроде Struts и Spring, то неправильные ответы на элементарные вопросы тебе никогда не простят. Если тебя ночью разбудить, то ты должен уметь рассказать про ООП, наследование, инкапсуляцию, полиморфизм и другие базовые концепции, а также суметь объяснить это всё на примерах.
  • Практика. Научиться программировать можно, только лишь программируя. Это больно и неприятно (если ты не программист), но другого пути нет. Единственный способ перестать бояться задачек на собеседованиях - порешать их дома самостоятельно.
  • Читай книги и проходи туториалы по Java только на английском Абсолютно все термины программирования проще понимать на языке оригинала, то есть на английском. Читать техническую литературу по Java на русском - себя не уважать. Почему? Потому что, чтобы понимать что-нибудь в духе «…модуль таблицы во многих смыслах представляет собой промежуточный вариант, компромиссный по отношению к сценарию транзакции и модели предметной области», нужно быть поистине гением, которым ты вряд ли являешься.
  • Выучи, наконец, английский! В первую очередь это касается разговорного английского. Сложно сосчитать то огромное количество толковых программистов, которых на моей памяти забраковали по одной единственной причине - неудовлетворительный уровень разговорного английского. Нет, если ты, конечно, собираешься работать программистом где-нибудь в отечественной компании, то твой уровень языка не будет играть важной роли. Но если ты хочешь попасть на работу в международную компанию, то сам бог велел выучить язык. Уровень твоего английского будет конвертироваться в дополнительные сотни долларов прибавки к зарплате.
  • Знай рынок. Походи по вакансиям, почитай требования, поспрашивай друзей-программистов, сколько они получают. Используй сервисы, которые позволят составить более полную картину о рынке IT. Ты был бы удивлён, узнав о том, насколько велико количество талантливых программистов, которые получают в два раза меньше, чем могли бы, только лишь по причине своей лени и нежелания держать нос по ветру.
  • Торгуйся. Нет ничего предосудительного в том, чтобы торговаться за зарплату. Твоим аргументом в споре может быть как хороший английский, так и предложение о работе в другой компании. Последний аргумент особенно хорошо работает: «Да, но мне в Luxoft предлагают на 300 долларов больше, почему я должен соглашаться на ваши условия? Может, мы могли бы найти компромиссный вариант?». В своё время мне пару раз удалось выторговать дополнительную сотню долларов к своей зарплате, и через год эта сотня долларов дала мне дополнительные 1 800 долларов дохода на ровном месте. Ты должен понимать, что даже для небольших зарубежных IT-компаний лишняя сотня баксов как капля в море.
  • Найди себе ментора. Хорошо, если у тебя будет более опытный товарищ, который сможет помочь советом и ответить даже на самые глупые вопросы. Благодаря его опыту и моральной поддержке ты будешь продвигаться в программировании быстрее, чем в одиночку. Если нет ментора, то неплохо сходить на какие-нибудь курсы по программированию, которые не только дадут более полную картинку того, чем занимается программист, но и позволят познакомиться с более опытными людьми. Кто знает, может быть, кто-нибудь из них захочет стать твоим ментором.
  • Начни свой проект. Даже если он будет образцом самых худших практик кодинга и ты его никогда не закончишь, по крайней мере, у тебя будет то дело, ради которого захочется разбираться в программировании и изучать новые технологии. Кроме того, у тебя появится дополнительная тема для задушевных бесед на собеседованиях.
  • Ищи работу летом. Во-первых, когда все в отпусках, в компаниях более остро ощущается нехватка кадров и повышается вероятность того, что тебя позовут на собеседование. Во-вторых, поскольку твои конкуренты-соискатели тоже на отдыхе, у тебя опять-таки повышаются шансы быть замеченным HR.
  • Никогда не сдавайся. Даже если кажется, что ты заваливаешь собеседование, важно проявить стойкость и продолжить попытки решить задачу, какой бы сложной она ни казалась. Кто знает, может быть, тебя именно в этот момент проверяют на усердие в работе!
  • Избегай заданий на компьютере. Нет способа быстрее раскусить непрофессионала, чем сразу же бросить его в пекло программирования. Твоя задача - постараться перевести все беседы на высокий уровень, где обсуждаются общие подходы и концепции, но никак не конкретная реализация в решении той или иной задачи. Если тебе дали бумагу и ручку и попросили записать решение, то попроси возможность нарисовать его схематически. Таким образом, удалившись от синтаксиса конкретного языка, ты не только убережёшь себя от каких-нибудь режущих глаз ошибок, но и покажешь, что способен мыслить абстрактно, не вдаваясь так уж сильно в детали.
  • Начинай говорить первым. Избегай ситуаций, когда в воздухе виснет пауза, во время которой в мозгу у интервьюера может созреть очередной коварный вопрос. Как только происходит какая-либо заминка, начинай рассказывать что-нибудь из того, что ты хорошо знаешь. Постарайся навязать интервьюеру свою игру.
  • Старайся говорить правду. Если ты никогда не писал PL/SQL процедуры, то лучше об этом сказать прямо. Возможно, в этом для тебя будет минус, однако ты убережёшь себя от нужды выкручиваться, отвечая на вопрос, в котором ничего не смыслишь. Опытный интервьюер за версту почувствует твои пробелы в знаниях.
  • Бойся маленьких компаний. В небольших компаниях, как правило, небольшие команды. Чем меньше в команде людей, тем быстрее тебя раскусят. Твоя цель - большая и неповоротливая корпорация, где ты сможешь выиграть для себя немного времени.
  • Соблюдай дресс-код. Если ты придёшь на собеседование на должность программиста в шикарном костюме, то это вызовет больше подозрения, чем если ты явишься в шортах или потёртом свитере. Не лишним будет также нацепить очки, мол, «эдакий я книжный червь».
  • Конечно, кто-то знающий может отметить, что приведённый выше рецепт - это скорее способ стать кодером, чем программистом, и он где-то будет прав. Однако дело всё в том, что вы никогда не найдёте вакансию с заголовком «Требуется плохой кодер». Всем нужны программисты. Желательно senior. У которых более пяти лет опыта работы на корпоративных проектах и которые одинаково хорошо владеют сразу несколькими языками программирования, при этом досконально разбираются в СУБД, умеют писать bash-скрипты, хранимые процедуры, знают в совершенстве Linux, TCP/IP, обладают лидерскими качествами, стрессоустойчивостью, коммуникабельностью и ещё массой навыков, «без которых никак».

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