Помогите определиться с планом освоения новой специальности.
Лорды, сэры, пэры нужна ваша помощь со следующей проблемой. Хочу всё-таки освоить специальность в сфере IT ибо на текущей работе от общения с тысячами клиентов (в месяц более 500 штук проходить через меня) у меня уже пухнет мозг. В общем требуется совет с чего стоить начать (курсы, может в вуз поступить, может книжки какие), как потом лучше устраиваться на работу, и какое направление выбрать. Из базовых навыков, неплохо знаю экономику, с математикой знаком слабо ибо она лежит немного мимо тех сфер в которых у меня есть опыт работы, хорошо продаю, но уже заебало впаривать клиентам всякую дичь с предложениями 2-х говен по цене одного. Из того, что скажем так мне ближе по духу это игрострой и data science, опять же субъективщина ибо мне только так кажется поскольку в данных сферах я не работал. На текущий момент трудоустроен поэтому в быстром старте на 100500 денег не нуждаюсь (но если есть и такой вариант, то было бы вообще здорово), есть возможность уделять по 3-4 часа в день изучению нового предмета. Или совмещать работы.Еще на тему
Хрен знает как у иосников дела правда, но, как я понял, в среднем будучи иосником можно зп повыше себе стрясти ибо востребованность выше.
Большая часть программистов в наши дни - это современный аналог токарей да фрезеровщиков. Да, это требует знаний, чтобы код был читаемым и чистым, но всяких разделов высшей математики в 70-80% случаев знать не надо (но конечно же не везде).
Пример из чужих практических проблем, с которыми приходилось потом разбираться мне:
1. Человек кешировал данные, чтобы не грузить сервак частыми запросами (для него отдельно пришлось объяснять нагрузочные проблемы и что с ними делать, но это другая история)
2. Человек складывал в кеши данные по трём ключам (по специфике приложения).
3. Человек не знал, что количество закешированного говна определяется декартовым произведением множеств значений ключей. И говна этого вдруг оказалось очень много. Знай он, что такое декартово произведение в принципе, он бы организовал кэширование иначе.
Но догадливость - она 50/50 - или выстрелит или нет. А мне же потом разгребать итоги этой лотереи.
Поэтому я больше ценю в новичках знания, позволяющие им не творить явную херню. А если он ещё и догадлив - это конечно плюс :)
Верю, медицина достигнет вершины -
Вместо внутренних органов и кожи
Мы научимся пересадке ошибок.
Со своими у нас всегда рецидив
- не понимаем с первого раза.
Со своими мы калеками придём к тридцати,
Зато сами шли без подсказок.
Стартовая точка - язык Си. На начальном этапе можно поставить Code::Blocks. Пока учишь Си, меняешь своё мировоззрение на двоичную систему счисления. Пробуешь реализовать свои структуры данных, чтобы постичь указатели (динамический массив, одно-/двусвязный список, какое-нибудь дерево или несколько). Пробуешь операции с файлами.
Потом переходишь на С++, чтобы понять ООП. Когда от С/С++ начнёт тошнить - переходи на Python. Python - мастхэв, даже без работы в IT можно автоматизировать какую-нибудь свою рутину. Конечная точка - понимать и уметь написать декоратор с параметрами (хрень вида @deco(param=value) ). Почему-то новичкам это очень трудно даётся.
Дальше уже можно двигаться в другие направления.
HTML / CSS / JS - web-разработка. К JS потом доучивается какой-нибудь фреймворк типа React или Vue, использование npm и систем сборки (webpack, например).
NumPy, SciPy, Pandas и прочие модули к Python - датасайенс, предварительно приложить подорожник к своим знаниям математики.
Kotlin - Android приложения.
Swift - iOS (если есть яблочные устройства и твоё очко готово страдать в XCode).
C# - геймдев на Unity, для остальных движков доучивать C++.
Материал - любой самоучитель / книга / набор статей, которые ДЛЯ ТЕБЯ понятно написаны. Пройденный материал закрепляй на практике.
Достопочтенных пидоров попрошу дополнить или раскритиковать мою писанину.
Плюсы тоже не очень как основа для изучения ООП (просто в силу своей зубодробительности и слабой самосогласованности). Тошнить от них начнет довольно быстро. Плюс работу с ними несколько трудней будет найти, хотя зарплата будет весьма высокой. Сам щас пишу на плюсах и не сказать, что сильно доволен. К сожалению в моей области единственная альтернатива - это фортран. Потому на плюсы я особо не выебываюсь.
Питон да, полезен во многих областях - у меня все вспомогательные скрипты на нем написаны. Но писать что-то, что должно существовать, поддерживаться и расширяться на длительном промежутке времени на нем я бы поостерегся (но это могут быть просто личные заебы).
Ты бэкэнд пропустил - что-нибудь типа Ruby сейчас в тренде. Есть еще Node JS как вариант, если охота уметь делать все на одном языке.
Котлин не так популярен под андроид все же. БОльшая часть вакансий в основном на жабе. Хотя мои знания возможно несколько устарели - я это дело забросил все же.
ООП в плюсах не зубодробителен, пока пишешь что-то простое и для себя. Хотя можно заменить на C# или Java, согласен.
Да, бэкэнд забыл указать - Ruby, PHP, NodeJS и тот же Python (на котором вполне себе работает бэк инстаграма).
Большинство Android-разработчиков с радостью переехали с Java на Kotlin, так что он уже стал стандартом. Джава нужна только для поддержки приложений, которые не переписали на котлин.
Про зубодробительность в плюсах я говорил не про ООП, а про сам язык ибо он кране переусложнен всяким (взять хотя бы то, что в нем переменную в метод можно передать 4 разными способами). К тому же в них нету защит от идиота (например нету меахнизмов, запрещающих ромбовидное наследование). Потому, да, я бы предложил изучать ООП по шарпу или жабе.
Ну а про Андроид - как я и говорил мои данные устарели - я это дело забросил больше 4 лет назад.
как ведущий системный администратор говорю.
если да - тогда qa или, если хочешь, в вебдев - начать c html/css (верстка), потом PHP cms-ки Wordpress/OpenCart/etc. потом глубже PHP фреймворки symfony, yii, etc. ну и js (jquery, vue, angular, etc) где то в раёну цмс-ок. а еще и linux с lamp/lemp там же.
Хотя если просто хочешь сменить сферу деятельности я бы таки IT очень не рекомендовал, после лет в этом деле ощущения себя придатком к компьютеру ака девайс для решения логических задач которые иногда вообще в какую то магию превращаются. + фидбека по работе не так много. мир и люди, конечно, всё больше проваливается в онлайн, но тем не менее эмоциональной составляющей крайне мало. в основном автоматизация и оптимизация, так что еще и людей других часто рабочих мест лишаешь :) и людям на твою деятельность в основном срать, так как мало интересно и технически замороченно, что часто вообще делает невозможным для них её понять. + общение с задротами и сугубо мужские коллективы (хотя последние наверное плюс в работе).
А есть же еще столько профессий связанных более с реальным миром которые способны дарить людям столько эмоций и прекрасных впечатлений и за которые люди намного более признательны создателю, чем за софтинку. я вот о музыке задумываюсь, но пока не до этого... -_-
Еще желание осталось? тогда почитай статьи с https://ebanoe.it/
И если всё еще осталось - тогда таки возможно твоё :) руководство или выше или в других комментах по другим областям...
Знаний больших в сфере IT не нужно, но это позволит в эту сферу войти максимально безболезненно. А на месте уже будешь вникать, и всегда сможешь взять ещё курс, уже на то, что тебе подходит, после того как осмотрел это всё изнутри.
Но как выше сказали, идти в IT с целью, чтобы не пух мозг - такое себе.
Касательно второго замечания как уже писал выше, мне проще работать с техникой чем с людьми.
Ок да, есть 3д моделирование, строение уровней, анимация и т.д. но автор не уточнял что именно ему интересно в игрострое. Поэтому самое стандартное ему и назвал (по крайне мере, то что я проходил в универе когда взял себе игрострой как обучение, но потом свалил в сторону мобильного дева ибо игрострой не зашел, хотя горел я этим все детство)
Вот и шаровый курс
https://www.codecademy.com/catalog/language/html-css
не прям крутой, но понять надо он или нет вам хватит.
Имей ввиду, IT это не та сфера, что ты устроишься и будешь дохуя получать сразу, тебе просто не доверят в нормальных конторах нормальную работу, да или просто не возьмут. Нужен опыт.
В QA достаточно легко войти и если мозги есть, то можно быстро влиться в тему и развиться. Второй вариант имеет больше параллелей с тем, чем ты до этого занимался, сможешь походу изучать разные направления черпая знания от коллег, а там и определишься к чему у тебя ближе лежит.
Я бы не рекомендовал идти в программисты и дизайнеры, пока будешь вливаться, голова опухнет еще сильнее, хотя может конкретно тебе и зайдет, у всех по разному.
ПМ - очень, очень ответственная должность. На моей памяти лучшими ПМами были именно выходцы из реально работающих инженеров. Были и ребятки которые были хороши не имея инженерных скилов, но таких мало.
Лично работал под началом чувака, кредом которого было "меньше затрат - больше результата", больше не хочу.
Разговоры про возраст - булшит, можно и в 30, и в 40 начинать, есть свои плюсы и минусы.
1. Быстрого старта не получится - тебе потребуется время на освоение новой профессии, при этом сразу стать мощным тыжпрограммистом за 100500 мильйонов не выйдет, для этого нужен опыт решения практических задач не один год. Однако, за 0.5 - 1 год ты вполне можешь стать перспективным джуном, многие компании набирают таких и выращивают под себя. Итого, минимум пол года (если ты умеешь соображать и быстро учиться) на обучение, потом минимум год в джунах с зп от 40 до 90 тыс (смотря в каком регионе и какой компании). Только потом можно говорить о зп 100+
2. Конкуренция просто бешеная - сейчас ситуация на рынке такая, что джунов просто неимоверное количество и чтобы новичку найти реальную работу в IT, нужно пройти очень много собесов. Но во всем этом есть один нюанс, как я уже писал выше - если ты умеешь соображать и не плаваешь в теории, шанс найти работу вырастает многократно (тупые джуны никому не нужны и их больше чем умных).
3. Потребуются крепкие нервы и вера в себя - это вытекает из второго пункта. Отказов в начале будет очень много, пока поймешь что нужно работодателям и выработаешь определенные навыки. Главное не терять веры и не опускать руки, и не отказываться от тестовых - это твой шанс за короткий срок пополнить портфолио. Ну и если тебе отказывают, требуй нормальный отзыв, в будущем тоже поможет подтянуть слабые места.
4. Время - наше все. - Не знаю сколько тебе лет, но сам я пришел в IT в 27 и в этом возрасте уже очень тяжело учиться (еще я тупой, но это отдельный разговор). Это все к чему - вариант выбрать сферу с легким вхождением, а потом перескочить на что-то другое весьма слабый, потому как тебе придется начинать едва ли ни с самого начала. Например стать фронтендером, а потом дата саентистом очень сложно и реально затратно по времени. И врядли тебе захочется спустя 2 года в разработке терять в зп при смене сферы, даже на первый год.
5. Пухнет голова от клиентов? Будет пухнуть от IT - не шутка, заезженная фраза, что в it нужно все время учиться, оправдывает себя на все 150%. Каждый гребаный день. А иногда и ночь, и выходные, и праздники. Но это уже во многом будет зависить от твоей способности обучаться в принципе.
Тут еще можно много чего сказать, но зачем? Резюмируя - выбирай сферу, которая тебе реально будет интересна, изучай все что можно найти на просторах интернета, затуси с сообществом в этой сфере и решай практические задачки вместе с теорией. И самое главное - не ленись. Тогда все получится. ИМХО, поступление в вуз - трата времени и денег, в интернете масса информации, можно научиться абсолютно всему и самому.
Шариш Линупса - AWS, Гуглоклауд. Они самые популярные. Виндовый стек - Azure, предложений не много, но есть и иногда сладкие. Если хочется экзотики (не надо) - Алибабашное облако =)
Виртуализация, контейнеризация - мастхев, хотя клауды стремятся к сервис-эз-э-сервис, так что виртуализацию скоро нужно будет знать поверхностно, но пока - надо.
Понимание работы сетей и т.д. - хотя бы на начальном уровне.
Общие знания про разработку и процесс тестирования - мастхев. Но только общие, потому что билдить\деплоить\ранить тесты надо будет. Нужно понимать что надо и как оно запускается.
Автоматизация, оптимизация, CI\CD - это то, что делает процесс разработки приятней и стабильней для всех, от разрабов до конечных пользователей продукта.
Также - софт скилы. Общаться надо много и со всеми.
Из языков: модные GoLang, Pyton; мастхевное - Баш и ПауверШелл для виндового стака.
Инглиш.
И в завершение - картинка, которая немного отображает реальность.
Я не предлагаю пропускать степ, я указывал вектор развития.
С твоим утверждением согласен.
Даю дружеский совет, в задницу IT!
В программеры или тестировщики нахер не надо идти - зароешь экономический талант.
Минус - геймеры будут тебя ненавидеть. Но к этому ты наверняка уже от своей нынешней клиентуры привык.
С чего начать: посмотри, что делается сейчас в сфере: все эти лутбоксы-хуйбоксы, платные подписки, игровые/неигровые валюты и прочая кухня. Смотри не только и не столько на ААА проекты, сколько на мобильную казуальщину. Особенно на бесплатную - эти сосут деньги как сучки. 9 из 10 будешь работать с мелкими проектами.
Попробуй взять игру и написать по ней, что в неё можно добавить, чтобы игроки вложили в неё деньги - это будет твоё портфолио. Общайся с инди-разрабами. Если сумеешь убедить кого-то из них добавить твою идею в игру (а впаривать же ты умеешь), это уже будет реальная часть твоего портфолио.
С этим идёшь устраиваться в "молодую команду талантливых разрабов", через 5-6 месяцев сваливаешь от них, если видишь что проект разваливается (с 95 из 100 так и будет).
Хуяк, ты уже геймдев с опытом работы и можешь идти работать в средненькую контору.
Многие говорят, что в IT не сладко, тяжело и сложно. Но где тогда лучше?
Где платят на таком же уровне и при этом знания в открытом доступе для этой сферы? Где такой же спрос на кадры и при этом нету пресловутой "ебли"?
А то часто можно услышать: "Не идите к нам в айти за лёгкими деньгами. У нас тут всё не так легко"
Но где же тогда легко и хорошо, по мнению ITшников?
Только как туда попасть?
и it таки не сахар, но некоторые к этому предрасположены, так что легко вливаются и подсаживаются. потом правда начинают думать как спрыгнуть чаще всего и куда. так как хобби переросшее в рутину убивает интерес, а инструмент таки (программирование) шикарный.
а гуманитарии которые сюда ломятся за еврозарплатами лишь создают кучу проблем так как не их это дело, а разгребать потом приходится + еще и демпинг порождают таки (aka "ну хоть какой то опыт").
легко и хорошо? универсально нигде. всё боль и рутина рано или поздно, но персонально проще там, где интересно лично этому человеку и на что у него руки/мозги/уши/etc заточены.
Все хотят рокстаров, которые левой ногой исправят древнючие баги в ядре линукса. Если к ним приходит Вася, и Вася не умеет этого, то Васю сначала прособеседуют, дадут задание, потом возьмут недельку "таймаута", а после в лучшем случае отпишутся, что Вася не подходит, а чаще забывают отписаться. А вот на кого нет спроса, так это на чуваков, которые попроходили платные курсы с "гарантированным" трудоустройством и думают, что теперь то всё в ажуре, они вайти.
Зарплаты?
Одна знакомая рассказывала, как собеседовалась программистом на 25к в Москве, при этом, если бы она устроилась, то ей надо было бы ездить через всю Москву. Для справки, аренда однушки внутри МКАДА 30к. Почему-то наличие таких вакансий в IT не учитыается, когда говорится о "высоких зарплатах", все приводят примеры вакансий на которые может подойти только человек с раздутой от знайний и опыта головой, но не каждый хочет так "надуваться" и не каждый может.
Так же могу поведать свою историю, как меня однажды "посетила удача" и мне пришло приглашение на собеседование на вакансию с зп от 120к, дикие деньжищи для моих ебеней, побежал я на собес на крыльях счастья, а мне там говорят: "Какая минимальная сумма вам необходима для того чтобы жить? Просто ваш стек технологий не совсем соответствует нашим ожиданиям, вам нужно будет обучаться, и мы готовы вам предложить 15-18к рублёф". Убежал оттуда похохатывая. Но знают ли об этом те, кто грезят IT по зарплатам на ХХ?
Мне хочется знать, где лучше по мнению ИТ(да на самом деле уже нет, ответ очевиден - везде свои плюсы и минусы).
Наверное глупо прозвучит про спрос, но всё же когда я вбиваю в запрос ключевое слово для своей профессии и получаю 50 результатов (естественно ни один из них без опыта на тебя даже не посмотрит), а потом смотрю на количество вакансий в ИТ, то понимаю, что свернул явно не туда.
Могу тебе ещё открыть одну тайну вайти, нередко галеры намеренно держут вакансии на сайтах просто так и даже проводят собеседования, заранее зная что юнит не нужен. Во-первых, они методом широкого бредня отбирают чуваков, которых в детстве унижали, поэтому эти чуваки, имея ценные навыки, не могут попросить адекватных этим навыкам денег, лишь бы на хлебушек хватало, либо продавливают по ожиданиям сомневающихся, если не продавился ниже рынка - не страшно, есть кому грести. Во-вторых, они повышают таким образом вероятность того, что такие как ты поведутся и свичнутся вайти, что повысит конкуренцию на рынке труда и сэкономит ресурсы галере, ты же в джуны пойдёшь и тебе много платить не нужно, а сколько таких как ты, а потом как долго можно таким впаривать, что они до сих пор не приносят прибыли?)
По крайне мере и в РФ не будет проблем с работой и деньгами и за бугор тебя с руками оторвут, вон в Эпл в Мюнехене уже месяца 3-4 ищут.
Может обратить внимание на 3D, моушен и тд?
2. Смотри Аниме, начни с Евангелиона, а потом смотри все подряд, пока не доберешься до поней и Bocu no Pico
3. Читай хабр.
4. Выучи умные слова типа - ядро, пропатчить, контейнер, докер и главное запомни вот это : LAMP(ламп) - Линукс, Апач, Мускул, ПыХыПы.
5. Устройся в самую голимую контору, где начльник еще меньше шарит в ИТ чем ты. Как? См предыдущий пункт.
6. Гугли ошибки и с помощью стаковерфлоу, и ему подобных, бери готовые решения с дырками и пихай их везде.
7. Начни косплеить Сейлор Мун трапа и купи дилдак, потом пригодится.
8. После года в говноконторе иди туда где интереснее, ты уже почти ИТ.
Думаю что дата-сайнс и гейм-дизайн будет неплохим выбором. :)