Хочу свічнутись з iOS в Java

Усі статті, обговорення, новини про Mobile — в одному місці. Підписуйтеся на телеграм-канал!

Мобайл набрид відверто за 11+ років. На мою думку розвитку в ньому нуль, роботи мало під нього і це дуже куций інструмент по суті фронтенд. Криза через війну це показала дуже яскраво.

Плюси які бачу від переходу на джава: більш довготривалі проекти в порівнянні з мобайлом (проекти короткі і лопаються як бульбашки), найбільший інструментарій(всі копіютють інструменти джави), зворотня підтримка, код працює десятиліттями, на відміну від мобайлу, де кожен рік виходять нові ОС, але загалом нічого нового. Більша кількість вакансій.

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

Цікаво послухати і тих хто відносно недавно отримав першу роботу джава розробником і тих хто вже давно «частина коробля, частина команди» :)

👍ПодобаєтьсяСподобалось2
До обраногоВ обраному2
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
зворотня підтримка, код працює десятиліттями

і тут я згадав як намагались перейти на новішу версію гібернейта або спрінга (вже не пам’ятаю), і шо вилазили проблеми у абсолютно рандомних неочікуванних місцях... (від компайлінгу до непрацюючих методів)
це було десь 5 років тому, може зараз вже всьо краще, але дуже багато хто досі сидить на Java 8 (released in 2014)

Все так, погоджуюся з усіма тезами.

Є компанії де мобайл це не просто перекладати json, Readdle один з прикладів. Зараз поганий момент з нуля свічитися вбік, дуже поганий. Як я писав ще влітку, тримайтеся за свої проекти і розвивайте додаткові скіли. Тобі мабуть ніхто не заважає на своєму поточному проекті роздивитися по сторонах і пошукати чого де не вистачає. Вирішуй питання незалежно від стеку або технології і життя саме тобі підкаже що тобі цікавіше і на що є попит. В будь-якій компанії є речі хто ніхто не хоче робити і відкладають на «наступного разу».

Насправді бекенд він різний буває. Тут головне зрозуміти, що яку саме мову обирати.
C#, Java, NjdeJS чи ще щось.
С# - простіше, тому що все в одному місці (.Net, документація і тулкіт) у Microsft, плюс іх екосистема з Cloud, тобто Azure.
Java — скоріше за все це Spring і все інше, повʼязане з цим.
Свою нішу також має Scala — після Swift взагалі, що майже теж саме, але на JVM. Я б більше акцентував, що ця мова більше зараз націлена на Data Science, як і Python.
Власне про Python — тут свої фреймворки.
Що тут головне, так це на мікросервіси.
Якщо відверто є досвід хоча б з однією екосистемою, то переходити багато часу не забирає. Як уже сказано було, головне розібратися, як будуються мікросервіси, як в них побудована взаємодія, які брокери застосовуються. Відомі — Kafka (в більшості випадків для Java, іноді RabbitMQ), .Net віддають перевагу RabbitMQ.
І все як це працює у кластері/ах. Перевагу тут має Kubernetes, ніж у Docker Swarm.
Kubernetes — тому що усі Cloud вже мають під це окремі сервіси на кшталт EKS.
Що можна сказати про них, то це якщо людина опановую будь яку Cloud інфраструктуру, то майже всі інші мають подібні сервіси, просто з іншими назвами.
І ще одна складова — це робота з базами даних. Але знов таки, всі мають ту чи іншу реалізацію ORM (Java — Spring Data/Hibenate, .Net — Entity Framework). Щоб розуміти іх, краще опанувати ANSI SQL. Якщо був досвід з SQLite, то це навіть краще. Плюс дрібниця — розуміння, як працювати в скоупі цих речей з міграціями.
І на останок — то це як працювати з CI/СD, мабуть тут перевагу має Jenkins через свою універсальність. Є варіанти, коли будують на базі Git.
Головне обрати правильні джерела інформаціі — книги Manning та курси від Udemy.
Тільки відео не вистачить.

Тоді висновок такій, шо то х...(айті)....я, шо то х...(айті)....я. Нічого нового ніде немає. Cutting edge technologies так само стрімко здуваються, як і надуваються. А все тримається на старих вигорівших формашлепах типу нас:)

тих хто вже давно «частина коробля, частина команди» :)

Краще вчи NodeJS, аналог спрінг бута NestJS і AWS.
Ентерпрайзи по троху лізуть в клауди і serverless. А джава там не дуже (щоб прості луми і кваркуси не писали). На трьох останніх ентерпрайзах вони частково починали юзатись. Я так з нодою і почав працювати.
Якщо будеш вміти на AWS через лямбди зробити бекенд, то і попит на тебе буде норм.
А з джавою, як і з дот нетом, скалою, зараз фігово з роботою.
+ джаву зараз багато де вчать на курсах, тому кандидатів все більшає.

Працюю з джавою більше 10 років, останні 6 на позиції техліда/архітекта тому це не думка джуна)

Схоже автор хоче змінити верстання формочок на клепання crud-ів. Як вже дехто писав світчитись є сенс у cutting edge technologies.

більш довготривалі проекти

вітаю з просвітленням, з богом, але з таким просвітленням — вивчи бекенд, і ява еко, і йди зразу в девопс на якусь їпучу міграцію )

Джавістів немало, пробитись без крові не вийде

Цікаво послухати і тих хто відносно недавно отримав першу роботу

Відносно недавно років 15 тому отримав першу роботу на ява, доріс до сінйора помідора, набридло, свічнувся в девопс, доріс до сінйора, набридло, свічнувся в клауд, доріс, набридло, доріс набридло. Все розписувати не вистачить ночі. Набридло, ну як набридло... не те що набридло, просто стало тісно в тому якось і нецікаво — приблизно як ти й написав, тільки мені вистачило кількох років зрозуміти, що ніша стала мейнстрімною і я якось став оверкваліфайед і далі тільки мене чекає корпоративна нудота попереду.

Тобі ніде не написано що ти маєш до гроба бути мобайл розробником. Раз не дерево, руки ноги голова є, то візьми й переміщайся куди обставини, фінанси й відкриті можливості дозволяють і куди цікаво.

З хорошим досвідом і базою в програмуванні за кілька міс можна освоїти будьщо, навіть підмазавшись до сусідньої команди на якісь дрібні неважливі таски, бо все по суті — програмування. Потім те запишеш собі в резюме тицятимеш в те носом вопрошаючого

Джаву я мабуть вже підзабув, і цікаво розім’ятись часом, але розминатись доводиться хіба на го і пітонах, куди тре всяку муть кодити бо треба. Але я ще досі називаю себе блін джавістом. Сцуко вросло, треба накостилять якийсь мікросервіс на вихідних таки для прілічія.

Тобто я в принципі розумію про що ти, але чисто практично, я б не радив.

Я б радив у девопс, бо з цими клаудами, міграціям кінця краю не буде ніколи. А ща бюджети поріжуть, потім будуть знов датацентри замовляти й мігрувати назад.

Але джава теж ок, можна роками місити й покращувати якесь важливе лайно за хороші гроші, по своєму тепло. Я собі на пенсію планую повнрнутися в яву, влаштуватись у якийсь даунський банк, покращувати їх лайно і одночасно ложити болт на всіх

Джава різна буває.
Якщо не хочеш отримати те саме що в айос, стартапчики й всякі проекти на кіосках що рахують твої зуби, хвилини й години — тобі дорога на кончений ентерпрайз. Змирись.

Є критичні проекти, а є некритичні. Так само й люди й експертиза є критичні й некритичні. Незалежно від техностеку й кутка матриці в якому ти сидиш. Є багато нюансів і всього, що вирішує чи ти в своїй тарілці, незалежно від мови й стеку.

Свічнись в якийсь мобайл проект довгограючий, як варіант. Є ж купа цікавих апок, куди можна ломанутись — в тих же банках теж апки є. Проблема вирішена. Ну але як свербить свічнутись то свічайся, якщо колись і є час шукати пригод на дупу — то це зараз

Успіху :)

ПС

Тут дехто радить новеньке тиму мл/ай і проча одноденна піна на хвилях айті

Можу тільки сказати, що хлібно, просторно й довгограюче саме там, куди не біжить стадо слонів, не пливе табун зубастих акул, і зграя голодних тигрів.

Цінять саме тих хто вирішує проблеми, за які ніхто не хоче братися, колупається в лайні де ніхто не спішить колупатися, при цьому витримують булшит, який не хочуть витримувати інші. Ось це і називається професіоналізм. Баланс між цим і власним життям треба знайти самому — робота не для того щоб робити тебе щасливим, а щоб заробляти на життя, щоб потім скирдувати чи проїдати кому що вже більше до душі

Можливо допоможе в переоцінці й подивитись на все трохи під іншим кутом

оце мабуть те що я хотів почути. Якщо взяти великий скейл все одне й те саме. Взагалі айті нудна фігня в якій більше 5 років не раджу затримуватися на посаді гребця.

Всюди булшит, можу розписатись і видати справку з мокрим штампом в красивому ламінаті.

Ідеальних проектів не існує. Іноді буває так що от на кілька місяців чи рік — ідеальна команда, все топ, на висоті. А потім за одни день якась вища сила міняє менеджера, хороший колега звільняється і замість нього приходить якийсь яйцечос і загальний баланс яйцечесання порушується. Війна, криза, скорочення, поглинання і тд

Шукати де краще — корисно і треба, але щасливим це не зробить нікого. Скоріше навпаки. Через 11+ років ти сядеш і скажеш — блеать старався старався і та сама ***ня. А все тому що вихід не там.

Вихід тут можливо не так очевидний, але якщо в тебе не пару лямів баксів у заначці — ти пір’їнка що якусь мить вільно летить в центрі торнадо, а потім — туди куди несе.

Викинь усі ілюзії якими нас кормлять з дитинства. Ніхто ще в світі не помер від щастя, що він працює ява програмістом.

Неочевидні ліки тут, але не буду вже розписувати, зрозуміти, що робота — не має бути ніякою, це просто робота. Вона ніколи не закінчується. Вона може бути цікавою або нецікавою, команда хорошою чи поганою ітд. Але вона не зробить тебе ні щасливим ні повноцінним ні професіоналом і не дасть тобі жодне з цих відчуттів. Це речі які ти кажеш собі сам, а не хтось інший.

Ultimately, ми ходимо на роботу, бо нам страшно від думки що доведеться дохнути з голоду на вулиці і сидіти з баночкою в людному місці в будьякий з наступних надцяти років поки ти нарешті не помреш і не звільнишся від цього їпучого життя

Різниця між хобі і роботою, що хобі ти можеш закинути без наслідків. Кажу це, бо якомусь псевдопсіхологу захочеться написати щось про маслоу

Для маска, робота — це хобі, але раніше було обязаловкою. А в тебе тільки один варіант — обязаловка

Але жити з цією думкою кожен день — це ж краще лягти й присипати себе зверху зразу, це суїцидальні думки.

Випий стопку, подивись класний фільм, чпокни сусідку, подякуй собі що здоровий, й чпокни ще раз, і оціни що в житті є інші речі крім джави ;) Щоб чпокнуть сусідку жити варто, це — життя, а заради кар’єри джава і довгих нужних проектів — не варто.

Ну є інші важливі речі в житті теж, я для слівця, є діти, сім’я, рідні, в кожного свій власний ісус в голові, але точно це не про наворочений хайлоад на джаві довжиною в десять років.

З іншого боку — від знання джави ти тільки станеш гнучкішим і в тебе буде більше можливостей і стільців на які можна сісти. Так що це не домотивація, скоріше рафінування мозку як дивитись на життєву ситуацію.

Норм написав.
ІМХО, поки не пройдеш той шлях то не буде відчуття що робота це ніщо крім засобу заробляння грошей.

Хоча це напевно це в таких старих задротів як ти і я.

Памятаю як молодим бухали в офісі кожен другий день, а хеловін на роботі перейшов в двіж як кіно Мальчішнік в Вегасі з дівками і двома клубами.

Як оскар вайльд писав у документації, коли свербить, то тре почесати

Ну про гроші то не все так просто, людям важливо мати якийсь постабільніше й пожирніше кубик, навіть якщо абсолютна стабільність не існує а гроші папірячки. Відносно теж ок.

Як є проблема, треба вирішувати. Тільки свіч на джаву це хз чи пофіксить.

От реально, я часом пописував щось на айос, і на ікскод — цікаво блін. Реверсна ситуація вважай. І є абалденні просто проги які от дивися і думаєш, от обалденно було б це писати. Чи якоїсь зручної тулзовіни на маку завжди не вистачає. Це ж одна екосистема.

Або щось типу от працювати на АЕС, блін я б за копійки попрацював би рікдва і писав би навіть на фортрані якби заставили. Це ж блін ох_єнна експа, хоч гроші мабуть мізер буде

А тут зразу стрибок прям в джаву

Проблеми звужують перспективу, бінокль запріває тксзть, і видно лише те що під боком. А морє оно большоє, тільки у бінокль берег видно ©

в iOS разработке есть 2 мира -
1. Работа в средне-мелкокалиберных аутсорсерах где перебиваются проектами длительностью <1 год
2. Продуктовая разработка или аутстафф в больших галлерах где можно на 1 проекте работать спокойно 5+ лет

2я опция может дать все те хотелки которые можно получить при переходе в профиль джавы
в крупных продуктах всегда есть где разгулятся в инженерии, челленджей всегда хватает, апы калибра топ 100 аппстора в US это громадные долгострои где всегда будет работа на любой вкус
+ в целом волатильность отрасли это всегда плюс, новые версии iOS, новые девайсы, новые подходы это всегда больше работы

но понятно что пилить шаблонные простенькие проекты по нескольку штук в год это уныние и нужно переходить в другую весовую категорию

В Java справа не краще, на одну посаду сініора 35-40 людей на тім ліда (стафа) 10-15, вимоги на CRUD ( бекенд варіант формошлепства) — як в Google. Коротше настав той самий час, як казали HR — коли HR та рекрутери програмістам будуть треба більше, ніж навпаки, жалкуючись що з їх далеко на найкращими умовами та бюджетом, вони зі своїми типовими аутстафінговими контрактами без ясних перспектив та холодними дзвінками були не конкурентноздатними на ринку. Щоправда ніхто з HR-ів з того не радий, бо як бізнесу не треба програмісти, то HR-и їм також не треба. Як то кажуть коли нема машини, бензин ти не купуватимеш.
Тобто, зараз особливого сенсу міняти мобайл на Java, це шило на мило, зараз є сенс дивитись на використання AI в мобайлі і взагалі дивитись на Big Data, AI, ML тощо.

от знову AI.... в мобайлі нема AI, він живе на бекенді весь. Мобайл куций дуже для таких тасок.

Усё є, той же Tensorflow lite for Android наприклад. Також можна просто Bard та ChatGPT прикручувати для чогось і т.д. То таке — скажімо я граю на барабанах, а ви граєте на клавішних. От щось воно пішло не так, люди через брак грошей перестали слухати музику за гроші до тогоже лихоманка електронної музики почалась. І от ударники почали писати, що щось тут не так може я буду на клавішних ліпше грати, а клавішники навпаки почали писати, що щось тут не те — піду я в ударники. По факту не в мульті-інструменталізмі справа, а в тому, що не модну музику граймо.

Зразу видно людину обізнану, яка не особливо часто камеру запускає та галерею в умовах без доступу до інтернету і можливості клауд обчислень. Можна певні тренди помітити.

в іос, доречі десь так само, або більше кандидатів на одну посаду, але можна тут же на доу порівняти кількість вакансій іос/андроїд і джава, 42 і 92 відповідно. Розумію, що немає зараз стеку де би було багато вакансій, легко ввійти, високі зп і перспективи на роки. Треба розуміти одне, айті — це всього на всього інструмент для бізнесу, а не самостійна галузь, як така. Висновок — погано бізнесу , погано і айті. Але питання в іншому, як вижити до того часу коли стану ліпше?

До війни там і там і там було по пів тисячі, вакансій а найзатребуваніший був фронтенд. А так воно крім Java є ще Python та C#/.NET. Mobile — окремо йде React Native, окремо iOS/Swift окремо Android/Kotlin (хоча на Java усе ще можна, та вже не модно). Ну тобто — таке. Усе шило на мило + там, мінус тут.

На мобайл ніколи не було півтисячі вакансій. Найбільше, що бачив на ДОУ — десь по 200 на два основні мобайл напрямки.

В мобайлі плюс те, що зазвичай немає команд більше 5х людей на проекті на один мобайл напрямок, а частіше і взагалі 1-3. Що несе за собою відповідні бенефіти.

Зараз бачу тільки поход в продуктовий бізнес. Аутстаф/аутсорс модель завжди була кінечною, але давала велику маржинальність. Звісно можна ще робити короткі проекти, чи триматись за існуючих клієнтів на сапорт якщо вони є (будуть мутити скидку та зниження рейту, це вже однозначно це закон економіки — попит породжує пропозицію). Інша справа, що складно задумати продукт — коли більше нічим крім програмування ніколи не займався. Тобі просто нема з чого брати ідеї — окрім можливо засобів розробки типу GitLab. В мобілі точно є варіант геймдеву. Коротше тут треба робити мозковий штурм, задумувати апки, та продукти які потенційно можуть бути усім корисними. Скажімо мій знайомий колись почав з того, що запустив апку, що шукала найближчим банкомати, це тоді коли мобайл ще був маргінальною хакерською забавою.

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

Ерунда, за пару дней всё можно выучить. Это я по Go сужу.

Рекрутеру чи тому хто буде співбесіду проводити кількаденного вивчення Go не замінить років досвіду роботи з ним

Нормальний рекрутер дивиться на загальний досвід, а не на конкретні терміни. Go це лише інструмент. Для досвідченного розробника кількох днів достатньо щоб основи вивчити, кількох тижнів достатньо щоб почати писати нормальний код. Особливо зараз, з chatgpt.

Короче це знання які ти здобуваєш за пару тижнів. А ось досвід в розробці, вирішення тих чи інших проблем, знання як взагалі софт і комп’ютерні системи працюють, архітектура — безцінне, і воно не залежить від конкретної мови чи фреймворка.

Це все зрозуміло, але коли людей з безпосереднім досвідом в цій технології на місце є багато, — ані нормальних рекрутерів, ані тих, хто проводить співбесіду такі люди не будуть цікавити

так то воно так, от тільки наші рекрутери в більшості некомпетенті і дивляться на відповідність цифр в резюме до вакасній. нещодавно мій знайомий отримав відмову, бо в нього 3.5 роки досвіду, а не 4

ну ну))) пару дней)) чат жпт... а потім одне питання на співбесіді — розкажіть що таке поліморфізм і 90 відсотків сініорів не можуть пояснити і приклад навести. Я тільки ЗА, щоб таких було більше)

Полиморфизм это когда человек на себесе выдает себя за синьера

Оно вроде как все верно описано. Но есть одно но. Вся эта стабильность описанная, это в основном (не все) от мира ентерпрайз. Со всем сопустствующим багажом.
Но это как раз то, что интересно примерно половине людей. Их не страшат тонны легаси. Интересно в первую очередь материальная составляющая и прогнозируемость своего будущего.

Но есть противоположность — это «стильно-модно-молодежно». Это просто другой тип людей.

Как мне кажется, тут еще и возраст и наличие семьи тоже влияет. Когда человек молод, ему интересен весь этот движ, а позднее пресыщается и хочется остановить гонку.

ото ж бо і воно... я втомився від перегонів, які насправді не мають жодного змісту, все що нове зʼявляється у мобайлі це синтаксичний цукор, і те що давно вже працює в інших мовах, а от технологій які б вирішували нові проблеми, тобто охват задач збільшували і тим самим збільшували попит на IOS вже давно немає. Тендеція насправді дуже дивна, зараз всі у світі ходять з мобільними пристроями андроїд чи IOS, їх наче кожен день купують мільйонами, і логічно щоби розробка під них постійно збільшувалась, але на насправді пересічному юзеру вже нічого непотрібно, бо все давно є, крім нішевих рішень деяких бізнесів, які розробляють собі мобільний застосунки. Але зараз велика криза і мобайл нативний відійшов на задній план, бо значно дешевше зробити веб, і рекламувати його легше, а на мобілці відкрити веб вью яка редірекнте в на веб, та і все. Повертаючись до джави, фін установи нікуди не дінуться, а якщо дінуться то в нас вже будуть проблеми іншого характеру, типу де знайти коріння щоб поїсти, і прісну воду. Ще мінус мобайла, дуже багато UI, який тримається на фреймворках , і по суті ти table view программіст, який малює таблички, а твоя цінність заключається на ділі в тому що ти просто знаєш баги юайні і як обійти. Хоча на співбесідах питають архітектури, які на ділі просто непотрібні в мобайлі, з огляду на те що, проєкти малі і довго не живуть. 99 відсотків мобалй проектів це отримати json з бєкенда, щось в ньому змінити і відправити назад. От вам і весь мобайл.

так как-то вы очень упрощаете мобайл разработку или просто проецируете свой опыт.
есть такие проекты где можно найти себе челленджей по самое горло и работать на одном месте по 5 лет — взять даже наш рынок: работа сеньйором в тех же Uklon или Rozetka это точно не про верстку ячеек в тейблвью

Ентерпрайс уже лет п’ять как ушел на клауды с кибернетисом и лямбдами, Java 11+, Rest и т.д. Потому что мобильный фронт в первую очередь, все остальное вторично. Web front — React, Angular и Vue. Легаси реально примерно в 18 году начал повсемесно исчезать и вытесняться с рынка. Суппорт старого кода довольно быстро оказался просто экономически не рентабельным.

Так ґротескно, що я аж задумався, бо планував пізніше світчитись або у бік iOS dev, або ж Unity/C#.

Юніті точно не раджу, хіба Ви великий фан геймдеву. Як основний заработік точно не раджу, особливо зараз.

Шило на мило.

В ML/AI треба світчитись, в VR/AR в блокчейн, а враховуючи що ви на iOS я би шустрив доки і демки епловського VRа і відкладав би $3.5к для покупи хедсета.

Ну це просто вподобання ваші особисті, мене цікавлять факти, цифри і прогнози. VR/AR, блокчей — це все хайп який в минулому, криза показала спад сильний, думаю те саме буде з епловим VR, та й будувати власну карєру навколо одного пристрою, який тільки зявився імхо дуже ризиково.

Факти в тому, що openai наймає спеців на зарплату $10 лямів в рік. Так, я розумію що це не прості сінйори, но і у простих зарплата буде в 2-3 рази більше ніж у джавіста.

По поводу блокчейна:
www.linkedin.com/...​evelopers-bryant-nielson

Стаття написана в самому розгарі крипто-зими коли ринок був на дні до речі.

По поводу VR, серед сотні кандидатів я швидше зверну увагу на того, у кого в профайлі буде VR/AppleVision, ніж чергового джавіста працюючого над «high performance services», а по факту фіксив баги в легасі проекті. Хіба що це дійсно крутий джава спеціаліст з вражаючими компаніями і проектами в портфоліо.

Від вашого одного коментаря несе динозаврщиною ). Я бачу безініціативну людину якій головне стабільність, з дивізом «працює не трогай», «вам шашечки чи їхати», все нове — хайп, говно, і в тому дусі, а не людину, у якої горять очі, яка рветься пробувати щось нове, експериментувати, винаходити. Тому, вашу кандидатуру я би розглянув на якійсь легасі проект, не більше ).

Все нове проходить тестування на найдійність і попит часом. І так я в мене вже давно нічого не горіть. Я не знаю нікого хто працює 10+ років і в нього щось горить, хіба бомбить.

Підписатись на коментарі