Стоит ли среднему Windows Delphi&.NET десктоп разработчику с 10+ лет «опыта» лезть в Linux&Ruby/RoR _именно_ для фрилансинга/удаленной работы?
Привет. Замучили муки выбора направления развития.
Посоветуйте, пожалуйста, как вам видится из собственного опыта.
Есть задача: в перспективе(скажем год-два) иметь стабильный фриланс/удаленную работу с использованием современной технологии, ест-но нормально оплачиваемую (поначалу как получится, это ясно). Основная цель именно фриланс/удаленка.
Дано: Я разработчик-"виндузятник" уже лет 10 с лишним, в основном Delphi&WinAPI&немного C++&немного MS SQL&поверхностно .NET/ASP.NET&немного администрирование&немного Powershell.. соотв-но с таким "багажом" сложно добиться поставленной цели.
И появилась проблема: либо начать активно развиваться в направлении Windows технологий(.NET, ASP.NET MVC, WFC, Sharepoint, Azure, MS SQL и т.п.) либо выбрать что-то другое, более подходящее для фриланса/удаленки.
Этим более подходящим мне видится Ruby/RubyOnRails и соотв-щие ему технологии (наверно именно backend). Но это и Linux, который я только пару раз погонял в виртуалке + новый для меня язык и фреймворк + соот-щие тулзы. (другие варианты типа iOS/Android девелопера я рассматривал, но все-таки наверно нет, по разным причинам). Но интересная технология, хорошие перспективы фриланса/удаленки, хоть и меньше заказов, но и разработчиков меньше.
Огромный минус ASP.NET&Co для фриланса/удаленки я вижу в очень большой распространенности, и как следствие кучи индусских конкурентов, и меньшей цены за работу.
Зато какой-никакой фундамент для изучения у меня есть, т.е. развиться в эту сторону мне будет видимо много проще.
Собственно вопросы:
1. Может я в корне неправ насчет перспектив ASP.NET&Co для фриланса/удаленки? И соотнося мои знания и затраты на нормальное изучение(и видимо базовое администрирование) Linux&Ruby это и будет правильный путь для меня? Вроде ответа "да ну брось, пока в линукс освоишься, пока базовые админ приемы поймешь, пока начнешь пробовать Ruby/RoR, пока втянешься, на ASP.NET уже б профи стал и спокойно зарабатывал, не все так плохо у него с фрилансом"
2. Или в принципе я прав, и соотнося мой интерес к RoR и лучшие перспективы в фрилансе, есть смысл прыгнуть туда? типа ответа "да нет там особых сложностей в Linux для фрилансинга на Ruby/Ror, основные вещи быстро поймешь, ну а дальше только опыт-практика, зато этот вариант для твоей задачи лучше"
Уточню. Мало ли... Сейчас работа есть, удаленная, т.ч. нет потребности зарабатывать на новой технологии "прям щас", т.е. будет выделено время на изучение/практику.
Письменный английский на четверку, в принципе есть опыт письменной тех-поддержки анг.яз. пользователей.
Ориентируюсь в основном на зарубежные биржи.
С RoR нормально по удаленке, сам так работаю последние два года. Единственное, надо знать английский хорошо. У самого отличное знание Linux/FreeBSD, но на продакшене все делают devops-ребята. Как написали выше, Linux достаточно легко осваивается (FreeBSD еще легче, ИМХО). Разрабатывать на win-машине — муки. Так что прийдется или Linux поставить, или Mac приобрести (у ребят которые работают на запад, почти поголовно OS X).
В команде у нас много бывших C++ и Java-кодеров, вроде нормально адаптировались, многим уже под 30.
Другой вопрос, что вам прийдется сильно ломать себя. Если бы вы хотя бы удобно чувствовали себя с *nix и C#/Java, было бы гораздо легче. Для вас все это будет, прям как, революция :)
Спасибо, что откликнулись. Ну с *nix я пока чувствую себя не свободно, хотя самые базовые вещи посмотрел, потрогал, даже пытался ror поставить, но там что-то с версией ubuntu не то было.. C#/Java в принципе могу сказать что нормально, т.к. приходилось сталкиваться, и по текущей работе есть кусок на C#..
Т.е. вы считаете, А) что это достаточно реально(перелезть для меня на Linux/Ror) и в перспективе скажем года на что-то уже расчитывать? Б) Есть смысл все-таки не лезть в MS стек, а в RoR для удаленки/фриланса?
по моему мнению, стоит. только нужно подходить логически.
1. обратите внимание на технологии MS: все у них меняется таким корренным образом, что через некоторый период технологические знания на их продукцию опчть окажутся никому не нужны. прерывания DOS и WinAPI32 уже за бортом.
2. оцените шансы в поиске фриланса на RoR. много ди таких предложений? может стоит обратить внимание на что то другое? но обратите внимание, что многии технологии идут только для предприятий или производства и заказы на такие разработки окажутся разовыми.
3. если сможете присоединиться к какой-нибудь команде, то не теряйте такую возможность. одновременно всеми вещами трудно заниматься. кто-то задачи находит хорошо, кто-то внедрение у клиента ведет, а кто-то кодит хорошо.
> "может стоит обратить внимание на что то другое?"
ну был вариант еще Java(именно бекенд) (тоже немного сталкивался), но вроде как это еще хуже для удаленки/фриланса...
для iOS нужны инвестиции MacBook+iPad/iPhone.. на данный момент не вариант
Android как вариант, но мне кажется тоже очень широкая ниша, много индусов, ну и тут я так понимаю в основном gamedev, что мне не совсем по душе
Нужно не только так смотреть. Например, узнайте "доступность" разработки сайтов на php в непосредственной близости от вас. Несколько годов назад я убедил друга в кодинге на php именно для Bitrix. Почему в ней? Потому что 1С-Bitrix сделала маркетинговый хороший ход: ввела обязательную сертификацию для партнеров-разработчиков и предоставила им возможные плюшки ввиде скидок и маркета. Он подешел к этому вопросу фанатично и за последние пару лет довольно сильно поднялся.
Это только как пример, куда можно приложить "свободную" умственную энергию, а не заниматься дро**во на сайтах и в социальных сетях. И если так разобраться, Ява с Андроидом тоже открывает кучу возможностей - неужели у вас не было желания что-то "упростить" в своем смартфоне, что вам там не нравится? А может быть это так же не нравится еще комуто и он найдет ваше решение блестящим.
Да я не спорю, "в общем" ответ на мой вопрос "спец на любой технологии будет востребован". Мне же важно именно удаленка/фрилансинг. И выбор .NET веб стек или что-то другое, подходящее. Но оно ж еще и нравится должно. PHP для меня однозначно нет, ява.. не уверен насчет хороших перспектив именно в фрилансинге/удаленке.. андроид - ну может быть.. RoR мне пока симпатичен.. но опять - нужно что-то выбрать.. а как выбрать? :-)
ну если так стоит вопрос, то делается просто: открывается лист экселя и в стольбцах пишется выбор. Построчно добавляются характеристики - ваши позитивные и негативные на ваш взгляд особенности, которые вы нашли в описании. Потом сортируете эти строчки по степени важности (на ваш взгляд между собой) и расставляете коэффициенты. Затем вписывете значения по каждому столбцу и строчке, умноженную на коэффициент. а снизу считаете получившуюся сумму. Где глаза разбегаются, можно и головой попользоваться. Ну а когда выбор сократится, тогда и глаза увидят очевидное (необязательносовпадающее сголовой ;-))
В вопросе много вводных. Я бы попытался сначала структурировать вопрос - саму ситуацию.
Первое. Есть текущие навыки, и есть задача куда-то развиваться. Возможно, используя накопленный опыт, развитие будет более продуктивным - можно будет рассчитывать на заказы с более высокой квалификацией. Начинать же совсем новую тему - это вы с нуля ее начинаете, и заказы будут совсем junior.
Второе. Само направление развития. Тут выбор за вами. Единственное что можно подсказать - это способы собрать информацию для принятия решения. Уже говорили про количество заказов на фриланс-биржах. Но я бы обратил внимание на стоимость этих заказов - посмотрите где бюджеты больше! Возможно, проще всего сравнить зарплаты специалистов с разными навыками. Там где зарплаты больше - там, теоретически, и стоимость фриланс-работы будет больше в пересчете на $/час.
Третье. конкретные навыки развития. Я бы дополнительно поискал бы смежные с вашей текущей занятостью трендовые ниши. Типа, мобильные клиенты для корпоративных систем, например.
"Возможно, используя накопленный опыт, развитие будет более продуктивным" - вот этот вопрос меня и терзает.. изучение ASP.NET&Co уже будет идти в знакомом Windows окружении, в знакомой VS, с начальным пониманием как .NET/C# вообще, так и ASP.NET в частности.. практически в уже имеющейся виртуалке.. с RoR все не так, все почти с нуля..
Однако, повторюсь, для меня что RoR что ASP.NET - нужно будет все-равно по сути с нуля(т.к. веб разработками не занимался), и расчитывать на что-то кроме junior заказов в первое время при _любом_ выборе не приходится.
Кое-какие "исследования" по заказам, ценникам, средним hour rate, кол-ву разработчиков я проводил.. по моим выводам RoR выглядит интересней. В этом и "загагулина"
Попробуйте сделать одни и те же задачи (бэкэнд) на RoR и ASP.NET - поверьте, человек, который умеет уверенно, быстро и качественно решать определенные задачи всегда найдет на себя спрос.
по поводу junior заказов - имхо, нет смысла на них ориентироваться. Вы никак не переплюните в стоимости китайцев и индусов. Лучше сразу пытаться брать повышенный проф уровень - а для этого нужно уметь делать что-то конкретное, то есть не мелкие поручения выполнять, а делать готовую подсистему или небольшую систему. Вот вы и попробуйте сделать готовые мелкие системы!
Вот я несколько лет пишу на ruby on rails и на c++ поглядываю (там неведаные горизонты), а у вас вот в копилке есть c++, а вы на ror смотрите.
Я думаю с вашим стеком технологий тоже много чем можно заняться, gamedev или еще что-нибудь сложное и интересное, инженерия чего-нибудь. Если нравится webdev, то изучив ruby и его окружение, тоже не пожалеете об этом. Но что касается фриланса, то с ror на отечественном рынке предлагают в основном в офис. Удаленной работы больше на глобальном рынке (odesk, например). Какой-бы стек технологий не выбрали, любое решение будет верным, главное творческий подход в деле.
P.S. Linux освоить совсем не сложно, он проще виндоус.
Спасибо за мнение. К сожалению, сейчас это не "стек технологий" и "всего по чуть-чуть и не очень глубоко", в основном Delphi.. и основная проблема, что с ним я не хочу двигаться дальше.. в пропасть..
Gamedev не очень интересен лично мне.. вернее побаловаться - можно, но сделать на него ставку я не могу. Пока для себя ощущаю, что веб backend мне более всего интересен. И понимаю, что от frontendа не уйти, тоже придется влезть.
И да, в основном на зарубежные биржи и ориентируюсь, хотя вижу и на отечественном рынке предложения по RoR.
"Какой-бы стек технологий не выбрали.." - вот и замучился уже с этим блин выбором :-) и там серьезные плюсы, и тут.. возможно я какие-то плюсы/минусы оцениваю не верно.. вот и решил спросить кто что думает
Зависит от фриланс биржи. Как правило наши биржы предлагают в основном пехепе, причем это львиная доля. :) Конечно есть Python. Конечно есть другие технологии.
На oDesk много заказов для .Net, но не большинство. И да, Вы правы, большинство из .Net заказов под веб разработку (Asp.Net, Asp.Net MVC). Т.е. я не думаю что проблема найти заказ под .Net на oDesk. То, что заказ дадут именно Вам, понятное дело, вопрос отдельный. Но в целом, я уверен что можно найти работу любую.
Может быть Вам стоить поизучать биржы на предмет декстопной разработки под .Net\Delphi? Я уверен что Вы найдете. Конечно искать заказы будет сложнее, но зато Вы точно справитесь и сможете наработать портфолио. С другой стороны, получив заказ под веб, Вы быстрее будете изучать технологии, т.к. будет "гореть".
Стоит ли начинать изучать другую технологию? Безусловно да, хотя бы для собственного развития.
Резюмируя. Хороший специалист всегда найдет работу. Главное показать и доказать, что хороший.
Спасибо за ваше мнение. Да, ориентируюсь на зарубежные биржи, английский хоть только письменный, но на четверочку общаться позволяет.
Но, именно дальше "тухнуть" в дебрях Delphi абсолютно не хочется. Десктопная разработка под .NET это все-равно развитие в его сторону(сейчас поверхностно) и тогда смысла зацикливаться на десктопе нет, имхо, нужно двигаться в веб.
Насчет другой технологии. Для меня получается они обе "другие", что .NET ASP/MVC что Linux/RoR, т.к. знания по .net asp у меня поверхностные, а по HTML/CSS/JS так вообще зачаточные.. но Linux/Ror вообще другой мир, тут и зачаточных знаней нет.. вот и пытаюсь "придумать" какая стратегия для меня в плане фриланса/удаленки лучше, ведь придется серьезно инвестировать время в выбранную технологию.
В webdev не получится выбрать только одну технологию. Чтобы быть конкурентноспособным, надо постоянно развиваться. А это помимо ror еще и разные базы данных sql и nosql. Есть еще node.js. Я не знаю какие практики используются в .net, но когда я окунулся в мир ruby, то узнал много правильных методологий разработки (tdd, bdd, dry, kiss и т.п.). С php я о тестировании кода даже не слышал ниразу. Потратить время на изучение ruby/ruby on rails, чтобы узнать лучшие практики - это очень хорошая инвестиция.
@yucom , да, я "в общем" тему ruby/ror и его технологий + веб технологий прозондировал, потихоньку хабр почитываю, т.е. я к этому готов...
другое дело, что в стане .NET сейчас тоже "много правильных методологий" и тоже нужно постоянно развиваться..
пока склоняюсь в сторону RoR, но не хватает мнений .NET фрилансеров/удаленщиков.. как им там живется..
@greyman ещё при выборе важно понимать какой уровень будущих проектов у вас будет в зависимости от выбранного стека технологий - cms (битрикс упоминали здесь) типовые проекты в основном, с ror/node.js web-сервисы, .net/java/c++ энтерпрайз
Backend - это серверная часть (API, бизнес логика), frontend - разработка клиентской части (не только интерфейс, может быть полноценным приложением). Обычно приходится и тем и тем заниматься, вёрстку интегрировать тоже кому-то надо.
Поэтому выбирать вам надо стек технологий и уровень проектов, которые вам будут интересны.
Работаю на odesk в сфере asp.net mvc, заказов чуть меньше чем на рор, но хватает. Более того, может быть везет просто, но каждый раз после выполнения простого проекта у клиента появляется еще куча идей и работы, выходит что с 2-3 клиентов можно кормиться очень долго.
Наверно в ответах хотелось бы дополнительно услышать .NET/ASP.NET фрилансеров, чтоб подсказали как дела с заказами, какие типы заказов обычно, интересно ли работать, насколько мои опасения насчет "массовости" технологии и индусов оправданы и т.п. Т.к. RoR разработчики уже отписались, что все вроде в этом плане нормально.