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

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

За свою относительно небольшую карьеру, я прошел путь от продажника 1С, специалиста технической поддержки, QA-Manual, QA-Automation, QA-Lead, Developer. Поэтому у меня есть определенный опыт.

ssgyhsmlmj9gxcvbktuerzirjc0.jpeg

Вы никому не нужны


Когда в интернете пишут, что идет большой дефицит на it-специалистов. Имеется в виду дефицит людей, которые решают вопросы. Т.е. это специалист уровня middle+, который имеет боевый опыт на проектах (в идеале highload проектах), знает все вторичные инструменты (git/jira/testrail/IDE итд). Знает, как писать техническую документацию, как готовить код к ревью, как работать с продактом, тестерами и так далее. Знает паттерны интерпрайз разработки, может в чистый код и так далее. Таких людей на самом деле мало.

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

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

Технологии не имеют никакого значения


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

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

В месте, где я жил, был выбор пойти QA в компанию такси, которая разрабатывала систему автоматизацию приема звонков на Java, либо сидеть и сосать большой елдак с моим стремлением писать код на Python. Ибо в радиусе 2000 км — не было ни одной вакансии на Python.

Кто-то скажет про удаленку. Я пробовал. Все вакансии, что были. Были от бодишопов, которые просто кинут тебя на боевые проекты, и посмотрят обосрешься ли ты на них или нет. И честно сказать уже со своим опытом, в 99,9% новичок обосрется. Реальные проекты с 50+ апп, конфигами с эншибла, кастомные авторизациями и прочим сложно-архитектурным говном — сильно отличается от того, что новичок учит.

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

Вам нужна строчка в резюме, и ничего больше


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

Я помню свой первый раз, когда я обновил свое резюме, и указал, что я 8 месяцев работаю энтерпрайз-PHP разработчиком (ZEND/SYMFONY) в относительно неплохой компании. Мне 5 дней херачило по 30–50 звонков со всего мира. Я чувствовал себя той самой девочкой блондинкой с того знаменитого мема с неграми. Причем, мне шли предложения не только на PHP, но и на Java/.Net/Ruby.

x0pg5bi3hezjyfrqfsz1rby8nbi.jpeg

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

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

Лучше быть разработчиком на говно-стеке, чем мечтателем без работы


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

«Какой язык выбрать для обучения программированию» — тот, что позволит вам получить первую работу разработчиком. А вот после этого, вы уже можете извращаться, как угодно, хоть #F с Haskell учить.

P.s. и не тратьте вы уже деньги на курсы, книги лучше.

© Habrahabr.ru