Какое перспективное направление в программировании для фриланса и иммиграции?
===============================================================================

 Мне 26, занимаюсь сетями передачи данных. После университета казалось, что ниша хорошая, по факту интересные задачи только в интеграторах на позиции архитектора (таких интеграторов не очень много) и все строиться на сильно ограниченном количестве подходов. А в перспективе ниша видимо останется только в операторах связи т.к. все новые веяния индустрии предполагают автоматизацию и ориентацию на приложения, т.е. администрированием сети будут заниматься инфраструктурные админы.  

Но больше всего печалит, что невозможно работать удаленно и крайне сложно уехать из РФ, на хорошие вакансии своих дураков хватает, в Канаде и Австралии сетевики конечно в списке, но вакансии часто встречаются только на админов первой линии со знанием Cisco. А хочется пожить в теплых странах за городом (работая по 8 часов - ок) и иметь явные перспективы перебраться на ПМЖ на запад, где нормальное образование и медицина.  
  

В общем, **какое направление на ваш взгляд наиболее перспективное, а какие массовые тенденции идут на спад?** Интересно заниматься дизайном приложения, но не оформлением (монотонная верстка - в топку). Разрабатывать внутреннюю логику, но не заниматься чисто высшей математикой.  
  

Сейчас начал писать под андроид, интересно и захватывает, однако глядя на фриланс биржи и вакансии складывается впечатление, что андроид разработчиков как грязи. И даже пока платформа держит лидерство, зарплаты низкие. Если Microsoft c windows 10 не прогадает и отъест часть рынка, перспективы пугают.  

Сейчас много вакансий на Java, не окажется ли через 3 года, что они нафиг никому не нужны? Еще года 4 назад CCIE считалось очень круто, а сейчас даже просто h1b в штатах не получить. Для меня изучить джаву и ее костыли и особенности - интересно, но только ради интереса время жалко.   

Какие перспективы у Ruby? Scala? Spring?  

Насколько реально залезть в нишу BigData или там все тоже строиться на комбинации готовых решений?  

Посоветуйте перспективное направление пожалуйста. 

 Во-первых, хотел бы порекомендовать книгу Чеда Фаулера "The Passionate Programmer: Creating a Remarkable Career in Software Development" (на русском: ["Программист-фанатик"](http://habrahabr.ru/company/piter/blog/250221/), Питер, февраль 2015). Несмотря на свое название, она не столько о программировании, сколько о личностном росте, саморазвитии и прагматичном стремлении к совершенству, читать рекомендуется всем и каждому.   

Во-вторых, есть масса аналитических исследований в области IT, в последне время их особенно много из-за "кризиса", например [...о стагнации, образовании и востребованных профессиях](http://www.the-village.ru/village/city/city-news/138171-vladimirskaya_interview).   
  

Если думаете об эмиграции (а выезд заграницу на ПМЖ это именно **э**миграция), то тут есть 2 нюанса.   

Первый заключается в самой сложности переезда в другую страну с другими законами, налогами, климатом, языком, культурой, и тд, а тёплых мест хватает и в России (об этом миллион статей на том же Хабре).  

Второй - переезжать в другие страны имеет смысл в том случае, если вы собираетесь работать на окладе в офисе, например в крупной европейской/азиатской компании на высокой должности на территории работодателя. Фрилансеру же реальная польза от пеерезда весьма сомнительная (опять же, налоги в России - одни из самых низких).  
  

По поводу трендов и языков могу сказать следующее: если вы собираетесь жить и работать со стратегическим расчетом на карьерный рост, развитие и прибыльную должность в отдаленном будущем, то стоит задуматься о сложных, но актуальных технологиях, нацеленных в первую очередь на крупный бизнес (биржи, банковский сектор, системы аналитики и прогнозирования, ИИ, инетрнет вещей, etc.).   
  

Сейчас мир программирования равивается в двух основных полярных направлениях: низкоуровневое - ПЛИС и самодостаточные микроконтроллеры ("умная железка в каждую вещь"), и, противоположное ему - высокоуровневое проектирование и [ФП](https://ru.wikipedia.org/wiki/%D0%A4%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5). В первом случае много физики, во втором - матана, дискрета, теории категорий и всего такого.  

Лично мне ближе второй вариант, поэтому я для себя выбрал технологии, основанные на Java (почему именно Java - пояснил ниже в комментарии): Scala, [Lift](https://en.wikipedia.org/wiki/Lift_(web_framework)), ФП, функционально-ориентированное проектирование, мета-программирование, [DSL](https://en.wikipedia.org/wiki/Domain-specific_language), вот это всё.  
  

По поводу "готовых решений" лично я наблюдаю обратный процесс: люди стараются отказываться от универсальных готовых решений в пользу гибких, компактных и заточенных под конкретную бизнес-логику (опять же DSL и [DDD](https://en.wikipedia.org/wiki/Domain-driven_design)).  

Но начать всё же рекомендую с Фаулера. Затем Р. Мартин "Clean coder" (на русском "Идеальный программист. Как стать профессионалом разработки ПО"), само собой МакКонелл, Крэг Ларман, и прочие бестселлеры.  

Да, и не забудьте книгу Грега МакКоена "Эссенциализм...", очень полезная вещь в наше время. Личностный рост и саморазвитие сейчас не менее важно (а иногда и важнее) просто "программирования". 

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

-Желание + интерес  
  

-Несколько лет программирования, знаю c++/java/python к последнему пришел год назад, к java и c++ больше не вернусь  
  

-Любимый язык python - скорость разработки очень важна, пишу на нем всего год  
  

-$2k в неделю, odesk, могу себе позволить жить в любой стране, но деньги не важны, я это понимаю только сейчас, когда ко мне пришел успех, главное в -первом и последнем пунктах  
  

-Уменее объяснить заказчику почему на питоне я сделаю в 3-5 раз быстрее чем на том же php/java = забираем контракты у java/c#/php программистов = нет дифицита заказов на питон  
  

-Желание и интерес, успех придет сам, под интересом я для себя выделяю интерес сферы разработки: web crawling/parsing/search и любимый язык питон, удачи вам найти себя! (web crawling вот вам перспективная ниша, которая будет только со временем расти, появилось много соц сетей и других сайтов, и всем заказчикам нужны с них данные, особенно стартапам) 

 Не парьтесь и никого не слушайте. Масса всегда будет говорить, что у вас ничего не получится. Я знаю уникумов, уехавших по job offer'у в Штаты, не имея профильного IT-образования.  

Становитесь хорошим специалистом по какой-то теме и бомбите подряд все компании своим CV.   
  

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

Очень важно для вас иметь хороший английский. Это крайне важно. Чтобы вы понимали и вас хорошо понимали. 

 На мой взгляд, дело не в технологиях, а в вашей компетенции. Все ругают PHP, хотя единственный его минус - низкий порог входа (да и то, минус ли). Эксперта по этому языку и через 5-10 лет с ногами оторвут.  
  

Судите сами. Вы - работодатель. У вас сотни кандидатов из родной страны, отличных, подходящих на вашу вакансию, допустим, middle разработчика. Будете вы брать аналогичного кандидата из других, далеких стран? Возможно, если получится платить таким раза в два меньше (и то, актуально для особо жадных). А на деле - **нет**.  
  

Другое дело - гуру. Специалисты, чьи имена на слуху, которые являются авторитетами не в своем городе или, тем паче, фирме, а в целой области, в целом направлении технологий. Таких людей немного, но они, пожалуй, единственные вольны выбирать страну проживания. Остальные могут уповать на удачу и связи. Не более.   
  

Решайте сами. 

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

26 лет - это, конечно, еще немного, но следует учесть, что на становление профессионалом в какой-то области в среднем нужно 3-5 лет, поэтому много раз "метаться" не рекомендуется.  

Определетись с языком, если это Европа, осилите ли еще один в добавок к английскому?  

Вышка по идее, должна быть профильной.  

В целом, дизайн пусть даже модный UI/UX - не самое лучшее направление, в технических специалистах выше потребность практичекси везде.   

> Ruby? Scala?

  

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

 Самое перспективное на h1b в США - это C#.  

Обычные WPF или ASP.NET.  
  

Потом Java. И через 3-10 лет она тоже будет нужна, просто займет честное второе место по популярности. 

 Я бы выбрал разработку под мобильные платформы: телефоны, планшеты, часы.  

iOS или Android не знаю, но по моему разработка мобильных приложений сама по себе интересна. То что вы говорите что их как грязи, это все чушь. Уехать разработчиком за океан - это обычная практика, профильное образование - тоже чушь, главное это опыт и знания, ну и подтвердить/доказать консулу, что ты действительно программист, а не по образованию, журналист например, кои там точно не нужны.  
  

Я сам не разработчик, но не мало знакомых, есть и те, кто работает в штатах и Токио, но это не суть. Лично мне интересна сфера ИИ, машинное обучение, bigData. В общем специалистов по таким областям, хороших, кто действительно этим занимается от души, таких заберут с руками и ногами, даже если в образовании будет написано - лингвист или станочник. но опять же, все дело в интересе.  
  

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

 на сколько мне известно, работодатель прежде всего начинает вопрос о наличии соответствующего диплома признанного в США российского ВУЗа.   
  

В противном случае, никто с этим работодателем в департаменте эммиграции даже разговаривать не станет, а ведь он должен обосновать почему берет на эту работу не местного Джона, а Васю из Калуги.   
  

Поэтому, само направление - дело второе в этом проекте. 

 Сколько не искал так и не понял ситуацию с иммиграцией front-end'щиков.   

В каждой подобной теме один ответ - Java, .NET.   

Как насчет front-end разработчиков (HTML,CSS,Angular,React,Node)?