プログラマーに必要なプログラミング以外のスキル

こんにちは、開発メンバーの濱田です。前回、私の投稿でShareWis開発インターン入門と題して具体的な開発のフローなどを説明しましたが、今回はプログラミングする上で、プログラミング力以外にあった方が良いスキルについてお話できればと思います。

主なポイントを以下に挙げます。

sample_code

 1. 英語力 (特にリーディング)
 2. 技術的なトピックにアンテナを張る
 3. 改善力

1. 英語力 (特にリーディング)

以前の記事でも少し触れましたがやはり、プログラミングなどの開発業務を行う上で
英語での情報収集が出来るかどうかによって、問題解決力などに雲泥の差が出ます。
その理由として主に以下が挙げられます。

 ・日本語のみだと情報が古い
 ・公式ドキュメントは英語のみ
 ・stackoverflowに大体書いてたりする (プログラミング系のQ&Aサイト)
 ・ライブラリなどのソースやそのコメントを読んだほうが早い (基本的にコメントも英語で書かれてる)

Ruby on Railsを利用して開発する上で見ておくと良い英語のリソースやサイトにパッと思いついただけでも以下があります。
(ページによっては日本語版もあったりします)

 ・Rails Guides
 ・Ruby on Rails API
 ・Better Specs
 ・Relish RSpec
 ・Stack Overflow

これらのページを一語一句間違いなく読む必要は必ずしもなく、ざっと読んでどういう内容が書いてあるか、自分の求めている内容が書いてあるか判断できればまずは十分だと思います。

2. 技術的なトピックにアンテナを張る

これは1の英語力とも絡んできますが、日常的にプログラミングに限らずIT系のニュースにアンテナを張っているかどうかは非常に重要です。はてブやHacker Newsを読むのも良いですが、理想としてはそれらの情報の元になっているサイトやブログを直接RSSなどで購読するのもオススメ。業務で英語ドキュメントを読むのは苦手という方も、これらのフィードを日常的に読めば英語アレルギーはかなり少なくなります。

さらに個人的におすすめしたいのが、Githubが公開している以下のページ。Github上でバズっているライブラリなどが言語ごとに公開されています。

 ・GitHub Trending Repositories
 ・GiHub Showcases

3. 改善力

プログラミングとしての改善といえばリファクタリングやバグフィックス、パフォーマンスチューニングがあると思います。それらを行うことはもちろんなんですが、ここでいう改善はコーディングや業務のスタイルについてになります。

開発しているプロダクトと同じように、自分の開発環境やツールについて知ること・勉強することは非常に大切です。日常的に改善出来る点が無いか意識し、改善出来そうならすぐに以下の行動を取りましょう。

 1. アプリやプラグインを探す
 2. 無ければ作る
 3. 公開する

1や2で改善できれば、それを社内やコミュニティで広める事は非常に重要。
「いきなりWindowsやMacのアプリなんて作れねーよ」という方もエディタのプラグインなどは案外簡単に作れたりします。プログラミング的な知識が浅くとも、まずはこれらをキッカケにコミュニケーションを取っていけば良いと思います。

何よりも自分の作ったツールを他の人に使ってもらうと、とてもテンションが上がります。

以上のようにざっと3点を挙げましたが、プログラミングをチームで行うとコミュニケーション力も必要になってきます。

次回はこれについてお話できればと思います。