エンジニアtype - エンジニアのシゴト人生を考えるWebマガジン

[連載:ギークな女子会] acotie編② -コーディングを楽しむには、「宮大工っぽいこだわり」ってすごく大切

公開

 
「プログラマーって1人1人、仕事で

「プログラマーって1人1人、仕事で”ハマるポイント”が違いますよね。わたしの場合は……」(佐々木さん)

acotie プログラミングをしていて一番楽しいと思える瞬間ってどんな時ですか?

佐々木 自分のために勉強していて、「スキルが上がった」と感じる時が一番楽しいですね。よく自分のブログにコードを載せたりするんですけど、ページをブックマークしてもらったり、「はてなスター」を付けてくれたりしてもらった時も気分が上がります。もっと勉強しようって。

acotie へぇー、若い女子とは思えないマジメ発言(笑)。でもそれ、わたしも分かります。韓さんはどんな時に楽しさを?

 やっぱり作ったモノが動いた瞬間が一番スキです。問題を解決するためにいろいろ考えること、それ自体にも楽しさを感じますね。自分で考えた解決方法の中から、一番良いものを実装して、問題なく動いた時が一番楽しい。だからエンジニアをやってる、みたいな部分があります。

acotie 問題解決のアイデアって、どんな時に湧いてくるんですか?

佐々木 席に着いている時より、席を外している時の方が多いかもしれないなぁ。

 わたしは以前夢で……。

佐々木 えっ、夢!?

 そう、夢である問題が起こっていて、現実でそれと似た起きた時に「あ、あぁすればいいんだ!」って思ったことがありましたね。

acotie それ、分かるなぁ。3日ぐらい夢でうなされるんですけど(笑)、不意に「あっ、そうか!!」みたいな。

 そうそう。悩んでいる時って、別のことをした方が良いですよね。寝ることが解決になることもあるわけだし。

佐々木 PCの前にずっと座っているのが一番ダメ。そういえば、ウチの会社には「ダーツライブ」があって、けっこう良い息抜きになるんですよ。

 ウチの会社にも、フロア内にカフェみたいな空間ができたんです。この間も、みんなでアジアカップのサッカー見たりしましたけど、ずっと座っている仕事だから、こういう気分転換ってとっても大事だと思うんです。

佐々木 会社に支給される椅子の座り具合だけでも、仕事のはかどり方が全然違いますからね。

acotie エンジニアを大事にする会社の椅子って、たいていはちゃんとしたブランドものだったりしますもんね。

 ウチの会社の椅子は……。

acotie そこは主張された方が良いですよ!! だって、毎日7~8時間以上も座りっぱなしなんですよ、わたしたち(笑)。

テストデータにアスキーアート使うのって一石二鳥かも(笑)

「フリーでやってると、社長のお考えとか経歴なんかでも、『開発環境』って変わるんだーって気付きます」(acotieさん)

「フリーでやってると、社長の考えとか経歴なんかでも、開発環境って変わるんだって気付きます」(acotieさん)

acotie 目に見える環境もそうなんですけど、上司や同僚に引っ張ってくれる人がいるかどうかも、働く上で大事じゃないですか?

佐々木 以前いたプロジェクトの話なんですが、仕事が一段落したら、凄腕の先輩方が軒並みほかのプロジェクトに移ってしまったんですよ。すると、身近に教えてくださる方も減ってしまって。それで危機感を覚えて、外部の勉強会に積極的に出たり、ブログを頻繁に更新して意見を聞いたりするようになったんです。

acotie そうだったんですか。

 ウチでもコードを見てもらって意見を聞いたりすることはありますけど、けっこう自分と似た書き方をする場合が多いように感じますね。それとわたしの場合、なかなか自分から「分からない」とか「教えてください」って言えないタチなんで……。何だか恥ずかしいんですよ。

佐々木 少ない人数のプロジェクトだと、コードの書き方も似てきがちですよね。人数が多いプロジェクトだと、コードの書き方もそれぞれ個性的で面白いですよ。

acotie 「あ、このコードはあの人が書いたんだな」 みたいな。

佐々木 そう。コメントの書き方なんかにも個性が出ますよね。

acotie 語尾が「だぉ」だったり?

一同 爆笑

佐々木 そういえば、テストコードを書いていた時、テキストフィールドに「ディズニーシーに行きたい」って一言書いてあったのを見つけたことがあって。一目見て、「これ、書いたのはわたしだわ」って気づきましたけど(笑)。いつ書いたのか記憶になかったんですけどね。

acotie 佐々木さん、ディズニー大好きですもんね(笑)。

 わたしは普通のことしか書けないんですよ。アスキーアートを使ってテストデータを作ってるのを見ると、「この人センスあるなー」なんて思ったり(笑)。

佐々木 あっ、今思いつきましたけど、アスキーアートをテストデータにするのって、エスケープ処理の確認ができて良いかもしれないですよね。

acotie 確かにクロスサイトスクリプティング対策にもなりそう。

佐々木 それ、明日からさっそく取り入れることにします。

acotie 意外な結論が出ましたね(笑)。

コーディングの「センス」って結局どこに表れる?

acotie 今のお話は、どちらかというと遊びの部分に近い話だと思うのですが、もう少しマジメな話で、コーディングのセンスってどんなところに表れると思いますか?

「短く、共通化ながらコーディングしている人を見ると、『この人センスあるなぁ』って感じます」(韓さん)

「短く、共通化ながらコーディングしている人を見ると、『この人センスあるなぁ』って感じます」(韓さん)

 良いコードって、「パッと見て分かる」コードだと思います。往々にして短いコードの方が分かりやすいものですが、いくら短くても「全然分からない」って感じちゃうコードもありますよね。

acotie そうですねー。

 分かりやすいコードを見たら、こういう風に書きたいって思いますもん。

佐々木 わたしもすぐマネしようって思いますね。

acotie それとは逆に、「何てことしてくれたんだ!」っていうのもないですか?

佐々木 あります! 変数名が日本語と英語でごっちゃになってるとか。

 それ絶対イヤ!(笑)。

acotie お2人は、コードを書く上でどんなこだわりを持ってますか?

佐々木 わたしはテストを書きながら作ることですね。いわゆるテスト駆動開発です。

 わたしもそうしようって思うんですけど、時間がないことが多くてなかなかできません。それをちゃんとやってる佐々木さんはスゴイ。

acotie わたしもテストは後回しにしがちなタイプ。最後に必要に迫られて「最低限だけ」ってことがわりと多いですね。

「2人とも職人的なこだわりを持ってコーディングをしているから、聞いてて『へぇー』と思うことばかり」(acotieさん)

「2人とも職人的なこだわりを持ってコーディングをしているから、聞いてて『へぇー』と思うことばかり」(acotieさん)

佐々木 その代わり、わたしの場合は仕様書が後回しになりがちなんですよ。

acotie わたしたちと逆だ(笑)。

佐々木 先に仕様書を書いても結局修正することになるんで。どうしても後からになっちゃうんです。

acotie 「コードが仕様書」みたいなストイックな感じもあるんじゃないですか? 職人的なエンジニアの方が、よくそういうやり方をされていますよね。韓さんのこだわりは?

 わたしはリファクタリング。考えたことは一通りざーっと書いてから、変数名を含め、最初から直していくっていうやり方をしています。

佐々木 へー。でもそれ、けっこう大きい改修になりますよね?

 人によって「アブなっかしい」って言われますけどね(笑)。変数名が一個でも違うと気になるんですよ。性格的に。

acotie いかに美しく共通化できるかが勝負、みたいな感じですか?

 そう、そうです。昔書いた自分のコードは全部直したいぐらい(笑)。新しいアイデアを入れて共通化することで、より簡潔にしたいっていう気持ちが強いんです。

acotie それ分かりますー。わたしはそんなに大きな変更はしませんけど、自分なりのこだわりで「ちょこっと洗練させて満足する」みたいな部分があります。

佐々木 わたしも変数名こそ変えませんが、共通化とかはしますね。

 最新のモジュールを使ったり。

acotie 確かにモジュールを使うと500行が20行とか30行に収まるってこともありますよね。それこそモジュールを使う・使わないは、個人のこだわりだったりするんですけど。

 acotieさんのこだわりって何ですか?

acotie わたしはなるべく人に合わせるようにしています。エンジニア同士って、張り合いがちじゃないですか。でも、あまり我流を通すとチームが機能しなくなるんじゃないかと思っちゃうんですよ。

佐々木 張り合うって、三項演算子をチェーンでいっぱいつなげたりするような方ですか?(笑)。

acotie あと、正規表現を多用する方とか(笑)。

 でも正規表現を使いこなすのにはあこがれます。

佐々木 確かに一発で書けると気持ちいいですね。

acotie もう、何だか宮大工さんの会話みたくなっちゃってますね(笑)。「この柱にスミを一発で入れられて気持ちがイイ!」みたいな。

一同 笑
 

取材・文/武田敏則(グレタケ) 撮影/赤松洋太

  |  2

[連載:ギークな女子会] acotie編① -最近の女性プログラマーは、開発環境を”デコる”のがひそかな嗜み!?