吉田信将の
ポートフォリオ

大切にしている考え方 :

まず問題を整理する

吉田は、問題を解決するためには、手段を考えるより前に、まず今ある問題を明確にすることが大切だと考えています。
そのうえで、問題を解決する手段として、デザインを考えたり技術を使ったりするよう心がけています。

例えば、Webサイトを作る時でしたら、いきなり「情報をかっこよく見せるデザイン」のような曖昧なものを考えるのではなく、まず「誰に情報を伝えるのか」「その人にとってどう嬉しい情報なのか」をよく考え、それを元に解決する問題を改めて整理し、情報の見せ方を考えることが大切だと考えています。

Webサイトのデザインだけに限らず、技術を使う時でも、例えばデータベースを使いたいのでRailsで実装するという風に、解決したい問題に応じて技術を選ぶことが大切だと考えています。

作業しながら問題を整理する

もちろん、問題を理解するために手を動かすことは必要なので、試作をして問題を整理してから作業を進めるようにしています。
もう少し具体的には、まずは問題を解決できそうな試作をして、自分以外の人に見せ、得られたフィードバックを元に問題を整理し、問題を解決できそうな試作をする…というサイクルを繰り返します。

また、「サイクルのどこかで成果物が完成するのでそこで終わっていい」という訳ではなく、サイクルを回すごとにより良い成果物になるよう改善を繰り返す必要があるとも感じています。

例えば、このポートフォリオサイトは、試作を繰り返すうちにだんだんと問題が整理され、今のデザインになっています。

吉田のポートフォリオの制作話について、詳しくはこちら >

自分の強み :

幅広い分野の知識がある

上の考えを大前提とした上で、自分の強みは、Webのデザインからバックエンドの実装まで幅広い分野の知識があることだと考えています。
大学時代、「デザインだけ」「技術だけ」に興味を持つのではなく、様々な分野に積極的に挑戦してきました。
上の考え方も、様々な経験を踏まえた上で「エンジニアの知的生産術(西尾泰和 著、技術評論社)」という本の内容を参考にして、注意するよう心がけるようになったものです。


記録が大切だという意識がまだなかった頃の制作物も多く、具体的に見せることができるデータを無くしているものもかなりあります。
が、質問いただければ、エピソードを答えることはできます。

Chainerやkerasを用いたディープラーニング
ディープラーニングを理解するために、ベタにニューラルネットの実装
自然言語処理の知見を用いた日本語の文章生成
Pythonで正弦波を生成し、それを.wavファイルにすることで、ドレミの音階を生成し作曲
BoostrapとHTML+css+JavascriptでWebページの作成
HUGOで制作したページをgithub pageやNetlifyで公開
railsを用いたWebアプリをHerokuで公開
lightsailでwordpressを用いたサイトの作成と公開
NginXを用いたWebサーバーの構築
NginXを用いたDNSの構築
コンパイラの自作に挑戦
OS自作に挑戦
CPUの仕組みを理解するため、はんだごてなどを用いて電子工作し、CPU自作
KailLinuxとMetasploitを用いてlinuxマシンを攻撃するセキュリティの実験
Pythonで競技プログラミングに参加する
計算機科学の基礎の一つである不完全性定理の証明を追いかける
計算機科学の基礎の一つである圏論の知識をざっと見てみる
定理証明支援系Coqを用いた1+1の再帰的な証明
仮想的な量子ビットを用いて単純な回路の作成
イベント告知のためのフライヤーを、PhotoshopやIllustrator、Indesignを用いて作成
プログラミングの国際コンテスト「藍橋杯」のスタッフ(当日に向けた勉強会 および 当日の準備)
Pythonのモジュール"Pyxel"を用いた、レトロ風ゲーム制作イベントの企画運営
Pythonのモジュール"Tkinter"を用いたゲーム制作、およびTkinterでゲームを作ってみるイベントの企画・運営
自然言語処理の知見を用いた日本語の文章を生成するプログラムを作ってみるイベントの企画・運営
書籍「融けるデザイン ―ハード×ソフト×ネット時代の新たな設計論(渡邊恵太 著、ビー・エヌ・エヌ新社)」の内容を元に、これからのUIデザインを考えるゼミの開催
書籍「エンジニアの知的生産術(西尾泰和 著、技術評論社)」の内容を元に、「アイデアを思いつく方法」を考えるゼミの主催

これらは全て大学生になってから行ったものです。
このように、吉田は様々な分野に興味を持ち学んできました。その幅広い知識が自分の強みだと考えています。

チームでの作業の多くに関わることができます

これまで、「デザインだけ」「技術だけ」を扱うのでなく、幅広い分野に挑戦し積極的に学んできました。

例えば、アルバイト先で業務の一環として、公式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名のの参加があったイベント
「新入生のためのプログラミング入門イベント」

イベントの様子

「新入生のためのプログラミング入門イベント」は、吉田がアルバイトの業務の一環で開催したイベントです。
参加した新入生のみなさんが「意外とプログラミングってできそう」という気分になり、自分から進んでプログラミングの勉強をしたくなるイベントを目指しました。

吉田は、フライヤーを学内に貼って告知、イベントのスライド作成、当日の司会進行を行いました。

参加者は、30名ほどいました(参加人数を知るためのアンケートに答えずに帰られた方が多数いるので、正確な数字はわかりません)。
ちなみに、九州工業大学情報工学部の新入生は410名ほどいます。

このイベントについて、より詳しくはこちら >