メソッド屋のブログ

米マイクロソフト Software Development Engineer 牛尾の日記です。ソフトウェア開発の上手なやり方を追求するのがライフワーク。本ブログは、個人の意見であり、所属会社とは関係がありません。

技術イケメンをつくってみる。

イケメンへの憧れ


実は私はずっとイケメンなプログラマに憧れている。


 NEC時代も、最初は営業から初めて、若い頃は役立たず。アジャイルとかやるようになったり、オブジェクト指向だったりから、活躍できるようになった。これは、何を意味するか?というと、抽象的なことや、リーダーシップとか、チームビルディングが得意ということだ。


 でも、本当になりたいのはイケメンプログラマになりたいのだ。自分の周りのイケメンの皆さんをみては、ああぁかっこいいなぁ。でも自分にセンスないのわかってるしなぁ、、、。ただ、新技術系でも教育とか、記事書いたりはいいのだ。作業がぜんぜんできないタイプなのだ。あー、神様私に数学センスを!!!


 イギリスにいって振り返って、その後もいろいろあって、やっぱり自分は技術が好きやなぁと思うようになってきた。英語勉強に関しても一区切りした。(ちなみに、完璧になったということではなく、これ以上は実践して慣れるしかない、少なくともそれをしないと上達しなさそうなフェーズと感じたから)


 自分はほんまはプログラマになりたいけど、プログラマとしては三流。これはずっと自分の憧れで、コンプレックス。NECに入った時は、OSのコマンドを担当したいといって入社したんだ。(でもほぼ営業的な部門に配属されましたw)その後も、大手SIerなので、無理やりプログラミングしたけど、とても十分とは言えず、センスもなく。


イケメンコンプレックス克服への道


 今回ふとおもったけど、何を自分のやりたいことを躊躇しているんだろう。センスとか言ってるけど、もともとすべてのことにセンスなどないやん。わしはメソッドと努力だけでいろんなことをなんとかしてきた。自分の人生で望んでいたことはがんばってなんとか叶えてきた。


 英語バリバリになりたいとか(途中だけど)、歌うまなりたいとか(これも途中だけど、イギリスでヒントゲット)、コンサルタントになりたいとか(これはOK)アジャイルやりたいとか(これは死ぬほどやった)要求開発したいとか、コンパニオンの美人お姉さんとお付き合いしたいとか(一応結婚はした。終了したけど orz)


なーに、今回もできるさ。技術イケメンの道。というわけで、趣味ベースかもしれませんが、私の友達にたくさんいるガチで技術イケメンになってみるプロジェクトをやってみようかと思っています。今の時代みんな技術イケメンが求められているので、わしぐらいコテコテに向いてない人が技術イケメンになったら、そのメソッドいけてない?的な。


リンクが見つからないけど、プログラミングの学び方 - Web/DB プログラミング徹底解説このお方の言ってることとか参考になりそう。とりあえず、なぜ自分がイケメンプログラマじゃないと思うのかとか、イケメンプログラマが共通で持っているポイントとか、何を達成したら自分でイケメンと思えるのかなんてことを整理した。


自分がイケメンじゃないと思うところ


他の人が書いたロジックを読むのが遅い
自分の書いたコードがクールじゃないと思うときがある。
オープンソースのコードをすらすら読めない
テストスキルがしょぼい
オペレーションの経験が弱い
基本能力に抜けがある気がする


イケメンの性質


おしゃれなコードを書く
問題解決が早くて、生産性が高い(これは、無駄なものを大量に作るわけではなく)
変化を抱擁する
新しいことを素早く、正確に学ぶ
内部構造を奥の奥まで理解している


分析

これから、せっかく一生懸命やった、英語学習に当てはめて考えてみた。英語だったらどういうのが重要だろう?

リーディング :自分のレベルにあったちょっと簡単めの本をたくさん読む。
        グラマー(言語の文法/動作原理理解、ネットワークやハード、OSなどなどの動作原理/仕組み)を鍛える
ボキャブラリ ;技術系だと、クラスライブラリやイディオムに相当?
ライティング ;コードを書くこと。多分グラマーとか、イディオムとか、パターン重要?
リスニング  ;なし
ピーキング ;なし


何をすべきか?

自分の場合きっと、最初のステップは、コードリーディングが自由自在に読みまくれることが重要だろう。そして、実践としてのコードを書くことをすればいいだろう。運用付きの。

最初の一歩は、コードリーディングテクの強化だから、この本を読み始めた。


Code Reading―オープンソースから学ぶソフトウェア開発技法

Code Reading―オープンソースから学ぶソフトウェア開発技法

しかし、この本を読み始めるには、C言語をおさらいする必要がありそう。長年触ってないが、せっかくだから英語で勉強しよう。Learn C - Free Interactive C Tutorial あー、懐かしい。英語ではこんな風に見えるのか。なんだか感じが違うなぁ。

それが終わったらデータ構造とアルゴリズム→コードリーディング(LinuxとかCoreOSとか)をやってみよう。

きっと自分がイマイチだったのは、一足飛びにやろうとしたから。下の方から積み上げてみる。すでに学んでいることも多いんだけど、きっと、そこに抜けている箇所があると思うんだ。これは、実は英語学習から学んだこと。できることならすぐ終わるはず。

アジャイルの流儀で英語に挑戦! - [挫折と挑戦編1]日本人が英語を話せない本当の理由:ITpro


これは、自分にのこった最後のコンプレックス。果たして、40超えたおっさんは、イケメンになれるのか?わからんけど、手探りでやってみます。