エンジニア像振り返り
初心を振り返る
プログラミングを始めた頃の原体験から、開発していて楽しいと感じる瞬間や夢中になれる瞬間について振り返っています。
私がプログラミングを始めたのは、大学に入ってからでした。最初は自分に向いているのかも分からず、出発点は Google Colab で
Hello, World! を出力したところからでした。思い通りに動くこと
私がプログラミングが好きな理由は、自分がイメージした通りに動いた時の楽しさや達成感です。
大学一年生の夏、SIer の企業に5日間のインターンシップに参加しました。
要件定義をした上で初心者でもできるよう Scratch でプログラムを組んでみる、といった内容が中心でした。
要件定義をした上で初心者でもできるよう Scratch でプログラムを組んでみる、といった内容が中心でした。
当時はプログラミングに対してあまり自信はありませんでしたが、自分が組んだプログラムが実際に動いているのを見た時には、大きな達成感がありました。
そのインターンシップで学んだ、今でも特に大事にしていることは以下の言葉です。
「できない」ではなく、どうしたらできるのかを考える。
この言葉は、自分の基本的な姿勢になっています。
「これができるんじゃないか?」という仮説から、「どうしたら実現できるのだろう?」という思考・検討、そして試行錯誤。何よりも、構想通りに実装できた時の実感。これはプログラミングを始めた頃も今も最も楽しい体験です。
「これができるんじゃないか?」という仮説から、「どうしたら実現できるのだろう?」という思考・検討、そして試行錯誤。何よりも、構想通りに実装できた時の実感。これはプログラミングを始めた頃も今も最も楽しい体験です。
夢中になれる瞬間
システム全体の構造や設計といった、アーキテクチャを組んでいる時が、夢中になれる瞬間だなと思います。
最近取り組んだタスクは継続事前学習用のデータ提供でした。
依頼を受けた時、このようなことを考えていました:
依頼を受けた時、このようなことを考えていました:
- 構築したデータ基盤から本文を結合して、JSONL形式で提供できるな。
- 今回は年ごとにまとめると使いやすいな。
- 本文の結合は既存のAPIで利用している処理を流用できるな。
- 機械翻訳が含まれる可能性のあるデータは識別子でフィルタリングできるといいな。
- 提供側で「これは不要だ」と要件外の思想を混ぜて除外するのではなく、利用側で調整できる方が望ましいな。
- データセットの規模を示すレポートや概要を示した資料があると便利そうだな。
- 本実装に入る前に、一度50件のサンプルデータを作成してフィードバックを貰っておこう。
Macのストレージが枯渇してコンテナがクラッシュするトラブルもありましたが、中断に備えてチェックポイント機能を追加したのち、数時間かかる処理を無事完遂しました。最初の構想通りのデータセットを納品できた時の実感は、プログラミングを始めた頃と変わっていませんでした。
(この時に遭遇したトラブルへの対応については Qiita に投稿しています。)
(この時に遭遇したトラブルへの対応については Qiita に投稿しています。)
「できない」と言わずに考え続ける姿勢が、今でも自分にとって原動力になっています。
ただ動かすだけだった頃と比較して、今は「どう使われるか」「何が起き得るか」まで想像を巡らせてシステムを組み上げることに、より深い面白さを感じています。
ただ動かすだけだった頃と比較して、今は「どう使われるか」「何が起き得るか」まで想像を巡らせてシステムを組み上げることに、より深い面白さを感じています。