gaaamiiのブログ

悪気なく間違ったことを書いている時があります。コメントやTwitter、ブコメなどでご指摘ください

yomomo.net を閉じます

利用頂いていた方には申し訳ありませんがhttp://yomomo.net を4月末で閉鎖します。

今週末やる気と時間があればmarkdownでデータをダウンロードできるようにするつもりです。

planet earth が最高

ふとAmazonプライムで目にしたがために、寝る前にplanet earthを見るようになってしまった。

とにかく映像が良すぎて良い。最高。この番組を見ると、普段生きてて感じる不安や葛藤が馬鹿馬鹿しくなってすごい良い。自然界に不安や葛藤みたいな曖昧なものはなくて、ただただ常に生きるか死ぬかの勝負なのが伝わってくる。自然界。とても単純で潔い。よっしゃおれも生存するぞ、という気持ちになる。

システムテスト自動化カンファレンス2017 行ってきた #stac2017

testautomationresearch.connpass.com

遅刻して15時45分ごろ到着。すみませんでした 🙇

メモ

  • 「テスト自動化エンジニア」という言葉をちゃんと聞いたの初めてだった。テストを専門とするエンジニアや(人海戦術ではない)テストを専門とする会社が存在することも知らなかった(というか意識したことがなかった)。
  • Selenium実践入門 ―― 自動化による継続的なブラウザテスト (WEB+DB PRESS plus)の著者の一人、株式会社TRIDENTの伊藤さんのMagic podというプロダクトについての発表がとてもおもしろかった。
    • 画像はっつけるだけでテスト対象のコンポーネント見極めてくれるっていうデモを見て、なるほど機械学習ってこういうところに使えるのか感があった。
  • デモを見ながらこういうの(アプリを動かすコード書いてアプリが動き出すの)楽しそうだな〜と思ってselenium手元でいじくりだした。楽しい。
  • Magic pod 以外の発表はわりと抽象的な話が多く、自分には経験値が足りなくていまいち自分がそれを実践するイメージがわかなかった。
  • 自動テストはデグレを防ぐセーフティネットみたいな言葉を聴いてそれそれ〜と唯一共感できた(実体験があるので)
  • テスト考えるのはアプリケーションエンジニアの仕事の一つだと思っていたので、テストを専門にするエンジニアがアプリケーションエンジニアとは別にいるっていうのがどういうことなんや、っていうのを聴きたかったけど自分は遅刻したのでそこら辺の話は終わってたっぽい。
  • Yahooのオフィスがきれいすぎて社会見学に来た気分になった。

その他

Thousand Foot Krutch 好きになった

サウザンド・フット・クラッチ - Wikipedia

soundcloud で雑に聞いてたら出てきた曲がThousand Foot KrutchのCourtesy Callという曲のリミックスで最高な気分になったので原曲聴いてみたらすっかり好きになった。音楽疎いので、Thousand Foot Krutch好きならこれも聴いてみようね、というアーティストいたら教えてください。

あと、こういうリミックスのことを Nightcore と呼ぶ文化も知らなかった。音楽疎い。

Nightcore - Wikipedia

尊敬するエンジニア

会社の飲み会で酒に酔って、気付いたら個人的に社内で尊敬してるエンジニアの尊敬してる点を話していた。こんなことを挙げていた。

  • コミットがきれい
  • 全体的に丁寧
  • 技術仕様やソースをちゃんと読む

話してみると、なんでこれらの点を尊敬しているのか考えたくなった。

コミットがきれい -> 作業がひとりのエンジニアの脳内で完結されると困るから

だれか一人で全てのプロダクトを担当するわけではないので、ひとのコードを読むこと・自分のコードが読まれることがある。きれいなコードとかクソコードとかいう言葉があるけど、実際にはただのきれいなコードとかクソコードというのは無くて、それが生まれた経緯がある。時間が無くて似たようなコードを抽象化できなかったのかもしれないし、レガシーな仕様に合わせるために命名を不自然にするしかなかった、とか。

そのコミットをするときに1つ1つ決断しなければいけなくて、逆に言うと決断の数だけコミットがあるはず。それを fix とか update とするのは、その決断をそのときの自分の頭に閉じ込めることになる。コミットがきれいだということは、決断を公にして他人や未来の自分を困惑させないための配慮をしているということだと思う。

全体的に丁寧 -> 正しい言葉は時間を節約する

尊敬しているエンジニアの仕事ぶりは、全体的に丁寧だと感じる。それはたぶん、正しい言葉を選んで使っているからだと思う。正しい言葉は、読む人(聞く人)の時間の節約につながる。正しい言葉はチームの生産性を上げる。

そして何より、正しい言葉を選んで曖昧さを消していくと、真っ当な技術力が身につくと思う。

技術仕様やソースをちゃんと読む -> 正しい知識を持っている

バイナリを書かずにプログラムを動かせるのは、誰かが書いた高度なソフトウェアを使っているからだ。そしてその内主要なソフトウェアのほとんどは仕様やソースが公開されている。http は仕様そのものだし、Linuxシステムコールはソースまで公開されている。技術仕様やソースをちゃんと読んでいる人は、検索エンジンからたどり着いたどこかの誰かが書いたstackoverflow回答から情報を得ている人よりかは、圧倒的に正しい知識を持っている。

現実

とはいえ、自分はどれくらいできているんだろう。現実は、たくさんクソコミットしてるし、stackoverflow鵜呑みにするし、雑なタイトルでissueを切って一緒に働いているエンジニアを困惑させたりしている。その方が楽だし、考える時間が必要ないからだ。

考える時間が必要ないからという理由で間違ったやり方を続けるのは良くない。

だからこそ、正しいやり方でできているエンジニアに尊敬のまなざしを向けずにはいられないんだと思う。