Linux для начинающих как правильно и легко учиться чтобы зарабатывать больше в ит

Обновлено: 02.07.2024

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

1. Парадокс денег в профессии программиста

Когда новичок заходит на сайты типа HeadHunter и видит вакансии программистов с окладами 100 000, 150 000, 200 000 рублей, у него просто захватывает дух и он мечтает получать столько же. И меня часто спрашивают: «Неужели программисты реально столько зарабатывают?!»

И вот тут парадокс, потому что я отвечаю: «Да, программисты реально столько зарабатывают, но вам столько платить не будут!» Человек удивляется и приходится пояснять.

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

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

  • Устроиться по найму,
  • Писать программы на заказ,
  • Писать shareware-программы,
  • Преподавать программирование,
  • Сделать стартап.

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

  • С одной стороны, программистам платят много,
  • С другой стороны, программистом не так просто стать.

Если вы поймете этот парадокс, то сразу понятно, почему такие высокие зарплаты — это следствие дефицита квалифицированных кадров.

2. Как устроиться на денежную работу?

Вот теперь можно уже ответить на самый частый вопрос новичков: «Я прослушал курс, как мне устроиться на работу программистом?» Ответ: «Никак!»

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

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

Этап 1. Изучение языка программирования (в среднем, год)

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

Этап 2. Накопление портфолио (в среднем, полгода)

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

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

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

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

Параллельно вы уже можете начинать искать работу.

Этап 3. Поиск работы (в среднем, пара месяцев)

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

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

После этого можете идти на сайты поиска работы и предлагать свою кандидатуру.

4. Какой способ получения денег самый лучший?

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

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

Кто-то один раз написал программу и только продает ее, иногда добавляя функционал.

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

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

5. Можно ли устроиться в крупные компании?

Есть популярное выражение: «В хорошую компанию с улицы не попадешь». Да, в программировании это правило тоже работает. Крупные компании, как правило, ищут людей сами. Даже есть такая профессия «охотник за головами». Охотники ищут успешных программистом и переманивают их в другие компании.

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

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

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

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

6. Можно ли устроиться программистом в западную компанию?

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

Программист со знанием иностранного языка — это редкость, поэтому устроиться на работу намного проще.

Много моих студентов уехали в Америку и работают там программистами. Что интересно — работу все они находили очень быстро. Здесь сильный контраст с другими профессиями, потому что непрограммисты, как правило, долго работали заправщиками или мойщиками посуды и далеко не сразу находили хорошую работу. А вот программисты делали это легко и быстро. Дефицит программистов в США еще более высок, чем в России.

У меня даже был интересный случай. Один мой студент уехал и стал там получать около 5000 USD в месяц. Затем он на время вернулся в Россию. Специально, чтобы защитить кандидатскую диссертацию. После этого вернулся в США и ему увеличили оклад ровно в три раза!

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

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

Приветствую пикабушники. Наткнулся на данный пост http://pikabu.ru/story/6_zadach_s_kotoryimi_linux_spravlyaet. и с большинства пунктами я согласен, но все факты как "Linux безопаснее" и "Linux бесплатен" слышал каждый второй человек, и добавлю свои мысли по поводу семейства данных операционных систем.

Если вы не работаете в IT-сфере, не программист или сисадмин и вам друг-айтишник посоветовал поставить(решил поставить) Mint/Ubuntu/Fedora/Suse/Любой_другой__Linux_дистрибутив как стабильную, безопасную, быструю, удобную, добавьте_прилагательное систему, почитайте этот пост и если вас не накрыл Linux-дзен, то вежливо пошлите его на йух, ибо не все так радужно как кажется с Linux в плане систем для домашних ПК. А по конкретнее в плане программного обеспечения. Программ под Linux много и практически под каждую программу Windows есть бесплатный Linux-аналог. Но ключевое слово - "бесплатный аналог", т.е. многие именитые разработчики не пишут версии своих программ под Linux и приходиться в репозиториях искать аналоги. Т.е. вы столкнетесь с проблемой выбора, когда выбора и нет, "пользуйся тем, что дают". И да, игрушки, куда же без них. Но с другой стороны наличие такой альтернативы Windows, и при этом огромное количество дистрибутивов и открытость самой платформы - это и есть огромный выбор.

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

1. Обычные пользователи, которым компьютер нужен для просмотра сайтов, видосиков, слушать музыку и печать текста, excel-таблиц(если кто то плюется от Libre или OpenOffcie - MS Office прекрасно без лагов работает под Wine, по крайней мере 2007 и 2003 версия), разговоры по скайпу и немножко поиграть независимо любую игру, которую поддерживает система(Да, стим под Linux есть, кантра и дота под Linux тоже имеется). Это важно! БОЛЬШЕ НЕ ДЛЯ ЧЕГО! Почему, т.к. возможно бухгалтерскую отчетность вы не сможете сдать, некоторые сайты для этого требуют Internet Explorer, требуются эцп-ключи, рутокены, етокены, что-то работает, что-то нет, но ведь вы обычный пользователь и не будете шаманить. Работа с графикой и музыкой тоже отпадает, фотошопа, автокада, cubase нет, под вайном они лагают, аналоги дерьмо(кроме Krita 3 - хороший аналог фотошоп вместо неудобного Gimp). И нехило с ними пошаманить придется. А тут случай такой, минимум шаманства.

2. Пользователи, которые учатся по IT-специальности(не буду объяснять что за специальности). И да, вам нужно учится Linux обязательно, если даже в универе не преподают(что очень странно), но лучше устанавливайте в VirtualBox и учитесь терминальным командам, изучайте устройство файловой системы. Какой дистрибутив ставить? Да любой, если ставите rpm-дистрибьютив как fedora или oracle, возможно придется чуток пошаманить, чтоб корректно работало дополнение гостевой ОС. Мануалов много. Кстати, почему надо IT-студентам изучать Linux? Потому что, в будущей профессии как минимум столкнетесь с этими системами, а возможно и будете в них работать всю жизнь. А где Linux больше всего используется:

сервера. ваш кэп, Linux - хорошая серверная система.

- большинства ваших любимых сайтиков крутятся на Linux или Unix-подобных системах. Сайты Google, Википедии крутятся только на Linux. Apachi себя на Linux лучше чувствует(я ее никогда не пробовал ставить на винде).

- сервера баз данных и хранилища. продукты Oracle, PostgreSQL, Firebird(и его коммерческие аналоги), MySQL лучше работают на Linux-системах, чем на винде. Примеры, казначейство использует для серверов хранилищ БД Linux, где стоят продукты Oracle, например Oracle Data Integrator использует в работе команды ОС Linux, там же БД хранятся в Oracle Database. Идем дальше, в ФССП-серверах стоит Linux и там развернут RedDatabase(коммерческий аналог Firebird). Сама структура файловой системы Linux и Unix отлично подходит для использования в качестве хранилищ. Да и приставы на раб.станциях перешли на гослинукс и по прогнозам все госструктуры перейдут.

- Многие организации в качестве почтовых, файловых серверов, DHCP, DNS-серверов используют Linux, ибо бесплатно, а если организация большая, то это нехилая экономия один раз вызвать специалиста, поставить и держать эникейщика(быть эникейщиком или творцом - это зависит только от вас), чем покупать для всех своих точек дорогие серверные Windows-дистрибютивы. И да, стабильность Linuxa в плюс, работал в одной организации, один Linux-сервер под БД, файлообменник, DHCP, DNS - никогда не падало, постоянно по приказу с отдела ИТ проливал обновления для БД, практическо не требовало перезагрузки. В другой организации стоял сервер Windows 2003 под бухгалтерскую программу, постоянные синие экраны смерти, подвисания системы -> пропадал коннект к БД. И при этом часто организация часто жалела деньги и для обновления бухпрограммы, не говоря об ОСях. Поэтому у некоторых юзеров крутился Linux OpenSuse.

В данный момент работаю в среде разработки ODI(репозитории на Linux), и там иногда бывает пишу linux-shell скрипты для загрузчиков, которые крутятся в Linux.

Доля Windows в серверном рынке около 18%.

и да, ваши андроиды, тоже используют Linux-ядро. Как и ваши холодильники, телевизоры, роутеры.

3. Пользователи, которым нужна Linux для работы. Им ничего не надо объяснять, они и так все знают :-).

И да, Linux открытая система, а Windows закрытая. Эти слова вам ничего не говорят?

Открытость Linux в том, что она является сама по себе полноценной IDE, средой разработки. Берете любую Linux ОС - и модифицируете ее для собственных нужд и никто не обвинить вас в пиратстве. Ну если хотите создать дистрибутив для распространения, надо выполнять определенные юридические обязательства перед автором ОС-донора.

Что с Windows - теперь о закрытости. Во первых мы пользуемся функционалом, который нам предоставляет корпорация Microsoft(и да, это функционал хорош и платен), и любые несанкционированные изменения этого функционала - это пиратство. Будь-то установка неразрешенных тем, то установка крякнутых программ. И да, большинство пользователей не признают другие ОС, кроме Windows, ибо есть пираты и они практически неуловимые для законодательства. Помните Denuvo, как пираты не могли(или не хотели) ломать Игру Just Cause 3(не знаю, взломали ли ее), Doom 4, новый Tomb Rider. Допустим, у Microsoft появится свой Denuvo и многие пользаки завоют, когда их любимый Call of Duty 69 не запуститься на Windows 10, а Windows 35, под которым только работает эта игра, не могут взломать. А покупать ОС - пока у большинство россиян нет такого понятия.

Не зря компания Valve признала платформу Linux - предпочтительной и продолжает пилить на базе нее свою Steam OC. И да, сотрудники Google работают на форке Goobuntu.

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

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

Изучите необходимый минимум Linux, чтобы быть продуктивным главное изображение

Разные операционные системы длительное время обслуживают различные аудитории: Windows — бизнес-профессионалов, Mac — творческих, а Linux — разработчиков. Разработчикам ОС такой тип рыночного спектра сильно упростил концепцию продукта, технические требования, пользовательский опыт и направление рынка. Однако, он также ужесточил нормы рабочего пространства, что деформировало отдельных пользователей под узкие, непересекающиеся области: у бизнесменов нет возможности заглянуть в творческий процесс, а у разработчиков нет представления о проблемах бизнеса.

Для современных бизнес-аналитиков особенно актуален вопрос ликвидации пробела между бизнесом и разработкой. Бизнес-аналитики должны быть двухплатформенными, способными использовать командную строку, доступную только на Linux (или в macOS), но при этом уметь извлекать широкие возможности из Microsoft Office в Windows. Очевидно, что мир Linux пугает тех, у кого образование в сфере бизнеса. К счастью, как и в большем количестве вопросов, вам необходимо изучить 20% информации, чтобы выполнить 80% работы. Вот мои 20%.

Почему современные бизнес-аналитики должны знать Linux

Благодаря своим open source корням, Linux выиграл от вкладов тысяч разработчиков за всё время его существования. Они построили программы и утилиты, чтобы упростить работу не только себе, но и тем программистам, которые последовали за ними. В результате open source разработка создала эффект сетевой выгоды: чем больше разработчики строили утилиты на оригинальной платформе, тем больше других разработчиков могло влиять на эти утилиты, чтобы писать собственные программы.

В результате получился огромный пакет программ и утилит (то есть софт), который был написан на Linux и под Linux. Большая часть его никогда не портировалась в Windows. Один из примеров — популярная система контроля версий (VCS), которая называется git. Разработчики могли написать софт под Windows, но они этого не сделали. Они написали его для работы в командной строке, для Linux, потому что Linux — экосистема, в которой уже были все необходимые инструменты.

Если вдаваться в подробности, разработка на Windows ведёт к двум основным проблемам:

  1. Базовые задачи, вроде парсинга файлов, рабочего планирования и поиска текста используются чаще, чем запуск утилиты командной строки.
  2. Языки программирования (Python, C++) и связанные с ними библиотеки выкидывают ошибки, потому что они ожидают конкретных параметров Linux или специфических локаций файловой системы.

Если собрать всё вместе, это выльется в трату времени на переписывание базовых инструментов, которые уже доступны в Linux, они позволят избежать ошибок совместимости с ОС. Тут нет никаких сюрпризов — экосистема Windows просто не была задумана и спроектирована под нужды разработки софта.

Теперь давайте рассмотрим базовые идеи Linux.

Фундаментальная единица Linux: "оболочка"

Shell (оболочка, также известная как терминал, консоль или командная строка) — это текстовый интерфейс пользователя, через который команды отправляются машине. На Linux, по-умолчанию, язык оболочки называется bash. В отличие от Windows-пользователей, которые в своём большинстве используют навигацию "навести-кликнуть" по окну, Linux-разработчики привязаны к клавиатуре и пишут команды в оболочке. Хоть этот переход далёк от естественного для тех, у кого нет бэкграунда в программировании, плюсы разработки в Linux сильно перевешивают изначальное вложение в обучение.

img

Изучаем несколько важных концептов

В сравнении с достаточно зрелым языком программирования, bash имеет всего несколько основных концептов, которые необходимо выучить. Как только вы охватите это, остаток bash — простое запоминание. Я переформулирую понятней: хорошо разбираться в bash значит запомнить 20-30 команд и их часто используемые аргументы.

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

Опуская мелкие загвоздки, стоящие на пути, вот главные концепты в bash.

Командный синтаксис

Команды соответствуют синтаксису:

Псевдонимы директорий

  • Текущая директория (где я?): .
  • Родительская директория текущей директории: ..
  • Домашняя директория пользователя:

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

Таким же способом, чтобы скопировать файл, расположенный в "/path/to/file.txt" в текущую директорию, нужно ввести cp /path/to/file.txt . (заметьте, что в конце команды точка). Поскольку это всего лишь псевдонимы, вместо них может использоваться реальное имя пути.

STDIN / STDOUT

Всё, что вы пишите в окне и подтверждаете (с помощью ENTER), называется стандартным вводом (STDIN).

Всё, что программа выводит в ответе в терминал (например текст из файла), называется стандартным выводом (STDOUT)

Конвейер (piping)

Pipe принимает STDOUT от команды слева от pipe и превращает его в STDIN для команды справа от pipe.

Символ "больше" принимает STDOUT от команды слева и записывает/перезаписывает в новый файл справа

пример: ls > tmp.txt

Два символа "больше" принимают STDOUT от команды слева и добавляют к новому или существующему файлу справа.

пример: date >> tmp.txt

Шаблоны поиска (wildcards)

В bash можно написать John* . Если вы хотите вывести список всех файлов в какой-то папке, заканчивающихся на ".json", пишете : ls *.json

Завершение с помощью tab

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

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

Выход

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

Что я помню из команд bash

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

  • cd изменить директорию
  • ls -lha вывести директорию в виде списка (подробного)
  • vim или nano редактор командной строки
  • touch создать новый пустой файл
  • cp -R скопировать файл или директорию (и всё их содержимое)
  • mv переместить или переименовать файл
  • rm удалить файл
  • rm -rf удалить файл или папку без возможности восстановления [использовать аккуратно!]
  • pwd вывести текущую рабочую директорию
  • cat или less или tail или head -n10 вывести в STDOUT содержимое файла
  • mkdir создать пустую директорию
  • grep -inr найти строку в любом файле этой директории или дочерних директориях

column -s, -t <delimited_file> отобразить разделенный запятыми файл в виде столбцов

ssh @ соединиться с удалённой машиной

tree -LhaC 3 показать структуру директории на 3 уровнями вглубь (с размерами файлов и включая скрытые директории)

htop (или top ) диспетчер задач

pip install --user пакетный менеджер Python для установки пакетов в

pushd . ; popd ; dirs; cd - push/pop/view директорию в стек + изменить обратно на последнюю директорию

tmux new -s session, tmux attach -t session создать новую сессию терминала без создания нового окна [продвинутый уровень]

wget загрузить веб-страницу или веб-ресурс

find <directory> вывести список всего содержимого директории и её дочерних директорий рекурсивно

Продвинутые и не часто используемые команды

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

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

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

1. Парадокс денег в профессии программиста

Когда новичок заходит на сайты типа HeadHunter и видит вакансии программистов с окладами 100 000, 150 000, 200 000 рублей, у него просто захватывает дух и он мечтает получать столько же. И меня часто спрашивают: «Неужели программисты реально столько зарабатывают?!»

И вот тут парадокс, потому что я отвечаю: «Да, программисты реально столько зарабатывают, но вам столько платить не будут!» Человек удивляется и приходится пояснять.

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

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

  • Устроиться по найму,
  • Писать программы на заказ,
  • Писать shareware-программы,
  • Преподавать программирование,
  • Сделать стартап.

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

  • С одной стороны, программистам платят много,
  • С другой стороны, программистом не так просто стать.

Если вы поймете этот парадокс, то сразу понятно, почему такие высокие зарплаты — это следствие дефицита квалифицированных кадров.

2. Как устроиться на денежную работу?

Вот теперь можно уже ответить на самый частый вопрос новичков: «Я прослушал курс, как мне устроиться на работу программистом?» Ответ: «Никак!»

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

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

Этап 1. Изучение языка программирования (в среднем, год)

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

Этап 2. Накопление портфолио (в среднем, полгода)

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

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

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

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

Параллельно вы уже можете начинать искать работу.

Этап 3. Поиск работы (в среднем, пара месяцев)

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

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

После этого можете идти на сайты поиска работы и предлагать свою кандидатуру.

4. Какой способ получения денег самый лучший?

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

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

Кто-то один раз написал программу и только продает ее, иногда добавляя функционал.

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

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

5. Можно ли устроиться в крупные компании?

Есть популярное выражение: «В хорошую компанию с улицы не попадешь». Да, в программировании это правило тоже работает. Крупные компании, как правило, ищут людей сами. Даже есть такая профессия «охотник за головами». Охотники ищут успешных программистом и переманивают их в другие компании.

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

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

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

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

6. Можно ли устроиться программистом в западную компанию?

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

Программист со знанием иностранного языка — это редкость, поэтому устроиться на работу намного проще.

Много моих студентов уехали в Америку и работают там программистами. Что интересно — работу все они находили очень быстро. Здесь сильный контраст с другими профессиями, потому что непрограммисты, как правило, долго работали заправщиками или мойщиками посуды и далеко не сразу находили хорошую работу. А вот программисты делали это легко и быстро. Дефицит программистов в США еще более высок, чем в России.

У меня даже был интересный случай. Один мой студент уехал и стал там получать около 5000 USD в месяц. Затем он на время вернулся в Россию. Специально, чтобы защитить кандидатскую диссертацию. После этого вернулся в США и ему увеличили оклад ровно в три раза!

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

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

Читайте также: