こんにちは。
最近、プログラマが不足しているためか、
プログラマに転職しようとしている人がたくさんいるようですね。
プログラミング・スクールも繁盛しているようです。
プログラミングを勉強する事は、
いろんな仕事で役に立つのでとても良い選択だと思います。
プログラマが不足しているのは確かなので、
今後のIT業界にも良いことだと思います。
でも、プログラマの仕事って本当に理解しているでしょうか?
私は、20年近くプログラマとして仕事をしてきました。
私がプログラマになった頃は、以下のような事を考えていました。
- プログラマって格好いい
- プログラミングはこれから必要だから給料がいいはず
- 人と接することが少ない
しかし、現実は、アナログで泥臭い仕事です。
プログラマの仕事の現実を以下でお伝えします。
プログラマの仕事でプログラミングする割合は20%程度
プログラマって、ずっとプログラミングしているイメージがありませんか?
最初、私もそのように思っていました。
でも、実際に仕事をしてみると、
プログラミングをする割合は、開発の20%程度なのです。
では、プログラミングしている時以外は何をしているのでしょう。
主に、設計と試験です。
設計
開発の40%は設計の作業をしています。
設計は、以下のような作業をします。
- 仕様の確認
- 画面の設計
- 機能の分割
- ロジックの検討
それぞれの作業については、各自で調べてみてください。
ただし、これらの作業を行うには、プログラマとしての経験が必要になります。
「やっぱり、プログラミングが必要なんじゃん。」と思うかもしれませんが、
必要なのは、プログラミングではなく、プログラミングの「知識」と「経験」なのです。
- 仕様から、どのような動作をするのかを理解します。
- 画面の設計で、使う人の使いやすさを考えます。
- 機能の分割で、仕様を満たすにはどんな機能が必要なのかを考えます。
- ロジックの検討で、その機能をどうやって作るかを考えます。
わかりますでしょうか?
これらの作業をするには、仕様を作った人(その他、お客様など)と話をする必要があります。
そして、その仕様から、どのような機能が必要になるかを考える必要があるのです。
つまり、上流工程では、プログラミングの「知識」や「経験」が必要ですが、
プログラミングは、まったく行いません。
試験
試験は、30%です。
試験は、サービスや製品の品質を上げるための作業です。
なので、試験では、多くの不具合を出す必要があります。
仕様通りに動くからOKというのではないのです。
どこに不具合が入りやすいか、どのような動作に不具合が起きやすいか。
そういう試験を検討し、実際に不具合を出す必要があるのです。
そして、実際に不具合を発見した時は、プログラミングを行なった人へ説明する必要も出てきます。
なので、試験の作業には、論理的思考は必要ですが、プログラミングの知識は、ほぼ必要ありません。
残り10%は?
残り10%は、調査です。
プログラマは、言語仕様を全て理解している訳ではありません。
なので、調査は、かならず必要となります。
とは言え、プログラマなので、1から10まで調べていては時間が足りません。
なので、普段から新しいロジックやテクノロジの情報を収集する必要があります。
プログラマとしては、この「調査」の時間を、どれだけ短くできるかが、
「できるプログラマ」と「普通のプログラマ」の違いだったりします。
プログラマの仕事は、お客様の要望を実現すること
上でも書いたように、プログラマの仕事の80%はプログラミング以外の作業です。
では、プログラマの仕事はどんな仕事なのでしょうか。
結論を言うと、「プログラマの仕事は、お客様の要望を実現すること」です。
お客様からの要望はさまざまです。
- ホームページで営業したい
- 求人サイトを作りたい
- 事務処理を自動化したい
- 煩雑な作業を減らしたい
- この世にない新しいシステムを作りたい
プログラマだと、新しくシステムを作成して対応しようとする人が多いです。
でも、お客様が必要としているのは、要望が実現できればいいだけなのです。
つまり、新しいシステムが欲しいのではないのです。
逆に言うと、すでにあるサービスを紹介することで対応する事もプログラマの仕事なのです。
企業に雇われているプログラマだと、スクラッチで開発しようとするプログラマが多いです。
また、システム開発会社も同じ意識の人が多いです。
実際に開発につながるような要望は、ほんのひとにぎりです。
プログラマにはコミュニケーション力が必須
ここまで何度も書いてきましたが、
プログラマは、人と話をする必要があります。
つまり、コミュニケーション力は必須です。
私は、プログラマとして働くまでは、コミュ障でした。
特に電話は苦手でしたね。
私の場合、周りにコミュニケーションが上手い人がいたので、
その人をマネしてコミュニケーションをとっていました。
いろんな人のコミュニケーションをマネすることで、
少しずつ相手が必要としているものが分かるようになってきました。
相手としっかりコミュニケーションを取ることで、
相手が本当に必要としているものが分かります。
ここで思い込みが入ると、相手が本当に必要としているものを理解できず失敗してしまうんですよね。
この「思い込み」で失敗するプログラマは多いので、注意が必要です。
まとめ
今回は、プログラマの仕事について書きました。
- プログラマの仕事でプログラミングする割合は20%程度
- プログラマの仕事は、お客様の要望を実現すること
- プログラマにはコミュニケーション力が必須
私が学生時代に思い描いていた
- プログラマって格好いい
- プログラミングはこれから必要だから給料がいいはず
- 人と接することが少ない
と言う考えは、ことごとく裏切られました。
今回は、収入については書いていませんが、
収入もサラリーマンだと、そこまで多くはありません。
でも、私の場合は、1つずつ極めていこう努力しているうちに、
20年近くプログラマとして働くことになりました。
これからプログラマを目指している人は、
上に書いたことを、心の片隅に置いて頑張ると、理想に溺れずに済むかなと思います。
では、今日はこの辺で。
コメント