Реза Рахман е Principal Program Manager за Java в Azure в Microsoft. Toй има над десетилетие опит в технологичното лидерство, корпоративната архитектура и консултациите. Работи с Java EE от самото й създаване, разработвайки почти всички основни платформи за приложения, вариращи от Tomcat до JBoss, GlassFish, WebSphere и WebLogic. Реза е разработвал корпоративни системи за известни компании като eBay, Motorola, Comcast, Nokia, Prudential, Guardian Life, USAA, Independence Blue Cross, Anthem, CapitalOne и AAA, използвайки Java EE и Spring. Той бе и един от основните лекторите на конференциите Java2Days и CodeMonsters през декември.
Г-н Рахман, вие сте често присъстващ на тези конференции.
Да, бях keynote лектор на първата конференция преди много години. Мисля, че беше 2009 г. Опитвал съм да присъствам на всички досега, но очевидно не винаги е било възможно поради причини, свързани с график и планиране. Но все пак съм участвал на повечето.
Тогава е трябвало да се пътува за конференции, но сега всичко е онлайн, така че, предполагам е по-лесно да посещавате повече.
Говоренето по конференции не е моята ежедневна работа, аз го правя от чувство за общност и помагам да се популяризира технологията и работата, която върша по Jakarta EE. Честно казано беше удоволствие да посещавам София от време на време. Когато за първи път бях в българската столица, за мен бе преживяване, отварящо очите. Бил съм в Москва и Русия, така че мислех, че имам най-обща представа какво да очаквам. Но Москва е съвсем различна. За мен това беше невероятно преживяване. Толкова много млади хора, готови за бъдещето и света. Техническата общност и младите хора в София, както и културата, и наследството на България за мен бяха много впечатляващи. Вие имате много силно усещане за това кои сте като хора. Така че с нетърпение очаквам да посетя още веднъж София.
Вие сте един от основните лектори на тази конференция и любимец на публиката. Какво мислите за първото виртуално издание на Java2Days и CodeMonsters?
Мисля, че всичко мина доста добре и наистина се радвам, че организаторите решиха да ги проведат. Посещаемостта беше много добра. За мен това наистина говори за упоритостта, това че сте провели конференциите, въпреки предизвикателствата и това, че всъщност хората присъстват и обръщат внимание. Честно казано наистина е страхотно и обнадеждаващо, че не сте си казали „о, ние имаме пандемия, така че нека не се натоварваме“.
Преживяването и обучението са наистина добри. А какво ще кажете за нетуъркинга, който е от голямо значение за разработчиците? Как му се отразява виртуалността?
Според мен не бе кой знае колко по-различно. Аз съм виртуален работник от много дълго време, така че за мен да работя по този начин е наистина естествено. Моите колеги винаги са били хора, с които говоря виртуално чрез Zoom, Google, Twitter, Slack и др. Същото е и с общността на разработчиците. Работя или в пространството на Jakarta, или в това на open source с хора от цял свят – Индия, Китай, Гърция, Великобритания, САЩ и др. Която страна се сетите. В този смисъл изобщо не е различно, а е дори същото. Разбира се, би било хубаво да присъствам на конференции от време на време и да се срещна лично с хора, но мога да кажа, че виртуално дори имам повече взаимодействия с хората, отколкото в миналото. Така че всичко е наред. Общността все още е ангажирана.
Четох, че за вас е мисия разработчиците на Java да се чувстват като първокласни граждани на Microsoft и Microsoft да се чувства като първокласен гражданин на Java екосистемата. Лекцията ви на конференцията бе с тема „How Microsoft learned to love Java”. Оставам с впечатлението, че Java не е толкова популярна в Microsoft или поне не е било дълго време.
Очевидно не. Опитът да се създаде на практика несъвместима имплементация на Java, както и загубава на съдебно дело и следващата стъпка със създаването на цялата тази .NET и C# екосистема, която се конкурира с Java и т.н. Примерите са много. Наясно сме и с битката между Linux и Windows. Microsoft не бе много добър приятел на Linux или Java. Отне известно време и това Сатя Надела да влезе в картинката и да започне да променя визията, която да казва „добре, вече не сме в собствения си малък ъгъл с Windows и .NET, и всички тези VB и C#”. Новият начин на мислене е по-скоро – трябва да се отворим към света. Така че, Java бе може би последната голяма стъпка. Microsoft прие Linux преди няколко години а също така ние прегърнахме Python и JavaScript, и всички тези технологии. Java наистина бе последният праг и ето, че работата е сериозна вече около 5 години. Това е г/д времето откакто можем да поставяме в едно изречение Java и Azure. Реалността е, че в резултат правим повече за разработчиците на Java, отколкото всеки друг публичен облак. Ако сте разработчик на Java и се свържете с Azure, то към вас се отнасят много по-сериозно и ангажирано, отколкото към която и да е друга основна облачна платформа. Това важи и за нашите партньори – IBM, Oracle, VMware и др., с които се опитваме да работим много тясно, защото ние сме техен основен cloud доставчик.
Какви са новите тенденции в екосистемата на Java напоследък?
Екосистемата на Java винаги върви напред. Някои хора казват, че Java е мъртва от 20 години, но това не е така, защото ние винаги вървим напред. Има много различни постижения на много различни нива. Очевидно Java EE е била vendor control technology за Oracle, която наистина се е преместила към open source и Eclipse Foundation, а след това се е придвижила напред и е започнала да прави иновации в Eclipse. Това е наистина голяма работа и повечето хора не говорят достатъчно по този въпрос, който е значителна част от отварянето на Java като платформа. MicroProfile е интересна разработка. За мен това е начин за придвижване на разработчиците на Java EE напред, докато правим този сложен и предизвикателен ход за трансформирането на Java EE към отворен код и Eclipse. Също така Quarkus става все по-популярен, Helidon, Micronaut. Spring community също правят иновации и се опитват да наваксат на Graal, което също е значителна промяна в екосистемата на Java и IoT. Интересното е, че започвам да виждам тенденция хората да се връщат към монолитни приложения и архитектури. За мен това е като момент „Завръщане в бъдещето“, защото осъзнават, че distributed системите не са за всичко. Това са само някои от ключовите тенденции. Мисля, че навлизането на Microsoft в екосистемата на Java е интересна тенденция. Хората може да не обръщат внимание, но това всъщност е промяна на играта.
Разработили сте много корпоративни системи за големи компании. Кои са най-важните предизвикателства при разработването на този вид системи в днешно време? Например един от казусите е в цените за поддръжка.
Винаги е горе-долу едно и също. Ентърпрайзът се движи много бавно. Има много legacy системи, a хората се опитват да внедрят нови технологии тук и там. Това е като да гледаш през витрината – човек от средната класа, който отива на пето авеню в Ню Йорк, разглеждайки Gucci и всички други скъпи марки. Разбира се, не купува нищо, просто поглежда в магазина и вижда всички интересни неща. За мен разработчиците на ентърпрайз са нещо подобно. От една страна трябва да наблюдават всичко интересно и да разберат къде могат да го приложат, но в действителност имат работа с 5 или 10-годишни legacy системи, които трябва да се поддържат и да работят ефективно по ефикасен начин. Така че, винаги е едно и също – надеждност, поддръжка, сигурност и т.н. Това са ежедневни предизвикателства при писането на ентърпрайз системи. Разбиране на изискванията – това е нещо голямо, а хората често го подценяват. Корпоративните предизвикателства не са свързани с най-новите и най-яките технологии. Те са много по-скучни, но може би много по-важни и много по-трудни.