概要
リアルタイムでアドベントカレンダーを2年目エンジニアが1人で埋めるチャレンジをしてみた.
書いた24記事の振り返りと,1人でアドベントカレンダーを埋めて知ったこと,自分が毎日記事を書き続けたルーティンとそのコツを紹介する.
アドベントカレンダー全体の振り返り
アドベントカレンダーの記事を作成するにあたって,自分が日常的に疑問に思ったり興味を持ったものに取り組んだ.ジャンルバラバラで自分ができることを精一杯できたと思う.
エンジニア目線のアコーディオンの修理は,実際の音を用いた音響処理なので一筋縄ではいかず,挫折している段階.和音の音階推定の難易度を実感することができた.
光造形3Dプリンターで紙吹雪の作成は,実用化させるための量産方法と安定して印刷できる設定の調整に苦戦している.blenderを本格的に触ったのも初めて,光造形3Dプリンターも始めてだったので,操作関係に詰まる部分はいまだに多い.
ファンサの当たり判定調査は,気になっていたことを解決したので本当に良かったと思う.調査結果から,左右差があったり・予備動作を含めてファンサになっていることを知ったので,より詳細な調査をしたいと考えている(誰かお金出してくれないかなぁ...).
骨格座標でダンスの比較は,ちゃんとダンサーの人に収録をお願いしてその動画を利用した.元々公開する予定ではなかったので,契約時に「動画やその動画から作成した画像・スクリーンショットは,インターネットで外部公開しない」としていたため,実際の骨格座標の取得結果などを共有できないのが心残り.
単発企画は,自分のアイデアの基礎になった.今回ヒートマップの作成方法を整理している段階で,「ファンサの可視化ができるのでは?」という考えにいたった.
色々な事に手を出しているため,記事を書く時間2割・他の手を動かす時間8割となっている.心残りなのが,記事の文章チェックをほとんどできていないので,分かりづらい点・論理の飛躍が残ってしまった.
やって実感したこと・思ったこと
「プログラムを勉強したいんですけど..」という質問の回答
よく,「プログラムを勉強したいんですけど..」という新人エンジニアの質問を聞くことがある.ずっと適当なこと言えないなぁと思って回答を控えていたが,1つの答えが出た.
それが,「自分の好きなもの・作りたいものを見つけてそれを作る」である.
根底にあるのは「学ぶためのモチベーションの維持」になる.
自分の答えが出た瞬間は,blenderを触った時である.
blenderを触っていると自分が最初プログラムを勉強し始めた時を思い出した.
「何を作るのかわかっているが,作るために何をすればいいかわからない」という状況が何度も心を折りに来た.ただ直線を引くだけなのにそれができないというストレスがあまりにもキツい.
結局それを解決するのは「作るための手順を探し続ける」ことしかなくて,手を止めることはできない.
手順を探し続けることができた理由は「どうしても作りたいものがある」という学ぶためのモチベーションの維持につながった.
好きこそものの上手なれという言葉があるが,それは好奇心の維持ができるからこそ上手くなるのであり,
「自分の好きなもの・作りたいものを見つけてそれを作る」ということが,プログラムを勉強するコツなのではないかと思う.
物事を継続する方法
最初はちょっと無理して続けることだと思う.
自分の性格が中途半端な飽き性なので,一週間分くらいの記事を書いて終わると思っていたが,8記事くらい書くと,「せっかくここまで続けたし」という思考に切り替わって続けることができた.他の物事もちょっと無理して続けてみようかな...と思う.
困ったところ
Qiita記事の添付ファイル周り
途中,qiitaの記事に画像を張り付けていくと,データ上限に関するエラーが出てきた.
1か月で25記事書くため,qiitaのS3に保存できる画像の上限が容易に超えてしまったと思われる.
また,アコーディオン修理の記事を書く際に音を聞いてもらう必要があるため,
音声・音楽ファイルをqiitaで共有する方法に少し苦労した.
画像容量上限が起きた際の他の案と音声ファイルを共有する方法をメモしておこうと思う.
画像がアップロードできなくなった時
githubに画像用リポジトリを作成して,その画像を参照する形式.
画像のリンクは,ブラウザで右クリックして「画像のリンクをコピー」で取得できる.
音楽を参照する
soundcloudを利用する.180minまで無料なので長尺音声じゃなければ大丈夫そう.
動画だったらyoutubeになるのかな...
記事のネタ切れもしくはタイムアップの不安
リアルタイムでの記事作成になるため常に不安が付きまとう.
記事のネタ切れの対策は,「とにかくアイデアを書きだす」ということ一択で解決した.
- 身近で気になったことは無いだろうか
- わからないまま放置していないだろうか
- 社会人になってしなくなったことは無いだろうか
だいたいこの辺の目線を持って記事になるネタを作成した.
ネタを思いついた次は,毎日記事を書くため「今日中にプログラムを書くなどの作業して,記事まで書けるだろうか」というタイムアップに関する不安が付きまとう.
これは,「常に手を動かす」ことと「無理なら別のネタを進める」という方針で何とかした.
アコーディオン修理に全力を出して論文を読んだり機械学習でフィルタリングするなどの実装などをしてみたがあまりにも時間がかかりすぎた.そのため,中断して別のファンサの当たり判定や3Dプリンターの紙吹雪作成などに手をつけて記事を書くことにした.
ただ,失敗も記事として載せておくことで,屍となり他の人の助けになるのではと終ってから思った.
リアルタイムで記事を書く方法
毎日記事を書くルーティン
「空き時間を全部作業に突っ込む」というパワープレイをした.
平日は仕事,土日はジムがあるので,移動時間+朝起きて仕事まで+仕事終わって寝るまでの3つをどう生かすかになる.
これをどのような状況であっても遂行する.
必要なもの:覚悟
上記のルーティンを実施するにはやはり覚悟しかない.
「なんとしても記事を書くんだ!!」という覚悟を持って最後まで書き続けた.
覚悟を持つきっかけは人それぞれだが,自分は
「アドベントカレンダーを一人で最後まで書ききった人の気持ちを知らないといけない」という狂気の知的好奇心が,自分の覚悟の燃料となった.
まとめ
アドベントカレンダーを1人で埋めるチャレンジをしてみた.
記事を書くのに覚悟は必要とは言ったものの,知識が微妙な場合でも気軽に書いてみてもいいのではと思う.
書いている間に「ここ分からんなぁ」という部分が出てくるので知識の整理としてすごく優秀だと思う.
そういえば,研究室で「論文や進捗報告をちゃんと書くメリットとして,知識の整理や論点の抜けに気づける」という話を何度も聞いたし,実感するタイミングがあったことをふと思い出した.
最後まで読んでいただき,ありがとうございます.よいお年を.