吉田は、問題を解決するためには、手段を考えるより前に、まず今ある問題を明確にすることが大切だと考えています。
そのうえで、問題を解決する手段として、デザインを考えたり技術を使ったりするよう心がけています。
例えば、Webサイトを作る時でしたら、いきなり「情報をかっこよく見せるデザイン」のような曖昧なものを考えるのではなく、まず「誰に情報を伝えるのか」「その人にとってどう嬉しい情報なのか」をよく考え、それを元に解決する問題を改めて整理し、情報の見せ方を考えることが大切だと考えています。
Webサイトのデザインだけに限らず、技術を使う時でも、例えばデータベースを使いたいのでRailsで実装するという風に、解決したい問題に応じて技術を選ぶことが大切だと考えています。
もちろん、問題を理解するために手を動かすことは必要なので、試作をして問題を整理してから作業を進めるようにしています。
もう少し具体的には、まずは問題を解決できそうな試作をして、自分以外の人に見せ、得られたフィードバックを元に問題を整理し、問題を解決できそうな試作をする…というサイクルを繰り返します。
また、「サイクルのどこかで成果物が完成するのでそこで終わっていい」という訳ではなく、サイクルを回すごとにより良い成果物になるよう改善を繰り返す必要があるとも感じています。
例えば、このポートフォリオサイトは、試作を繰り返すうちにだんだんと問題が整理され、今のデザインになっています。
上の考えを大前提とした上で、自分の強みは、Webのデザインからバックエンドの実装まで幅広い分野の知識があることだと考えています。
大学時代、「デザインだけ」「技術だけ」に興味を持つのではなく、様々な分野に積極的に挑戦してきました。
上の考え方も、様々な経験を踏まえた上で「エンジニアの知的生産術(西尾泰和 著、技術評論社)」という本の内容を参考にして、注意するよう心がけるようになったものです。
これまで、「デザインだけ」「技術だけ」を扱うのでなく、幅広い分野に挑戦し積極的に学んできました。
例えば、アルバイト先で業務の一環として、公式Webサイトの作成を行いました。吉田は、Webサイトのデザインを紙に書いて設計するところから、HTML+css+jsと静的サイトジェネレータHUGOでの実装までを任されました。
実装した後、そのサイトをバイト先の自前のサーバーで公開することになったのですが、人手が空いていなかったので、こちらも吉田が自分で作ることになりました。勉強しながら、WebサーバーやDNS、サブドメインを扱うためのリバースプロキシを作っています。
ほぼ全てを吉田が一人で実装しました。が、作業の全体を通して、まめにアルバイト先の人と話をし、制作物の検証・修正を繰り返しました。
複数の分野の知識を生かして、それぞれの分野をうまく組み合わせた問題の解決策を考えることもできます。
例えば、アルバイトの一環で、学内で「レトロゲームを作ってみようの会」というイベントを行ったことがあります。技術に触れることを通して、大学での学びについて考えてもらうイベントでした。
人に伝わるように情報の見せ方を考えることを「デザイン」だと定義すると、ゲーム作りなどのプログラミングの技術に興味のある人の多い情報工学部では、参加してもらい自分のこととして考えてもらうために、イベントにこのような技術を用いることは非常に有効なデザインだったと思います。
今詳しくない分野であっても、それが問題を解決するために必要であれば、積極的に学び、モノを作るようにしています。
例えば、個人で、ゲーム「猫とタピオカ」を作ったことがあります。
制限時間内に、猫とタピオカをたくさん集めるゲームです。最大で1000個ほど集まります。
これを作る際、人とスコアを比較して自分の順位がわかると、何度も遊びたくなるのではと考え、スコアを保存するサーバを作ることにしました。
そこで、周囲に詳しい人が多かったRuby on Railsを勉強し、スコアを保存するためのサーバーを制作しました。
藍橋杯に向けた勉強会の様子
西日本新聞の記事はこちらから見られます:https://www.nishinippon.co.jp/sp/item/n/514192/
藍橋杯(http://contest.lanqiao.org/jp/)は、中国で開催されている大規模な競技プログラミングの大会です。
2019年は、初めて日本でも開催されることになり、その九州会場に、九州工業大学飯塚キャンパスが選ばれました。
吉田は藍橋杯にスタッフとして関わりました。
藍橋杯への参加を促す告知(フライヤーを制作して大学内に貼るなど)、藍橋杯本番に向けた勉強会の企画運営などを行いました。
大会本番の参加者は18名です。また、全4回の勉強会にも、コンスタントに10名程度の参加がありました。
また、大会本番の様子は、西日本新聞様に取材いただきました。
藍橋杯本番終了後、吉田の勉強会についてアンケートで尋ねたところ、「問題の解き方を人に説明する練習をしていたおかげで、本番でも自分の考えを整理できたと感じています」「他の人の考えを聞けたのが勉強になりました」といった意見をいただきました。
イベントの様子
「新入生のためのプログラミング入門イベント」は、吉田がアルバイトの業務の一環で開催したイベントです。
参加した新入生のみなさんが「意外とプログラミングってできそう」という気分になり、自分から進んでプログラミングの勉強をしたくなるイベントを目指しました。
吉田は、フライヤーを学内に貼って告知、イベントのスライド作成、当日の司会進行を行いました。
参加者は、30名ほどいました(参加人数を知るためのアンケートに答えずに帰られた方が多数いるので、正確な数字はわかりません)。
ちなみに、九州工業大学情報工学部の新入生は410名ほどいます。