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

投稿

ブログを翻訳

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

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

もう巣立つの!?――30人の新人と走り切った、短期決戦の4カ月

育てたつもりが、育てられていたのは自分だった話 うわっ、気づいたら終わっていた――そんな感覚が、正直なところだ。 30人の新人講師を務めたこの研修は、期間にして4カ月もない、短いプロジェクトだった。 空いた時間でお小遣いを貯めよう!「アイリサーチ」       ■短期決戦、30人×設計×プログラミング 最初に決まっていたのは、「短期決戦」だということ。 設計の考え方から、プログラミング、そして実際のシステム構築まで。 本来なら、もっと時間をかけたい内容を、一気に30人へ伝える。 正直に言えば、自分自身も経験豊富な訳ではない。 完璧な答えを持っている講師ではなかったと思う。 それでも、「現場で生きるための考え方」だけは、全力で渡した。 ■伝えきれないことが、山ほどある 日が経つにつれ、思いは増えていった。 「これも伝えたい」「あれも必要だ」 でも、現実は時間切れ。 まだまだ伝えられていないことが、たくさんある気がする。 それでも、やれることはやった。 限られた時間の中で、今の自分が出せるものは、すべて出した。 ■最後の報告会と、ほっとした瞬間 最後の報告会が終わった瞬間、肩の力が一気に抜けた。 「ああ、終わったな」 かなり、ほっとした。 その後、先輩と交わした「お疲れランチ」。 何気ない会話なのに、不思議と達成感があった。 ■新人たちは、それぞれの現場へ ほどなくして、各新人にプロジェクト割り当ての指示が出た。 みんな、現場へ散っていく。 これからサーバ関係で生きる人。 提案で勝負していく人。 黙々とプログラムを書いていく人。 道は違っても、同じスタートラインに立った仲間たちだ。 それぞれのプロジェクトで、うまく頑張ってくれるといいな、と心から思う。 ■育てた先に、自分の次がある ほっとした。 でも、同時に気づいた。 自分にも、次がある。 教える側として走り切ったこの経験は、確実に次の一歩につながっている。 完璧じゃなくてもいい。 やれることを、やり切ればいい。 私ならできる!明日から踏み出す

また落ちた!?――研修現場が突きつけた「2週間の決断」

新人研修の最終盤、サーバ1台で30人が学んだ本当のこと うわっ……まさか、このタイミングで!? 新人研修は真っただ中。プログラムの実装も大分終わり、いよいよテスト期間に突入していた。全体スケジュールは明確だ。残り1週間でテストを完走し、ラスト1週間はバッファと報告書作成。まさに大詰めだった。 空いた時間でお小遣いを貯めよう!「アイリサーチ」       ■30人、6チーム、そしてサーバ1台 研修は6チーム×5人、合計30人。全チームが同時にサーバへDeployしてテストを進める段階に入った。 だが、現実はシンプルで残酷だった。 サーバマシンは開発機1台。サーバアプリは6インスタンス。お手本として立ち上げていたインスタンスは、とっくに削除している。 ■メモリとCPUを見つめる朝 朝、研修が始まる。 メモリとCPUのモニタ画面をにらめっこしていると、開始直後にキャパシティはほぼMAX。 そして1時間もすると、 「あ、落ちた!」 再起動。 「すみません、もう一度立ち上げます」 また再起動。 この繰り返しが、正直つらかった。 ■あと2週間だけ、という判断 「でも、あと2週間だけだし……」 このために新しいサーバを買うのか? 課長に相談すると返ってきたのは一言。 「頑張って」 ……え?何を、どう頑張る? ■苦肉の策と、悔しさ 結局、時間帯でチームを割り当てる運用にした。 割り当て時間以外は、のんびり雑談している新人たち。 まあ、そうなるよね。 仕方ない。そう自分に言い聞かせながらも、悔しさは消えなかった。 ■環境設計は、学習体験を左右する この2週間で、はっきり学んだ。 環境設計は、技術以上に体験を左右する。 結果として、テストを最後までできなかった人も出てしまった。 申し訳ない気持ちは残った。 ■それでも残ったもの それでも、新人たちは楽しそうだった。 「楽しかったです」 その言葉に、少し救われた気がした。 楽しく学べた。それだけでOKなのか―― そんな問いを胸に残しながら、研修は終わった。 次は、同じ状況を繰り返さない。 次は、環境からちゃんと設計する。 私ならできる!明日から踏み出す

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

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

まだ終わらないの!?――バグ調査が教えてくれた“チーム成長の壁”

設計は回り始めた、その先で止まったもの うわっ、今日も列ができてる!? 振り返ると、昼間の自分の席の横には、いつも誰かが立っている。質問、確認、相談……。気づけばそれが日常になっていた。 空いた時間でお小遣いを貯めよう!「アイリサーチ」       新人30人、設計説明は「そこそこ」こなせていた 新人30人への設計説明。最初はどうなることかと思ったが、回数を重ねるうちに、要点を押さえて話せるようになってきた。 説明会も板についてきて、「この部分はここを見てね」と自然に言えるようになった自分がいる。 先輩との関係と、見えてきた役割分担 先輩との関係も、少しずつ良くなってきた。 特に“時短の先輩”。プログラミングは得意ではないけれど、計画、調整、そして上とのコネクションづくりが本当にうまい人だ。 だから自然と役割が分かれた。 先輩は全体調整と上流。 私は設計とプログラムのサポートに集中。 チームとしての役割分担が、やっと形になってきた気がしていた。 「うまく回っている」と思っていた、その矢先 正直、そこそこ上手く動いてきたと思っていた。 そんなタイミングで、設計の質問が一気に増えた。 説明すれば終わるものが多く、急遽説明会を開いて対応。支援に入ってくれる先輩もフル活動だった。 止まったのは、バグだった でも、ある瞬間から一気に詰まった。 それはプログラミングの質問が来た時。 「これ、バグですよね?」 「動かないんですよね」 ――ということで、一緒にバグ探し。 よくあるスペルミスならまだいい。 スペースの違いを探す目も、だいぶ鍛えられてきた。 設計とバグの決定的な違い ただ、分からないバグも多い。 設計の質問は、説明すれば終わる。 でも、バグの質問は“探さないと終わらない”。 ここで、時間が一気に溶けていく。 昼間は常に列ができ、進捗は遅れ始める。 「大変!もう回んないかも!」 そんな焦りが、正直頭をよぎった。 それでも見えた、次の一歩 でも、ここで気づいた。 これは個人の限界じゃない。 チームが次の段階に進んだサインなんだ、と。 仕組み、共有、切り分け。 やることは山ほどある。 だからこそ、次は“回し方”を進化させる番だ。 私ならできる!明日から踏み出す

その質問くる!?――教える立場で気づいた、本当の成長

新人に鍛えられる日々が、いつの間にか自分を前に進めていた話 うわっ、質問が厳しくないっすか!? そう心の中で叫んだのは、新人研修の真っ只中だった。Webシステム、Javaを本格的に触り始めてまだ1年半。社会人になってから始めたJavaだ。大学ではCをやっていたから、プログラミング自体が初めてではない。でも、オブジェクト指向、言語ごとの思想の違い、設計の考え方……正直、必死に勉強してきた、というのが実感に近い。 空いた時間でお小遣いを貯めよう!「アイリサーチ」       「完ぺきじゃない自分」が教える側に立つ そんな状態で、今度は新人の皆さんにJavaを教える立場になった。人数は30人。5人ずつのグループで6チーム。同じ説明を何度も繰り返す日々だ。不思議なもので、同じことを話していると、自分の理解も少しずつ深まっていく。「あ、ここ曖昧だったな」と気づく瞬間が増えていった。 新人のほうが、分かっていることもある でも現実は、そう甘くない。質問が鋭い。いや、正確に言うと、かなりシビアだ。年代もたった1年ほどしか変わらない。Javaは比較的新しい言語だから、自分よりも深く触ってきた人がいても不思議じゃない。新人の皆さんのほうが理解している部分も、正直たくさんあった。 「分かってないな、って思われてるんだろうな」 そんな考えが頭をよぎるたび、最初は悔しかった。 諦めた先に、見えたもの でも、しばらくすると、ある意味で諦めた。 ――完ぺきに教えるなんて、今の自分にはできない。 じゃあ、何ができるのか。一生懸命、今の自分が理解していることを伝える。それだけだ。間違っていたら修正する。分からなければ調べて、次に活かす。 そうやって、ちょっとずつ修正しながら前に進んでいった。 忙しさの先にあった「楽しさ」 気づけば、忙しさにも慣れていた。質問が飛んでくるのが怖い、という感覚も薄れていく。むしろ、「いい質問だな」と思える瞬間が増えていった。新人の皆さんと一緒に悩み、一緒に考える。いつの間にか、これは「教える場」ではなく、「共同プロジェクト」になっていた。 完ぺきじゃなくていい。前に進み続ければいい。 そう思えたとき、少しだけ視界が開けた気がした。 私ならできる!明日から踏み出す

これ全部今週!?――研修初日から全力疾走の現実

説明会の嵐が教えてくれた、「始まり」の重さ うわっ!嵐みたいに始まったぞ――説明、説明、また説明! そんな感嘆が、6月末のある朝、頭の中を駆け巡った。ついに新人の配属。静かな助走期間なんてものはなく、いきなり怒涛の日々が幕を開けた。 空いた時間でお小遣いを貯めよう!「アイリサーチ」       ◆6月末、ついに新人が来た 会議室に集まるフレッシュな顔ぶれを前に、まずは課長、そして上の先輩方からの挨拶が続く。歓迎の言葉と同時に、場の空気は一気に「仕事モード」へ切り替わった。 その裏で、頭の中では別のタスクがぐるぐる回り始める。プロジェクト説明の段取り、時間配分、資料の順番――調整することだらけだ。 ◆先輩の話も、調整が必要 次は先輩エンジニアたちの説明。ここでもただ話してもらえばいい、というわけにはいかない。 内容の重なりはないか、難しすぎないか、新人の理解ステップに合っているか。スケジュールを組み替えながら、ドキュメントにも手を入れていく。 ◆そう、プログラマーは何でもする プログラムの説明が始まれば、当然質問が飛ぶ。すると見えてくるドキュメントの不備。 「ここ、分かりにくいですね」 その一言で、修正タスクが増える。夜になり、みんなが帰ったオフィスで、ひとり静かに資料を直す時間が続く。概要説明を詰め直し、構成を整理し、言葉を選び直す。 ◆チーム分けも、簡単じゃない さらに悩ましいのがチーム分けだ。30人の新人を、どう組み合わせるか。 2人で30人のプログラム教育。しかもゴールは、アプリを作って、サーバで動かすところまで。理想と現実の間で、スケジュール表とにらめっこする毎日だ。 ◆やばい、終わるのか、これ??? 正直、不安しかない。 「本当に回るのか?」 「このペースで大丈夫か?」 そんな問いが、何度も頭をよぎる。だが同時に、これは間違いなく 1つのプロジェクトのスタート でもある。 ◆不安の中で、前を向く 完璧な準備なんてできない。走りながら直すしかない。 説明会の嵐に巻き込まれながら、少しずつチームが動き始めるのを感じる瞬間もある。 だからこそ、言い聞かせる。 私ならできる!明日から踏み出す