Насколько глупое решение, бросить все и начать новую IT карьеру в мегаполисе?
Доброго времени суток! Не так давно, меня осенила мысль: почему бы прямо "сейчас" не бросить все, переехать в город, где всегда хотел жить и найти работу своей мечты, почему нет?
Последний год, обучаясь в университете, параллельно проходил стажировку в web-студии в сравнительно небольшом городе. Сразу напишу, что в городе лучшей вакансии каким-либо программистом не найти. Компания специализируется на разработке интернет-магазинов и других проектов, веселый и профессиональный коллектив, достаточно широкие возможности для роста. В данный момент занимаюсь сопровождением и доработкой сайтов на cms bitrix + PHP (back-end). Не скажу, что сильно в этом преуспел: худо-бедно справляюсь со средними задачами, но до разработки интернет-магазина с нуля ещё не дорос. Зар. плата около 16 тыс. рублей.
Проблема в перспективах. Чего я смогу добиться там? Повышение зар. платы в на ~5 тыс. руб. через каждые пол-года (предел, я думаю, будет около 35-40к) + навыки "клепания" интернет-магазинов на bitrix... Последний навык сейчас на рынке достаточно востребован и хорошо оплачивается. На самом деле это очень круто, получаешь быструю отдачу от проделанной работы, но хочется чего-то более весомого, важного. Хочется навсегда уйти от конвеерной разработки и коммерции, а если заниматься web-ом, то разработкой сложных сервисов, хотя и до них надо дорасти. Есть сильное желание создавать, творить, но я не думаю, что на данной работе это будет возможно в полной мере, на деньги мне честно наплевать (чтобы не сильно голодать и было, где жить), главное решать интересные задачи, развиваться, чтобы потом решать ещё более интересные и захватывающие задачи, реализовывать себя.
К сути:
На днях получил диплом бакалавра, по специальности связной с математикой. Связи с этим событием, задумался о переезде. Суть проблемы в том, что знаний и навыков, кроме как Php + Bitrix и немного Html, Css, Jquery, JS, Ajax + небольшой опыт развертки и настройки проектов в linux, умения работать с git, практически никаких. Python на уровне пройденного курса codeacademy; C++, C# на уровне написания студенческих лаб. В голове порхает мысль, хорошо выраженная одним из здешних ответчиков: "ты либо как-то сваливаешь из своей региональной дыры, либо она навсегда тебя там хоронит" и кажется, что оно так и будет.
Насчет переезда и ухода с работы, в принципе, определился, рискну. Вот только есть проблема с поиском работы и выбором направления. Не совсем понятно, на какие вакансии смотреть, если это не web и нет никакого опыта в других начинаниях. Возможно ли вообще найти что-то подобное? Вот такая дилемма, уйти хочется, но некуда :)
Python на уровне codeacademy - можно сказать что вы не знаете Python. Попробуйте реализовать все классические алгоритмы на нем. И не просто, а чтобы красиво, в нем много красивого, много вариантов того что использовать и как. Сделайте сайт по продаже автомобилей на Django, Flask, (Postresql, sqlAlchemy, flashRestApi, django-rest-framework, mqrabbit, celery). Добавьте крутой интерфейс (Backbone, Angular, React, Extjs). Поверстайте (Bootstrap, Foundation, адаптивная верстка, мобильная, семантичная). И вы говорите что некуда и типо ничем заниматься. Мне кажется вы задали вопрос в поисках поддержки. Заведите девушку, друга программиста, собаку :)
Из востребованных направлений: Frontend (NodeJs, RIA SPA, RealTime App, Isomorphic) - В Москве в питере мечтают найти нормального специалиста от 100к зп). Java (Big Data, Machine Learning, Java EE (Hibernate JPA (WEB), Processing (Activity), Playframework, Spring, GlassFish) - В москве Middle Developer от 100к. C++ (OpenGL, OpenCL, Системное программирование, сети, оптимизация) от 100к.
В чем собственно вопрос? Вы смотрели рынок? HH.RU? Зачем использовать PHP который в 60% используется в интернет магазинах, соц-сетях, сайтиках?
Если есть математическая база, то можно заниматься спокойно графикой, моделированием процессов, нужна в основном (Линейная алгебра, дискретная математика, тригонометрия, численные методы). Причем эти знания так-же помогут и в области разработки интерпретаторов, компиляторов (Добавиться теория множеств, рядов, булева алгебра), используемые ЯП (C, C++). Так вообще можно и стажером в НИИ какой-нибудь от 60-80к пойти. Опять же если с математикой все окей, то это прямая дорога к опыту использованию и анализу алгоритмов, структур данных на очень хорошем уровне, спортивное программирование открывается для вас.
Я так думаю вы не спешите рисковать, пробывать, изучать и не знаете себе цену. Впервую очередь надо с этими вопросами разобраться и научиться оценивать информацию самостоятельно и принимать на ее основе взрослые смелые решения.
Например у меня аналогичные мысли про силиконовую долину, GameDev. Сижу математику изучаю, язык, рынок, компании которые могут быть в будущем потенциальным работодателями, законы страны, рынок труда, книжки читаю о том как пройти собеседование на позицию С++ инженера. И думаю не о зарплате 100к рублей в месяц, а 100к килобачей в год. Но не спешу действовать, так как есть семья, ее тоже придется за собой вести. Пока у вас семейных ограничений нету, советую не медлить, а укреплять свою жизненную, гражданскую позицию, получать интересный опыт и решать самому задачи дома, а не ждать пока вы придете в компанию и вам придумают интересную задачу за интересные деньги.
Про GIT вы написали, что нету опыта. Вот смешно читать такое, открывается официальный мануал, ставиться gitlab или на крайний случай аккаунт на github. И руками тыкаете, тыкаете, пробуете, запоминаете, исправляете. Потом делайте свой GITLAB сервер, читаете маны по SSH, настраиваете. Дальше GIT FLOW, берете открытую либу, пишите на нее тесты BDD, TDD, становитесь приятным контрибутором, тесты начинают падать, исправляете ошибки, делаете Pull Request. Вот вам и опыт... Сложно? Я думаю нет.
Хотите обратную связь с реальностью по математике? https://projecteuler.net/ - Скучно? Попробуйте TopCoder. Засветитесь, вам самому работу предложат...
Мат. база очень ненадежная, но думаю, достаточная, для самостоятельного обучения. Действительно, самые "вкусные" вакансии требуют хорошее знание c++ и математики. На них и буду ориентироваться в будущем. Спасибо за кучу идей, вы прямо их генератор :)
larionov_n: у вас крутая методика изучения новых технологий, все вроде как просто и логично, но видится в этом нечто большее, чем просто опыт.
Я, к примеру, практик, не изучив теорию, мат. часть, лезу в код и пытаюсь из того, что знаю выжать максимум. Не разобравшись, как работает код в целом, пытаюсь фиксить баги, самое главное получается)) или фиксить баги в чистом js, имея знания только о php. ну, и самое постыдное - метод перебора. Хорошо, что со временем пришло понимание абсурдности этого метода.
nicenice: Рад что вы нашли что-то полезное для себя из моего потока мыслей.
Советую не зацикливаться на C++. Конечно для алгоритмов, разработки операционных систем, высокопроизводительного программного обеспечения - это отличный выбор. Но, для экономия вашего личного времени (C++ перегружен операторами). Вам попутно нужен язык более высокой абстракции и более стандартизированный. (C#, Java). Эти языки можно использовать как с парадигмой ООП так и ФП (Scala), только реализовать за меньшее время нужную вам программу.
Если будете решать мат задачи, алгоритмы, big data, писать свою СУБД, нагруженный сложными операциями OPENGL, DirectX, классические структуры данных - Это только C++ и MathLab.
Но не всю же программу писать на плюсах, можно выделить производительную часть, написать к ней биндинг к Python например и спокойно использовать. Java например освобождает от глубокого проектирования и долгого выбора структур данных, библиотек - все есть, не надо велосипедов. А Scala в добавок к ней еще придает всему этому Event-driven, Service Oriented, Functional Reactive Way.
Получить практику и доказательство вашей хорошей мат. базы и понимания Функционального программирования лучше всего на Haskell, Erlang, LISP. (Очень будет полезно если смотреть в сторону Machine Learning, дискретной математики).
P.S: Сам я пишу на Javascript (ООП, ФП), Python, Java. C++ только для обучения и понимания структур данных, алгоритмов. На сегодня задумываюсь идти получать второе высшее по Вычислительной математике, наверное в МГУ. Так как понимаю, что без нее мой уровень мышления слишком убыточен, чтобы писать большие, сложные программы. А интересует 3д графика, Machine Learning, AI, FRP, Big Data, Системное программирование. Без ВМК ну некуда :) А когда вижу на github что эти подходы умные люди на JS пишут и получают за месяц пару тысяч звезд на гитхабе, вообще стыдно становиться.
А так, чтобы потом не обидно было на потраченное время зря, делайте все это ради того чтобы реально помогать людям :)
Мне интересен сейчас такой стек, который я очень хочу знать (C++, Haskell, Erlang, GO, Lisp, Lua, Java, Python). С питоном и джавой еще как-то дружу. Но остальные языки, это для расширения сознания :) увидев один раз хороший подход в одном языке, это моментально отражается на вашем стиле, когда пишете на комфортном языке. Сейчас происходит просто БУМ Функционально-реактивного программирования на Javascript, а в основе лежит математический базис. И получается что вывод какой, кто-то пишет на jQuery, поумнее используют фреймворки напичканные ООП, Высоко абстрактным сахарком с jQuery, сеньоры помечают галочками новые библиотеки типо Rambda, Koa, React. А мастер классы выдают люди у которых более общие знания в математике, перенявшие опыт и слезы с других языков и двигают сообщество вперед.
larionov_n: спасибо за ликбез! меня тоже интересует 3д графика, Machine Learning, AI, Big Data, это крутые вещи. но наверное для того, чтобы в будущем заниматься важными вещами нужен по-настоящему развитое мышление. Да, наверное пойти в хороший университет и получить знания, которые ты сам хочешь, верный шаг. Вообще, большая проблема, когда интересно все, охота чуть ли не запускать космические корабли, а в итоге мечешься из стороны в сторону, как теннисист, а мяч отбить не получается.
larionov_n:
Что вы подразумеваете под "делайте все это ради того чтобы реально помогать людям"? Ведь не на киберфоруме задачки для студенов решать? Возможно сервис удобный сделать, автоматизировать рутинные задачи.
nicenice: Увековечить себя, свое детище, которым будут пользоваться люди. При этом как вы правильно заметили мечешься, время, идеи, проходят мимо. Ну вот взять пример: Стив Джобс, он интересовался почти каждой новой идеей, которую видел как применять. Не могу процитировать, но, он поддерживал, общался встречался с основоположником ООП, он заметил Pixar и так-же видел будущее в этой компании. Он понимал что будет нравится и необходимо людям, что признают, поэтому самым большим достижением стал Apple.
А если взять обратную сторону медали, ну схожу я отучусь, буду иметь богатое представление как моделировать и создавать математические модели, как пользоваться статистикой, вычислять для других не вычисляемое. Наберу и опыт программирования, наконец-то дойду до графики, machine learning, big data, всю жизнь поработаю на дядю, у которого есть идея. И медленно буду подходить к своей старости. Да конечно можно назвать человека специалистом, который посвятил любимому делу всю жизнь. Но будут ли корабли запущены в космос? Оправдает ли такое огромное вложение своей жизни собственные амбиции. Мне кажется это просто романтика, которая так манит, когда ты стоишь перед чертой старта.
Все это круто и заманчиво, но к примеру у меня есть проект, он достаточно простой, сложного там - это таймлайн который позволяет эмулировать последовательность действий в игре и отражаться комбинации, редактировать их. Я напридумал как вокруг него все связать, создал чуть ли ни мини социальную сеть. Прекрасно понимаю, как реализовать (примерно). А это уже тот уровень с которым я могу пойти на собеседование и пройти его. Но... Я посчитал, сколько свободного времени я готов уделять проекту и... если взять 3 часа в неделю ( А если это время дробить, то как практика показывает, до конца отдельную задачу не доведешь). То на первую версию этого "проекта", учитывая что всегда трачу 3 часа в неделю. 1.5 года. Время в годах взял тоже из личного наблюдения, так как бывало и год работал на проекте который с нуля пишется 6 человеками и понимал что до результата и универсальности можно еще 5 лет идти. Причем тут нету вопросов, а как что сделать, с чего начать, что выбрать, как научиться. Предполагается, что есть ошибки, есть сложные архитектурные задачи, рефакторинг и все программисты все умеют, но все равно дедлайн так далеко. К чему я ? Ну вот я грустно понимаю, что проект или идея, мечта должна быть насколько выполнимой за конечное время и ее выполнение должно сопровождаться или приносить почти все что ты ждешь от жизни. Комбинация этих вещей, дело сложнее математики, программирования, это некая доля самоуправления и менеджмента, умение контактировать, находить единомышлеников, вести за собой. Тогда может что-то в виде корабля в космос и запуститься...
nicenice: Как еще более печально вспоминаются кадры из фильма про Стива Джобса, что он практический не спал, не обращал внимание на друзей, жену, ребенка - он бредил компанией, новыми возможностями, тем что каждый раз преодолевает нормальность бытия и выбивается за все возможные рамки. Для управленца это конечно круто, для семьянина - это очень грустно, для программиста - не выполнимо. Для обычного человека - фантастика или единственный в жизни вид исключения, который можно оправдать тем, что человек шизофренический страдал манией творить. Но, в этом случае, простые идеи, которые можно реализовать, ну к примеру написать свой DOOM 5. Через пару месяцев, будут слезы идти, читая на ютубе комменты к обзору игры, что она **мно, уже такое есть, на пару дней... И так далее, люди избалованы и привыкли к техническим инновациям. Это лишь момент, который уже случился, время которое нашло своих героев и прошло, оставив огромную эволюцию и историю. Помня обо всем этом и понимая свое место относительно уже не молодой IT сферы, я понимаю, что мне сложно ответить на вопрос: "А какой корабль я бы запустил в космос и зачем?". Наверное я считаю, что если хочется просто деньги зарабатывать программированием, то амбиций и самолетов не надо.
А если к примеру изобретать машину времени, телепорт, искусственный интеллект, межгалактический двигатель,. варп портал, единое коллективное сознание посредством peer to peer или электронное правительство - вне услуг, а именно управление. Если шанс больше 5%, может стоит рискнуть, но если шанс 0.0000001%. Лучше наслаждаться жизнью и ценить то что имеете :)
nicenice: Так что задумайтесь, пока вы еще можете слезть с крючка. Что вы действительно хотите? Возможно программирование тут только прикладная часть. А из того что вы пишите, я вижу что есть желание учиться, познавать. Но... советую не уходить в узкий коридор, а подольше остаться в перекрестке коридоров, пока не затянет. Там уже все само собой время решит :)
Сначала надо найти работу, а потом ехать, или разоришься на квартире, или устроишься продавцом/охранником что бы оплачивать квартиру пока ищешь работу и так и застрянешь на ней.
Большие города могут хоронить не хуже маленьких, тут все становятся винтиками за редким исключением, а выгода в деньгах обычно съедается платой за аренду квартиры и более дорогими развлечениями.
Я считаю ты правильно решил что надо ехать, едь, пробуй, просто имей ввиду...
работу найти ещё сложнее, если ты из другого города, работодатели вряд ли вообще будут смотреть такие резюме. есть некоторый капитал на 3-4 месяца, на время поиска работы
что за херню несете, полно вакансий, где предлагают помощь с переездом, а собеседования по скайпу. на последних 2 моих работах, десятки ребят были привезены из украины, белорусии и глубинки россии
nicenice: чушь, полно предложений с помощью при переезде, мне и семье предлагали помощь с переездом и документами, а контор которые с радостью рассмотрят просто иногороднего кандидата с условием переезда и того больше
Дмитрий: : возможно кардинально сменю профессию на что-нибудь совсем необычное, не связное с IT, но до охранника/грузчика надеюсь не дойду.
one pavel: l: gadfi: можно узнать, на какую должность? кто станет тратить силы на джуниора?
larionov_n:: да, наверное стоит засунуть совесть куда подальше и пойти дальше, написать про отличные знания какой-нибудь технологии, а вдруг.
интересно, как быстро они поймут, что взяли не того, кого хотели?)
nicenice: android midle, на переезд джуна тратится скорее всего не станут, но собеседование по скайпу никто не отменял, а ехать вы все равно намерены за свой счет, хотя если понравитесь то может предложат какую то помощь ) в любом случае если вы готовы к переезду адекватным людям все равно где вы находитесь на данный момент, главное чтобы к ним приехали
На самом деле в моём городе также в веб студиях платят, причём город мегаполис. После 3-х месяцев обещают 40к (ну-ну).
Ушёл во фриланс, зарабатываю по 50-70к, но нужно быть предприимчивым, искать клиентов, меня это не напрягает ни сколько, даже в кайф + прокачивается аккаунт на бирже, потом он будет работать на меня - это о перспективах.
Поэтому смысла уезжать в большой город не вижу (в моём случае это москва-питер), наоборот планирую уехать в маленький, где экология лучше, вода чище и соответственно продукция качественная + дешевле, ещё и сэкономить можно прилично.
Даня
Товары не общего потребления (техника, мебель) там дороже, это да. Местный бизнес цены накручивает.
А вот продукты реально дешёвые (особенно хлеб, молоко, яйца, мясо), т.к. народ там живёт бедненький да и с огорода половина кормится (кругом деревни же)
На месте автора, лучше бы сходил для начала в гов** конторы по разработке рекламных проектов. Чем идти сразу после Bitrix в ад. Где уровень вхождения в сто кратно выше и еще коллектив может ударить по самооценке, что очень быстро захочется уехать домой и найти жилетку для слез :)
Лучше попробовать сделать что-то и ошибиться, чем сидеть и киснуть в безопасном болоте. :-)
По поводу работы хочу сказать, что не так важно на каком языке ты программируешь, как важно то, какие задачи ты решаешь. Выучить синтаксис нового языка и методы фреймворка - дело пары месяцев. Поэтому, акцентируй свое внимание на том, какие задачи ты можешь решать, насколько хороший код ты пишешь, понимаешь ли ты задачи бизнес области (а это редкий и важный навык), насколько ясно ты выражаешь свои мысли. А переучиться с php на другой язык - будет не сложно.
Конечно, стоит искать работу, где будет challenge - задачи, которые тебя развивают. Боюсь, что навыки клепания битрикса и пригодятся только в контексте битрикса.
Парень, читаю твой текст и как-будто сам пишу. Я сейчас только поступаю в универ на прикладную математику, но полностью покидаю семью, еду заведомо туда, где никого не знаю, туда куда не планировал. Просто, чтобы прокачаться или сломаться. Само образование меня и не интересует так таковое.
Я о чем - езжай в другой город, езжай в тот, где будет сложнее. Там ты станешь или сильнее и пойдут дела в гору или сломаешься. Все будет зависеть от тебя. В маленьком городе будешь гнить, однозначно.
Насчет работы - много паришься. Делай сразу свое дело. Найди маленький источник дохода (раз не интересуют деньги особо) и делай свое дело.
Вообще, напиши мне cosmos.rusnire@gmail.com . Пообщаемся.
А как у тебя с английским? Пробовал искать репетитора на дому? Я подтянул английский в школе Preply онлайн и сейчас работаю фрилансером на Upwork. Можно зарабатывать 100 000 руб. в месяц спокойно. Главное – английский. Вот их сайт: preply.com