ソフトウェアエンジニアになろうと思い大学生になってから本格的に勉強を始めて、どんなキャリアか忘れないように記録しておく。定期的に更新する。
後から見返した時になんとなく何をやっていたかわかるようにしたい。(知らない人に見られて何をしていたかは推測されたくないのでどこまで書くか難しい。)
大学生になるまで
小学生のときに、将棋AIが自分よりは強くプロより弱くて、もっと強い将棋ソフトを作れないかとか考えてAIに興味を持つ。
中学生のときにwindowsのノートパソコンを買ってもらい、14歳から始めるc みたいな本を買ってスーパーマリオみたいな簡単なゲームを本をそのままコピーして実装する。
高校生の時も本をそのままコピーするようなことはしたと思うが結局何もできるようにならなかった。
作ったもの
- cでかく簡単なゲームを写して実行できるようにした
大学生・院生
大学生になって情報工学科に進むと本格的に情報工学の勉強を始めた。
情報実験の授業で適度に難しい課題が与えられ、深夜まで大学に残って熱中しながら取り組んだ。最初はfor文の使い方もよくわかっていなかったが、色々な課題を色々な言語を使いながら解いていくうちになんとなくプログラミングがどんな感じかわかるようになる。
将棋盤アプリをjavaで書いたりswiftで書いたりした。夏休みの数週間で作りたいアプリを作る能力はあったと思う。自分が最低限使うことはできるだけだが。
大学4年生から研究室に入る。入った時はpythonをほとんど使えなかったと思うが、勉強しながらやりたいことを実装する能力はあった。想像力と学習力は向上しているが、勉強すればできる状態はこれからも一緒な気がする。勉強なしでできる状態にはなれないと思う。
アルバイトやインターンで2,3社で働かせてもらい良い経験を積めた。社会で働いている人が自分より能力があるとは思わなかった。社会人になってからは当時はかなり実力不足だったと思う。自分の能力にある程度自信があったので、実力不足を理由に開発をしないことはなく作りたいものとモチベーションがあれば趣味でプログラミングをしていた。
2019年の5月にコンピュータ将棋選手権に参加した。強いAIを作ることはできなかったがいい経験になった。2021年のコンピュータ将棋選手権もチームで出ようとした。うまくいかなかったがいい経験になった。
作ったもの
- 将棋盤アプリ(swift)
- 将棋盤アプリ(Java)
- Alexa app 生活時間を管理する
- Play Novem
- ブログ
社会人
1年目
最初の2,3ヶ月の研修で、docker・Rails・yarnあたりの知識が身につく。
自分のプロジェクトで開発をして分からない箇所を理解して調べて解決していた。会社としてどうやっているかを先輩が丁寧に教えてくれることも多く知識を得ることができた。
webサービスをチームで開発した。いろんな意見を言い合ったりプログラミングの書き方など勉強になることが多かった。チーム開発だと意思決定が遅いこともあるが、他人の意見を聞ける分開発がしやすいこともある。
既存のプロジェクトに新しく入って新規機能を開発した。PHPを始めて触った。言語の問題と書き方の問題を切り離すのが最初は難しかった。なれてくると昔に書かれたコードのリファクタリングもできるようになった。リファクタリングも大事だが動いているコードを改善するモチベーションは低い。最後まで進めるのは大変でうまくいかないこともあった。
作ったもの
- まるばつゲーム(Unity)
- 数独(Unity)
- Chess Ranking
- twitter reader
- twitter favorite counter
2年目
データを使用した、自分のプロジェクトで開発をする。参考にするサイトがあったりするがユーザーが使いたくなるサービスを提供するのは難しい。アドバイスをもらえると改善点がわかる。
既存のデータ取得するAPIを使ったサービスを短期間で作る。ユーザーが満足するものは作れてなかった。アイディアを変えてAI分析サービスを作ったところ多くのユーザーに使ってもらえるようになった。
作ったもの
3年目
自分で作っていたサービスの有料化プランを作る。宣伝したりしてユーザー数が増えて欲しいがなかなか難しい。
生成AIを使ったサービスを作ったり、開発合宿をしたり。
所感
作りたいものを作って公開する能力は上がっているはずだが、まだまだ遅い。熱中して作らず片手間で作ろうとしてもうまくいかない。
作ったもの
終わりに
まだまだ未熟な若僧だけど、多くの人に使ってもらったり収益が出るサービスを開発できるよう頑張るぞ!
Comments