{"id":14279,"url":"\/distributions\/14279\/click?bit=1&hash=4408d97a995353c62a7353088166cda4ded361bf29df096e086ea0bbb9c1b2fc","title":"\u0427\u0442\u043e \u0432\u044b\u0431\u0435\u0440\u0435\u0442\u0435: \u0432\u044b\u0435\u0445\u0430\u0442\u044c \u043f\u043e\u0437\u0436\u0435 \u0438\u043b\u0438 \u0437\u0430\u0435\u0445\u0430\u0442\u044c \u0440\u0430\u043d\u044c\u0448\u0435?","buttonText":"","imageUuid":""}

Почему ты не станешь программистом, пройдя курс за 2 или 5 месяцев. Спойлер – за 9 тоже

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

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

…после двухмесячного курса за 10000 рублей.

Но это невозможно. Давайте будем реалистами.

Для того, чтобы назвать себя профессиональным программистом, требуется фундаментальное образование. Это минимум 2,5 года занятий. И только после такого периода практики человека можно с натяжкой назвать специалистом. Начинающим. С доходом, который далеко не впечатляет: зарплаты джуниора в Российских регионах стартуют от скромных 30000 рублей в месяц.

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

Но стоит понимать, что это не программирование. Это рутинная работа по скрипту. Человек овладел одним-единственным простым навыком, который востребован в настоящий период.

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

Сначала цель

Прежде чем принимать решение обучаться программированию, стоит обозначить, для чего вам это нужно?

Вам нравится писать код?

Вы хотите приносить людям пользу?

Планируете открыть собственный IT-бизнес/онлайн-проект?

Ваша мечта – эмигрировать, чтобы работать за границей?

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

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

Выбор формы обучения

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

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

Обязателен ли вуз

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

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

Саморазвитие

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

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

С чего начать

1) Попробуйте программирование (1-2 месяца)

Выберите пару актуальных технологий, к примеру, HTML, JS, CSS или простой язык – Python, PHP и изучайте их. Почувствуйте, нравится ли вам эта деятельность, готовы ли вы заниматься этим годы и даже десятилетия. Или, возможно, не стоит продолжать?

2) Этап обучения (минимум 2,5 года)

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

3) Стажировка

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

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

Чтобы стать крутым профи, которому платят 6000 долларов в месяц, потребуется не менее 7-10 лет упорной постоянной работы. Готовы к этому? Тогда вперёд!

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

0
632 комментария
Написать комментарий...
Dmitry Mikushin

Программирование - исчезающая и не востребованная профессия. Объясню. Код с нуля больше уже никто не пишет, особенно на перечисленных языках. Основной навык программирования на сегодня - это сборка продукта из готовых компонентов и кастомизация. Программист - больше не программист, а стековод, кастомизатор или кодоукладчик, назовите сами как вам нравится. Всего каких-то 10 лет назад это не было так, и отбор программиста-алгоритмиста с умственными скилами имел какой-то смысл. Сейчас алгоритмические собеседования сохраняются больше как необходимая доза презрения от старших погонщиков и как пропуск в "высшее общество". Но даже если нанять блестящего программиста-исследователя, его интеллект всё равно придётся долго употреблять для вкапавания в дебри питонного говнокода, прежде чем он сможет что-то улучшить. Поэтому на курсах нужно учить или самому учиться именно этому: ковыряться в говнокоде (не шучу). Я ни на чьей стороне, по меркам отрасли я уже старый чувак, и вся эта трансформация разворачивается на моих глазах. Такая нынче эпоха.

Ответить
Развернуть ветку
Павел Шабалин

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

Ответить
Развернуть ветку
Nikolay Kapustin

Кернел разрабы и контроллеров покинули чат

Ответить
Развернуть ветку
Denis Smirnov

На их место пришли программисты перфокарт и шаманы, которые высчитывали календарь по солнцу росчерками угольков на бересте.  

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

Ответить
Развернуть ветку
Nikolay Kapustin

Пойду скажу нашим админам, надо поправить kext в макоси, который ерундит с кастомным усилителем. То-то они удивятся.

Ответить
Развернуть ветку
Denis Smirnov

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

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

Да даже админы...они отвечают за безопасность и отказоустойчивость. требования выше. Опыта решений низкоуровневых задач куда обширнее. Хороший админ имеет больше шансов перейти в программирование kext и подобного. Linux драйвера и ответвления ос много допиливали админы например.

Самый известный - Марк Шаттлворт, участвовал в разработке Debian, хотя начинал с интернет соединений и безопасности
https://ru.m.wikipedia.org/wiki/%D0%A8%D0%B0%D1%82%D1%82%D0%BB%D0%B2%D0%BE%D1%80%D1%82,_%D0%9C%D0%B0%D1%80%D0%BA

Ответить
Развернуть ветку
Bulat Ziganshin

сисадмин - это админ компьютеров (в отличие например от сетевого аlмина), а не программист

Ответить
Развернуть ветку
Denis Smirnov

https://en.m.wikipedia.org/wiki/System_administrator

Вы говорите про computer operator.

System administrator - это на стыке с программирования на уровне поправить kext как в примере выше. Не написать, а именно поправить.

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

Ответить
Развернуть ветку
Bulat Ziganshin

To meet these needs, a system administrator may acquire, install, or upgrade computer components and software; provide routine automation; maintain security policies; troubleshoot; train or supervise staff; or offer technical support for projects.

т.е. единственное что он должен уметь делать в плане программирования - это писать скрипты (provide routine automation). системное же программирование - это писать драйвера к примеру. чувствуете разницу или нет? :)

Ответить
Развернуть ветку
Denis Smirnov

https://www.ibm.com/support/knowledgecenter/zosbasics/com.ibm.zos.zmainframe/zconc_sysadminrole.htm

The distinction between system programmer and system administrator varies widely among mainframe sites. In smaller IT organizations, where one person might be called upon to perform several

Ну вот IBM считает, что если в компании не десятки тысяч как в IBM, то сис. программист и админ делают одно и тоже.

Идите с IBM поспорьте, что ли...

Ответить
Развернуть ветку
Bulat Ziganshin

LOL  на маинфреймах вообще нет системных программистов в обычном понимании этого термина - драйвера и другие компоненты ОС пишет сама IBM. если ты прочтёшь внимательно, то обе роли, описанные там, не являются программистскими вообще, не говоря уж о программировании драйверов:

 System administrators perform more of the day-to-day tasks related to maintaining the critical business data that resides on the mainframe, while the system programmer focuses on maintaining the system itself. 

Ответить
Развернуть ветку
Nikolay Kapustin

Да ты троллишь! Назвать Шаттлворта сисадмином. Есть люди которые и сисадмины, и и системные программисты, и спецы по безопасности и СЕО и пр. Но таких людей в мире по пальцам пересчитать.
Еще раз. Крутой сисадмин может знать bash, python, ruby. Админ который знает уже например кресты и при этом работает админом  применяя их => очень странный человек. Его скорее можно назвать системным инженером, а это уже далеко не одно и тоже.

Ответить
Развернуть ветку
Denis Smirnov

https://en.m.wikipedia.org/wiki/System_administrator 

скорее всего вы говорите про computer operator или networking administrator. Согласен, они применять кресты не будут. 

А вот system administrator будет и кресты и ниже. потомучто зарплаты немногим хуже программиста на плюсах.

Average C++ developer salary in the United States
According to PayScale, an average C++ developer salary in the United States stands at $71,677 per year.
The average salary provided by Indeed is the highest and stands at $118,076 per year.
According to PayScale, an entry-level C++ developer earns $66,058 per year

У админов не меньше.

https://www.ibm.com/support/knowledgecenter/zosbasics/com.ibm.zos.zmainframe/zconc_sysadminrole.htm

Возможно в гигантах типа IBM это разделяется, но даже IBM пишет, что в компаниях поменьше системный программист и администратор совмещается. В сша это может быть 500-1000 человек(всех, не только ИТ) против многих тысяч в IBM. 

p.s. Блин, короче понимание в мире расходится с нашими традициями... Вот пишешь общепринятые вещи, а в ответ понимание ограниченное локальным пониманием вопроса.

Ответить
Развернуть ветку
Nikolay Kapustin

Все, хватит, кормить больше не буду

Ответить
Развернуть ветку
Denis Smirnov

эй, стой, ты куда? Ты чего? Ну вот :-(

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Андрей Карпенко

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

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Павел Шабалин

А можно не из крайности в крайность?
Сейчас условно то, что можно накидать за вечерок, лет 20 назад требовало сотни, а то и тысячи человеко-часов, потому что на тот момент оборудование было сильно ограниченно в ресурсах и стоило огромных денег по отношению к человеко-часам. Бизнесу не нужен идеальный код, ему нужно чтоб работало и чтобы это было достаточно быстро. Что например условному разработчику мешает запилить интеграцию с 1С не имея знаний в области сбалансированных деревьев или деревьев принятия решений? А дальше мы пойдём по уровню кандидатов, условно студии нужен вэб разработчик для запилки пачками корпоративных сайтов, если они на собеседовании будут спрашивать на память несколько видов сортировок, как думаете как быстро они закроют позицию? Суть моего посыла в том, что нет смысла добиваться минимального потребления ресурсов/скорости там, где оно не требуется, а таких областей сейчас в том числе не мало. При том сейчас куча абстракций высокоуровневых напилено для высокоуровневых языков, и большинству разработчиков надо сосредоточится на разработке бизнес логики приложения, а не прикладного уровня, ибо хороших библиотек запилено достаточно много, бери и пользуйся.

Ответить
Развернуть ветку
Bulat Ziganshin
лет 20 назад

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

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

Ответить
Развернуть ветку
Dmitry Mikushin

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

Ответить
Развернуть ветку
629 комментариев
Раскрывать всегда