Techouse Developers Blog

テックハウス開発者ブログ|マルチプロダクト型スタートアップ|エンジニアによる技術情報を発信|SaaS、求人プラットフォーム、DX推進

ちょっとだけ、自慢させてください。うちのハイレベルなインターン生。【LTイベントレポート】

ogp

こんにちは、株式会社Techouseエンジニアの澤井です!

今、私たちの会社には、優秀で、面白く、そして何より技術が大好きなインターン生たちが集まってくれています。

先日、そんな彼らが主役のLT(ライトニングトーク)イベント「Techouse Engineer LT Night」を開催したのですが、その成長ぶりには目を見張るものがありました。 今回は、そのイベントの様子をレポートします。

LTイベントの概要

このイベントは、Techouseのインターン生たちが自身の研究や開発に関するトピックを自由に発表する場として企画されました。彼らは、普段の業務ではなかなか触れられない技術的な挑戦や、興味深いプロジェクトについて話すことができました。

LTイベントの様子

インターン生の発表内容

それでは、各インターン生の発表内容をご紹介していきます。どれも技術的な深さと個性に溢れた素晴らしい発表でした。

Matsu-Nobuさん:「26卒インターンでRubyKaigiに行った話」

トップバッターの Matsu-Nobu さんは、RubyKaigiへの参加経験を基に、Rubyの内部実装という非常に高度なテーマで発表しました。 開発未経験から1年強という短期間で、Rubyの実行メカニズムをここまで体系的に理解し説明する技術力の高さには、とても驚きました。

発表は、Rubyコードが実行される過程を段階的に解き明かすところから始まります。人間が読めるコードがコンピュータにとってただの文字列に過ぎないという前提から、字句解析によってトークン列に変換される仕組みをRipper.lexで実演。続いて構文解析では、トークン列に文法規則を適用して抽象構文木(AST)を構築する過程を解説しました。

特に印象的だったのは、YARV(Yet Another Ruby VM)によるバイトコード実行やJITコンパイルといった、Rubyを効率的に動かすための仕組みにまで言及していた点です。

さらに、RubyKaigi 2025のセッション「Make Parsers Compatible Using Automata Learning」の紹介も秀逸でした。parse.yとPrismという2つのパーサー間の互換性問題をオートマトン学習で解決するという、非常に高度な内容を自身の言葉で解説。技術的な深さもさることながら、エンジニアとしてのコミュニティへの意識の高さも感じられる、素晴らしい発表でした。

Matsu-Nobuさんの発表スライドの一部

短い説明時間の中、分かりやすい図でオートマトン学習を説明

宮田さん:「Sidekiq::IterableJobでメルマガの配信中にデプロイしても安心でみんなHappy」

続く宮田さん(miyatis)は、実際の業務で直面した課題をSidekiqの最新機能で解決するという、非常に実践的なテーマで発表しました。

発表の背景にあるのは、メルマガ配信という重要なビジネス機能における「デプロイ時のジョブ再実行によるメールの重複送信」という深刻な問題です。この課題に対し、当初DBやRedisに状態を保存する方法を検討しますが、それぞれに欠点があることを見抜きます。

そこで彼が着目したのが、Sidekiq::IterableJobというSidekiqの新しい機能でした。この機能は、ループ処理の途中結果をSidekiqが自動で管理してくれるため、開発者は重複実行を気にすることなく、クリーンなコードで冪等性を確保できます。

新しい機能ゆえに日本語の情報がなく、英語の公式ドキュメントも少ない中で、ソースコードまで読み解いてその動作原理を理解し、実装までやってのけました。

宮田さんの発表スライドの一部

Sidekiq::IterableJobを利用した実際のコード

和木さん:「Neovimのplugin作ってみた」

和木さんの発表で特に印象的だったのは、その開発の動機です。Techouseで利用しているタイムトラッカー「Tempo」への入力作業を自動化したい、という身近な課題を解決するために、自らプラグイン開発に乗り出しました。

技術的には、Luaという言語を用いてNeovimプラグインを開発。発表では、実際のプラグインの動作やコード例を画像中心に紹介し、普段使っているツールを自分好みに拡張していく過程を分かりやすく示してくれました。

開発者として、自らの手で身の回りの不便を解消していく姿勢がエンジニア精神そのもので印象深かったです。探求心とそれを実現する技術力が素晴らしい発表でした。

和木さんの発表スライドの一部

内部処理がよく分かるシーケンス図、インターンでドキュメント作成力が成長した

穴田さん:「Claude Codeに入門してみた」

穴田さんの発表は、最新のAIコーディング支援ツール「Claude Code」を体系的に解説し、その応用的な活用法まで提示するという非常にタイムリーな内容でした。

単なるツールの紹介に留まらず、tmuxと組み合わせた並列開発という具体的な手法を紹介していた点が印象的でした。 AIエージェントに「CEO」「マネージャー」「開発者」といった役割を与え、チームとして開発を進めるというアーキテクチャを構築。各エージェントに詳細な指示書(プロンプト)を与えることで、自律的な協調動作を実現させるデモンストレーションで会場を沸かせました。

他にも"ultrathink"のような拡張思考モードの活用法や、Git Worktreeとの組み合わせによる12並列開発といった高度なテクニックも紹介。「AI駆動開発は『作りたいもの』がないとモチベが湧かない」という本質的な洞察もあり、すぐにAIを使いたくなるような価値の高い発表でした。

穴田さんの発表スライドの一部

AI知識だけでなく、AIを使いこなす考え方まで伝わってきました。

倉金さん:「オートスケーリングを活用した画像生成モデルをデプロイした話」

倉金さんは、画像生成AIモデルをクラウドにデプロイする際の、コストとパフォーマンスという実用的な課題に取り組みました。

画像生成の度にGPUインスタンスを起動する「コールドスタンバイ方式」ではインスタンスのデプロイまでに長時間の待ちが発生します。一方で「ホットスタンバイ方式」でGPUインスタンスを常時稼働すると、利用料金が非常に高額になるという問題がありました。このトレードオフに対し、彼は「セミホットスタンバイ方式」を採用します。平常時はインスタンスを停止してコストを抑えつつ、リクエストがあった時だけインスタンスを起動するこのアーキテクチャにより、2回目以降の画像生成にかかる時間を大幅に短縮することに成功しました。

わずか3週間という短期間で、クラウドインフラ設計からモデルのデプロイ、パフォーマンス最適化までをやり遂げるハイレベルな成果物を見せてくれました。

倉金さんの発表スライドの一部

最終的な全体のアーキテクチャ設計図、適切なサービス選定と設計力が光る

澤井:「自作ファイルシステムをブラウザに実装する」

最後に執筆者の澤井は、自作のファイルシステムをブラウザに実装する方法についてWebAssemblyとruby.wasmの内部構造の解説に触れながら解説しました。

ruby.wasmはブラウザ上でファイル操作を実行できます。ではなぜブラウザ上でRubyのファイル操作が動くのでしょうか。その答えを求めWebAssemblyの動作原理、JavaScriptとの共有メモリを介したデータ連携、そしてその複雑さを解消するWIT(WebAssembly Interface Type)の解説を行いました。

発表の核心は、WASI(WebAssembly System Interface)とwasi-vfsの解説にあります。サンドボックス化されたWebAssemblyが外部のシステム機能を呼び出すための標準仕様がWASIです。そして、ruby.wasmのファイルシステムは、WASIを介してインメモリファイルシステムを実装するwasi-vfsによって実現されています。この複雑な多層アーキテクチャを、図を交えながら解説しました。

澤井の発表スライドの一部

自作FSをブラウザに実装するためのWASIを介したVFSへのアクセス図

最後に

発表の主役であるインターン生の彼らは、1年~半年ほど前に業務未経験で入社しました。 今回のLTイベントではそれぞれが自分の専門分野や興味を持つ技術について深く掘り下げた発表をするまでになり、その成長ぶりに驚かされました。

LTイベントの様子

Techouseでは未経験からでも圧倒的に成長できる環境を提供していると自負しています。 彼らのように、技術に情熱を持ち、新しいことに挑戦する姿勢を持った人材を、これからも育てていきます。

弊社でのインターンに興味を持った方は、ぜひこちらのインターン応募ページもご覧ください。

jp.techouse.com


また今回の発表者だけでなく、他のインターン生のインタビュー記事も公開しています。 こちらも是非ご覧ください。

note.com

note.com


Techouseでは、社会課題の解決に一緒に取り組むエンジニアを募集しております。 ご応募お待ちしております。

※こちらは中途採用のページです。

jp.techouse.com