2019年振り返り

Posted on 2020/01/08

TOC

2019年振り返り

フリーランスSEになって1年が過ぎました。 良い状態で勉強し続けることができ、不安から自信へと変化した1年でした。 きりの良いタイミングなので振り返りを書いてみました。

開発現場の当たり前をキャッチアップ

フリーランスに転向し、本格的な現場での開発は4年ぶりでした。 4年ぶりにもなると初見のツールやライブラリ、言語が多く、1年間は休日なしで勉強漬けになることを覚悟していました。 (以前の開発がJava6、Spring2.5、Subversion、社内独自のツール多数、というタイムスリップぶり)

最初から未経験のことだらけになるのは危険と思い、経験のあるJavaをベースに案件を探したのは正解で、Java経験で自尊心を保ちつつ(苦笑)、Git、BitBucket、Docker、Vagrant、スクラムといった開発のデファクトスタンダードとなるツール・プラクティスを経験しました。 事前にかなり不安があったものの、1ヶ月もあれば不安はなくなりますね、難しいことをやろうとしなければ全然問題ないです。技術的にもまだまだ通用するようで安心しました。 (迷惑をかけないように一人自宅でGitのmerge練習したりしていたのが懐かしい)

ドメイン駆動設計

開発現場の当たり前を引き続き探していると原則やお作法、ベストプラクティスといったモノたちに辿り着きました。デファクトスタンダードといえるような「これだけ学べばOK!」というものはなく、手当り次第に物色。 KISSやYAGNIの法則、デザインパターン、SOLID原則などを色々と学び、最後はドメイン駆動設計に辿り着きました。 エヴァンス本が難しすぎて進まず、まとめブログや関連書籍で荒い知識を身に着けて、ドメイン駆動設計の案件に片足参加させて頂きました。 他者のコードやコードレビューなど、実戦ならではの学びが多く、短い期間でしたが大変勉強になりました。そして何よりも楽しんで参加できたことが良かったです。 この経験があったおかげで、年末からはドメイン駆動設計の現場に移ることになりました。

フロントエンドの開発

過去の開発ではサーバサイドの開発がメインであったため、フロントエンドの開発はjQueryを少しかじった程度のレベル。 ただ、サーバレスを耳にする機会も多く、自分でサービスを展開したい思いもあるため手を付けることにしました。 タイムスリップ期間がかなり長く、HTML5、CSS3、ES6等の基礎からキャッチアップ。 CSSフレームワークではBootStrap、Bulma、Material-UI、JSライブラリではReact、Redux、Vue、TypeScriptなどを扱いました。 小さめの開発に携わったものの、案件規模が大きくなると難易度が高くなるんだろうなと薄々感じますね… 年末の時点で、Reactをベースとしたアプリケーションの開発はできるようになりました。来年はいくつかサービスを作ってみようと思います。

IT基礎スキル

地道だが基礎トレーニングは重要。そして半分は趣味と自己満足だけど、以下に挑戦してみました。

  • データベーススペシャリスト
  • ネットワークスペシャリスト
  • 競技プログラミング

デスペは残念ながら不合格。午後2があと4点だったので来年なんとか受かりたい。 ネスペは無事に合格することができた。 競プロはAtCorderで茶色。緑色まであと一歩。さすがに時間を取ってじっくりやらないとレベルが上がらない。あと、RubyではなくPythonでやっておけば良かったかも。中途半端にRubyができるようになってしまった。 全体的に少なからず力をつけることができたと思います。

その他

腱鞘炎になたり腰を痛めたりと、健康面では反省が多いです。 仕事や勉強に精を出していたものの、あまりにも動かなすぎたと思います。 仕事のスタミナをつけるためにも適度な運動はしよう。

総括

全体的によく頑張り、それなりに成果が出たと思います。 アウトプットが少なかった点は反省。 ITのキャッチアップ時間がかなりかかり、IT以外の勉強に手が及ばなかったので来年はもう少しITの以外も頑張りたい。

2020年に頑張ること

ITだけでなく、興味が強いファイナンス・会計、避けて通れない英語を併せて学びます。 資格は自己満足と、商談時にわりと威力を発揮するので引き続きコレクションを増やそうと思います。

IT

  • FEやデプロイツール、AWSといったインフラ関連などを手広く学ぶ。浅く広く
  • DBスペシャリストを取得する
  • ドメイン駆動設計を引き続き学ぶ
  • なんらかのシステムを構築する
    • できれば公開する
    • 株関連が有力
  • AppStoreに何か出す。ReactNativeを使う(iPhoneを買ったので)

ファイナンス・会計

  • 法人化と資産運用・節税のために学ぶ(会計は現場で必要なスキル)
  • 簿記2級を受ける。個人事業主の確定申告、法人化、現場の会計周辺業務で活かせるため
  • FP2級を受ける。5月かな。優先度低
  • 外交員一種。投資のベース知識として取りたい。優先度低

英語

  • プランはないが気長に実施する

年間予定

大まかな年間予定は以下の通り。1年のうち4ヶ月は机上勉強ですね。(本当はITストラテジストに挑戦したかったが開発時間がなくなるため断念)

1月 簿記2級勉強
2月 簿記2級勉強
3月 何か開発
4月 DBスペシャリスト勉強
5月 何か開発
6月 何か開発
7月 何か開発
8月 何か開発
9月 FP2級勉強
10月 何か開発
11月 何か開発
12月 何か開発

今後の生存戦略

1年間プログラムを書いてみて、技術面ではまだまだ通用することがわかりました。 一方、移り変わりが激しい業界のため、今後の生存戦略については十分検討する必要があります。

よくプログラマの仕事はなくなるというキーワードを耳にしますが、本当になくなるのでしょうか。 過去5年、10年を振り返ってみると、今後急激に仕事がなくなっているようには思えません。 IT化する余力が残っていなかった中小企業からの仕事が増え、RPAのような事務作業効率化ツールのような仕事も増え、データ分析などの新しい仕事も増えています。 一方、開発の効率化は進み、Web関連の標準化やDevOpsといった手法の浸透、IDEの高機能化、プログラミング言語・ライブラリの充実などにより開発速度は劇的に早くなったと実感しています。 開発フローにおける自動化が進んだ時、今ある設計・実装のプロセスがどの程度なくなるか、今時点では検討もつきません。 今後10年、20年の間、今の仕事は十分存在しているように思いますが、何かしらの変革があった場合にはその後はわかりません。 ただ、不確定な将来に向けて何れのルートでも力を発揮するようなスキルを身に着けておく必要があります。

今注目しているスキルはIT、英語、ファイナンス・会計、の3つです。 今まで伸ばしてきたスキルであり、不確定な将来でも価値がある知識だと思っています。 3つのスキルを伸ばしつつ、対外的に能力や実績を示すために、新しいことに挑戦する姿を見える形で残す方針で進めていきます。

雑多なまとめ方ですが、2019年(フリーランス1年目)の振り返りでした。2020年もアクセルを緩めずに頑張ります。