Java Enterprise vs Android в 2019 — что выбрать новичку?

Решил поделиться своими мыслями на тему того, в какую отрасль разработки стоит пойти человеку, освоившему Java core и основы computer science. А дороги как известно две: Java Enterprise или Android-разработка. Под Java Enterprise программированием я понимаю разработку, вакансии которой на hh имеют заголовок «Java-разработчик». Вакансии, связанные с android-разработкой можно найти на том же сайте по запросу, соответственно, «android-разработчик».

Будем считать, что вы изучили на базовом уровне core языка Java, а также ознакомились с темами алгоритмов, SQL и другими базовыми вещами из computer science, и теперь выбираете путь куда двигаться дальше с прицелом на то, чтобы как можно скорее устроиться на должность junior-программиста. Обсудим какие есть плюсы и минусы в выборе между двумя обозначенными выше ветками разработки.

1) Стек технологий


Java-программирование пришло в бизнес уже почти 20 лет назад. Как следствие, в сфере появилось большое разнообразие фреймворков. На каждом проекте используется свой стек технологий, и бывает достаточно сложно понять, какие технологии еще будут жить, какие вот-вот умрут, а какие уже давно не используются. При этом, кроме джавовских вещей от джависта также требуют знать UI технологии: JS с фреймворками, html, css

Так как android относительно молодая ОС, а в бизнес она вошла еще позже, то тут нет такого зоопарка фреймворков как в большой джаве. Нет тут ни спринга, ни хибернейта, ни других более экзотических вещей. Работу тут можно начинать имея в багаже знаний лишь android sdk и java core. UI, насколько мне известно, предоставляется прямо «из коробки» (android studio), средствами drag and drop. То есть GUI часть дополнительно изучать не нужно

2) Особенности сферы


Как это ни печально, в России Java-программирования нет (за небольшим исключением — банки и гос порталы). То что мы пишем тут отправляется заказчикам в Европу и Америку. Следствием того, что заказчиками являются крупные компании является сложность самой бизнес-логики. Минимальный порог вхождения предполагает не только знание основных фреймворков, но также и специфические требования по распределенным системам, big data, глубокому пониманию многопоточности, машинному обучению

Android-приложения пишутся как для малого бизнеса, так и для крупных игроков по всему миру. Как следствие, есть возможность стартовать с простых проектов и развиваться в сторону более сложных. Другими словами, android предоставляет более низкий порог входа, но не ограничивает потолок — наряду с простыми проектами на рынке присутствуют также и достаточно сложные.

3) Есть ли будущее?


Насчет промышленного программирования на большой джаве — не знаю. Хотя она и держится в первых строчках рейтинга языков программирования, чем это вызвано для меня не понятно. Раньше это можно было объяснить наличием JVM и ее переносимостью, но теперь, когда десктопные приложения больше не разрабатываются и весь функционал выносится в веб — будущее джавы как языка для enterprise программирования для меня под вопросом. Наверное, раз джаву не очень активно используют российские компании, предпочитая ей другие языки программирования, видимо джава не очень современный язык, отвечающий требованиям реальной жизни.

На рынке смартфонов OS Android нет конкурентов. Вероятность того, что iOS поглотит android близка к нулю. Следовательно, ближайшие пару десятков лет в отрасли вряд ли произойдут существенные изменения. Может будут появляться новые фреймворки, но тот кто начинает с нуля сейчас сможет последовательно их изучать и расти профессионально вместе с развитием самой отрасли. В отличие от большой джавы не нужно пытаться изучить все и сразу, чтобы хоть куда-то устроиться — можно спокойно изучать тот небольшой scope технологий, что используются на рынке сейчас
Ads
AdBlock has stolen the banner, but banners are not teeth — they will be back

More

Comments 21

    +3
    Как это ни печально, в России Java-программирования нет (за небольшим исключением — банки и гос порталы)
    В этом месяце новое место работы искал. Всё у нас хорошо с Java вакансиями. Я про Москву, правда, сейчас.

    TL;DR: нравится заниматься визуалом, верстать и вот это всё — идите в Android-разработчики, нравится возиться на серваках — вперёд в Backend Developer'ы.
      0
      Даже в Иркутске есть вакансии. Хоть и немного, но платят сильно выше рынка.
        0
        Фраза «к сожалению в России джава-программирования нет» означает — джава код заказывают только крупные компании с мировым именем. Это приводит к тому, что простые проекты на джаве не пишутся. Как ПРОГРАММИСТ ты в джаве не нужен. Тут знания ООП, паттернов, solid ничего не стоят. Ценятся куда более глубокие знания — алгоритмы, искусственный интеллект, big data. И каждая тема — это как отдельная вузовская специальность. Например, нельзя сказать «Я знаю физику». Вопрос — какую? Механика, электродинамика, оптика и тд. Каждое направление — это отдельное болото, которое перейти можно только прослушав полный курс лекций вузовской программы. Также и в джаве — недостаточно знать core языка, ооп принципы и два популярных фреймворка. Например, чтобы писать программы для андроид, либо писать на js, php или любом другом популярном языке не нужны все эти специфические знания ИИ, big data и тд

        Как следствие сложности бизнес-логики появляется сопутствующий зоопарк околоджавистских фреймворков: hybris, Ignite, Hazelcast, ZK Framework, Apache Spark, hadoop, Hortonworks, jenkins, MQTT/HiveMQ, Apache Camel,
        Rabbit MQ, Docker, Apache Kafka, ElasticSearch, Kubernetus, Bamboo, TeamCity, pectin, MyBatis, Hudson, Bootstrap, Highcharts, FRP, Spock, QUnit, Semantic UI, Openshift, Swagger, Rest Assured, ClickHouse, Subversion, SalesForce, NetSuite, inContact
        Этот стек составлен из первых строчек джавистских вакансий на hh.

        Кстати, другая неприятная вещь, которая возникает из-за сложности джавистских проектов — трудно обобщить для чего вообще используется язык java. Например, на js всякие прикольные эффекты для сайтов рисуются, на php пишутся все современные веб-сайты, на C++ программируются микроконтроллеры. Какова область использования джавы? Пробежался по первым 20 страницам с HH и не заметил какой-то единой линии использования джавы
          +1
          Я попытался ответить на ваш комментарий, но потом понял, что ответ выйдет больше по размеру, чем ваша статья. Поэтому скажу лишь, что вы совсем не понимаете, о чём пишите.
            0
            Либо Вы тролль, либо Вы настолько не разбираетесь в программировании, что с каждым последующим комментарием показываете ещё большую некомпетентность. Единственный вопрос, который возникает: как человек, настолько не разбирающийся в программировании, решил поучить новичков на Хабре? Вы действительно не понимаете, что ничего не понимаете, или это такой прикол?

            Ахаха, не могу остановиться. Немного цитат.
            «на js всякие прикольные эффекты для сайтов рисуются» — этапять
            Перечисление джавовского стэка тоже мощное, без малейшего понимания, о чём речь в каждой технологии.
            Ну и самая мякотка: «Как ПРОГРАММИСТ ты в джаве не нужен.» — осталось донести это до армии программистов самого популярного в мире языка.

            Жаль, что автор не сможет больше писать статьи на Хабре, это было бы весело.
              0
              Вы действительно не понимаете, что ничего не понимаете, или это такой прикол?

              Эффект Даннинга-Крюгера во всей красе.
          +7
          будущее джавы как языка для enterprise программирования для меня под вопросом. Наверное, раз джаву не очень активно используют российские компании, предпочитая ей другие языки программирования, видимо джава не очень современный язык, отвечающий требованиям реальной жизни.

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

          Для начала надо набрать опыта в разработке, а потом уже философствовать на популярных ресурсах — современный язык «джава», или не очень. И определять будущее технологий по их популярности у «российских компаний».

          А может даже и специализацию стоит поменять, чтобы время не терять.
            +2
            +. Как говорил один человек, «уже кучу лет говорят что Java умрет, а она не умирает и не умирает»
            0
            Если собираетесь в будущем в США, то очень советую Java Enterprise, оно там очень востребовано и высоко оплачивается
              +1
              Автор статьи либо троль, либо решил написать свой вариант книги Григория Остера «Вредные советы».

              Решил поделиться своими мыслями на тему того, в какую отрасль разработки стоит пойти человеку, освоившему Java core и основы computer science

              Действительно очень важный вопрос для молодых специалистов в любое время, что же им посоветует автор?

              Как это ни печально, в России Java-программирования нет (за небольшим исключением — банки и гос порталы). То что мы пишем тут отправляется заказчикам в Европу и Америку

              Вот беда, Java Core учили, а выходит всё зря! Горбатиться на дядю Сэма, как же так? Возможно это какой-нибудь заговор?

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

              Автор и сам признаёт, что что-то тут не так… истина где-то рядом?

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

              Вот она и истина: Java ужас и мрак, а значит все кто используют данный ЯП просто извращенцы или старпёры.

              ИТОГ от себя.
              Плохие вредные советы. Почитайте Григория Остера что ли, узнайте как нужно писать.
              Java один из множества ЯП, который вы можете использовать в работе.
              Его часто используют для написания серверов: микросервисы с RESTful API — один из примеров применения, а диапазон компаний может быть широким от Lamoda до Ростелекома.
              Google написали распределённую файловую систему, в open source исполнении именуемую Hadoop Distributed File System.
              Игровые компании: могут использовать фреймворк Unity с ЯП C# (клиент) для ваших телефонов/планшетов, а общаться с сервером, написанным на Java.
              Банки: могут применять широкий диапазон технологий с разными ЯП и Java всего один из них, и да как правило это сервер.
              Панель инструментов с графиками: наверное это одно из немногих мест применения Swing/JavaFX для написания UI до сих пор (другие мне неизвестны)

              web-пауки, real-time bidding, сервис для кухонных рецептов вашей маме = всё это может быть написано на разных ЯП и в том числе с использованием Java.
                0
                Да та же Cassandra на Java.
                  0
                  А также графовая СУБД neo4j на ней же.
                0
                То, что автор выучил азы Java и не нашел работу, поэтому сейчас строит из себя обиженного обличателя — это понятно.

                Специфика Java заключается в том, что она достаточно сложная и объемная. Плюс Java не хило так вызывает отторжение у тех, кто сидел на более удобном стеке. Поэтому большие компании либо нанимают Java программистов с опытом, либо отбирают талантливых студентов через различные бесплатные обучайки и затачивают под себя. Поэтому у джуна с улицы нет шансов — это очевидно.
                  0
                  Вероятность того, что iOS поглотит android близка к нулю. Следовательно, ближайшие пару десятков лет в отрасли вряд ли произойдут существенные изменения.

                  По поводу отсутствия в будущем изменений в отрасли — сильное заявление.
                    0
                    +. Тут как раз куча вопросов от людей, которые хотят начать учить Android dev, по поводу
                    стоит ли учить Java, есть гарантии что Android не будет вытеснен новой ОС от Гугла
                    или
                    омг, на ежегодной Google конфе Google ни разу не сказала слово «android»!

                    Так что будущее андроида не так безоблачно.
                    0
                    Тоже недавно была аналогичная дилемма, думал на что сделать упор. В итоге заинтересовался Java Enterprise, но не со стороны разработки ( кодить пока получается не очень хорошо), а со стороны DevOps.
                      0
                      А дороги как известно две: Java Enterprise или Android-разработка. Под Java Enterprise программированием я понимаю разработку, вакансии которой на hh имеют заголовок «Java-разработчик»

                      С таким подходом можно считать, что и у C++ программистов дороги только две — системщики и прикладники.
                        0

                        Как же нету то? В нашей компании и Б2С и Б2Б проекты на java реализованы. Первый с 2004 года работает, второй с 2012. И кстати без спринга :)

                          0
                          Вероятность того, что iOS поглотит android близка к нулю. Следовательно, ближайшие пару десятков лет в отрасли вряд ли произойдут существенные изменения.
                          Если автор хочет выбрать технологию, и пару десятков лет в ней спокойно работать, то Java Enterprise для этого подходит лучше, учитывая то сколько фреймворков и кастомного софта для нее написано. Стабильности в Андроид (и мобильной разработке вообще) пока ждать не приходится: вот сейчас пошел хайп на Котлин, до этого умерли Блекберри и WF, Apple теперь топит за Swift, а про шапито фреймворков я вообще молчу.
                          Мой совет — изучайте все, до чего можете дотянуться в данный момент, но не слишком долго, чтобы не залипнуть на одном стеке слишком сильно.
                            +1
                            Сильные заявления экспертного уровня от человека, который, судя по статье, ещё даже не побывал в джунах.

                            Местами очень даже смешно.
                              0
                              в России Java-программирования нет (за небольшим исключением — банки и гос порталы)

                              — стоимость контрактов на разработку систем для госзаказчика которыми оперируют российские интеграторы, в разы превосходит то что зарабатывают остальные участники рынка разработки ПО. Цифры не секретные, легко гуглятся. Ну а разработка бэкенда для госов это преимущественно JavaEE.

                              Only users with full accounts can post comments. Log in, please.