プログラマー人生を楽しむために知るべき97のこと【スキル向上編 】 「完ぺきなコード」を求めるな/ひがやすを×和田卓人対談
ひが 僕は以前、XPについての翻訳をすることになった際に、会社でやっていたあるパッケージ開発プロジェクトにXPを導入してみたら……と考えて、実際にやらせてもらったことがあります。まずは自分で試してみないとね。
和田 ひがさんが勤めているISID(電通国際情報サービス)が、前例のないことをやらせてくれるような会社だったのもポイントですね。
ひが うん、それはあるかも。新しいことにチャレンジできるかどうかは、会社の体質にもよるでしょう。でも、僕が声を大にして言いたいのは、やりたいと思ったことを「やりたい!」と手を挙げる人がどれだけいるかということ。これ、けっこう少ないはずですよ。できない理由の多くは、自分が「やりたい!」と伝えていないからかもしれないのに。
和田 ずっと同じ環境で仕事し続けていると、新しいことにチャレンジしなくなるという傾向はあるかもしれませんね。
ひが それを防ぐ意味でも、意識的に前例のないことにチャレンジしてみる努力ってけっこう大切なんだと思います。仮にそれを断られたとしても、なぜ断られたかを分析して改善すれば良い。そうすることで一歩前に進める。これも、YAGNIな生き方、アジャイルな生き方だと思うんです。
意識して社外のエンジニアと交流せよ
和田 さっきひがさんがおっしゃった「まずはやってみる」ことには、そういう行動も含まれているってことですね。
ひが 僕はずっと会社員だから、その経験で言わせてもらうと、「新しいことをやらせてくれ」と言ったからって、そのこと自体で人事評価が下がるような会社なんてそうそうないと思うよ。「面倒くさいこと言い出すヤツだ」なんて思う上司はいるかもしれないけど(笑)、やっぱり「探す」だけでなく「動く」ことをしないと、悩みは解消できない。
和田 わたしはひがさんのような行動派ではありませんが、勉強会とかに通って、社外のエンジニアと会って、意見を聞くという「行動」については、大学時代からやっていたんですよね。そういう行動から、僕もたくさんのラッキーをもらえた気がします。
ひが 僕よりも和田さんのようなタイプの方が、プログラマーには多いかもしれないね。
和田 自分で言うのもアレですが、僕は典型的な臆病者タイプなんです(笑)。例えば自分のブログを書き始める時だって、「誰もコメントをくれなかったらカッコ悪いなあ」とか、「炎上したらどうしよう」とか、いろいろネガティブシンキングしちゃって(笑)、最初は踏み出せなかったのですが、不思議な巡り合わせから書くようになりました。
ひが そういう「巻き込まれキャラ」なところが、和田さんの強みでもあると思うよ。
和田 ああ、それは核心を突いています! 僕は間違いなく、巻き込まれないと行動を起こせない。だから動くきっかけを増やすのが大事なんです。それがだんだん分かってきたから、最近は「あえて自分から巻き込まれるように動く」という行動原理が生まれています。
ひが 例えば?
和田 ちょっとスキルアップとは関係なくなってしまいますが……。前回お話した「LLフィーリングカップル」に参加した時の話も、最初にオファーをいただいた時はちょっとイヤだったんです(苦笑)。実際、参加したおかげでイジられキャラに拍車がかかってしまったわけですが、これはこれで、それまでお会いしたことのないハイレベルな技術者の方々との出会いを生むきっかけになり、自分の糧になったと思っています。
ひが そういうの、すごく大切だと思いますよ。プログラマーも、人と会わなきゃ変われない。
和田 その人に会う方法の一つに、いろんなことに巻き込まれてみる道もある、ということかと。「犬も歩けば……」ということわざがありますが、プログラマーも歩けばチャンスに当たる。
技術の勉強は「守・破・離」の発想でやろう
ひが 技術的な部分は、僕も和田さんも、常々勉強をしていますよ。和田さんも、テスト駆動開発の第一人者になるまでには相当勉強をしているはず。
和田 そうですね。
ひが でも、僕の経験上、いろんな勉強方法の中で一番効果的なのって、やっぱり自分でコードを書いて試してみること。専門書を読んだだけじゃ活きた知恵が身に付かないしね。本は読んだら捨てちゃうことも多いです。
和田 なぜ捨てちゃうんですか?
ひが 本を読んだだけで満足しないように。本を読んでその内容をアウトプットしたら、もう捨てちゃってもいいでしょう。細かい知識はググれば良い。本を捨てるって、勇気いるじゃないですか。だからこそ、真剣にアウトプットするようになるんです。
ひが そうかもしれません。
和田 その流れで言うと、どういうプログラマーが良いプログラマーなのか、という判断軸をつくっていく作業が「守」に当たるのかもしれませんね。この判断軸だって、いろんなプログラマーのやり方を知らないとブラッシュアップできない。
ひが 結論がすごくシンプルになっちゃうけど、今回のテーマで最も大事な点は、結局のところ「まずは動け」ってことなのかもね。
和田 そうですね。動かないと、人との出会いもないですから。今日の対談で僕自身も再確認したのですが、コーディングを通じて学んだ教訓って、仕事そのものだけじゃなく、エンジニアの行動原理にも活用すべき、ということだと思います。
取材・文/森川直樹 撮影/小林 正
RELATED関連記事
RANKING人気記事ランキング
NEW!
表面的なテクニックより「基礎基本の重要性」に気付かされた一冊【Node.js 日本ユーザーグループ代表・古川陽介】
AWS認定資格10種類を一覧で解説! 難易度や費用、おすすめの学習方法も
NEW!
正論モンスター化に要注意!ぎくしゃくしない「ミスの指摘」のコツ【澤円「コミュ力おばけ」への道】
社会で成功するゲーマーに、ひろゆきが聞く「現実世界を攻略できないゲーマーに足りないものって何すか?」
JOB BOARD編集部オススメ求人特集
タグ