#経歴
地方の公立大学に在学中のゴリゴリ文系。
「あの学部の奴らって何勉強してんの?」
って言われるような学部で、単位を取得するだけの学校生活を送る。
アルバイトはアミューズメントバーでしていて、なかなか面白い経験をしたり、
趣味も大学からスキューバダイビングを始めたりして、まぁそれなりに楽しい生活を送っていた。
一応国際系の学部だったので、1年休学して前半に金貯めて、後半に海外でも行こうかなと考え休学。お金を貯める手段としてアルバイトだけでなく、iphoneアプリ作ろうと考え、ちょっと勉強してランサーズとかで仕事をもらった事もあった。その時にプログラミングに初めて触れて、楽しいと思うと共にビジネスに興味を持つようになり、ちょうどこの時、所謂意識高い系になり始めた。そして後半に予定していた海外留学をやめ、東京でインターンをする事にした。
#インターンでやってきた事
基本的に2日〜4日/週、6〜7時間/日で稼働
###12月
PCのセットアップやインターンの仕事内容についての研修(主に品質管理)、ドットインストールでプログラミングの基礎の勉強(HTML,CSS,Javascript,PHP,MySQL,ローカル開発環境構築)
###1月
主な仕事として品質管理を行い、テストが無い時は課題としてPaizaの練習問題のSランク取得が課されたのでPHPでそれに取り組む。さらに中旬あたりに新たな課題として、会社が自社開発しているクラウドサービスの利用状況分析アプリケーションの改善を課される。
###2月
Paizaの課題が完了したので、品質管理の仕事がない時は、分析情報アプリの改善課題を進める。社長の意向として「上流もきちんとできるエンジニア」になって欲しいとのことだったので、上流工程から下流工程まで通しでやってみる事に。
2月は要件定義と画面イメージ設計あたりを行なった。要件定義の時が一番手間取った。そもそも上流工程の存在すら知らなかったし、業務フローの把握やフローチャートの作成とかasis tobeとかもなんのこっちゃって感じだったから、理解して物を仕上げるまでめっちゃ時間かかった。
###3月
外部設計が始まった。ここもかなり時間かかった。
業務フローやロジックツリーからあるべき像を導き出し、必要な機能を考え社長と打ち合わせ。修正。打ち合わせ。修正。って感じだった。基本的に、作ったものは週1くらいで社長に見てもらってた。いつも「初めてにしてはよく出来てる」とは言ってくれてたけど、まぁ全然ダメだったと思う。
###4月
4月は学校や就活が始まったりしてなかなかインターンが出来なかった。軽く炎上しかけた事案があったらしく、品質管理のテストが結構入っていた。だから改善課題はあまり進まず、外部設計の完成に留まった。
###5月
内部設計が始まり、テーブル定義書やシーケンス図を書き始めた。まぁやっぱりこれも結構時間がかかった。テーブル定義書に関しては、まず今あるテーブルを知らないといけないから、エクセルで管理してある既存の定義書を読み、どこにどんなデータが保存されているか調べた。テーブル名とかカラム名の意味がわからない物があったので、社員さんに聞きながら、新たに必要になるであろうテーブルを考えた。
シーケンス図に関しては、
1 MVCについて学ぶ
2 使用しているフレームワークについて学ぶ
3 それぞれの画面とControllerの関係、ControllerとServiceとDAOの関係などをコードを掘りつつ理解する
4 自分が追加したい機能を実装するのに使えそうな既存のメソッドを把握し、足りないものは新たにファイルを作る構想を立てる
以上の4段階が必要だった。フレームワークやGitもここで初めて触ったし、現場のソースコードを見たのもこれが初めてだったのでテンション上がってワクワクしてた。その反面コードを掘ってく内に迷子になったり、調べてもよくわからないものが結構あったりしたので、社員さんにかなり助けてもらった。2日〜3日くらいずっとソースコードとにらめっこして大体の動きは把握できたので、それからシーケンス図を書き起こし始めた。
###6月
14日現在:シーケンス図が完成し、今後の予定のWBSを作成。正直ここまでの作業は工数とか全く予想できなかったのでWBSを作成していなかった。これは本当に反省。予想でもいいから予定立てとくべきだった。締め切りが無いと目的意識が低くなる。今日WBSを作成した結果、全工程が終了するのが10月の頭だという計算になった。作成したい画面が8画面くらいあって、難易度別に分割して、「設計→開発→単体テスト」のサイクルを回す予定。
#プライベートでやっている事
インターンが無い日も自宅でプログラムを作ったりフレームワーク使ってみたりしてます。
今までやってきたことは
・VirtualBoxを使ってLAMP環境の構築
・Vagrantのプロビジョニング
・3minutes networkingでネットワークについて勉強
・CakePHP、Boopstrap、js関連のライブラリを使ってアプリケーションの開発
現在とりあえず就活がひと段落して時間が確保できるようになったので、あるお方のサイトを丸々パクってみようと考えています。以下、これから学習する予定の技術です。
・Rails
・GraphQL
・React
・Redux
・Google Cloud Platform
・Heroku
・CloudFlare
プライベートで勉強してることは別の記事に書いていく予定です。
全くの未熟者ですので、「これは勉強しとけ」「これは読んどけ」ってことは教えてくださると嬉しいです。
また、拙い文章で申し訳ありませんが、記事内に間違いや読みにくいところがあればどんどんツッコンでください。よろしくお願いします。