2011年11月2日水曜日

エンジニアとして仕事をするにはどうすれば良いか

なんか、すっげー若い子にチャットで「エンジニアとして仕事を任せてもらうにはどうすれば良いんでしょうか」と聞かれました。
そういや、そんなことちゃんと考えたことなかったなぁ、と思って色々考えてこんな回答をしてみました。

仕事を任せられるには実績を作るしかないです。

この場合、実績というのは、「ある期間以上、人に利用されたことのあるソフトウェアを書いたことがある」ということです。

「何を知ってるか」とか「どんな資格を持っているか」とかいうことは大事ではありません。
また、「新しい技術を使ってちょっとしたソフトウェアを書いたことがある」ということが大事な訳でもないです。

実績として評価されるのは「人にある期間以上利用されたソフトウェア」を書いた経験です。

ソフトウェアはある程度以上の期間、人に利用されていく中で、バグがなくなり、使い安くなり、、、と強度を増していくものです。こうしたソフトウェアを作る過程では、エンジニアは様々な技術を動員し問題を解決する力が求められます。

だからこそエンジニアとしてのスキルは「沢山のアプリを作りまくる」、「本を読みまくる」人よりも「ひとつのアプリを根気強くメンテナンスした」という経験が評価され、仕事も入ってきやすくなります。

まずは「人に使ってもらえそうなものを企画する→開発する→作る→改善する」のサイクルを回せるようになることを目標にしてください。始めは「会社のためになる」とか、「世の中にないものを作ろう」、とか大層なことは一切考えなくて大丈夫です。

それより何かちょこっと人の役に立つようなものを作って使ってもらう、っていう気持ちが大事です。
例えば「仲間内で使う掲示板を作って運用を開始しました」とか「近くの美味いもの店リストを食べログから定期的に取得してランキングを作成するサービスを作ってみました」とか。

企画を考えるときに注意するべきは、
- 使ってもらえる人は限定して。(自分が具体的にイメージできる何人かでOK)
- 使う技術要素は限定して。
考えることです。

自分が作れそうなものを企画すること。
企画は、作れもしない大層なものにしないことが大事です。

エンジニアとして必要な技術の学び方ですが、始めのうちは本を読んで学ぶのではなく、何かを作りながら覚えてください。
「○○という技術を知りたくて技術を学ぶ」のではなく、「これを作りたいんだけど、作るにはどうやるんだろう」っていう感じで学習していくこと。

以上のことを踏まえ、人に使ってもらえるものを何かひとつでも作れれば、エンジニアとして食っていけるようになると思いますよ。