あっという間という2020年だった。コロナ禍でもあって、3月以降はほぼ巣こもりの状態で過ごしてきた。反省も兼ねて2020年を振り返ってみた。

フリーランスとしての一年目

独立する資金稼ぎのためにフリーランスエンジニアとしてあるスタートアップ会社のプロジェクトに参加させていただいたが、残念ながら製品のリリースまで待てずに離脱した。

原因はリードエンジニアと価値観の相違が大きすぎたから。

もちろん、基本的に価値観の違いはコミュニケーションを通じて解決できるものだと思っている。でも目標が違うと解決方法はどちらかが妥協するしかない

「お金もらって言われたことをやる」だけ考えると楽だけど、自分はどうしても「プロジェクトを成功させるためにお金をいただいている」というスタンスでプロジェクトを参加しているので、危ない状況になると基本的に自分から提言する。その度々の提言は納得できない形で対応されることが多く、積み重ねで離脱を決めた。

後で考えてみるとそれは単純に自分が目指しているクオリティが、そのプロジェクトの目標と比べると高すぎたかもしれない。

次のプロジェクトに参加する前に自分がどれぐらい貢献できるか、できる環境が揃っているのか?(自分のスキル、裁量、チームの規模、目標など)をしっかり理解しないといけないかなと思う。

技術学習

Flutter

iosとandroidのUIを一つのコードベースで開発できる素晴らしいフレームワーク。React Nativeと近いが、私はType付きのDart(Flutterが使用する言語)のほうが好みなので、今プライベートのプロジェクトは全てFlutterベースで作っている。

独自のUIライブラリとともに構築している最中、長くお付き合いしそうなフレームワークになる。

Laravel

PHPも時代遅れなんて言われるけど、正直プログラミング言語はあくまでもツール。ツール自体は成功かどうかはあまり重要じゃなくて、どう使うのがきもだと思う。Laravelはまさに「時代遅れ」のPHPをスマートにしたフレームワーク、とにかく初期開発の効率が非常に高い

リアルタイム系は向いてないが、その他のプロジェクトにはほぼ私中の第一候補。(PHPに慣れているから笑)

Go

今年goを使い始めてみた。go素晴らしいところはやはり早い、環境依存がほぼないとこかな。OOPでよくある継承ではなく、Duck Typingとかコンポーネント式継承とか考え方が面白いし、テストも依存なしで書けるし、全体的にちょっぴり硬いけど(特にネイミングルールなど)、学習して損はない言語だと思う。

パフォーマンスが必要か、マイクロサービス系のプログラムを作る時には、goを使うといいよ

Next.js

今更だけど、これも素晴らしいフレームワーク。React.jsに慣れた僕にはWeb系は全部これでいけるんじゃない?と思うぐらい(大規模のサービスはさすが別のバックエンドを組む必要があるけど)

ちなみに、このサイトもNext.jsで作ったよ。

2021年を展望

Koe.fmというこえのプラットフォームを開発してる。(web, ios android三つのプラットフォームで展開)。1月中にもalphaのテストを開始しようとしている。

0からアプリを育てる経験は正直あまりないので、大きなチャレンジではあるが、やらないと勉強できないことも多いし、ポジティブに捉えて頑張ります!

あともう一つのアプリとゲームのリリースも控えている、アプリの方は夏頃予定していて、ゲームはおそらく年末になる。