ということで一度自分が一年間エンジニアとしてやってきたことを、気持ちと一緒に棚卸ししようと思いました。
しばらく回想シーンです
プログラミングとの出会い
大学では経営学を勉強していた。
授業でVBを触って単位を落としたのが私の初プログラミングの思い出。
新卒でSIerに入社し、新人研修でJava
とOracle
を学ぶ。
正直**プログラミング楽しい!なんか作りたい!!もっと勉強したい!!!**とかならなかった。
CSS
と少しのJavaScript
で画面描画作り込むのは面白かった。
プレゼンテーションとかディスカッションの研修の方が楽しかった。
配属されてからは設計書を綿密に描くためにExcelを触っている時間のほうが圧倒的に長い。
正直つまんないし辛かった。
その間プログラミングはほとんどしてなかった。
個人開発をやってみた
なんかこのままじゃプログラミング忘れるんじゃね?と思って、個人開発をしてみた。
ドットインストール見て、vagrant
とVurtualBox
で仮想Linux
立てて、PHP
の基本構文をちょろっと勉強した。
(なんとなくJava
以外の言語を使ってみたかった)
スクレイピングしてPDFをかき集めて、データ抜いてDBに入れて画面に出すだけの簡単なWebアプリを2週間もかけて作った。
週次で公開されるPDFをいちいちダウンロードするのが不便だなあと思っていたものを解決するために作った。
検索機能あったら面白いなあと思って実装した。
バッチ処理はJenkins
を使って定期実行させた。
そういうものじゃないって何となく察してはいたけど、他のやり方を知らなかったからそうした。
オブジェクト志向?知らない子ですね、ってな全部ひとつながりの酷いソースコードでも、動いた時の興奮は確かだった。
まあ運用してみるとバグだらけでほとんど機能しなくなってしまったけれど。そのうちリファクタリングしたい(書き直したほうが早い)。
自分は課題を解決するためにプログラム書くなら楽しめるんだなあ、と思った。
Javaを体系的に勉強しなおした
仕事が開発フェーズに入る前に、Java
(というかプログラミング)について知らなすぎるのを上司に突っ込まれて、とりあえずSE8 Bronzeくらいとれるように本買って勉強しろと言われたので、勉強した。
レビューとかいろいろみて、BronzeじゃなくてSilverの問題集を買って2周やった。
会社では資格に補助がつかないので、受検はしていないが、継承も、実現も、カプセル化も、新人研修で何にも身につけてなかったんだなあと思った(そしてこの前開発したPHP
アプリのソースがとんでもなく酷いんだなあとも思った)。
開発が楽しかった
それから、プログラミングは自分にとって面白いしちょっと楽しいものになった。
仕事では上司が業務自動化とか効率化のタスクをどんどん振ってくれたおかげで、知らない技術に触れる機会が増えた。
SQLパッチで帳票作成を半自動化した。Git
でソース管理した。社内のJava
製ツールをMaven
でビルドした。Jenkins
でジョブのスケジューリングした。Python
とSelenium
でブラウザ操作した。AWS
とDocker
も使うらしいから勉強してる。
日報から一言コメントを抽出してメールで毎日送付するだけのものを作って、チーム内でこそこそ楽しんでたら偉い人にプロジェクト全体でやってよと言われて、ちゃんとしたやつに作りなおすために夜遅くまで会社でソースを書いた。
リリースして、ユーザの反応が見えるのが楽しかった。
業務でも開発の工程は今までで一番楽しかった。
先輩にデバッグのコツ、リファクタリングの仕方、JUnitテストの書き方、知らないことをたくさん教えてもらった。
稼働も上がりまくったけど、方眼Excelで設計書書いてるより時間が過ぎるのは早かった。
でもバグ出しまくってチームの人に迷惑をかけて本当に申し訳ない気持ちでいっぱいになった。
もっと書けるエンジニアになりたいと思った。
-------------回想終わり--------------
ここから振り返り
僕が一年間で出会った技術たち
言語
- Java
- JavaScript
- PHP
- Python
- Ruby
- VBA
- PL/SQL
ライブラリ
- Spring Framework
- JUnit
- jQuery
- Ruby on Rails
- Keras
データベース
- Oracle
- MySQL
- SQLite
OS
- Windows
- ubuntu
- CentOS
その他いろいろ
- SubVersion
- Git
- Jenkins
- Maven
- Selenium
- vagrant
- VurtualBox
- PowerShell
- AWS
- Docker
振り返って思うこと
意外とたくさん触った
決して多くはないと思うが、思ってたよりも色んなものに触れてきたなあという感覚。
知識の深堀が足りない
これについてなら教えてあげられるよ!みたいなのがない。
「使ったことがある」とは言えても「使えるよ」って言えるやつ少ない。
外向きにアウトプットできてない
触ってみてハマったところとかあったはずなのに、ナレッジとして残せてない。
なんらかのアピールとか人の役にたつ日が来るかもしれないので、Qiita書きます。
これからやろうと思うこと
もう少し体系的に知識を深める
全体的に浅いので、これからも使う機会がありそうなものに関しては、技術書なんかを使ってもう一段階深く勉強する時間を作る。
アウトプットする
Qiita書く。社内のRedmineでwiki書く。
なんか作ったら恥ずかしがらずにGithubに上げる。
社内の勉強会とかで話せるように整理してみる。
社外に出てみる
社外のエンジニアと交流してみたい。
カンファレンスとかパブリックな勉強会なんかに参加してみる。
得られたものは社内で共有したり、なんか書いたりする。
フロントエンドやってみたい
業務では恐らくほとんど触れることがないので、個人的にやってみたい
Webデザインにも興味がある
/*
その他
=> MacBookPro欲しい
*/
おわり
そのうち追記します