можно ли поступать на программиста если не умеешь программировать
Хотел стать программистом и передумал: почему IТ-карьера — не для всех
Сейчас мы можем встретить программиста без высшего образования, сисадмина с дипломом психолога или искусствоведа, тестировщика, начавшего осваивать профессию после 30. Но существуют и обратные примеры: кто-то делает первые шаги в IТ, но потом возвращается в старую профессию, кто-то выбирает другое направление для карьерного роста. Мы собрали истории профессионалов, подтверждающие, что работа в IT — это сложно.
Не факт, что за 1–2 года вы станете много зарабатывать
Один из главных стимулов переходить в IT — зарплата: средний доход IТ-специалиста в России составляет 100 тысяч рублей, что вдвое выше медианного уровня зарплат в стране. Для разработчиков эти цифры оказываются ещё в 1,5–2 раза выше — об этом рассказывает Газета.ру со ссылками на банк данных hh.ru. Кроме того, многие IT-специальности позволяют работать и за рубежом, а некоторые компании предлагают релокацию либо удалённую работу из любой точки мира. Но на вход в профессию потребуется 1–2 года интенсивного обучения с практикой.
Сергей Полуэктов, директор IT-компании MediaSoft:
IT-специальности требуют разного срока обучения. Стать начинающим специалистом по ручному тестированию или научиться делать простые сайты действительно можно за полгода. Чтобы стать разработчиком сложных систем на каких-то серьёзных языках, например, на Java, понадобится не менее двух лет. Скорость обучения во многом зависит от личной целеустремлённости.
В прошлом году в нашей команде появился iOS-джуниор, который смог дорасти до этого уровня за четыре месяца. До этого он был менеджером по продажам и перешёл в IT только в 27 лет.
Многие люди думают о старте в IT, находясь на профессиональном перепутье: старая профессия не приносит прежнего удовлетворения или не приводит к росту дохода, а куда двигаться дальше — не ясно. Но иногда смена конкретного места работы или повышение квалификации в уже знакомой профессии оказывается менее энергозатратным вариантом, чем изучение чего-то радикально нового.
Наталья Серебристая, руководитель службы доставки ООО «ТБМ»:
Я работаю в логистике уже много лет. На нынешнее место работы пришла фактически с улицы и сделала карьеру от простого товарного логиста до руководителя подразделения. В какой-то момент поняла, что буксую, и мозг ленится. Возникли мысли о смене профиля: так я пошла учиться на тестировщика, а параллельно прошла курсы по Excel. Но в IT так и не перешла: поняла, что это не совсем моё, плюс не готова была из руководителя стать новичком и потерять в доходе. Иногда думаю о фрилансе, но всё бросить я не готова: слишком много вложено в карьерный рост, да и логистика мне всё ещё нравится.
Могу сказать, что айтишные знания оказываются нужны и на текущей работе. Как руководитель доставки я участвую в разработке приложений, пишу ТЗ для доработок нашей корпоративной системы. Мне важно любить свою работу, и я могу сказать, что люблю её, хотя вариант поучиться чему-то ещё я полностью не исключаю.
Учиться придётся долго
Нельзя один раз и навсегда выучиться на айтишника — учиться придётся всю оставшуюся карьеру.
Дмитрий Кузьмин, автор медиа Нетологии:
Некоторое время назад я хотел перейти из маркетинга в программирование. Насмотрелся рекламы и думал: с компьютерами дружу, с логикой тоже, значит, всё получится, быстро и легко начну зарабатывать пару сотен тысяч в месяц, работать в хорошем коллективе, особо не утруждая себя. Но всё получилось по-другому. И я не работаю разработчиком.
Через пару месяцев после начала обучения я всё чаще думал: неужели я такой глупый, что не могу сходу разобраться во всём этом? Почему мне нужно сидеть по пять часов над задачей? Мне повезло. Нашлись ребята, которые помогали с задачами и поддерживали. Они мне говорили: «Не парься, долго разбираться в чём-то — это нормально». Я всё-таки стал разработчиком, немного поработал с кодом и IT-задачами. Потом вернулся в маркетинг.
Наверное, при должном подходе и желании любой человек может стать профессионалом в IT. Но на этом пути много трудностей, с которыми сталкивается человек, никогда не работавший в IT, и для преодоления которых нужны определённые качества характера. Хорошо, если они уже есть. Иначе придётся развивать их самостоятельно. Это сложно.
Конечно, многие готовы к тому, что обучение в IT — это непрерывный процесс, и после университета или курсов ничего не заканчивается, а только начинается.
Александр Мезин, директор по развитию бизнеса Devtodev, Санкт-Петербург:
Азы знаний в сфере IТ я получил на срочной службе в армии. Под призыв я попал в 21 год: до этого учился на повара, потом работал. Во время службы был эникейщиком в воинской части: это был 2007 год, но в ходу там были устаревшие компьютеры с Windows 98 и даже один с MS DOS. Делал из этих машин сеть, Поднимал сервер файлового хранилища, разрабатывал систему учёта в MS Access для военного госпиталя, и благодаря этому я выучил азы программирования.
После армии я работал в техподдержке, а параллельно читал много профессиональной литературы. Потом устроился на работу посложнее, дорос до руководителя IТ-отдела, потом занялся геймдевом. Тоже много читал, участвовал в конференциях. В интернете курсов тогда ещё не было, но когда они появились, то я стал их постоянно проходить. Потом устроился работать продакт-менеджером, поднялся до директора по продукту.
Сейчас работаю директором по развитию бизнеса в аналитической платформе Devtodev. Когда я только начал заниматься сетями, то прочитал всего Таненбаума, пособия Cisco для CCNA, ещё кучу университетских книжек и не только. Сейчас прохожу примерно по одному образовательному курсу в месяц. И понимаю, что учиться в таком режиме придется примерно всегда. Думаю, если хочешь работать в высокотехнологичной отрасли, в которой появляется что-то новое, повышать квалификацию придётся постоянно.
Нужна стрессоустойчивость и готовность к переработкам
Несмотря на рост популярности удалённой работы и возможность гибкого графика в большинстве IT-вакансий, на практике рабочий день айтишника часто не нормирован. Нередко случается, что коллеги и партнёры срывают сроки или на задачу у команды уходит больше времени, чем планировалось изначально. Если вы совмещаете работу с учёбой или занятость в нескольких проектах, у вас есть маленькие дети или вы живёте на несколько городов и стран, это может быть сложно.
Мария Николаева, CMO Usetech:
IT представлялись мне миром, где всё идеально организовано, никто не срывает сроки и нет ситуаций, когда нужно напрячься и работать по несколько дней в режиме максимальной продуктивности. Это не так. В IT возможны дедлайны и переработки. Если вы не готовы иногда работать по выходным или изредка по 10 часов в день, то это не ваша индустрия. Но все эти неудобства почти во всех компаниях компенсируются хорошим соцпакетом и огромными бенефитами.
Светлана Нерадова, частный репетитор математики:
По образованию я математик, и свою карьеру начала именно в IT. Работала программистом, потом менеджером, потом ушла в декрет. Поняла, что совмещать материнство с напряжённым графиком работы не смогу. Долгое время занималась ребёнком, а параллельно изучала возрастную психологию и теорию привязанности. Потом родилась ещё одна дочь, и я долгое время нигде не работала. Но потом случился карантин, и мне захотелось поддержать людей в сложное время. Так я начала вести бесплатные онлайн-уроки по математике, потом стали поступать предложения работать уже за деньги.
Сейчас дети уже не нуждаются в моём постоянном присутствии: старшая уже подросток, у младшей есть няня. Я серьёзно втянулась в преподавание и недавно сняла офис недалеко от дома. Я сама определяю свой график работы и при этом провожу довольно много времени с детьми: если бы работала по найму в IT, такой возможности бы не было.
IT-сфера традиционно считается одной из самых гибких и либеральных. В большинстве компаний нет фиксированного начала рабочего дня, даже в Google, Facebook и Apple нет жёсткого дресс-кода. В некоторых офисах есть не только настольные игры, курсы английского и йоги, но и тренинги по эмоциональному интеллекту. В то же время дискриминация на рынке труда — не миф, и IT, увы, не исключение. Нет гарантий, что на новичков нигде не будут косо смотреть из-за пола, возраста, семейного положения или образования (либо его отсутствия). Особенно на тех, кто не шёл в карьере проторённой дорожкой.
Ольга Мустяц, редактор-фрилансер:
Я окончила журфак МГУ. Четыре года назад я решила, что не в силах больше работать редактором и копирайтером. Стала думать, куда бежать, посоветовали веб-программирование: мол, там низкий порог входа. Отходила сначала на двухнедельные курсы по JavaScript, потом поступила на курсы профпереподготовки при ИТМО, вполне успешно отучилась.
Стала искать работу и первый раз в жизни столкнулась с тем, что работодатели относятся ко мне предвзято: я же девушка и «гуманитарий». Как-то реально спросили, не муж ли делал за меня тестовое задание. Походила по собеседованиям около месяца, потом в жизни начался сложный период, и о смене профессии на время пришлось забыть. Через год попробовала вспомнить, что я учила, и посмотреть вакансии. Поняла, что за год веб ушёл далеко вперёд, да и знаний у меня мало, чтобы заниматься чем-то большим, чем клепание простеньких сайтов. Я не настолько без ума от IT, чтобы делать его делом своей жизни, постоянно учиться, а параллельно унижаться перед высокомерными менеджерами на собеседованиях (а потом и на работе). Ну и плюс у меня появились другие, более интересные для меня проекты.
Будьте готовы сократить количество общения
Встречаются люди, которые окончили курсы, нашли хорошую работу в разработке, но в итоге не приживаются в отрасли из-за нехватки общения. Хоть IT-сфера и предполагает работу в команде, большую часть времени многие специалисты отводят одиночной, самостоятельной работе, а не коммуникациям. Особенно когда многие работают удалённо.
В таком случае компромиссом станет работа в компании, в которой много внимания уделяют тимбилдингу и корпоративным развлечениям. Таких коллективов много. Можно выбрать профессию не программиста или тестировщика, а HR-менеджера в IT или аналитика, где общения больше.
Анна Копытова, Business Development Manager в сервисе «Где мои дети»:
IT-разработка больше подходит для интровертов. Если вы экстраверт, вам важно общение с людьми в большом количестве, будьте готовы, что в IT у вас будет ежедневно по 15 минут на утренний чек по планам, один день в неделю на планирование и немного разговоров в перерывах. Остальное время вы молча работаете над своими задачами.
Нужно нарабатывать фундаментальные знания
Желающему начать карьеру разработчика часто недостаточно знаний основного синтаксиса языка программирования. Опытные программисты порой не считают за равных своих коллег без технического бэкграунда: это заметно даже по комментариям в нашем блоге. Если вы пришли в IT из другой отрасли, то придётся постепенно наращивать объём фундаментальных знаний. Разобраться, как работают компьютеры, как строятся сети, изучить принципы разработки, понять алгоритмы. Не запоминать формулы, надеясь, что дальше туда просто подставляются цифры, а разбираться, почему используется именно эта формула и как она работает. Не менее важно развивать навык поиска и фильтрации информации. Данных слишком много, нет смысла всё запоминать — кое-что проще найти. В противном случае есть риск не задержаться в профессии или остаться на джуниорской позиции без перспектив карьерного роста.
Лилия Гайнуллова, HR-директор «БАРС Груп»:
Идти в IT без базы — бессмысленно. База необходима, потому что она помогает расширить мышление и решать различные задачи. Чтобы переквалифицироваться в разработчика, нужно многое изучать самостоятельно. Придётся вложить много сил и времени, иногда даже несколько лет.
Андрей Емельянов, технический писатель по Linux-продуктам, Dr.Web:
Я работаю техническим писателем 10 лет, хотя по образованию я лингвист, а новую специальность начал осваивать уже после 30. Многие считают, что в эту профессию войти легко, особенно гуманитариям. Не все понимают важность работы техписателя, но при этом к специалистам предъявляются запредельные требования. Нужно профессионально владеть русским и английским языками, иногда и знание второго иностранного языка бывает нелишним. При этом требуются ещё и хорошие технические знания. Найти таких людей сложно. Чтобы преуспеть в профессии, нужно самообразование: чтение технической литературы на разных языках, изучение технологий (в идеале всё нужно знать на уровне тех, для кого пишется документация). Последнее сложнее всего, потому что нужно быстро усваивать много разной информации, и не по верхам, а копать глубоко. Когда я начал работать в IT, то многому учился у коллег-технарей. Возможно, систематический курс был бы лучше. Мне повезло с адекватными коллективами на нескольких работах подряд и возможностью изучать многое на практике.
Как попасть в IT и не пожалеть
Если собрать краткое резюме, вот что получается:
Не рассчитывайте на стремительную карьеру и высокую зарплату за полгода — за этот срок можно научиться чему-то базовому, не более. Вход же на стартовые позиции в среднем занимает 1–2 года интенсивного обучения и тренировок.
Развивайте технический бэкграунд. Где-то спасёт профильная магистратура, где-то — штудирование школьных учебников математики.
Готовьтесь постоянно учиться. Придётся разбираться, как работает конкретный код, по какому алгоритму делал его разработчик.
Помните, что IT — образ жизни. Попробуйте понять, вписываются ли в этот образ жизни ваши семья, хобби и прочие привычные, но важные дела.
Разберитесь в основах разных профессий, попробуйте найти то, что подходит вам по характеру. Если вы экстраверт, плохо реагируете на стресс или недостаточно усидчивы, не стоит ломать себя: лучше ещё раз подумайте, где и как это применить.
Надеемся, это поможет новичкам и тем, кто только интересуется IT-сферой. Если же вы до сих пор не сделали окончательный выбор в пользу IT, взвесьте все за и против, чтобы ваш профессиональный путь был более осознанным и продуктивным.
Стоит ли браться за программирование и что делать новичку?
Насколько я знаю, такие вопросы вызывают лютую агрессию у программистов, поэтому к помидорам готов.
Простой 2 комментария
Насколько я знаю, такие вопросы вызывают лютую агрессию у программистов,
А теперь, у тебя, наверное, появился вопрос: че эт он так умничает и так самоуверенно говорит? Да все дело в том, что мы с тобой одного поколения, ты не сильно младше меня и мои приятели из детства-подросткового периода сталкивались с точно такими же проблемами и вопросами. Они точно так же как и ты задавали мне и другим людям вопросы: Что мне делать? Как мне быть? Кем мне стать? У меня нет призвания. Они просто ныли, искали легких путей. Думали, что можно кем-то стать сидя на лавочке возле подъезда или играя в контру. И даже больше! Часть из них обращались ко мне с вопросами о том как научиться программировать, когда это стало популярным. Часть из них даже поступили со мной в одно учебное заведение, но я в начале 2-го курса олимпиады выигрывал, а они в конце 4-го не могли на изучаемом языке вывести «hello world». ВУЗ не гарантирует знания. Он не гарантирует вообще ничего!
Конечно, есть привеликий шанс, что я не попал никуда из твоих прекрасных черт, но я в этом сильно сомневаюсь.
Можно ли стать программистом в 20 лет?
Легко! Даже легче легкого!
Сможешь ли ты стать им?
Скорее всего нет.
Что представляет из себя обучение на программиста с нуля
В данной статье мы рассмотрим какой путь надо пройти, сколько времени, сил и денег надо затратить чтобы с нуля дойти до уровня, когда вам начнут присылать приглашения на работу за рубежом на очень вкусных условиях. Ни ссылок, ни рекламы.
Здравствуйте, меня зовут Александр Зеленин. Я программист с более чем 15 годами опыта. За это время удалось поработать на позициях от веб-разработчика до CTO, в компаниях разного уровня (от 5 человек, до 2000+, стартапах, корпорациях), в разных странах и городах. Так же собеседовал более тысячи человек за всё время, вёл образовательные курсы, менторил и так далее.
* Данная статья является исключительно моим мнением. Не претендует на полность, абсолютную корректность, отсутствие ошибок, неточностей. Используйте здравый смысл при принятии любых решений и несите ответственность за них лично.
— Обязательно ли релевантное высшее образование?
Нет. Оно напрямую не влияет ни на доступную работу, ни на зарплату, ни на возможности. Диплом немного помогает с процессом получения визы, но ни разу не являлся стопором. За всю мою карьеру диплом меня спрашивали только когда уже всё подписано и нужно оформить проживание в стране. Всегда работодатель находил способы решить этот вопрос.
— Но, всё же, с высшим образованием проще?
Да, так как многие из тем так или иначе затрагивались при обучении. Даже если всё забылось, то восстановить знания выйдет быстрее. То если оно есть — хорошо, нет — ну и фиг с ним.
— Я интроверт. Программист это же самый круто вариант для интровертов, да?
Ну. как сказать. До определённого момента может быть и да, но уже через пару лет для роста потребуются коммуникативные навыки. Можно решать эти вопросы по мере необходимости.
Да, очень. Конечно, это всё индивидуально, и кому-то это даётся очень легко (мне лично это всё казалось очень лёгким, но и путь был долгий), но, в основном, все кто переучивался говорят, что это очень сложно.
Основная проблема в том, что начинаешь в новом для себя поле (особенно когда был экспертом в другом) с самых низов. Постоянное ощущение что тупой, знаешь недостаточно, медленно решаешь и так далее. Это серьёзный вызов. Намного серьёзнее чем кажется на первый взгляд.
— Оно того стоит вообще?
Это зависит от вашего видения мира, текущих условий и кучи других факторов специфичных для вас.
Специалист высокого уровня может рассчитывать на следующее (на момент написания этой статьи):
а. Для РФ: зарплата в районе 200 000 рублей белая, ДМС (на семью), печеньки, свободный график, оплата образования/садика детей, поездки на профильные конференции, высокую стабильность, интересные задачи, полный пакет для переезда (квартира на месяц, билеты, перевозка грузов, помощь с поиском жилья и т.п.)
б. Для Европы: зарплата в районе 5000 евро, и в принципе всё что и выше. В пакет для переезда часто ещё включают единоразовую выплату в районе 7000 евро. Часто ещё местная пенсия начинает капать и есть возможность позже получить вид на жительство / гражданство
в. США/Канада/Швейцария/Мидл Ист: зарплата в районе 10000$, и все плюшки выше
— Что значит «специалист высокого уровня»?
Принято условно делить специалистов на 3 уровня. Часто очень разнятся требования, но в общем случае они следующие:
1. Junior — может эффективно решать задачи, но требуется помощь более опытных коллег при столкновении с неопределенностями (не понятна задача, не ясно как решать, не ясно кого спросить и так далее)
2. Middle — самостоятельная единица, которая может и задачу решить очень хорошо, и всю информацию собрать сам из нужных источников
3. Senior — эксперт, который хорошо знает не только программную часть, но и понимает бизнес, в котором работает и может предлагать решения на совершенно разных уровнях
— Окей, и сколько времени учиться на каждый из уровней?
Самый первый этап, пожалуй, самый сложный психологически. На Junior’а вам потребуется около 1500 часов чистого времени (это полгода по 8 часов каждый день).
После чего джуниором проработаете около 1.5 лет.
После чего мидлом ешё года два.
Если не меняли предметную область, то добро пожаловать в сеньёры (4-5 лет суммарно).
— Погоди, погоди… Я вот видел курсы, там 3 раза в неделю по 2 часа и через два месяца мне обещают зарплату в 100 000 в месяц!
Ну если обещают, значит так и будет (нет).
Я вёл несколько подобных курсов исключительно из личного интереса. Даже увеличив нагрузку на учащихся по часам в 2.5 раза (по 5 часов), к концу второго месяца получался хороший “обзор” технологий.
Конкурентоспособность после таких курсов примерно никакая. В зачёт “опыта” такое не идёт. Ну т.е. вы можете в резюме написать хоть 5 лет опыта, но опыта это не даст.
— Окей, окей, а вообще польза от курсов платных есть?
Вообще есть, если не сидеть и не ждать у моря погоды, а активно использовать возможность общения с ментором и при условии, что помимо этих курсов (которые вроде 6 часов в неделю) вы ещё вкладываете свои 34 часа сверху.
— Какие курсы порекомендуешь?
Бесплатные. Я серьёзно. Главная ценность курсов — общение с ментором. На этом их польза заканчивается. Проблема многих подобных платформ в том, что: на них много участников и внимание ментора рассеивается, менторы не квалифицированы.
Часто платформы предлагают какие-то сущие копейки за их проведение, что практически сразу исключает появление хороших специалистов готовых их вести (кроме идейных, которых мало и фиг найдёшь).
— Эээ, так как тогда учиться?
1. Обязательно нужно найти личного ментора.
Без этого весь процесс будет либо замедлен в разы, либо уйдёте, не туда потеряв кучу времени. Как найти ментора? Лучший способ это среди друзей и знакомых, кто либо уже программист, либо учится (хотя бы полгода). Обычно программисты не против делиться знаниями и помогать.
Другой способ — это нанять ментора. Минус этого способа в том, что он стоит денег. Плюс в том, что можно более точно подобрать под свои нужды. Тут надо учитывать зарплату хороших спецов (см в предыдущих вопросах) и понимать, что даже несколько часов в неделю обойдутся прилично.
2. Определиться, где вы хотите работать и что делать
Это нужно сразу, чтобы подобрать релевантные технологии для изучения и быть полезным этой компании через полгода
3. Составить план и поставить сроки
Составить план поможет ментор. Самому это нереально, потому что ты не знаешь то, что ты не знаешь
— Ментор, ментор. что, совсем никак без него?
Можно и без него. Но тогда надо намного больше читать, делать, пытаться ориентироваться во всём и перепроверять себя постоянно.
Мне доводилось общаться с людьми, у которых 10+ лет опыта, а по знаниям они даже до джунов не дотягивают. Как так выходит — вопрос сложный. Отловить момент стагнации непросто.
Можно мониторить рынок, смотреть какие технологии ищут, смотреть разные решения свежие и так далее.
А потом найти ментора. Даже если ты уже сеньёр, всегда круто получить консультацию от более опытного специалиста.
— Статья, вроде, про то как «сменить» специальность, а ты говоришь что нужно пол года по 8 часов. Как совмещать с работой то? Может год по 4 часа?
Подловили. Это очень сложный вопрос. По предыдущему опыту сокращение количества часов увеличивает срок обучения непропорционально (т.е. по 4 часа будет не ожидаемый год, а, скажем, 1.5-2). Так же, в зависимости от текущей работы, усвоение сложного материала может просто не идти и всё, то есть совмещать может не получится. Это всё зависит, всё индивидуально.
Один из способов — это накопить средств и уделить полгода на такой переход. Это может быть очень сложным, когда уже есть семья или другие требования в виде ипотек и подобного. А ещё может получиться что с ходу сложно найти работу или какие-либо непредвиденные обстоятельства типа короновируса.
Другой способ это… ну фигачить по полной. А вы чего хотели? 😀
— У меня друг закончил курсы за два месяца и начал получать 5000$ в месяц сразу после
Несколько вариантов: либо он врёт, либо он гений (в этом случае курс тут не причём, совпало), либо ему повезло (знакомый нанял по-хитрому и т.п.), либо это что-то прям супер узкоспециализированное и он нашел лазейку. Пусть расскажет как. Ещё бывает, когда стартап не знает куда деньги от инвестора тратить и переплачивает явно. В первой же компании с адекватной разработкой картина будет совсем иная.
В столицах или, минимум, городах-миллионниках. Если вы не в Москве, Киеве, Минске или где вы там — готовьтесь к переезду. Локальные рынки слишком малы и не могут предоставить достаточно вакансий (особенно для начинающих специалистов), возможности для роста малы и так далее. Вообще если удалить всю статью, и оставить только эту рекомендацию — это будет одним из лучших решений для карьеры (!, но может быть не лучшим для других ваших факторов).
Есть исключения, когда офисы разработки некоторых крупных компаний находятся в небольших городах. Если вы целите в такую компанию, или она есть в вашем городе — желательно заранее сравнить все варианты друг с другом.
— Можно ли устроиться сразу на удалёнку?
Можно, это будет сложнее, в первую очередь, для вас. Не потому, что сама работа отличается, а потому что ответы на вопросы будут с задержкой, не будет возможности что бы подошел человек и пальцем показал, где что и почему. Да, есть куча инструментов сейчас (тивью, чаты, скайпы, доски разные), но в плане комфорта и скорости коммуникации оно отличается. Если целить на удалёнку, то надо быть готовым фигачить х2 от нормы, что бы хотя бы поспевать за адекватным темпом.
— Мне 45. Возьмут ли меня Juniur’ом без живого опыта?
Да, возьмут. Возраст вам даже в плюс сыграет, потому что много опыта из жизни хорошо перекладывается на технологии. С большой вероятностью пройти путь до сеньёра у вас выйдет намного быстрее, именно благодаря житейскому опыту (который начинает играть большую роль со стадии “мидла”, чем технические навыки). С релокациями в некоторые страны может быть сложнее если и возраст большой, и вышки нет, но это тоже всё решаемо.
Зависит от того, чем вы хотите заниматься. Если не хотите играть в лотерейку и пойти по надёжному пути — Java ваш выбор. Во всяком случае он позволит пройти весь путь без сильной технологической смены и с очень хорошей оплатой.
Если у вас есть друг, который обещает устроить вас PHP разработчиком уже через полгода — это может быть также хорошим кандидатом. Потому что язык не важен.
— Я думал ты пошутишь про «английский». Надо его учить?
Не на старте. Несмотря на то, что куча документации, информации и статей идут на английском, это всё можно поглощать через переводчики. Английский понадобится, когда решите переезжать. Хорошим моментом для начала изучения может быть через пару месяцев после устройства на работу Junior’ом. И да, обязательно нужно будет общение с носителями языка — будьте готовы в это также вложить денег.
Про переводчик мини-пример: буквально недавно пришлось столкнуться с библиотекой, актуальная документация для которой существует только на китайском (MyBatis-Plus) — гугл транслейт помог мне разобраться что к чему без особых приключений.
— Погоди, ты сказал язык не важен. что?
Это не совсем так. Он важен, конечно, но после определённого этапа (senior) вам будет всё равно на каком языке писать. Концепты, на которых строится программа, переносятся из языка в язык и именно их изучение занимает намного большее время.
Условно говоря, это можно представить, что профессиональный писатель решил написать рассказ на не родном языке — рассказ получится не такой выразительный и красивый, но сама история будет крутой, потому что он уже знает, как писать крутую историю. Язык — это лишь инструмент донесения.
— Окей, можешь накидать мне план что делать то?
1. Определитесь реально оно вам нужно. Стоит ли оно того?
2. Решите чем хотите заниматься. В идеале составить список компаний, в которых хотели бы работать. В идеале выбрать, где хотите быть через полгода, через два и через пять.
3. Напишите в компании, где хотите через полгода работать. Узнайте условия найма, что нужно выучить и так далее.
4. Составьте план тем, которые надо изучить (из описания вакансий и информации из пунктов 2 и 3)
5. Учите, практикуйте. Каждый день. Каждый. Обязательно. Без пауз.
6. Решайте программерские задачки. Минимум 1 в день, хотя бы easy уровень.
7. По мере продвижения можно контактировать с рекрутерами из компаний и искать возможность чтобы вас наняли. Чем раньше, тем лучше. Для увеличения шансов можно попробовать сделать какое-нибудь мини-решение полезное для компании, чтобы заинтересовать их.
Вне зависимости от языка список тем, которые я рекомендую включить в план: контроль версий (git, github), структуры и алгоритмы (знать все распространённые, big O, знать что “что-то такое есть” и уметь найти быстро), IDE (зачем, как настроить), отладка и профилирование (как искать ошибки, точки остановки и прочее), тестирование (написание хотя бы простейших тестов и понимание что включать в них), базы данных (реляционные, сетевые, документо-ориентированные), документирование (как писать, зачем), планирование и приоритизация (сколько займёт, что делать и когда), изучить Style Gudie по вашему языку, linux (базовое понимание что там, зачем и куда, умение запустить свой код там), пакетные менеджеры (как пользоваться, зачем, как поддерживать), семантичное версирование (зачем оно, как следовать), фреймворки (на нужном языке, хотя бы для ознакомления несколько), инструменты для сборки и автоматизации, криптография (базово что существует, а не как сделать), авторизация и аутентификация (что есть что и что для этого существует).
Насколько глубоко копать в каждую тему — зависит от условий, что решили изучать и так далее. На какие-то темы хватит и 15 минут, на какие-то можно и месяц-два выделить из полугода.
— Я видел, что компания, которая мне интересна обучает с нуля и нанимает. В чём подвох?
В низкой зарплате первые год-два. Но вообще это довольно крутой вариант, так как при должной мотивации это гарантированная работа, живой опыт и заинтересованные менторы, которые будут вас учить именно тому, что требуется компании. Теоретически это может снизить вариации после или удлинить срок роста, но это очень зависит от конкретных компаний и предложений. Если компания из списка вашего интереса имеет подобные стажировки с нуля — стоит к ним присмотреться.
И да и нет. Сложнее всего на старте. Дальше многие концепции запоминаются и их не надо держать в голове. Очень многие вещи “гуглятся” за 10 секунд, но при условии, что вы знаете, что гуглить.