サクッと。
- まずは何より仕事で必要とされる技術やドメインについてしっかりやっていきたい。
- お金周りのことをもっとよく知るために簿記を勉強したい。
- TypeScriptやっていきたい。
- 競プロやっていきたい。
- ギター教室に通いたい。
- 台湾行きたい。
- ジム入ったのでやっていく。
2020年はインプットを中心に種をまく年にしたいです。
今年もどうぞよろしくお願いいたします。
サクッと。
2020年はインプットを中心に種をまく年にしたいです。
今年もどうぞよろしくお願いいたします。
明日で2019年も終わりですね。皆さんにとってどんな年だったでしょうか。
僕はPerfumeの2018→2019年のカウントダウンライブに参加しており、年初は横浜で迎えました。
今年の抱負でこんなことを書いていました。
Perfumeのカウントダウンライブでこれ以上ない年明けを迎えられたので、最高の年になる気がしています。
結果的には振り返ってみて、本当に最高の年になりました。
というわけで毎年恒例の一年の振り返り記事を書いてみたいと思います。
お仕事としては、8月までキャッチアップ、9月からはGMOペパボで働かせていただきました。
転職という大きな決断をしたのですが、代表を始め、皆さんに快く送っていただくことができました。現職でも前職でやってきたことが活きる場面が多々あり、本当に感謝しています。
何かと自分で決断せず、周りに流されてきた自分が初めて自分で選んだ職場だったのですが、色々なことを経験させていただき、非常に貴重な財産となっています。現職でもプロダクトを通じて関わりがあることもあり、転職したからといって切れた関係ではないので、これからもコミュニティなどを通じていい関係を続けていけたらと思っています。
GMOペパボではペパボカクテルというオンボーディングプログラムにのっとり、メンターとは週次で、さらにマネージャーを交えて月次で3ヶ月間振り返りを行いました。振り返りを振り返るというメタな感じがしますが、主観で何事もネガティブに判断しがちな自分に客観的な目線を与えていただいて、非常に助かりました。年末のGitHub EnterpriseのIssues整理では、振り返りの記録を眺めて「4ヶ月けっこう色々やってきたな〜」とエモい気分になりました。
Windows 95でインターネットに出会って以来、インターネットの良い面、悪い面をたくさん見てきましたが、個性的な仲間たちと一緒に、インターネットを使ってもっとおもしろくできる予感がしています。来年はもっともっと頑張っていきたいと思っています。
イベントとしては、大きく2つのものに携わりました。
5/25に開かれたbaser Meetup vol.2で実行委員をさせていただきました。幅広くWebについて語ることのできるとても良いイベントになったと思います。baserCMSのマスコットのべっしーケーキがとても可愛かったです。ヌーラボさん、ありがとう!
6/29にはPHPカンファレンス福岡2019に実行委員として参加しました。大きなカンファレンスの裏側を知ることができ、非常に貴重な体験となりました。コミュニティとの繋がりも一気に広がりました。コミュニティって最高ですね。
今年は2015年に初参加して以来、カウントダウンの年越しを除外すれば、初めてPerfumeのライブに行かなかった年でした。来年は2月に福岡ドーム公演があるため、はっちゃけたいと思っています。FUSIONを選曲してくるという攻めの姿勢の紅白も楽しみです。
山口県のWILD BUNCH FEST. 2019に参加しました。雰囲気は平和でいい感じでした。とにかくラインナップが豪華で、どのアーティストを観るかかなり迷いました。色々見ましたがその中でもKing Gnuの常田大希の色気が半端なくて一番印象に残りました。こちらも紅白楽しみです。
Perfumeが出演したCoachellaの放送をきっかけにBillie Eilishを知ったのですが、彼女が自分の中で今年一番のニューカマーでした。10代であれだけのことをやれるんだからすごい。
今年の抱負でギター頑張るぞと宣言していたのですが、転職という大きなイベントがあったこともあり余裕がなく、あまり触ることができませんでした。来年は頑張っていきたいです。
大掃除をしていたら、長かった引きこもり時代に姉が自分の結婚式前に送ってくれた手紙を見つけて読んでいました。当時はすごく心配をかけてたんだなと今になってひどく感傷的になっていました。
自分で選んで楽ではない人生を歩んできましたが(楽な人生歩んだ人なんていないでしょうけど)、ようやく自分の人生、軌道に乗ってきた感じがしています。
来年もこのままの勢いに、関わってくれた全ての人に感謝しつつ、大きく飛躍していきたいと思っています。
ではPerfumeとKing Gnuを楽しみに紅白を待とうと思います。
良いお年を!
ブログでは報告していませんでしたが、2019/09/01付でGMOペパボにホスティング事業部所属で入社していました。
初出社done. というわけでGMOペパボの人になりました。よろしくお願いします。
— Takayuki NAGATOMI (@tommy6073) 2019年9月2日
そして11月を終えて3ヶ月経ち、無事試用期間を終えることができました。
試用期間 - 完 -
— Takayuki NAGATOMI (@tommy6073) 2019年11月29日
34歳にして初めてのフルタイムだったり、ホスティングという幅広い知識が求められる分野だったり、多くのユーザーを抱える責任感だったり、Slackの流れの速さに驚いたり、社員の数多くて人見知りにはつらかったり、環境に慣れるのがまぁ大変でしばらくはSNSをやる余裕とかもなくなってましたが、3ヶ月を無事終えることができ、ひとつ区切りがついて自信と余裕がわいてきました。
まだまだまだまだ足りない部分はたくさんあるので、いい環境を与えていただいている以上、もっと貢献できる人間になれるよう頑張っていこうと思います。
インプット欲が高まってきたので色々やっていくぞ 💪
『達人プログラマー』の共著者として有名なAndy Huntによる『リファクタリング・ウェットウェア』を読みました。認知科学、神経科学、学習・行動理論に基づいた、学習や思考スキルに関する本です。
なお、この本を読み始めたのは達人プログラマーの20年ぶりの改訂版がベータとして発売されたタイミングで、そちらはベータが取れるのを待ち、こちらをまずは読んでみようと思ったことがきっかけです。
また、Courseraの『Learning How to Learn』、『エンジニアの知的生産術』などもそうですが、こういったメタスキルに関するものは、流れが速いIT業界の中で、早く身につけておくことで、流行りに惑わされない不変の力をつけておくことができるとも考えました。
読者としてプログラマーを想定して書かれている部分が多く、多くの場所でコンピューターと脳の比較の話がでてきます。この2つは類似する点も多いものの、相違する点も多く、どうやったらフルに活かすことができるかといったことが本を通して書かれています。
右脳、右脳と単純に分けられがちな、脳の異なるモードについて本書ではL(inear)-modeとR(ich)-modeと区別し、直感を提供するR-modeの重要さを説いており、どう意識すればL-modeに抑えられがちなR-modeを協調させて活用できるかについて特に分量を割いて書かれています。
学んだことの実践のために、各区切りに「Next Actions」として、学んだトピックについて実際に行動するチェックリストがついており、今までの習慣から抜け出してリファクターされた考え方を実践する手助けをしてくれます。
また、付箋にして壁に貼っておきたいような言葉がTipsとして48つにまとめられており、あとからも参照しやすいようになっています。
良いなと思った点として、プログラマー向けに書かれた本ではあるものの、紙とペンを常に持ち歩いたり、本書で勧めているマインドマップもアプリではなく手で描くことを勧めています。プログラマーとしては全てデジタルで管理したくなりがちですが、アナログの良さも活用していきたいと思いました。
有名な、スキルの習熟度を5段階に分けるドレイファスモデル、目標設定のフレームワークであるSMARTといったものも目安として参考になりました。
最後まで読んで、脳というものについて、自分の体の一部でありながら、いかに働きを理解していないか、認知バイアスがかかってしまっているかを思い知らされました。
この本が出版されたのは2008年であり、発展が目まぐるしい科学の中で、今では通用しないこともあるかもしれませんが、なるべく固定観念に囚われず、常に子供のようなまっさらな気持ちで何事にも取り組んでいきたいと思いました。まずは前から気になっていたマインドマップを実践してみようと思います。
最後にこの本の中で特に刺さったマルセル・プルーストの言葉を引用します。
The real voyage of discovery consists not in seeking new landscapes, but in having new eyes.
真の発見の旅は、新しい景色を探すことではなく、新しい目を持つことにある。
PHPカンファレンス福岡2019に実行委員として参加しました。
今年の実行委員長 (@tsubakimoto_s さん)、来年の実行委員長 *1 (@seike460 さん) がブログを既に書かれているので、それに続こうと思います。
https://blog.seike460.com/2019/07/03/phpconfuk2019/blog.seike460.com
完全に運営視点の話になりますので、参加者目線のブログは公式サイトにこれから掲載されていくものをご覧いただければと思います。
去年のPHPカンファレンス福岡2018では人生初となるLT登壇をさせていただきましたが、今年は実行委員として参加したいと思っていました。そんな折、OSS Gate Fukuokaにサポーターとして参加した際、実行委員長の@tsubakimoto_s さんとご一緒する機会があったため、参加したい旨を伝えたところ快諾していただき、参加することとなりました。
初めての参加なので、当日スタッフぐらいで軽く関わるようなイメージでしたが、結果的にはグッズの発注、当日の司会(スポンサー読み上げ、HASIGOホール)まで任せていただき、かなり深く関わらせていただきました。 何度かイベントの運営には関わらせていただきましたが、200人を超える規模の運営は初めてで、とても貴重な経験となりました。
実行委員として関わって、ここがすごいと思った点をいくつか書いていきます。
実行委員ですが、基本的に全てボランティアでの参加です。日々の業務もある中、この規模のイベントの運営を自分の時間を削って行っている皆さんの姿に、自分も頑張らなくてはと刺激を受けながら関わりました。
デザインや発注、決めごとなどのやりとりはBacklogの課題ベースで行いました。Facebookのグループもそれを補助するように利用しました。
顔合わせは最初のキックオフとセッション採択会議、最後の詰め、前日準備の4回程度で、当日が初顔合わせという方もいました。オンラインだけでのコミュニケーションってどうしても難しさがあるので、これはすごいことだと思います。
当日はもっとピリピリするものと思っていましたが、そんなことはなく、和やかな雰囲気の中、進行しました。途中予期せぬ出来事がいくつか起こった時も、当日用Slackで共有して迅速に対応していました。チームワークは抜群でした。
個人的に嬉しかったことを書いていきます。
間違えがあってはならないとかなり緊張して迎えたスポンサー読み上げですが、ご好評だったようで何よりでした。
スポンサー読み今年もすごく良かったなぁ #phpconfuk
— 青ごへいもち (@blue_goheimochi) 2019年6月29日
ペチコン並みにスポンサーの紹介が丁寧なカンファレンスを僕はまだ知らない #phpconfuk
— なたでー🐭 (@natady_) 2019年6月29日
#phpconfuk スポンサーの紹介が毎年とても丁寧で好感が持てる😀
— Kosuke Ogawa🏝エンジニア (@koogawa) 2019年6月29日
終わったあとハッシュタグを眺めてにやにやしていました。
(なお、僕のしゃべりがゆっくりだったのも原因か、開会式のあとの午前のスケジュールが5分押してしまったのは内緒です。ご迷惑おかけしました。)
議論を重ねた結果、こうした方がいいのではないかと決まったことが、参加者の方の生の声で評価されると実行委員としては本当に嬉しかったです。
僕が関わったものの一例としては、ネームカードを去年の表面だけからタイムテーブルなどを印刷した裏面も加えた、というのがあったのですが、ご好評だったようです。
ネームカードの裏にタイムテーブルあるのわかりやすくて良いね #phpconfuk pic.twitter.com/TFwMwSfdiM
— 咳喘息 (@TAKA_0411) 2019年6月29日
みんなで練り上げた甲斐があったなぁと思いました。
参加者の皆様、こういう「いいね」と思ったことがあったらどんどんツイートしてください。実行委員は泣いて喜びます(笑)。
大変だったこととしては、普段デジタル製品ばかり扱っているせいで、グッズの発注作業はなかなか慣れないことで苦労しました。
デザイナーの @torchright さんに仕上げてもらったデザインを元に発注したのですが、業務であまり関わらないaiファイルなどを扱う必要があり、割と大変でした。金額が大きなものもやらせてもらったので責任も大きかったです。
あとは、袋詰め作業をしている時に、「あれ、エコバッグ足りない?」という声が上がった時は発注を担当していたので心臓が縮み上がりました(結局足りてました 笑)。届いてみないと分からないアナログ製品の難しさを感じました。
改めて、このイベントを成功に導いてくださった、スポンサーの皆様、登壇者の皆様、参加者の皆様、誠にありがとうございます。そして実行委員の皆様、半年間、本当にお疲れ様でした。
また、一人として欠けては成り立たなかったことですが、この場を借りて、以下の方々に特に感謝の意を表したいと思います。心よりありがとうございます。
余談ですが、僕は高校中退して引きこもり生活が長かったこともあり、青春と言える時代を過ごさずに30過ぎまで生きてきました。今回このようなイベントに関わることができ、いくつになっても青春って送れるものだなぁと思いました。大きな文化祭をやってる感覚というか。
30歳を迎えたPerfumeの3人が2018年カウントダウンライブで肩を組み合って「青春謳歌!」と叫んだのが僕は大好きなんですが、まさに自分は青春謳歌できてると感じました。まだまだ青春謳歌していきます!
さて、最後に。
去年も言いましたが、今年も言います。
PHPカンファレンス福岡最高!
*1:PHPカンファレンス福岡では懇親会で来年の実行委員長が決まるという恒例行事があります
『オブジェクト指向設計実践ガイド』として和訳されている本の第2版であるSandi Metzによる"Practical Object-Oriented Design, An Agile Primer Using Ruby"を読みました。
以前からオブジェクト指向プログラミングに関する名著という評判は聞いていましたが、その期待を裏切らないとても良い本でした。
オブジェクト指向設計とは何か、良い設計をどう実現するか、といったことから、最後はテストの書き方までカバーしてあります。
ちなみに、海外では原著初版のタイトルである"Practical Object-Oriented Design in Ruby"から頭文字を取ってPOODRと呼ばれています。略称がある本としてはSICP(計算機プログラムの構造と解釈 第2版)やCLRS(アルゴリズムイントロダクション 第3版 総合版:世界標準MIT教科書)などの名著がありますが、そこに並べても引けを取らない本だと思います。
なお、本のタイトルにRubyが含まれていますが、どの言語で設計する場合にも適用させることができる汎用的なことが書かれてあります。ただ単に例としてRubyを取っているだけだと公式FAQにも書かれています。
著者はプログラミングにおいて変更要求は摩擦や重力のようなもので、避けて通れないものだと書いています。
そして、オブジェクト指向設計とは依存性の管理であると述べています。そのあとで、どういった場合に依存性があるのか、といったことをまず説明し、それをどう管理するか、といったことを解りやすく教えてくれます。
具体的に継承やコンポジションをどう実装するかという後半も面白く読みましたが、クラスの責務についての2章、依存性の管理についての3章が特に響きました。
何をするか(What)だけではなく、なぜ(Why)を教えてくれたからです。設計の手法は知識として知っていましたが、その前にある段階の考え方に抜けている部分があることに気づけました。
また、後半も、どのように(How)設計をするのかを、実際に自転車や旅行といった具体的なドメインを例に取りながら、コードをリファクタリングにより改善しながら教えてくれます。
特に腑に落ちた考え方として、設計をする時に、クラスベースではなくメッセージベースで考える、というものがありました。
まずシーケンス図を書いてみることで、どういったメッセージがやりとりされるか洗い出し、そこからどういったクラスが必要なのかを考え出すというものです。ドメインオブジェクトはすぐに気づきやすいですが、その間にあるクラスが浮かび上がることなどを助けてくれる、というわけです。
この本を読むタイミングとしては、入門書を読んである程度オブジェクト指向プログラミングを経験したあと、デザインパターン本やリファクタリング本などを読む前の段階で読むとその後が続きやすくてベストかなと思います。
和書のプログラミング入門書では、継承までは言語仕様として触れますが、コンポジションやテストといったところまで踏み込んでいるものは少ないように感じます。入門書の次の本としてこの本は最適だと思います。
僕は学生の頃、基本情報技術者試験を受ける際に結合度や凝集度といった言葉を勉強しましたが、まだ実務経験がない段階で何のこっちゃさっぱりでした。言葉を詰め込む前にこの本でそういった用語が具体的にどういうものなのか理解できてたら良かっただろうなと思います。
僕が読んだ原著2版は公式サイトのFAQによるとハッシュをキーワード引数に変えたりといったRubyの機能をよりいい形で取り入れたマイナーアップデートのようなので、2版が出ている今でも初版の訳書を読んで全然問題ないと思います。
良いオブジェクト指向設計とは、クラスの責務が明確で、依存性がきちんと管理されている、ということにまとめられるのではないかと思います。この本ではそれを適度にまとまった形で実践的に教えてくれます。
著者はデザインに答えはなく、コードを整えるアートであると述べています。
完璧なコードを書くことはとても難しいですが、より良いコードを書けるよう、日々試行錯誤し、いい設計が少しでもできるよう考え抜いていきたいと思いました。
最近やっている習慣として、「休日に朝起きてから夕食までやったことの記録を時間も含めてカレンダー上に記録する」というのがあります。
これはあとから振り返りをすることで、その日を有意義に過ごせたかどうか確認するためのものです。
具体的にはこんな感じでつけてます:
Appleの純正カレンダーアプリを使っているのですが、「勉強・開発」、「生活」、「娯楽」、「趣味」、「運動」といったカレンダーを用意し、カテゴリーを分けることであとから見た時に何に時間を使ったか色で分かりやすくしてあります。
この日は雑用をこなしつつもギター、勉強、開発とバランス良く過ごした有意義な日だったようです。
色々カレンダーアプリやログアプリを試しましたが、Appleの純正のカレンダーが一番つけやすかったです。
理由としては以下がありました:
普段使いや仕事ではGoogle カレンダーを使っていますが、この用途にはAppleのカレンダーが合っていました。
あとはグラフにするレポート機能とかがついてるともっといいかもしれませんが、そこまで厳密に振り返りをやるのはきつい気もするので満足しています。
続けるコツとしては、マイクロマネージしないために予定名は雑にして、時間の区切りもだいたいにするということです。
あとは終日予定がある日なんかは記録を忘れて楽しむためつけていません。
振り返りができるというのが一番大事な部分ではありますが、副産物として「記録をつけるからには無駄に時間を過ごさない」という推進力が働くというものがありました。
自分みたいなログ好き人間じゃないと合わないかもしれませんし、「休日ぐらいダラダラ好きに過ごさせてくれよ」という人も多いと思いますが、休日の過ごし方を見直す習慣としてけっこうおすすめです。