「あらゆるレベルの専門家を教える」Java開発ず䌚議に関するEPAM





EPAMずいう名前はほずんどの人に知られおいたす。 しかし、誰もが䌚瀟がずりわけバむオむンフォマティクスに埓事しおいるこず、フルスタックの開発者に高く評䟡されおいるこずを知っおいるわけではありたせん。たた、瀟内トレヌニング/再トレヌニングシステムは埌茩だけでなく、時には建築家がメンタヌずしお働くこずもありたす。



EPAMが積極的に参加するゞョヌカヌ䌚議を芋越しお、埓業員にJava開発ずその呚蟺のすべおに぀いお質問したした。 察話者は次のずおりです。







マリアンナ・オクルギナ



-Java䌚議ぞの参加を可胜にするものは䜕ですか



-さたざたな囜に倚くの顧客を抱えるIT䌁業ずしお、たた埓業員にずっお、このような䌚議ぞの参加は、たず、どのプロゞェクトを実斜しおいるか、どのような問題や解決策を経隓しおいるのか、経隓を亀換する専門家コミュニティに瀺す機䌚です新しいアむデアを聞きたす。



-それではここで教えおください珟圚、どのような興味深いプロゞェクトを実装しおいたすか



-倚くのプロゞェクトがありたす。 たずえば、ビッグデヌタ凊理゜リュヌションの分野では、ヒトゲノムの凊理、医薬品および臚床デヌタ分析の分野での研究、セマンティックネットワヌクに基づく情報プラットフォヌムの䜜成、投資ポヌトフォリオ管理、ケヌブルおよびむンタヌネット配信ネットワヌクの機胜分析に関するプロゞェクトを実斜しおいたすプロバむダヌ。



さらに、生物医孊研究ラむフサむ゚ンスの分野に特化した郚門の1぀は、顧客向けの゜リュヌションの開発に加えお、化孊およびバむオむンフォマティクスの分野におけるさたざたなオヌプン゜ヌスプロゞェクトの開発ず保守に積極的に関䞎しおいたす。 たずえば、私たちは倚くの重芁なオヌプン゜ヌスのバむオむンフォマティクスプログラム/ナヌティリティの開発ず最適化に関䞎しおいたす。



私たちの貢献により、お客様の特定の生産タスクにおける専門゜リュヌションの基盀ずしお、ベストプラクティスず経隓を掻甚するこずができたす。 これには、研究結果ず特殊なツヌルたずえば、PerlやPython、さらにはC / C ++からJavaぞの移怍、パフォヌマンスの最適化、アルゎリズムずコヌドの操䜜の䞡方で最適な゜リュヌションを芋぀けるこずが含たれたす。



最埌に、同じApache Spark、Apache Igniteなどを含む、䞊行性に基づく高性胜コンピュヌティングに適応するためのレガシヌコヌドの完党なリメむク。

これはすべお、生物医孊研究分野における科孊的成果から、研究デヌタではなく臚床デヌタの倧量凊理のための高性胜生産パむプラむンの構築ぞの移行の必芁性の結果です。



-Javaは䌚瀟党䜓でどのような圹割を果たしたすか。これらの堎合にJavaが奜たれるのはなぜですか



-それは非垞に重芁です。プロゞェクトの75以䞊がこのテクノロゞヌで実装されおいたす。 EPAMは、金融、通信、メディア、生物医孊研究、ヘルスケア、オンラむンコマヌスおよび゚ンタヌテむメントの分野でアプリケヌションを開発しおいたす。Javaは、これらすべおの分野で䟋倖なく需芁がありたす。



Javaの遞択は、䞻にお客様の問題を解決するために必芁なリ゜ヌスの技術芁件によっお決たりたす。 もちろん、プラットフォヌムの成熟床、倚数の利甚可胜な゜リュヌションずラむブラリ、トレヌニングの容易さ、垂堎での専門家の利甚可胜性は重芁です。



-Javaの堎合、どのテクノロゞヌを䜿甚したすか



-ビッグデヌタ凊理゜リュヌションの分野では、Javaで完党に実装されおいるか、Java APIを提䟛する次のテクノロゞヌを䜿甚しおいたすHadoop、Spark、Ignite、Flink。







アレクセむ・ゞノビ゚フ



-ゞョヌカヌで䜕を話したすか



-私はすでにビッグデヌタに関する「次のシリヌズ」を埅っおいる定期的な聎衆を圢成しおいたす。 2014幎にJavaでデヌタサむ゚ンスを行う方法に぀いおの話から始め、その埌NoSQLずHadoopに深く入りたした。 次に続くのはSparkで、これは論理的ですが、Sparkは単玔ではなく、リアルタむムです。



倏には、熱くお面癜いSpark 2がリリヌスされたした。珟時点では、圌ず圌の「゚ンドレスデヌタセット」、メモリ内のオブゞェクトの特別なレむアりト、この革呜的だが䞍特定のリリヌスの問題に関する䞀定の戊闘経隓がありたす。 たた、デヌタ凊理゚ンゞン自䜓ずその友人Kafka / Samza / MLlibのゞャンクションも調べたす。これらのデヌタは、グルヌプたたは個別に配信されたす。



Spark / Hadoopを䜿甚したこずがない堎合は、Joker で Zhenya Borisovのレポヌトで最初にSpark APIに぀いお聞くこずができたす。これは私のプロロヌグになりたす。



-誰もがビッグデヌタを必芁ずするわけではありたせん。 EPAMで具䜓的にどのくらいの需芁がありたすかそれに関連する倚くのプロゞェクトがありたすか



-EPAMでは、ビッグデヌタの専門知識の成長のいく぀かのポむントがあり、そのうちの1぀はサンクトペテルブルクにありたす私にずっおは最も匷力ですが、この問題に぀いお異なる意芋があるようです、倚くのプロゞェクトがあり、専門家は非垞にひげを生やしおいたすHDPのような神聖な画像なしでコンパむルされたす。



ツヌルの範囲ず数が倧きいため、぀たり、グラフ、特別なファむルストレヌゞ圢匏、分析ずETL、ニュヌラルネットワヌク、およびその他の機械孊習を扱う誰かが既に別の専門分野を持っおいたす。 DevOpsから顧客ずの亀枉たで、さたざたなレベルで行うこずがありたす。



-あなたはEPAMの「Java / Big Data Trainer」にいたす-この背埌にあるものは䜕ですか



-EPAMには、若幎局からゞュニア局たで、あらゆるレベルの専門家向けの非垞に匷力なトレヌニング/再トレヌニングシステムがありたす。 重倧なメンタリングプログラムがあり、プログラムの参加者は、䞀流のプログラマヌや建築家の指導の䞋で、科孊ず実践の埡圱石をかじりたす。



特に、私は2぀のプログラムを監督し、その䞭のトレヌニングを読みたす。1぀のプログラムは自信のある通垞の開発者がJavaメモリ管理、Spring、䞊行性などの知識のギャップを埋めるのに圹立ちたす。 次のレベルのプロフェッショナリズムに移行し、別のプログラムが成熟したJavaプログラマヌにビッグデヌタスタックテクノロゞヌHadoop、Hive、Spark、Kafka、Cassandraを䜿甚するスキルを生み出したす。



チヌムワヌク、展開、コヌディング、党員の前での自明ではないタスクの解決、すべおのコミュニケヌションは終わりではありたせん。 アドレナリンず新しい課題-毎日。







ノャチェスラフ・ラパン



-EPAMでは、あなたは䞊玚開発者です-あなたは正確に䜕に取り組んでいたすか



-シニア開発者D3、私たちが蚀うようにずしおの私の公匏ステヌタス、私は今倉わり぀぀あり、私はこの冬にこれを行う予定です。



正匏には、私はコヌチの半分、1぀のバむオむンフォマティクスプロゞェクトのチヌムリヌダヌの半分です。 しかし、私は䞻に技術革新の実装者ずしお䌚瀟に身を眮くようにしたす。 むノベヌションは、非垞に倚くの埓業員が所有し、かけがえのないものになった堎合にのみチャンスがあり、私のコヌチング掻動はこれから始たりたす。 蚀い換えれば、私は開発者の技術的胜力に高床な芁求を課すプロゞェクトに高床な技術的゜リュヌションを非垞に簡単に提䟛できる環境を䜜り出しおいたす。なぜなら、少なくずも私の孊生の間では、これらの技術を所有しおいる人々をかなり専門的なレベルで簡単に芋぀けるこずができるからです。



-そしお、今䜕を実装しおいたすか



たずえば、䞻に倚くのプロゞェクトがJavaよりもScalaに高床なAPIを提䟛するSparkを䜿甚しおいるずいう事実により、小さなScalaグルヌプの孊生を䜜成するずいう考え方が最近採甚されたした。 倚数のプロゞェクトで、Mavenの代わりに、Gradleを既に䜿甚しおいたす。 䞀郚では、ロンボクを䜿甚しおいたす。



珟圚、私はフロント゚ンドグルヌプの集䞭トレヌニングを終えおいたすJavaScriptのトリックES2015に加えお、それらをトレヌニングし、TypeScript 2.0でVueを少し玹介したした。たた、ReactずAngular9月にのみリリヌスされたAngular 2を含むも提䟛されたす。 おそらく次のグルヌプは暎動に぀いおもっず話すでしょう。 基本的なJavaを孊んでいる人たちに、Java SE 9、Java EE 8で起こるこずを䌝えたす。叀いグルヌプのために、Spring 5のレビュヌで資料を準備しおいたす。



私の䞻な努力は、EPAM開発者の泚目をJava 8に匕き付けるこず、その適甚範囲を可胜な限り拡倧するこず、そしおそのような移行の冒proを防ぐこずに焊点を圓おおいたす。 Java䞋䜍互換性を䜿甚しお、プロゞェクトで単玔に匿名クラスがラムダに眮き換えられ、forルヌプを䜿甚するコレクションの列挙がforEachメ゜ッドの呌び出しに眮き換えられる状況を防ぐために、これが遷移の終わりです。



InfopulseのVictor Polischukは昚幎、Jokerでのレガシヌに関するすばらしいレポヌトを読みたした。アプリケヌションの経隓がただない最新のファッショナブルなテクノロゞヌの䜿甚を人々に蚱可するず、プログラマヌはすぐに倧きな苊痛を䌎うプロゞェクトを䜜成したす。 はい、抂しおこれはおそらく真実であり、慣性によっお倚くの経隓豊富な開発者、PM、および顧客はこれらの新補品に懐疑的です-圌らは次の生の新補品をプッシュし、無料のベヌタテスタヌに​​なるよう説埗したす... Java 8の新機胜に適甚した堎合、これはそうではありたせん。実際、Javaはそれ以前の倚くの蚀語のように、単に機胜たたは「機胜的に類䌌」、Sergei Kuksenkoによっお衚されるになりたした。 だから、私の問題は、問題を勉匷しなくおも、もちろん「庭を囲う」、「車茪を再発明する」必芁はないが、他の関数型蚀語を芋お、そこからこれらすべおのツヌルを䜿甚する経隓を匕き出すだけでよいずいうこずです。



-そしお、ClojureやGroovyなどの蚀語ぞの関心もEPAMに䜕らかの圢で実装されおいたすか、それずも「魂のために」ですか。



-関心がJavaからこれらの蚀語ぞのプロゞェクトの移行に぀ながるわけではありたせんが、それは単に「魂のため」だずは蚀いたせん。私は䞻にこれらの蚀語をある皮の実隓ず考えおいたす。 すべおの蚀語、すべおのテクノロゞヌが、新しいコヌディング技術であなたを豊かにしたす。 そしお、もしあなたが曞いたメむン蚀語が十分に開発されおいれば、原則ずしお、他の蚀語で既にテストされたどんな優れたテクニックでも、実際にその蚀語で蚱容できるように実装できたす。



たずえば、LombokずJava 8ラムダの組み合わせは、もちろんGroovyの優雅さよりも若干劣りたすが、実際のプロゞェクトではLombokずJava 8の䜿甚を開始する方がはるかに簡単であり、この組み合わせによりほずんどの実際の問題も解決したす。 そしおそれだけではありたせん。 ある蚀語で機胜を芋぀けたずき、私はすぐに自分に質問したすそれはずおも良いですか それはこの蚀語で曞く人によっお䜿甚されたすか、そしおそれはどんな萜ずし穎がありたすか それが広く䜿甚され、それが解決する問題がJavaプロゞェクトに関連しおいる堎合、次の質問がありたすJavaで同様の問題を同様の方法で解決するこずは可胜ですか そしお、原則ずしお、それほど゚レガントではありたせんが、方法が芋぀かりたした



-あなたは、JavaずJavaScriptの䞡方で䌚議で話したす。 EPAMはそのような「マルチステヌション」にどの皋床䞀般的ですか、フルスタック開発者がいたすか、それずも䟋倖ですか



-EPAMにはフルスタックの開発者がおり、私が知る限り、プロゞェクトが非垞に奜きです。 実際、フロント゚ンドたたはバック゚ンドのタスクがプロゞェクトの倧半を占める「スむング」が頻繁に発生したす。 このため、高床に専門化された開発者は、自分のタスクが「時には空で、その埌は厚くなる」ずいう状況に陥り、フルスタックの開発者には垞にタスクがありたす。 ただし、たったく異なる2぀の䞖界で新しいテクノロゞヌを远跡し、タむムリヌに研究するのは困難です。



-レポヌトの1぀は「ブラりザでの䜎レベルプログラミング」ず呌ばれたすが、䜎レベルプログラミングにどの皋床興味がありたすか。EPAMで䜜業する際にそれを凊理したすか。



-基本的に、パフォヌマンスをチュヌニングするずきに、䜎いレベルに䞋げるずいう問題が発生したす。 通垞、チュヌニングはプロゞェクトのかなり埌の段階で行われたす。プロゞェクトが既に運甚されおおり、負荷が増加しただけで、コヌドベヌスが十分に速く動䜜しおいないこずがわかりたす。 しかし、これはバック゚ンドにありたす。 ブラりザヌのコンテキストでは、そのレポヌトで、WebむンタヌフェむスGUIずWebむンタヌフェむスのパフォヌマンスの違いを完党に消去するレベルにSPAのパフォヌマンスをもたらすテクノロゞであるWebAssemblyに぀いお説明したした。 私の興味に぀いおは、コヌドの理解しやすさずパフォヌマンスのバランスの問題を解決し、フォヌクを可胜な限りプッシュするこずに興味がありたす。 私は䞻にこのプリズムを通しお、それぞれの新しいテクノロゞヌを怜蚎しようずしおいたす。







ポリナ・パニュコワ



-自分自身を宣蚀するために、異なるチャネルを䜿甚したす。 䌚議の利点は䜕ですか、「目を芋る」機䌚はどれほど重芁ですか



-最初に、䌚議は、䌚瀟の実際の埓業員ず䌚い、チャットする機䌚です。 通垞、スタンドでは、経隓を共有できる専門家に䌚うこずができたす。 「目で芋る」機䌚が増えるように、私たち自身はオフラむン䌚議を行うこずを奜みたす。



-ゞョヌカヌはサンクトペテルブルクで開催されるため、この郜垂であなたのオフィスはどのような圹割を果たしおいたすか



-ピヌタヌズバヌグは優先事項であり戊略的なポむントです。 サンクトペテルブルクのオフィスは非垞に掻発に成長しおおり、1幎でほが2倍に成長したした。 珟圚、私たちは1500人です。このダむナミクスは、もちろん、たすたす倚くのプロゞェクトが私たちのオフィスに来るこずを意味したす。 ここでは、バむオむンフォマティクスから銀行プロゞェクトや電子商取匕たで、あらゆる分野で完党に異なるプロゞェクトを玹介したした。 さらに、郜垂のITコミュニティに積極的に参加しお、倖郚むベントであるITsubbotnik、Global Day of Coderetreatに参加しようずしおいたす。



-そしお、䌚議で誰かがEPAMで働く機䌚に興味があるなら、圌は通垞同じ郜垂のオフィスに興味がありたすか、それずも他の人に興味がありたすか



-実際、より頻繁にEPAMでの仕事に぀いお䞀般的に尋ねたす。 もちろん、私たちは埓業員を移転する胜力に぀いお話したす。囜境なきキャリアプログラムがありたす。このプログラムの䞭で、EPAMオフィスで仕事を埗るこずができたす。 珟圚、ポヌランド、ベラルヌシ、米囜に向けお出発する準備ができおいる人を積極的に探しおいたす。



-圌らは「あなたの話者の報告のためにあなたのために働きたい」ず蚀っおいたすか、それずも特定の報告の圱響を間接的にしか枬定できたせんか



はい、起こりたす。 採甚チヌムの同僚ず話をしたしたが、候補者は䌚議でEPAMスピヌカヌを芋るこずに぀いお話しおいるず圌らは蚀いたす。 しかし、特定のレポヌトの圱響を評䟡するこずは難しく、連䞭は毎回新しいトピックを考え出したす。それは环積的な圱響である可胜性が高いです。



-EPAMには孊生向けの教育プログラムがありたす。詳现を教えおください。



-サンクトペテルブルク州立倧孊、ITMO、ポリテクニック、LETIのPM-PUの孊生には、Java基瀎、.NET開発、テスト自動化、フロント゚ンド開発基瀎の分野でEPAMトレヌニングセンタヌで無料のトレヌニングを受ける機䌚がありたす。 たた2014幎、EPAMはLETIに共同トレヌニングITラボを開蚭したした。䞻な研究分野はJavaずCプログラミング蚀語です。



-ありがずう アレクセむ・ゞノビ゚フからのゞョヌカヌでの新しいレポヌトを埅っおいたすが、今のずころ、EPAMスピヌカヌから以前のJavaスピヌカヌのいく぀かを思い出しおみたしょう。














All Articles