#はじめに
やったこと、触ったものについて定期的に後から振り返ることは、「より深く知識を定着させる」「今の自分を客観的に捉える」上で非常に効果的です。
今回は社内SEとして2019年に入社した新卒1年目の自分が約8ヶ月間業務を通してやってきたこと、出来るようになったことを振り返り、それを踏まえて2020年の目標を書いてみます。
弊社での自担当プロダクト
いろんなログを収集分析してレポートを作成するサービスになります。
現在はブラウザ利用の社内ツール開発に携わっており、主要な言語はPHP, インフラは殆どAWSを利用しています。
部署内は、基本的にフロントエンドやバックエンドのみに特化したエンジニアはおらず、皆が色々な業務に広く携わることが出来る環境です。
自分のスキル
新卒入社の自分でしたが、学生時代に経験したプログラミングと言えば、
- pythonで単純なアルゴリズムを書いて動かしてみる。ソートとか再帰とか
- Javaの参考書に沿ってコーディング。オブジェクト指向とはなんぞやを肌で感じる
- 参考書とにらめっこしながらRでコマンドを叩き多変量解析した気になる
レベルに留まっており、決して「プログラミング経験者」の枠に入るレベルではありませんでした。
2019年の取り組み
世間一般の社内SEの業務を把握していませんが、当部署では「事業部からの問い合わせ業務」と「開発業務」の大きく2つに分けられます。
自分は部署に配属後、研修期間があり、徐々に実務といった流れだったので、今回は2つの期間に分けて書いていきます。
2019年5月~9月 研修期間
まず配属直後に、エンジニアの基礎(Web・開発プロセス・プログラミング他)をインプットし、インプットした内容を2~3日に一回チーム内プレゼンをする研修を行いました。
頻繁にアウトプットを行う中で資料をブラッシュアップしていくので、自分がよく陥るインプットにフォーカスを当てすぎる思考を捨てられました。
よく言われていることではありますが、アウトプットすることで定着させるという考え方も非常に重要なことだと感じました。
###その他業務や学び
コーディング
プログラミング学習サイトのProgateで学習後(PHP・HTML/CSS/JS・SQL・Git・Python・Bash)、ログイン機能を持った簡易的なWebサイトを作成。
Redmine
部署でプロジェクト管理に利用。社内ルールを含めたチケットやバージョニング等管理方法について学びました。
事業部からの問い合わせ
簡単なものから徐々にシステム寄りへ。分かりやすく伝える文章を考える機会になっています。
2019年9月~12月 実務期間
この頃から、問い合わせ業務に加え開発業務に携わっています。フロント部分(Html/CSS/JS)から始まり、ロジック部分の修正等を頂くことも徐々に増えてきています。
アバウトな実装内容は下記の通りです。
- ファイルや文字列入力画面でのバリデーション追加
- データの集計に予約機能を追加
- 画面の一部修正
- 正常動作監視用ジョブ修正
触ったツールや言語の記載は以下の通りです。
PHP/Html/CSS/Javascript
2つのフレームワーク(cakephp/Laravel)を使用した開発環境です。
各言語の基本文法から始め、PHPではDB接続、AWS各種サービスの操作、
JavaScriptではDOMの操作やAjax通信を覚えました。
Shell Script
デプロイや他プロダクト間のデータ連携を行う定時ジョブ実行にJenkinsを利用しているので
コードを見る機会はとても多いですが、自分で書くことは簡単なタスクの自動化やCrontabで定期的なデータ移行を行う程度・・・
Git
Git bashやEclipseのGit連携を利用しています。CloneからMergeまで実際に手を動かし覚えました。
AWSサービス
S3
- バケットポリシーとは
- バージョニング利用
- バケット同期
- プットイベント
- Cliを用いた操作
Athena
- Prestoエンジン独自の関数
- パーティション等スキャン量を考慮したクエリ
- DDL,DML
- Cliを用いた操作
Cloudfront
- Cloudfrontの役割や出来ることの理解
- ビヘイビアによるリクエスト振り分け
Cloudwatch
- ダッシュボードやアラームの基本設定
Route 53
- ルーティングポリシー種別の理解
EC2
- SnapShot,EBSの管理
- AutoScaling,ロードバランシング
- Cliを用いた操作
Trusted Adviser
- 利用サービスの運用コスト把握
###その他業務や学び
ブラウザ毎の挙動確認検証
Appleが提供するSafariのITPによる影響等、Cookieの動作に影響のあるブラウザをアップデートに応じて検証を行いました。
システム概要のドキュメンテーション
システムの大まかなフローや仕様、DB定義書はExcelベースで作られています。
新規に参画したエンジニアの方が参照する資料であり、一部更新がなされていない部分を発見しては更新する作業になります。
2020年の目標
簡単に2019年を振り返ったので、今年取り組みたいと思っていることを書いていきます。
他言語の学習
普段書いているphpは動的型付け言語なので、静的型付け言語や関数型言語の知識をつける必要があると感じています。
完全に主観ですが、特定言語に特化するよりも複数言語を扱える方が実装できる幅が広いと考えているので、これからの需要を鑑み、GoやScalaなどもプライベートで触り、業務に活かせる部分を見出していきたいです。
他クラウドサービスの学習
サービスシェアではAWSが頭一つ抜けていますが、GCPやAzure等他サービスに触れることで今まで気づかなかったAWSのメリットやデメリットが
見えてくると思います。違いを把握した上で場面場面で使い分けることが出来れば理想形だなと勝手に妄想しています。
AWSに関しては、引き続きより多くのサービスに触れること、また資格の取得も考えています。
コミュニケーション力向上
組織として仕事をしている以上、人と人との繋がりを断つことは出来ません。どんなに能力や知識があっても、それらを伝える力や逆に読み取る力が必須です。自分は簡潔に伝えることが苦手なので、積極的にプレゼンの場やアウトプットの機会を設けます。
おわりに
改めて文章にすると、想定より学びが多かったか少なかったか判断出来ると思います。(自分は思っているよりも全然少なかった。)
流れの早いWebの世界では新たな知識のキャッチアップも立派なスキルの1つだと思うので、定期的に振り返り、次に何を身につけるべきか考えるきっかけとしたいです。
2020年、また一歩成長する為のモチベーションの1つとして、皆さんも一年を軽く振り返る機会を作ってみては如何でしょうか。