2023年の振り返りと2024年の目標

2023年の振り返り

仕事について

2022年夏にフラー株式会社に転職し、2023年は初めて年始から年末までこの会社の一員として過ごしました。

転職してよかったしそこそこ色々できたかなというのが今の素直な感想です。

仕事面では主にこんなイベントがありました。

  • テックリードになってチーム運営に変化をもたらせた
  • 長岡花火に運営として関われた
  • 割と難易度が高い(エンジニア業務もクライアントとのやり取りもほぼ自分でやる)プロジェクトを完遂できた
  • インターン2つのメンターを行って採用文脈にも顔を出せた

特に大きかったのはテックリード就任と長岡花火です。

テックリード就任

7月に当時のiOSテックリードが退職し、8月から後任として私がiOSテックリードになることになりました。 前任の方がめちゃめちゃ技術つよつよ系のテックリードだったのですが、私はそういうタイプではない(バランス型とでも言いましょうか)ので正直内心「自分に務まるのか…?大丈夫か…?」と不安たっぷりだったのを覚えています。

とはいえテックリードの厳密な業務範囲が定まっているわけではないし(それは良くないのでは、という意見もあると思うが自分は必ずしも悪くないと解釈している)、自分は自分のやり方でやろうと早い段階で覚悟を決めたのは良かったかなと思います。

具体的にどんなことをしたかはテックリード就任半年(2024年2月)のタイミングで書いていこうかなと思っています。

長岡花火

私が今の会社に入った大きな理由のひとつに、長岡花火アプリを開発しているという点がありました。

長岡花火アプリの詳細はCTOによる2022年のiOSDCでの発表に譲りますが、私は新潟県長岡市に住んでいた小さい頃はもちろん、やむを得ない事情が無い限りは社会に出てからも毎年現地に見に行っていました。

そのアプリを作っていたのが今の会社で、開発だけでなく当日のアプリ運営(Push打ったり情報更新したりとか)や、花火の次の日のゴミ拾い(希望者のみ)などもしています。 www.youtube.com

入社したときに「小屋(アプリの情報更新などをしている、運営用のプレハブ小屋)で◯ぬことが夢です」と言って社員を引かせた私ですが、2023年夏、運営として小屋に入る夢が叶いました。

子どもの頃からずっと見てきて毎年感動してきたイベントに運営として関わることができ、更に現地で多くの方がそのアプリを使っている光景を見ることができました。アプリエンジニアとしてこんなに幸せなことがあるでしょうか。いや無い。

ということでひとつの夢を叶えてしまったわけですが、まだまだ今の会社でやらなきゃいけないこと、やりたいことは沢山あるので2024年はまた新しい目標の元やっていきます。

プライベートについて

プライベート開発

2023年はプライベートで2本のアプリをリリースしました。 両方とも、友人と一緒に2020年に設立したSCOOOOPという会社名義で開発したものです。 www.scoooop.jp

【えほう】

2月3日の節分のときのみ皆さんが気にする、恵方を指し示すコンパスアプリです。 一緒に会社を建てた友人が開発していたものをリメイクし、課金やおみくじなど追加要素を実装したものです。 とにかくふざけ倒して開発しました(たのしい)。

恵方系アプリに絞るとランキング2位だったので、今年は1位を目指します。 (iOSのみのアプリです)

究極の恵方巻コンパス - えほう

究極の恵方巻コンパス - えほう

  • 株式会社SCOOOOP
  • ライフスタイル
  • 無料
apps.apple.com

【スマゴミ】

Flutter初挑戦で、iOS/Android両方でリリースしたゴミ捨てカウントダウンアプリです。

カレンダー形式ではなくカウントダウン形式にすることにより、開いた瞬間今日は何のゴミの日かがわかります。 元データをいい感じに整形するのがスーパー大変なのでまだ対応地域は限られますが、順次拡大していきます。

スマゴミ

スマゴミ

  • 株式会社SCOOOOP
  • ライフスタイル
  • 無料
apps.apple.com

t.co

犬との生活

2023年は犬(フレンチブルドッグ♂、5歳)とともに色んな場所に行けました。

犬も泊まれる宿というのは数が限られ、その中でも同じベッド・布団で寝られる宿となると更に数が絞られます。

そんな中「キャンプなら何も気にせず一緒に寝られるじゃん 🤔」と思い2022年からキャンプに行き始めたのですが、2023年は山梨(色々)・群馬(無印)・新潟(スノピHQ)の色んなキャンプ場に行けました。 また、車とフェリーで函館まで行き、1週間函館でリモートするという大旅行も実現でき犬との生活もなかなかに充実したものとなりました。

犬はよほどのことが無い限りは自分よりも早く亡くなってしまうので、できる限り一緒に良い思い出を沢山作りたいものです。

2024年の目標

目標なんて沢山立ててもどうせ来月くらいには忘れるので、1つだけ立てました。

アウトプットを増やす

です。

プライベートでのアプリ開発は継続していくものの、それ以外の技術系記事執筆だったりお気持ち表明だったり、もうちょっと自分の外に出していくことを意識して生きようと思っています。

ずっと自分に自信を持てずに生きてきていますが、ある程度の経験を積んできて、もし自分の経験やスキルとかが誰かの役に立ったらいいなと思ったり、何かしらの形で誰かの成長や気付きにほんのわずかでも貢献できれば、それはとても嬉しいことだなと思ったことが背景にあります。 そうならなくても(虚偽や誹謗・中傷じゃなければ)とりあえずアウトプットしとくことに悪いことは無いかなと。

年明けから大変なことが続く年になっていますが、自分ができることを、たまにできないかもしれないことにも挑戦しつつ、粛々とやっていきます。

【2017】今年の目標

2017年が始まって早22日。1/2に立てた目標を今更になって書いておく。あとでしっかり見直せるように。

自分にとっての1年の目標

転職して1年が経って今までと違ったポジションで働くようになり(Web, iOSのいちエンジニアから、スマホアプリ開発チームのリーダーになった)、チームメンバーをまとめなければいけなくなったときに自分の力不足を全身で感じるようになった。

自分以外のリーダーや、リーダーでないメンバーは自分から見たら非常に優秀な人が多い。

これが、今まで働き方、考え方や生き方、行動の仕方などについて大して考えをめぐらさず、目の前の仕事しかしてこなかった結果か、とひどく落胆した。

どうしたら良いものかと悩んでいたが、年が明けたタイミングで、心機一転自分に足りないと感じているものを補えるよう目標を立て、それに沿って生活していこうと思った次第である。

自分は今まで、1年の目標というものをほぼ立てたことがない。

小、中学生のときに書き初めで書いたりしたが、そんな義務感に駆り立てられて書いた目標は3日で忘れていた。

今回、もういい加減いい年なので年末に振り返るのはもちろんのこと、短期的な振り返りも実施して目標に大して自分の動きはどうか、しっかりと見返しながら日々生きていこうと思う。

2017のテーマ

ひとまずテーマとして、 自分を知る を挙げた。

今の自分は、

  • 自分に自信がなさ過ぎる
  • 働き方、生き方について自分の信念みたいなものが無い
  • 物事の見方が表面的

という課題を持っていると感じている。 もう少し考えると枚挙に暇が無いと思うが、ひとまず明確に自覚していて、すぐに思いつくもの3つが上記である。

上記について自分が考えてみて思うことは、まず自分が何を考えて生きているのか、自分がどうなりたいのか、などが自分でも全くわかっていない。

どういうときにどういう考え方をするのか。他の人の考え方に触れたときにどう考え、どう行動するのか。 調子が悪いとき、それを抜け出すためのヒントが生活の中のどこか無いか?また、生活の一部を変えたらより良いパフォーマンスが出せたりしないか?

そういったことを知りたいと思ったが、如何せん自分は自分のことを知らなさ過ぎる。そしてインプット・アウトプットが共に少ない生活をしていたため、他社と比較して自分はどういう立ち位置にいるのか、ということを客観的に捉えられていない。

そんなことを思い、まずは自分を知ることをテーマにしよう、と思った次第である。

そんで目標

そこで立てた目標が以下である。

  • 1ヶ月2冊以上本を読み、レビュー(感想)を書く(そしてそのレビューを他者も見れる状態にしておく)
  • 毎月最低1回はブログを更新する(自分が別途書いているブログGummi Lifeとは別途)
  • 継続的な筋トレ(腕立て、腹筋、背筋)
  • 21時には会社を出る
1ヶ月2冊以上本を読み、レビュー(感想)を書く(そしてそのレビューを他者も見れる状態にしておく)

今までとにかく本を読んでこなかった(技術書は別だが)。技術書だけでなく、ビジネス書や自分の業務分野と関係の無い本等、色々な本を読んで、とにかくインプットを増やしていこうと思い立てた目標である。

働く上での心がけ、考え方や行動の仕方を自分の中に定着させていく必要があると思うが、自分や自分の同僚、友人だけでなく、自分が全く知らない他社の考えをもっとインプットして幅を狭めないようにしなければと考えている。

今自分で見返して「目標の冊数少なっ!」と思ったが、これまで全く読んでこなかったことを考えればまぁいいか、と思いこの数にした。 ちなみに今月は現時点で3冊読了(1045ページ)しており、来月からはもっと増やせそうな気がしている。 記録は読書メーターで取ってます(nirazo - 読書メーター)。

また、レビューについては、読むだけでなく自分の考え方をしっかりまとめるという意味もあるが、アウトプットを恥ずかしがってあまりしてこなかった自分の殻を破ろうと考えて立てた目標である。

毎月最低1回はブログを更新する

インプットと同様、アウトプットも圧倒的に足りないのである。 自分の考えを外に出す機会が無い(出そうとしてない)ため、自分の考えをわかりやすくまとめるという行為もしようとしていない。 ので、自分の考えや信条がよくわからない大人がここに出来上がってしまっている。

別途グミブログも書いているが、それとは別で自分の考えたことや書籍レビュー、技術の話など何でも良いので月1回は必ず書く!という目標を立てた。

これまた数が少なめだが、これまで全く書いてこなかっ(ry

継続的な筋トレ(腕立て、腹筋、背筋)

テーマと全然関係無い目標になってるし具体的な数も決めてないが、とにかく継続的に筋トレをすること。 筋肉を増やす!とかではなく、筋肉をこれ以上落とさずキープを目標に。 変に厳しい数を設定せず頑張る。 今のところ、毎日とは言わないが2日に1回以上のペースでやってるのでこれを続けていこうと思ってる。

21時には会社を出る

昨年は22時、23時退社はザラにあった。

自分は会社と家が遠いので、無駄に長く働かず効率的に働くことが大切である。

21時までには家を出て、自分の時間をしっかり作りたい。

出社時間が少し遅いので、目標も少し遅めになっている。

今思ったが、◯時には帰る!より◯時間以上働かない!の方が良い気もしてきた。

その他やっていること

これまで書いた目標の他、最近 fitbit flex2 を買って歩数計測、睡眠計測、食事記録をしている。

また、Sleep CycleLife Cycleも使ってライフログも取り始めた。

自分を知ることの一環として、自分の行動を記録していくのも面白そうなのでちょこちょこ振り返って何か気づきがあるか確かめてみたい。

最後に

ちゃんと目標を立てて、宣言して1年を始めるというのは自分としては新しい試みで、今のところ結構楽しんでやっている。 年末に自分がどうなっているか、何に気づけてどう変わっているか非常に楽しみである。

技術的な目標は立ててる最中だが、ひとまず技術以外で圧倒的に足りていない部分についての目標を立てましたとさ、という話。

下記アプリは引き続き開発していくので是非使ってみて下さい!(急に宣伝) peco.my

try! Swiftに3日間参加した

はじめてのはてなブログ

 

去る2016/3/2 ~ 3/4, iOS界隈の人たちを賑わせた try! Swift (#tryswiftconf)に参加してきました。

リアルタイム翻訳のレベルの高さや3日間聞き起こしをして下さった@niwatakoさんの超人っぷり、海外勢のポケモンネタ率の高さなどは色んな方が話題にしているのでそちらにお任せしようと思います(手抜k

個人的に気になったトピックや感想とか書いていこうかと! 

 

ひとまず参加しての感想をば

とにかく楽しかった、というのが真っ先に出てくる感想です。

国内外の有名な方々が登壇し、参加者は500名を超える、そして海外からの参加者も150を超えている。これだけ大規模なカンファレンスが国内で行われたことにまず興奮するし、まだまだ若いSwiftコミュニティの今後を担っていくであろう多くの方々の発表を聞け、そして会話できて、本当に有意義な時間でした。

 

そして、外国人プレゼンうめぇってのもかなり感じたことですね。

アイスブレイクも上手いし、スライド1枚1枚の役割がすごくわかりやすくて、聴きやすいなぁと思ってました(1枚の情報量があまりにも少ないのは聴いて理解するのが大変ですが…w)。

 

あとは、やはりもっともっと経験が必要だと感じました。

話を聞いていても、やはり経験が無いとイマイチよくわからない、となってしまったり、質問が思いつかないことが多々ありました。

自分が本当にわからない、ハラオチしない部分がどこなのかってのがわからないまま終わってしまうというのが非常にもったいないと感じたのが正直なところ。

仕事でもプライベートの開発でも、新しいトピックを見つけたらとりあえず試してみる、そして疑問点や問題点を絶えず記録しておく、というのがどれだけ大切か思い知らされました。

↑は本カンファレンスに限った話ではないですが、Swiftはまだまだ若い言語で、経験の長い人でも2年経っていないくらいです。

これから第一線でやっていくには今のうちに遅れをとらないことが重要だと感じてるので、改めて思った次第。

 

さて、ここからは気になったトピックを紹介!

 

設計まわりの話

文化を調和させる

niwatako.hatenablog.jp

Daniel Steinberg(@dimsumthinking)さんによる、UITableViewを使った簡単なアプリケーションをSwiftライクに書き換えていくセッション。

OOP, POP, FPを取り入れながら、Swiftらしい、綺麗な設計にしましょうという話でした。ライブプログラミングというわけでは無いですが、スライド上で徐々に生まれ変わっていく過程が見られてそこそこ頭に入ってきました。

家に帰ってから、↓の書き起こしてみた記事を見たので触発され、Before/Afterのコードを自分で書いてみました。

try! Swift 1日目 "Blending Cultures"の内容をサンプルアプリに起こしてみた - Qiita

 

Before/Afterのリポジトリ

github.com

github.com

 

ちなみに、私2013年にアトランタで開催されたcocoaconfというカンファレンスに参加したのですが、そのときにDanielさんが話していた下記の言葉が非常に心に残っています。

We cannot change the world, but we can change the world of one person.

英語が厳密には違うかも…w

Danielさんが話していた内容は少し悲しい話しだったんですが、この言葉にとても勇気をもらったのを覚えてます。

実践的 Boundaries

Ayaka Nonaka(@ayanonagon)さんによる、Gary BernhardtさんのBoundariesという講演について、Swiftでどのように実現するか、というお話。

Boundaries — Destroy All Software Talks

関数型プログラミングの講演でよく言及されている様でしたが、関数型初心者の自分は聞いたことがなく…(汗

niwatako.hatenablog.jp

内容としては

1. ViewControllerをimmutableにし、ネットワーク通信部分とViewController生成をprividorとして別途structで作成する

2. Coordinatorパターンを使い、ViewController同士は互いを知らず、独立したものとして作る(そしてその結果、木構造になっていく)

てな感じの話があったかなと理解してます。

Coordinatorパターンについてはまだちゃんと理解できてないし実践もできてません。

 と仰ってる方がいらしたので、下記資料とか見てそちらも勉強してみようかなと思います。

www.slideshare.net

 

開発tips的な話

プロトタイピングの魔法

Adam Bell(@b3ll)さんによる、Playgroundでインタラクティブにプロトタイプを作っていくお話。そもそもアニメーションを作る意味があるの?と思っている人が考えている3つの問題(そもそもアニメーションは必要ない・パフォーマンスが落ちる・作るのに時間がかかる)に対して答えていく形で進み、最終的には「こんなに簡単にプロトタイプは作れる!」ということをライブプログラミングで示していきます。

niwatako.hatenablog.jp

 

Xcode7.3からPlaygroundがインタラクティブになった(ジェスチャにも対応)ことを初めて知り、実際にAdamさんがポケモン図鑑的なアプリを作っているのを見ながら、これは使えそうだと感じました。使わねば!

 

あと、

「アニメーションはストーリーを展開する。意図が無ければいけない。」

「CoreAnimationは基本的にパフォーマンスを落とさない」

など、実装面のみならずアニメーションについての考え方についても考えさせられるセッションでした。

SwiftコンパイラとLLDBの連携

 Novall Khan (@novallkhan)さんによる、LLDBを使ったデバッグテクニックの紹介。

niwatako.hatenablog.jp

正直LLDBを使ったデバッグって全然ちゃんとできてない、というかpoくらいしか使ったこと無い (汗 ので、非常に勉強になった&予習が必要だなと感じました。

ブレークポイントのカスタマイズとか、全然知らなかったけど使えそう!

Swiftヒップスター

 iOS開発、というよりはSwiftのわかりづらいattributeやあまり知られていないキーワードについて解説するセッションでした。

niwatako.hatenablog.jp

正直全然わからなくて恥ずかしい!というのが感想です。要予習!

日本語訳記事がQiitaにアップされていますね!

qiita.com

 

テストの話

テストに関するセッションは2つありましたが、正直なところ自分がほとんどテスト書いてない、というか書いてもまぁできるところだけ…みたいな感じだったので、経験をもとに「こういうときはこうすればいいのか!」とか「じゃあこういうときはどうしたら?」みたいな考えがあまり浮かばなかったというのが正直なところです。

仕事にしろプライベートで作ってるアプリにしろ、少しずつでもテストを書くようにしていかないとどんどん遅れていく!と焦ったセッションたちでした。

Swiftにおける実践的なモック化について

speakerdeck.com

niwatako.hatenablog.jp

Artsyにおけるテスト手法の紹介

speakerdeck.com

niwatako.hatenablog.jp

 

最後に

長々書いてしまいましたが、冒頭にも書いたとおり本当に楽しくてエキサイティングな3日間でした。

try! Swift2017開催が決まったら、一瞬で参加申し込みしようと思います。

登壇できるくらいのエンジニアにならなきゃな!