2020年の振り返り

概要

去年は電子工作系の作品を作ったり、本ブログで記事を書いたり、TwitterではM5Stack関係のツイートをしたりしていたのですが、今年は趣味開発の時間の多くをアプリケーションの開発に使っていた1年でした。特にモバイルアプリ開発の時間が多く、これまであまり関わったことがない領域だったので、新たな学びが多かったです。 また、仕事において人を見る立場になったこともあり、マネジメント系の本を読む機会が増えました。そして、これまで頭の中に描いていたエンジニアとしてのキャリアだけではなく、マネージャーとしてのキャリアも考え始めた年になりました。

趣味開発

サービス

yatta!

自分のやったことをアピールして、他の人の頑張りから刺激を受けられるサービスがあれば良いなと思い、Railsを用いたWebサービスを作りました。フォームと詳細ページのみだったので思いついてから1週間ほどで完成しています。 Twitterでの共有を前提としており、OGPを活用することで通常のツイートより目立たせるようにしました。

実際に全然知らない方にも使っていただけて大変嬉しかったですし、ありがたいことにお褒めの言葉もいただけたりもしました。

ただ、以下の点で投稿のハードル自体が高かったなと感じました。

  • 何かしら行動する→投稿するという流れになるが、何もしていない人はそもそも投稿できない。(質問箱等は質問さえあれば投稿でき、なおかつ今何もしなくても過去の経験を答えることが出来る)
  • こんなことを投稿してもな…と思う人は投稿しない

作り始めた動機として「皆の頑張りに刺激を受けて他の人も頑張ろうと思えるような世界が見れるといいな」という想像から始めましたが、そういった問題や課題が現実にあったのかと考えてみると、実際はなかったんだろうなと思いました。作る目的は様々ですが、使われることを目的とした場合には、作り始める前に、その問題は存在しているのか?既存のアプリや方法で解決できないのか?を検討すべきだと思いました。 また、そもそも自分が使おうとしないため、開発のモチベーションを維持することが出来ませんでした。自分自身が1ユーザーとして使うものを作るほうがモチベーションにもなりますし、改善点も見えやすいんだろうなと思いました。

おごりあい

よく会う人との割り勘や別会計を毎回するのは面倒だな・・・と思い、「会計時にどちらかが相手の分も支払う→支払った金額を記録→次の支払いは過去の支払い額が少ない人が払う」を管理するためにReact Nativeを用いたiOSアプリを作りました。

おごりあい

おごりあい

  • Ryosuke Tanaka
  • ユーティリティ
  • 無料
apps.apple.com

元々Trelloで似たようなことをやっていたのですが、金額計算を手計算で行っており、管理することが手間だったのでアプリを作った形になります。

また、yatta!における教訓から、作り始める前には以下の点を意識しました。

  • 自分がユーザーとして使うもの
  • 既存のアプリでは実現されていないもの

事前にアプリの調査や既存のアプリやサービスで試したことを踏まえて作成に踏み切りました。 ロゴの作成からアプリストアへの申請など、開発面以外についても初めての経験ばかりでしたが、リリースまでの流れを知ることが出来たので良かったです。ストアに公開された時はとても嬉しかったですね。

このアプリについては現在も継続して利用しているのですが、アプリの改善までは手を付けられていません。 理由としては

  • 現在の状態でやりたかったことがある程度達成できてしまった
  • React Nativeの開発でかなり苦労してしまったことによるモチベーションの低下

後者については、主にライブラリの選定ミスが要因です。破壊的変更が加わったばかりのライブラリを利用してしまい、実現したいことの記事を探しても見つからず、最終的にYouTubeで解説している動画から実現方法を見つけました。最新バージョンが良いだろうと思って意地でも使おうと思いましたが、こういったことが起こるので柔軟に対応しないといけないと思いました。

サ活記(開発中)

詳細はリリース後に記述しますが、FlutterによるiOS/Androidアプリ開発を進めています。 年内にリリース予定でしたが、一部機能で大きな修正が必要になったので絶賛開発中です。

電子工作

触覚フィードバック付き仮想ボタン

M5Stack Core2の発売タイミングと並行してM5Stack Creativity Contestが開催されていたので、何か作ろうと思い、作成しました。せっかくならM5Stack Core2から搭載された、タッチパネルと振動機能を活用したかったので、このようなものを作りました。 ありがたいことに、参考にしてもらえたので嬉しかったです。

電子ペーパー

デイリーポータルZさんの記事を見て、これは欲しい!と思い、パーツを集めて組み上げました。これを使って何かやろうと思いましたが、画像を表示するだけかなり楽しかったので満足しました。

その他

ハーディ・ガーディ作り

Twitterでみかけたハーディ・ガーディの演奏動画を見て「欲しい!」と思ったのですが、手軽に始めるには手が届きにくい金額でした。そこで簡易的ではありますが制作できるキットがあったので、そちらを購入し組み上げました。

購入当初は練習していましたが、気づけば飾っているだけになっています。

データ分析系

去年の年末から年始にかけて時間があったので、データ分析の本を一通りやってみました。

この流れでKaggleや競馬の予測にも挑戦しようと思いましたが、テーブルコンペが開催されず、またコロナの関係で競馬場にも行くことが出来なくなったので、モチベーションが維持できずに取り組むのをやめてしまいました。

仕事

詳細は割愛しますが、大きな変化として以下がありました。

役職がつきました

人を見る立場になりましたが、エンジニアとしてのキャリア以外の幅が広がった点をプラスに考えています。チームで働くことが多い仕事なので、その上でどのように立ち回っていくかを試行錯誤していければと思います。一方で、初めての立場ということもあり、マネジメント系の本を様々読み漁っていますが、その分技術的な方向に割ける時間が減ってきています。1日の時間の総量は決まっているので、時間を何に使うかを決めて学び続けていければと思います。

書いた記事

電子工作系の記事は新作があまりなく、業務で利用しているRubyに関する記事の比率が上がりました。また、役職がつくにあたり、自分の考え方をまとめる練習が必要だと感じ、自己啓発系の記事も少し書いたりしました。多くの時間をモバイル開発の時間にあてながらも、この本数を書けたのは良かったなと思いつつも、モバイルアプリ開発の記事も書いておけば良かったなと思いました。

技術系

自己啓発

来年について

  • 電子工作系については、今年と同様に触りたいもの・作りたいもの・必要なものが出来たときに作っていこうかと思います。M5Stack Core2やM5Paperを購入しつつも活用できていないので、何かに使いたいです。
  • アプリ開発については、まずは新規で作っているものを完成させること。そして、今後は現状作っている2つのアップデート方向に時間を割ければと思います。これ以上新規で作ると他のことが何もできなくなるので、仮にアイディアを思いついても作りません(元々2つ目も作る予定はなかったので、その反省を活かします)。1作目の「おごりあい」はReact Nativeによる実装をしているので、フロントエンドまわりの勉強もそこで併せて出来れば良いなと思います。
  • 業務領域がインフラ寄りになりそうで、AWSの知識を身につけていく必要がありそうです。直近の目標としてはSAA(ソリューションアーキテクト アソシエイト)の取得を目指して勉強していこうかと思います。
  • RubyRailsについては、まだまだ深く学びたいなと思っています。機能を作るだけであれば多くの場合は問題ないのですが、より良い作り方や実行速度を考慮した作り、またRubyRails自体の理解できていない領域がまだまだ広いので、学んでいければと思います。
  • マネジメント系の本も適宜読んで、実務に活かしていければと思います。