見出し画像

iOSエンジニア6年目がようやく初めてひとりでアプリを作った

ととです。
新卒で初めてJavaのコードを見て「publicとstate以外知らん英単語と記号が謎の空白を空けて並んでる…」と思ったあの日から6年近く経ち、今ではiOSエンジニアの端くれをやっています。

さて、4年前くらいにエンジニア用のTwitterアカウントを作って、なんだかんだとエンジニアのお友達もできてきました。
そして、外の世界を見てみると、みんなすごいですよね。
「みんな休みの日にも個人開発してる、してないのはお前だけ」状態に微妙に焦りも感じてました。

が、放置してました。それも年単位で。
なんでかっていうと色々あるんですが、

  • 制作欲を料理やら刺繍やらで満たしている(プログラミングに比べれば、単純作業なので手頃な感じに済ませられてしまう)

  • 作りたいものがない。あっても私が作るより素晴らしいアプリがすでにある

  • 普通に土日は別の楽しみを優先しがち

  • 0から1人でアプリを作るということに、どれくらいやったことない作業があり、挑戦が山盛りであることがほんのり分かっているので怖い

  • 作りきれる気がしない

とかですね。
(こういう私みたいなタイプがエンジニアとして向いている・向いてないみたいな論争はあると思うんですが、一旦おいておいてください)

そんな私に色々な条件が揃いました。

  • 9月頃に突然実質5連休が発生し、直近やりたいことをやり尽くし、体力と気力が余った

  • 新卒採用の仕事を少しお手伝いして、その時「今の学生ってほんとすごいな…私も何か作った実績あった方がいいな…」と思ったばかり

  • 仕事で業務用ツールを作ってね、と言われて上期にどうにかこうにか作り上げたばかり(0からの1人で新規アプリの作成!という挑戦が達成されたばかり)

  • 社内イベントでこういうアプリあったらいいよね、みたいな話があがり、さすがの私にもそのイベントまでに作れそう…と思える難易度だった

  • しかも、つまり使われる予定があり、期限もある

  • そのアプリはAppStoreで調べたらありそうでなかった(わざとあまり深く調べず、自分の中でない! と認識することにした)

ここまで条件が揃ったので、手を出すことにしたのです。
小さな習慣 | スティーヴン・ガイズ に「目標はばかばかしいほど小さく」ともあるので、こんな感じで始めることにしました。

  • そこらへんの新人研修でも数日くらいで完成させれるのではないか?というくらいシンプルな機能

  • とりあえず最小限の機能がイベントまでに完成してれば良い

  • 1日1時間とか、ちょっとずつ作る

  • 挑戦は盛り盛りにしない。1つだけ。

    • 今回は、SwiftUIにチャレンジ!

それでも、完成させられるか不安で誰にも言わずにこっそり始めました。

が、5日目にゲロりました。
今回の私の挑戦はSwiftUIやってみよう!だったのですが、画面崩れが直せなくてTwitterの友達に泣きつきました。
みんなすぐ助けてくれました。持つべきは友やわ。
人を頼ったからには、ある程度まで完成させないと申し訳ないよな…という義務感もいい感じに生まれ、そこからまたコツコツ作りました。
必要な最小限の機能は完成させられそうだ…、と目安がつき、イベント1週間前くらいに社内でもようやく「こういうアプリを間に合わせようとしてます」と言いました。
みんな褒めてくれました。
いや、ショボショボぞ? って感じのアプリなのに。
まだ完成もしてないのに。
みんなすごいえらいとか、スタンプ押してくれましたし、
マネージャーも「いや褒められしか発生しないから安心しろ」って言ってくれました。

作ったもの

完成したアプリがこちら。

発表のタイムキーパーアプリです。
Startを押すとカウントを始めて、3分前と1分前にも音がなって、0になったらヴァァアアアーーーーン!! と銅鑼が鳴り響きます。
その名もDoraPresentationTimer。シンプルだね。
銅鑼なのがささやかなこだわりです。
iOSDCのLTで5分でブチ切られるあの空気を再現したかったんです。
(今回のイベントのLTもその形式でした)

当日

当日は、こんなベルを用意しとくとも言われていたので、まあ最悪未完成でも、バグがあっても、最後は手動でタイムキーパーやればいいし、イベントはなんとかなるかと思ってました。

レジの横とかにあるベル

が、なんと当日、手違いでこのベルは不在。
私のアプリ一本勝負となり、当日は司会進行も担当しながら、色んな意味ですごい緊張しました。
(後から考えたら、別のアプリをインストールすればいいだけの話でしたが。)
でも無事、クラッシュしたりすることなくアプリは乗り切ってくれて安心しました。

ふりかえり

普段もっと立派な画面とか機能とかを作ったり、テストコードをゴリゴリ書いたりしているはずなのに、個人開発ってなるとびっくりするほどショボいことしかできない!笑
なんか心なしか書いてるコードもクオリティが低い!
たぶん普段は、似たような画面とか機能のコードを参考にしたりして書いてるから、自分が0から書くとなんか……って感じの残念なコードになってる。

作ったアプリのリポジトリは公開しています。
https://github.com/totokit4/DoraPresentationTimer
当初の目標にしていた社内イベントはおわりましたが、細々と直したい部分や追加したい機能は残ってます。
ぼちぼちやりたいなと思います。
個人アプリリリースの実績解除もやりたいです。(ああ…言ってしまった。出来るかな…)
もし、まあまあ暇な人がいたら、私がこれからまだまだぶつかるであろう開発の助けになってくださると嬉しいです。
新人でもないのに6年目にして、あつかましいかな。笑

おわりに

この記事を読んでくれて、ありがとうございます。
実は私が伝えたい高尚なことは、特にないです。
「I did ‼︎」という感じです。
「私が出来たんだから、あなたにも出来る!」という気はありません。
だって、私にはこれ以上ない素晴らしい条件と、素晴らしい友達と、素晴らしい職場が揃ってたんですもの。
今回の記事は、そんな、私を取り巻く皆様に
「ありがとう、ちょっと成長しました」って伝えたい記事でした。

社外イベントで司会進行をした話はこちら↓


この記事が気に入ったらサポートをしてみませんか?