タイトルは 人を描くのって楽しいね から引用
既に色々な場所で「未経験からエンジニアになる方法」とか「未経験からエンジニアになってから学んだこと」記事があるのでそれに乗っかる形で大学卒業 ~ エンジニアとしてキャリアを積み始める ~ 現在まで何をしてきたかをざっくりと振り返ってみる。
先にまとめ
ポートフォリオはこちら。 見てもらえるとありがたいです。
とにかくプライベートで自分の作りたいものを見つけて開発するといろんなメリットがあることがわかった。
- 新しい技術やツールをメインに学習できる
- 生活をハックして快適ライフを過ごせる
- ポートフォリオのネタにできるので、転職活動するときに有利になる(かも?)
- 収益化すれば当然お金が入ってくる(私はこの領域に達していないが...)
- なにより新しいアイデアを「モノ」にする事自体がプログラミング学習のモチベーションになっていた
黎明期(本当にやりたいことが大学卒業寸前にみつかる)
当時私は大学で機械系の専攻を受けていたが、大学卒業寸前に友人からプログラミングを勧められて学習を始めた。触れてみると結構面白かったのでとりあえず社会人になってからの新しい趣味に追加。
この時期は本当に何から手をつけていいかわからず、個人開発は特に行なっていない。ひたすら学習、学習、学習!
一番お世話になったのはドットインストールこれのおかげで大学卒業時にはRuby on Railsで「Hello World!」までできるようになった。
成長期(プログラミングをしない会社に就職。理由は待遇がいいから)
大学卒業後はプログラミングとは無縁の機械部品メーカーに就職した。待遇も勤務形態も業界全体でみると恵まれている方だったが肝心の仕事内容が「自分にとって為になる」ものとは思えなかった。
当時プログラミングにハマっていた事が「今の仕事が自分に向いていない」という気持ちに拍車をかけていたのかもしれない。
そして、この時期から個人開発の沼にはまり込んで行くことになる。
Active Reco Book
新卒入社した会社で利用していた社員のメンタルを管理する為のサービスを模倣した作品。何のサービスかはここでは名指しはしないが、「この内容なら俺でも作れるのでは?」と思って作り始めた。
一時期Herokuを使ってサービスを公開していたが、今はクローズしてGithubに残骸だけが残っている状態...
得られた知識や技術
- HTML
- CSS
- SCSS
- Ruby
- Ruby on Rails
- JavaScript
- jquery
- Windowsで仮想サーバを構築
- Heroku
- Git
- GitHub
学んだことは、デプロイするところまで一人でやりきればサービス開発・運用に最低限必要な知識を得られる事。また思い返してみてもこれを作った経験が後に個人開発の楽しみを見出すきっかけになっているかもしれない。
転換期(私、駆け出しエンジニアになります)
入社して1年経ったころに本格的にプログラミングやりたいので転職活動を開始。でもこのままだと未経験から何もしていない状態なのでその前に作品を作りたいと考えていた。その時に参加していた勉強会の主催者から課題としてやってみないかと開発の話を持ちかけられた。その時作ったのがNohSightだ。
NohSight
能楽関連のイベントを配信するサイト。こちらも一時期サービス公開していたが現在は停止中。
得られた知識や技術
- Ruby
- Ruby on Rails
- JavaScript
- Vue.js
- CI
- Circle CI
- RDBMS
- PostgreSQL
- MySQL
ここからWebプログラミングのトレンドを追い始め、所謂今時のWeb技術というものに手を出し始める。この作品とポートフォリオを作成して転職活動に持ち込んだところ、受けたほとんどの企業からも好印象だったようで選考を受けた7社中4社から採用のお達しを得られた。
停滞期(といっていいのかな?)
転職活動を終え、Webエンジニアのキャリアがスタート。この時期はとにかく慣れない仕事を覚えるので精一杯で個人開発は行なっていない。ただ、仕事として開発をすることで個人ではできない・得られない技術や知見、経験を得ることができた。
得られた知識や技術
- Ruby
- Ruby on Rails
- JavaScript
- Vue.js
- Nuxt.js
- チームで開発すること
- デザイン -> エンジ開発 -> QA -> リリースまでのフローを踏む
- サービスの運用やデータメンテナンス
現在(自分のキャリアに選択肢が見えてくる)
仕事の回し方・進め方のコツを掴み、ある程度余裕ができたので再び個人開発活動を開始。
Setlify
Spotifyのプレイリストを自動生成してくれるアプリ。
得られた知識や技術
- Spotify API
- JavaScript
- Node.js
- express
- React
- Node.js
- GCP
ここからバックエンドが本格的にJSONだけを返すフロントエンドと分離したタイプのシステム設計にハマりだす。アプリ開発完全に理解した。
Nikocale
その名の通りニコカレ。
得られた知識や技術
- Material UI
- Kotlin
- Spring Boot
- Firebase
- Authentication
- Websocket
- AWS
- EC2
今まで業務に必要な知識の学習のために個人開発をしていたが、ここから現在まで業務と関係ない、でも仕事にも使えそうな技術を中心に選定してアプリを作るというスタンスに切り替えた。今後はTypeScriptにも手を出していく予定。
再まとめ
個人開発でやれることは学習、生活ハック、転職を有利にするなど色々なメリットがあるので
時間が空いていたらやろう、個人開発!