まつもとさん勉強会
こんにちは。 エンジニアのしみきょんこと、清水恭子です。
今日は、弊社の技術顧問であるまつもとゆきひろさんとの勉強会の様子について話したいと思います。 定期的に行なっている勉強会ですが、今回はMatzさんに聞いてみたいことを事前に集めてQ&Aを実施しました!
1日に平均何時間くらいコーディングしてますか?
Matz: 目標は「一日一度はコードを書く!」ですが、現状忙しくてなかなかできてないです、、 限られた時間になるので、いかに作業を効率よく進めるかを考えます。
15m ~ 60mくらいの作業だったら、とにかく邪魔が入らないようにする!
新規で物作りをする時(何から始めればいいかわからない時)は始めが肝心なので
とりあえずやればできる作業から初めてみて、作業しながら考えをまとめていき流れを作っていく。
といったことを意識しています。
面接などで優秀な開発者かどうかを見極める為にどんな事を質問をしていますか?
Matz: 何か課題をやってもらうというより、テクノロジーの雑談をして相手のレベルがどれくらいかをみています。
「最近の技術に対してどう思うか、そしてどう勉強しているか、今までどんなことをしてきたか etc..」 などの話を聞いて 「ポテンシャルがあるかどうか、自社の文化と相手の求めているものがマッチしているかどうか」 を重視してみています。
プログラマ初心者がスキルを向上していく上で重要視すべき点は何だと思いますか?
Matz: 自分の方向性を決めていけることが重要だと思います。興味のあるコア技術を絞れたら、そこから派生していく他の技術も勉強していけるのが理想です。
軸を決める時には広範囲のもにして、技術の幅を持っていけるようにするといいですね。 普段の仕事に追われがちですが、自分の興味のあることに使える時間作りをしてみてください。
プログラマにオススメのお菓子は何ですか?
Matz: 僕はナッツが好きです。
Matzのお気に入りNutzを教えてもらいました!^^
今一番関心のあるOSSのプロジェクトは何ですか?
Matz: 自分のプロダクトに一番興味を持って取り組んでいるのでRuby, mruby です。
ただ、プログラミング言語のアイディアはよそからもらうことが多いのでRubyがまだ弱い「分散と動向」の部分に特化している、Elixir, Erlangにも興味があります。
普段C言語を触れることが多いから、もう少しモダンな言語に触れたいときはRust, Goなどの動向もみています。
現在パフォーマンス問題に直面していてどういったアプローチを取っていけばいいか悩んでいます。。
Matz: どのくらいリアルタイム性が必要かによってアプローチを変えます。
また、ページ固有の遅さなのか、データ量による遅さなのかどうかも考えます。
パフォーマンス問題の解決をしようとした時、ググって見つけた小手先の方法を試しがちですが きちんと現状のパフォーマンスを測定して、ボトルネックを見つけることが重要です。
とにかくパフォーマンスを測定!
↓
ボトルネックとなる場所を見つける
↓
対処法を考える
ロジックがボトルネックになっている場合、アルゴリズムとかデータ構造をかえることを重視していく
DBがボトルネックになっている場合、indexの貼り方をかえてみる etc...
↓
それでも改善しなかったら、、、、、ググってみる
といった流れで解決していくといいと思います。
また、どれくらいの時間パフォーマンスを上げる必要があるのかを事前に決めておくといいですね。
パフォーマンス計測をするときはどうしてますか?
Matz: 私は、timeコマンドで計測することが多いです。とにかく「適切に測る」ことに注力しています。
ユーザーが直接見えるサービスだとUXを重視して改善をしていくことが多いですが プログラミング言語を開発する上では、使用できるメモリ内でできるだけ速くするにはどうするかといったことを意識しています。
おわりに
他にもこんな質問がありましたが、時間切れとなってしまいました。。。
仕事をする時、静かなところ/騒がしいところ、のどちらが好きですか?
Rubyでマイクロサービスを採用して成功している事例はありますか?まだどんな事が課題になりますか?
次期Rubyでは型の導入が検討されていますが、現在のRuby/Railsの使われ方的に、どういうケースでRubyに型をつけるのがうまく行きそうか、見込みはありますか?
他の会社の社内制度でいいと思うものがあれば教えてください
Matzさんの考える、効率のいい開発方法とは何ですか?
サービス作りをするとしたらどこに一番注力しますか?(UI/UX, パフォーマンス, コーディング etc..)
Matzさん、ありがとうございました! 次回もよろしくお願いいたします。
お知らせ
5/10(木)に行われる表参道.rbというイベントの会場ホスティングを、弊社オフィスで行うことになりました!
詳しいことは下記URLにありますので、気になる方は是非いらしてください^^
エンジニア募集中!
ビジネスバンクグループではエンジニアを募集中しています。
弊社が採用しているテクノロジや開発環境に興味を持った方は、 ここから是非エントリー を!