スキップしてメイン コンテンツに移動

投稿

ラベル(エンジニア成長)が付いた投稿を表示しています

ブログを翻訳

COBOLの職人は“絶滅”するのか?——200人プロジェクトが証明した言語進化の真実

うわっ…言語が変わるだけで、人はここまで不安になるのか!? ■社会人6年目、突然の「Java化」 社会人6年目。私は、日本の金融業界の中心を司る巨大企業の基幹システム刷新プロジェクトにいた。これまで長年、COBOLで作り上げられてきた巨大なシステム。その変換先として提示されたのが「Java」だった。 最大時には200人を超える大規模プロジェクト。だが現場に広がったのは期待ではなく、不安だった。 「COBOLしかやってきていない自分たちは、Javaに対応できるのか?」 ■COBOLという“設計至上主義” COBOLは手続き型言語だ。プログラムは上から下へ、順番通りに積み上げる。 一行の文字数、配置、メモリの使い方まで厳密に意識しながら書く。 部品を呼び出すというより、「業務の流れ」をそのままコードに落とし込む。 だからこそ、設計がすべてだった。 設計で全体の順序を完璧に組み立て、それを忠実にコードに写す。 このスタイルに慣れたエンジニアにとって、「自由度の高いJava」は未知の世界に見えた。 ■Javaがもたらした“構造の解放” しかし、実際にプロジェクトが動き出すと、状況は大きく変わった。 Javaはオブジェクト指向をベースに、部品化・再利用・柔軟な構造を許容する。 さらに、メモリ管理の負担も軽減されている。 COBOL時代のように、細かい領域を意識し続ける必要はない。 この“制約の解放”が、現場に新しい風を吹き込んだ。 設計者もプログラマーも、思った以上にスムーズに適応していったのだ。 ■「言語は違えど、本質は同じ」 振り返ると、気づくことがある。 プログラム言語は違っても、「構造を理解し、論理を組み立てる」という本質は変わらない。 実際、Java以降の言語は構造が似ている。 現在主流のPythonやRubyといったスクリプト言語も、オブジェクト指向ベースであり、英語に近い記述で理解しやすい。 つまり、一つの言語で“構造”を理解した人は、次の言語にも応用が効くのだ。 当時のJava移行は、今で言えば「Javaからクラウド(Lambdaなど)への移行」に近いインパクトだった。 それでも、現場は乗り越えた。 ■200人が証明した「進化できる力」 最終的に、この200人規模のプロジェクトは成立した。 COBOLの...

英語でコードを書く時代が来た!?——“技術×言語”で進化するエンジニアの新常識

Cobol世代からAI時代へ——学び方が変わる瞬間 うわっ…英語ができないとコードすら書けなくなるのか!? ■「Javaってどう学べばいいの?」という時代 社会人になりたての頃、Cobolをずっと習ってきた先輩たちから、こんなことを聞かれた。 「Javaって、どうやって学べばいいんだ?」 今なら簡単だ。YouTubeを開けば、いくらでも解説動画がある。 だが当時は違った。まだYouTubeはそこまで流行っていなかった。 だから、基本は“本”。 それが唯一の学習手段だった。     ■分厚い本=ステータスだった時代 Javaの日本語の本も確かにあった。 しかし、正直に言えば難しかった。 理解が追いつかない。 読み進めるほどに、自信が削られていく。 そんな中で、多くのエンジニアが持っていたのが、オライリーの分厚い本だった。 あの本を持っていること自体がステータスだった。 「これを読んでいる自分は、できるエンジニアだ」 だが現実は違う。 その分厚さと難解さに、多くの人が挫折していった。 ■答えはシンプルだった——英語で学ぶ では、どうすれば良かったのか。 答えはシンプルだった。 “英語で学ぶ” 最新の情報は、いつも英語から始まる。 だから英語の本を読み漁るしかなかった。 辞書を片手に、一文ずつ理解していく。 正直、かなり難しかった。 それでも、得られるものは大きかった。 ■“システム英語”という武器 そこには、単なる英語以上の価値があった。 「システム特有の言い回し」が身についたのだ。 これは普通の英会話では絶対に学べない。 そもそも、英会話の先生でシステム開発を理解している人はほとんどいない。 日本の開発事情を理解している人もいない。 だからこそ思う。 「システムを英語で学ぶ」のは、非常に合理的な選択だ。 ■今の時代の学び方はどう変わったか では、今の人たちはどうしているのだろうか? YouTube?ネット記事? 確かに、それも正解だ。 だが、もう一歩踏み込める方法がある。 ■日英で学ぶという新しいスタイル 例えば、システム開発について日英両方で発信しているYouTubeを使う方法だ。 同じ内容を、日本語と英語で比較する。 それだけで理解が一気に深まる。 字幕を付けることもできる。 だが、あえて付けない方がいい。 耳と文脈で理解する力が鍛えられるからだ...

まだ現役!?――ミドルウェア構築で触れた「基盤づくり」の深層

アプリ屋が、いきなり開発基盤に放り込まれた話 うわっ、今でもあるの!?――正直、それが最初の感想だった。 次のプロジェクトは、日立の開発基盤を構築する案件。扱うのは Justware 。 研修時代に一部使っていたとはいえ、まさか今も現役で使われ続けているとは思わなかった。 でも、長く続けてくださっていることには、素直に感謝しかない。     ■自分たちの製品を使い続けるという文化 当時から、自分たちが作っている製品を自分たちの現場で多く適用していく文化があった。 それは、とても良い文化だと思う。 一方で、「自社製品縛り」になることで、動きにくかった点が多かったのも事実だ。 今回、自分が担当したのは、Justwareの中の ある一機能 。 まず全体を理解し、その上で機能を付け加えていく役割だった。 ■アプリ屋が、いきなり基盤づくり それまで作ってきたのは、ほぼアプリケーション。 そんな人間が、いきなりミドルウェア、しかも開発基盤づくり。 なかなか簡単じゃない。 担当したのは、端っこの機能とも言える Message Queuingシステム 。 でもこれ、今ではデータ転送が当たり前になった世界では、超必須の機能だ。 ■時代の少し先を行っていた機能 当時もシステム間連携は当然行われていたが、今ほど多くはなかった。 基本は自前で構築するスタイルで、DBやWeb、機能管理がメイン。 その中で、対外システムとの接続を担うのが、この機能だった。 使い方次第では、対内システムとの接続にも使える。 でも当時は、そこまで活用されていなかった。 使われていないから、資料も少ない。 ネット上の情報もほとんどない。 ■難解な情報と、深層への入口 ソフトウェア工場から出てくる Cosminexus の資料は、正直かなり難解だった。 読めば読むほど、「これはアプリじゃない」と思わされる。 でも同時に、ソフトウェア開発の 深層に近づいていく感覚 があった。 見えないところで、システムを支える仕組み。 派手じゃないけれど、確実に効いてくる世界だ。 ■次に進むための基盤 アプリしか作ったことがなかった自分が、基盤づくりに触れた経験。 これは、確実に次につながっている。 難しい。情報も少ない。 でも、だか...

また落ちた!?――30人が一斉に叩いた“あのサーバ”の真実

新人研修の終盤で見えた、設計と現場のリアル うわっ、マジかよ!? 画面が固まり、次の瞬間、サーバは静かに沈黙した。 「何回サーバ落とせば気が済むの?」——その言葉が、頭の中でぐるぐる回っていた。 空いた時間でお小遣いを貯めよう!「アイリサーチ」       新人研修も、いよいよ大詰め 新人研修は終盤戦。 30人の新人が、6チームに分かれてプログラムを作る。 ここまで来れば、あとは“動かしてみる”フェーズだ。 前回はApacheのサーバを使い、各グループのリーダーのPCにサーバを立てて進めていた。 多少不安定でも、なんとか回っていた。 今回は「Cosminexus」という選択 今回は日立の製品、 Cosminexus を使うことになった。 企業向けのミドルウェア。響きは頼もしい。 ……が、現実は甘くない。 ライセンスの関係上、全員に配れない。 手元にあるのは、 1台のPCにインストールできるCDが1枚だけ 。 そう、まだソフトウェアはCDからインストールする時代。 選択肢はほぼなかった。 苦渋の決断、その内容は… 悩んだ末の決断。 自分に与えられている 開発用PCにサーバを立てる 。 しかも、 1サーバで6グループ分のインスタンス を動かす。 つまり、30人全員が、同じPCにアクセスしてテストする。 今思えば、なかなか攻めた構成だ。 「ちょっと触るだけ」のはずだった 正直、そこまで影響が出るとは思っていなかった。 画面を少し表示するだけ。 画像もほとんどなく、機能確認が中心。 「ある程度は動くだろう」 そう、完全に油断していた。 異変は、静かに始まった 3チーム目、4チーム目までは、なんとかDeploy完了。 しかし、5チーム目あたりから様子がおかしい。 画面表示が、じわじわ遅くなる。 レスポンスが、明らかに重い。 そして6チーム目。 数人が同時にアクセスした、その瞬間——。 あれ?……落ちた サーバが、 一気に落ちた 。 PC本体は無事。 落ちたのは、サーバのインスタンスだけ。 「……うーん」 これが、性能問題か。 まさか、目の前で、自分が引き起こすとは思っていなかった。 仕様がない、という現実 問題は、 対応の仕様がないこと だった...

もう先輩!?――30人を前に立った日の話

新人だった自分が、教える側に立つまで うわっ、先輩ってどう振舞うんだ!? そんな言葉が、頭の中をぐるぐる回っていた。 気づけば私は、新人の教育係として紹介される立場になっていた。 空いた時間でお小遣いを貯めよう!「アイリサーチ」       突然始まった「教える側」の役割 今年の新人たちを対象に、2か月間でアプリを作り上げる研修プロジェクトが立ち上がった。 内容を聞いた瞬間、「え、自分が?」と心の中でつぶやいたのを覚えている。 準備は、もう一人の先輩と二人三脚。 研修内容を詰め、スケジュールを引き、どこでつまずきやすいかを想像しながら資料を作る。 「これ、新人に伝わるかな?」 そんなやり取りを、何度も繰り返した。 配属発表と、少し張りつめた空気 その年の新人の配属が、少しずつ決まってきた。 部長や課長が各部署を回り、挨拶と業務内容の説明をしていく。 その様子を後ろで見ながら、「もうすぐ本番だな」と、静かに覚悟が固まっていった。 そして迎えた懇親会。 私も“先輩”として参加することになった。 初対面30人、そして「研修をリードする先輩」 会場に入った瞬間、視線が一斉にこちらを向く。 初めて顔を合わせる30人。 その場で私は、「今回の研修をリードする先輩です」と紹介された。 ドキドキした。 いや、正直に言うと、かなりドキドキした。 いきなり、30人の先生役。 しかも、みんななんだかプログラミングができそうな顔をしている。 「このメンバーに教えていくのか……」 期待と不安が、同時に押し寄せてきた。 距離感も、緊張も、全部ひっくるめて 話しかけてくれる人。 少し距離を取る人。 やけに距離感が近い人。 本当に、いろいろいる。 会話をしながらも、手のひらにじんわり汗がにじんできた。 「結構、緊張してるな、自分」 そう自覚した瞬間、少しだけ肩の力が抜けた。 完璧な先輩じゃなくていい。 まずは、ちゃんと向き合えばいい。 そんな考えが、ふと浮かんだ。 来月から始まる、本当のスタート 懇親会の帰り道、先輩と二人で話した。 「来月から研修始まるね」 「ちょっとドキドキするね」 その一言で、すべてがつながった気がした。 不安なのは、自分だけじゃない。 だからこそ、...