2019-12-19に更新
なんでも 19日目

2019年を振り返るポエム

この記事はcrieitのなんでも Advent Calendar 2019の19日目の記事です。前日はhammhikoさんによるlocalhost監獄でした。localhostに自分専用のアプリが増殖していくのはプログラマあるあるですね!こういったアプリケーションは世に出ることは無いとしても自分の経験や成長につながりますし、なんていうか、盆栽みたいな感じで自分好みに魔改造していくのが楽しいですよね。

さてさて、本当ならこの記事には今やっているKubernetesとかGoとかPythonがらみのネタを書こうかなーと思ってたけど、どうにも記事が煮詰まらないまま今日を迎えてしまいました。ということで、ここはポエム…というか、今年1年の振り返りをしようかなと思います。


自社は地方都市にあり企業の規模はまぁまぁ大きいWeb系企業です。そんなところで、私はいまは小さいチーム(本当に小さい。メンバーの異動と退職が相次いで今はなんと2人!もはやチームではなくてペアと呼んだほうが正しい)のマネージャーをしている。チームの役割としては、インフラのためのアプリケーションを開発したり運用したりしている。個人としては、これまでのプログラマの仕事に加えて、マネージャー業、特に採用活動もやっている。採用活動というのは本当に大変で、自分のチームにフィットする人というのは予想以上にいなかったりする。また、これまでのプログラマとしての仕事が減ることなく、というかむしろ増え続けていて、振り返ってみるとそれなりに消耗した一年になってしまったように思います。

突然ですが、今って空前絶後の人手不足じゃないですか。それは弊社でも同じで全然人が採用できない!というかそもそも応募が無い!わけあって、外部のリクルーターを使うのをやめてしまったため、自分で候補者を探す必要があるんだけど、ちょっと知り合ったやつの口車に乗って選考に応募する奇特な人など見つかるはずもなく…。自分の個人的な人脈とかを駆使しても、なかなか応募まで至らなかったりする…人望をどこかに置いてきてしまったらしい…

ということで、そもそもなんでこんなに応募が無いのか、あるいは応募してもらうことができてないのかということをここ最近(数ヶ月以上)ずっと考えている。たぶん色々理由はあって、うちに来たらどのくらいのお賃金がもらえるよとか、どういうことをやってもらいたいと思っているよ、とかそういう具体的な話ができないことが多いからということがある。もちろん、ある程度のことは話せるんだけど、なかなか相手に刺さるようなことが言えない。まぁこれは私の会話力が低いからなんだろうけど…

いずれにしてもこのまま採用活動しててもなかなかうまいこといかないなーというのが今年の反省。来年はもっとカンファレンスでの登壇とかを増やして自社の知名度をあげるのと、海外遠征も視野に入れて採用活動をしないといけないかもなーと思っている。なにせ地方には人がいない!地元からの応募があれば嬉しいんだけど、なかなかマッチするひとがいない…


次に技術的な振り返り。去年もそうだったけど、今年もたくさんコードを書いた。なにせ人手不足なものでね…アラフォーですよ、私…35歳定年説はどこいった。まぁそれはおいといて、今年はKubernetesを実戦で使うことができてサービス投入までできたのでそれは良かったなー。まぁ私が関わったのは最初の立ち上げのところまでで、今は別のメンバーが運用しているんだけど…Kubernetesに関しては運用のほうが圧倒的に大変で、だけど、学ぶところが多いのでインフラレイヤーに興味がある人は絶対に触っておいたほうが良い。まぁでも世の中的にKubernetesが必要なサービスってどのくらいあるのか、言うほどKubernetesが必要になることって無いんじゃないかなとは思うけど。もっと簡単に問題が解決できるなら、Kubernetesは無理に使わなくてもいいと思う。Ref: Maybe You Don't Need Kubernetes

多分、今年一番書いたコードはGoだと思う。自分でも意外だったけど、GoでWebアプリケーションを書いたことがあんまりなくって、初めてechoというフレームワークを使った。Flaskとかfalconみたいなマイクロフレームワークを使ったことがある人ならすんなり使えるんじゃないかなと思う。ただ、個人的な感想としては、Goで複雑なモデル操作が必要なアプリケーションは書かないほうがいいんじゃないかなって思う。やっぱりPythonみたいな動的言語と比べると、コード量が増えがちだし、面倒ではある。もちろん型付言語としてのメリットを享受することはできるんだけど。まぁでもGoは楽しい言語だし、使い勝手が良い言語なので、これからもGoをたくさん書くんだろうなーと思う。Goで面白いトピックはなんかあったけなーと思ったけど、面白い話題はだいたいDave Cheneyのブログにあるので、これを暇なときに読んでいれば良いと思う。


えー、次はPythonですかね。Pythonでは別のWebアプリケーションを作った。なんか最近はresponderとかいうWebフレームワークが流行っているらしく、開発者はrequestsとかpipenvを作った人らしい。ということで、まず間違いなく近いうちに主流になってそうなんだけど、色々あってDjangoを使った。というのは別にどうでも良いんだけど、今回はPaste Deploymentを紹介したい。

Paste Deploymentは設定管理のためのソフトウェアみたいなやつで、アプリケーションの設定をスクリプトじゃなくて宣言的に管理することを目的に開発されたもの。また、こいつはDjangoが起動させるWSGIアプリケーションを読み込むことができるんだけど、HTTPリクエストをpipelineで処理させることができる。どういうことか簡単に言うと、自分のアプリケーションに来る前(あるいは後)に別のアプリケーションをフィルターとして置いて、ユーザーからのHTTPリクエストを事前/事後に処理することができる。

これの何が嬉しいのか?それは認証処理のような、本来アプリケーションのビジネスロジックとは無関係なものを自分のアプリケーションから切り出すことができる。それにより、自分のアプリケーションは本来集中すべき処理に集中することができるので、余計なロジックを持たなくて良くなる。これにより、テストが格段に書きやすくなる。認証処理を考慮してテストを書くのは本当に面倒で、OAuth的な認証処理とかだったりするときはこういったやり方がとても便利。フィルターを利用したWebフレームワーク自体はそんなに珍しくないし、むしろ古くからあるんだけど、自分のアプリケーションから切り離して利用することができるのは結構珍しいんじゃないかなと思う。どっかで話すことができたら良いな。


(なんか文字数がこのあたりで2,700を超えてきたので、そろそろまとめに入ろう…)

そんなこんなで技術的には色々挑戦できて学びが多かったけど、いかんせん業務量が多くてつらぽよだった…特に採用活動は本当にどうにかしないといけなくて、来年はどうにか解決したい。あと、せっかくcrieitに記事をポツポツと投稿していることだし、個人開発のビッグウェーブに乗りたいところ。アイデアはボチボチあるけど、時間を作らないと…来年はゆとりある暮らしをしたいですな…

ということで、3,000字を超えそうなので、このへんで終わりにします。明日はきんみさんです!お楽しみに!

ツイッターでシェア
みんなに共有、忘れないようにメモ

shige

Crieitは誰でも投稿できるサービスです。 是非記事の投稿をお願いします。どんな軽い内容でも投稿できます。

また、「こんな記事が読みたいけど見つからない!」という方は是非記事投稿リクエストボードへ!

有料記事を販売できるようになりました!

こじんまりと作業ログやメモ、進捗を書き残しておきたい方はボード機能をご利用ください。
ボードとは?

コメント