Добрый день!
Благодарю за то, что читаете эту писанину и, может быть, найдете время написать ответ.
Собственно ситуация. Исходные Знания: протухшие более чем 10летней давности Basic/C/Pascal, новые цветуще-пахнущие HTML+CSS. Интересы и мотивация: на 60% к разработке под носимые устройства, на 40% к вебу (fullstack). Так как уже относительно немалый возраст (31 год, и куда лезу вообще?..), хочется как можно быстрее "влиться в струю", поэтому мысли больше о вебе. Опять же, начало в виде хтмля уже положено. Но еще неизвестно, быстрее ли там... Bootstrap, JS, Angular, Node.js, SQL. Слишком много... В мобильной разработке, как мне кажется, все несколько проще - Java, Android SDK, SQL и всё (правда в вакансиях еще зачем-то постоянно C++ упоминают. NDK? Везде? Не понимать!) Цели: ближайшая - получение позиции в разработке, хотя бы полу-джуниором + параллельно фриланс. Среднесрочная - работа в геймдевелоперской компании или онлайн-стартапе. Главный вопрос жизни, Вселенной и всего такого: Куда идти нубопрограммисту?
Роман: Мне кажется тенденция скорее не к схождению этих областей, а к схождению веба к мобайлу (PhoneGap/Cordova, Ionic и т.д.) Каким образом идет мобайл к вебу - неясно. Ну если не брать традиционную клиент-серверность.
ios
он проще чем adroid (это не минус яблочной платформе, большой стек устройств, платформ и других факторов, делают разработку под android чуточку дольше ) спрос большой, специалистов все еще не хватает
Если бы было, где тестировать. На данный момент - ни одного устройства на яблоке, ни даже потенциальной возможности их приобрести. Только Android, причем даже в двойном экземпляре (смарт и таблетка)
gadfi: Имелось в виду общее направление носимых устройств =) После того, как (и если) пойду в Android - возможно смогу когда-нибудь взять и iOS, в перспективе. Кто знает.
А почему именно Андроид, а не веб? Ну если не секрет?
Мико: конкуренция меньше, зп выше (тут смотря какой веб, но в целом картина такая ) порог вхождения выше чем верстка, но ниже чем например java ee (вообще язык достаточно знать на уровне синтаксиса + пару статей, недели для изучения больше чем достаточно)
LeEnot: до java ee или подобной технологии, все равно лет пять еще расти. Ну стали использовать di, ну тестами теперь уже не удивишь, ну появился databinding а с ним и более классический mvvm, ах да еще rx ... но без всего этого тоже прекрасно можно прожить, те же CursorLoader + Provider все так же актуальны и эффективны. API 20+ по большому счету ничего сверхнового не принесла, а если говорить про старт, то по мне так даже облегчило,нормальные гайды по ui это то чего не хватало начинающему с в прямыми руками. Да порог вхождения увеличивается, но прямых рук и здравого смысла в большинстве случаев все еще хватает )))
gadfi: а так же сам фреймворк расширяющийся (в котором постоянно появляются новые deprecated элементы), запутанный activity/fragment lifecycle, UI тот же (пробовали написать свой LayoutManager?), тут долго можно перечислять. Да, склепать что-то "на коленке" довольно просто, но в нормальную контору с такими "знаниями" не возьмут.
LeEnot: все это естественное зло платформы android, так раз в текущем проекте используется свой LayoutManager, и множество других радостей support design так же используется .... и это хорошо, потому что есть проекты с 9 api которым тоже нужен новый дизайн ... но концептуально нового в этом нет ( мне все больше кажется что рынок топчется на месте
Да с умением склепать что то на коленке в контору не возьмут, все хотят кого то более професионального, но поработав годик на фрилансе вполне можно эти знания получить.
Подводных камней много, тонкостей хватает, но отрасль реально топчется на месте
LeEnot: так я и не спорю что прогресс есть, но он все больше в ui, даже новые разрешения ... так было же, отказались от них... я наверное зря брюзжу, но все эти новшества сильно пахнут маркетингом ... Я все это использую, но ощущения что делаю что то новое нет ... да баги новые, да бывает они фиксятся сами в новом обновлении, да для некоторых вещей бубен приходится держать особым хватом, но по моему так было и раньше
gadfi: Таки нет ) документацию допиливают и вычищают, приводят SDK к ООП виду (да то же разделение на RecyclerView/LayoutManager/ViewHolder/ItemAnimator), жесткое разграничение прав в 6.0, напилили кучу отладочных средств и профилировщиков всяких, новшества платежной системы, отладка приложений облачная...
RecyclerView/LayoutManager ─ наконец то из коробки, а не куча разных либ или руками, но на прорыв не тянет
ViewHolder ─так давно же, просто для нового компонента сделали обязательным
жесткое разграничение прав в 6.0 ─ если мне не изменяет память то ли было, то ли хотели, но отказались от этой идеи и откатились
отладка приложений облачная ─ вот это пока не щупал, но это скорее относится к инструментам, тут да, все кудпа стабильнее чем было раньше )
самое важное документация, но я до сих пор не могу без смеха вспомнить ссылку на so и кнопочку помогите нам сделать доку лучше, после выхода пятого android )
порог входа какой - купи мак , купи ифон, купи лицензию разраба. Потом ЯП - он конечно похож , но без бутылки в него не в куришь. Нет я бы сам пошел в контору которая бы меня с андроида переучила на ios - вот только где такие конторы?
У меня похожая ситуация. Сейчас мне 31 (точнее наступит завтра). Ушел несколько месяцев назад с должности сисадмина, потому что когда стукнуло 30 понял, что не хочу быть 40-летним админом, укоряющим себя за то, что в 30 не попытался уйти из зоны комфорта и не попробовал что-то новое в области разработки. За плечами протухшие 10-летней давности VisualFoxPro/Pascal и HTML/CSS. Склоняюсь больше к андроиду (который в данный момент и изучаю), но и веб не исключаю. Понравился совет, опубликованный выше, про HTML5.
Порог входа меньше, это да. Особенно если учитывать бэкграунд в виде 2.5 лет работы с шаблонами для Wordpress и знаниями HTML+CSS. Но там этого мало же, нужно еще кучу вещей знать...
Мико: везде нужно знать кучу вещей. Если вы хотите хорошо зарабатывать и быть хорошим специалистом, то замечательного знания языка программирования вам не хватит
Конечно каждый человек находит интересным разные вещи. Лично мобильную разработку нахожу интересным. Я этим не хотел бы обидеть web разработчиков и по этому пишу что, "для меня было бы интересно". К тому же у вас есть основные знания "С". Будет легче на NDK писать. Если заняться усердно на Java уйдет примерно 3, 4 месяца. А потом дальше потихоньку учить технологии.
Вопрос интересный и нужный. Сам сейчас пытаюсь перейти с web'а в mobile... :) Выбрал Android, т.к. много устройств именно на нем, хотел купить мак, но потом передумал почему-то :)
И зарплаты в mobile средние 70-100 тыс. это радует... Хотя сейчас еще интересно системное программирование и C++. Думаю, может, совместить с Android'ом?...
Антон Ф.: это официальные зарплаты, на фрилансе и 300 тыс. получают... У нас в городе не видел вакансии верстальщика больше 25 тыс. От этого и считаю :-)
В крупную it-фирму junior web - разработчиком. Желательно чтобы с блэкджеком, аджайлом и ... сам понимаешь. Лучший способ развиваться - учиться у более опытных коллег. Код ревью, который практикуется в большим командах, очень хороший способ учиться на своих же ошибках.
Написал про веб, потому как доступных вакансий (во всяком у нас в городе), с подходящими требованиями больше именно по вебу.