2014年12月11日木曜日

プログラマに向かない人によくある6つの特徴 mixiニュース 参考の為に全文引用。










誰もが、プログラマになる資質を持っているわけではありません。もちろん、誰でもプログラミングを学ぶことはできますが、プログラム方法を学ぶことと、それを自分のキャリアにすることとは違います。コーディングの才能を持った人でも、職業プログラマには不適格であるということは、間違いなく起こり得ます。奇妙に思われるでしょうが、あなた方が思っている以上に、これは真実なのです。
私は、コンピュータサイエンスの学位をとるために10年以上を費やし、その間、これこそが自分の進むべき道だと思っていましたが、結局そうではなかったことに気づきました。それは、プログラミングのワークフローや、それにまつわるさまざまな挑戦を楽しんでいる人を見てわかりました。

プログラマになるということは、コーディング作業をするだけではありません。全体像をよく考えないといけないのです。もし、自分がプログラマに向いているか確信がないのであれば、正しい方向を示してくれるかもしれない、いくつかのチェック項目があります。


特徴その1: 実験的創造性に欠けている


プログラミングというのは、確かにロジックに大きく依存していますが、結局のところは創造的な芸術です。新規のプログラムは白いキャンバスのようなもので、絵筆となるのは、プログラミング言語、フレームワーク、ライブラリ、などです。プログラミングとは、無から何かを生み出すことであり、そのプロセスには、実験することを恐れない精神が必要です。

コーディングの権威は、良いコードを書くのに「唯一の正しい方法」があると言うかもしれませんが、それはまったくもって間違っています。そのような物言いは、家を建てたり、小説を書いたり、シチューを作るのに唯一の正しい方法があると言っているようなものです。ソフトウエアのコーディングにはいくつもの方法があり、プログラマには、それらを進んで試すことが求められます。

生まれつきの好奇心がなければ、視野は狭くなり、コーディングの問題に対して、常に同じやりかたで取り組むことしかできなくなります。そうなってしまうと、プログラミングはただの反復作業になり、醍醐味の多くを失ってしまいます。


特徴その2: 自主的に行動するタイプでない


優れたプログラマになるには、目的に向かって自主的に行動しなければならず、他の道はありません。本質的でない細かいものをすべて取り除けば、プログラミングは基本的に反復作業です。書いているコードに、何か個人的な情熱や野心がないのであれば、みじめな気分になるだけです。

このことは、あらゆる創造的な取り組みに対して当てはまります(そして、誰が何と言おうと、プログラミングは創造的です)。コーディングに対するやる気は、内から湧き出てくるものでなければいけません。完成した最終製品を持ち帰れる可能性と同じくらいに、コーディングの作業自体を愛さないといけません。プロセスを大切にできなければ、最終製品に達することはできないのです。

朝起きたときに、今のプロジェクトに対して燃えるような思いが感じられないのであれば、プログラミングはあなたに向いている仕事ではありません。


特徴その3: 論理的な問題解決が好きでない


プログラミングは創造的な取り組みではありますが、その一方で、作るより直す時間のほうが多いものです。その他の創造的な活動にも手直しのプロセスは含まれますが(たとえば作家は自分の著作を推敲します)、プログラミングで特徴的なのは、出てくる問題のほとんどが、論理的な間違いから起こっているということです。

デバッグとして知られる手直しのプロセスは、プログラミングの要です。謎解きや論理的なパズルに魅力を感じますか? 壊れているものを直したいという生来の欲求はありますか? さらには、物事の内部の仕組みについて知りたがる性格ですか? プログラマなら、これらすべてに「はい」と答えられるでしょう。

プログラミングのやりがいの大部分は、バグの修正作業から得られます。バグが複雑であればあるほど、最終的に解決したときの達成感は強くなります。このような作業から満足感を得られないのであれば、あなたにとってプログラミングは、終わりないイライラの連続でしかありません。


特徴その4: 長時間座っていられない


プログラミングは基本的に、普通より長い時間、コンピュータの前に座っていることを必要とします。スタンディングデスク(立ちながら仕事ができる机)を導入して、多少の改善はできるかもしれませんが、根本的なところは変わりません。コンピュータの前でとても長い時間を過ごすことになります。

コンピュータの使用に起因する座ってばかりの生活については、いろいろな懸念があり、それを長い間無視していると、深刻な健康上の問題を引き起こすことがあります。類似の問題として、集中の乱れ、閉所性発熱(狭いところに長時間こもることで起こる情緒不安定)、生産性の喪失などといった、精神的な問題にも対処する必要があるかもしれません。

結局のところ、1日のほとんどの時間をコンピュータの前で過ごしていても、快適でいられますか? という質問に集約されます。実際には、快適だけでは不十分かもしれません。コンピュータの前にいることをむしろ好むくらいでないといけません。そうでなければ、生産性や幸せを手に入れるのは困難な挑戦になるでしょう。


特徴その5: 普通の勤務時間を望んでいる


プログラマーとしてのキャリアは以下の2つのうちどちらかに落ち着きます。1) 会社で誰かのために働くのか、2) 独立して自分のために働くのか。どちらにしても、深夜残業、延々と続くコーディングセッション、総合的な生活の質の低下などは、よく耳にします。

ソフトウエア開発は、期限が最重要とされる業界であり、その期限は、昔ながらの9時~5時の業務時間を考えて、余裕を持って設定してもらえるものでもありません。期限が迫ってくるにつれ、開発チームは徹夜の連続、いわゆる「追い込み期間」に入ることもしばしばです。独立したプログラマだとしても、競争を勝ち抜くためには、毎日長時間を費やして働かなければならないでしょう。

加えて、プログラミングの問題は頭から離れず、どこにいってもついてくることが多いです。シャワーをあびているとき、通勤中、ベッドで横になっているときさえも、問題解決のために考えをめぐらせているかもしれません。プログラミングの大部分が脳内で行われるので、仕事を頭から切り離すことは、不可能でないにしても、難しいことです。

運が良ければ、「追い込み期間」の徹夜をしない会社を見つけることができるかもしれませんが、私はできないと思います。


特徴その6: すぐに大金を稼ぐつもりである


ソフトウエア開発がもうかりやすい稼業だった時代もありました。しかし最近では、すぐに大金を稼げるプログラマは少数の例外です。この業界で仕事をする主な目的が、できるだけ短期間で大金を稼ぐことなのであれば、失望することは間違いありません。

ゲームのような一夜にして大成功をするストーリーは、間違った期待と、勘違いした自信につながります。多くの人が、同じような成功を求めて、個人でのゲーム開発に挑戦しましたが、それはみな、挫折と、業界からの退場に終わっています。

プログラマ稼業で大金を稼げるのでしょうか? 答えはイエスですが、簡単ではありません。もし短期間でお金持ちになりたければ、宝くじに挑戦したほうがいいかもしれません。


まとめ


仮に、あなたがこれを読んで、プログラミングは自分の仕事ではないと判断したとしましょう。でも、これまで何年もかけて築いてきた、プログラミング関連の技術や知識は生かしたいとすれば、どうするのがいいでしょう?


物書き

プログラミングで得た技術分野の経験は、技術文書(マニュアル、仕様書など)や、ジャーナリズム(最先端の情報をキャッチする)、また、教育(これまで得た知識を他者に教える)などに向いています。


分析

経験した分野に応じて、セキュリティシステム、ウェブプラットフォーム、ゲーム開発、ビジネスモデルなどのコンサルタントとして、その知識を生かしてみてはどうでしょう。品質保証テストもまた、分析のノウハウが生かせる分野です。


マネジメント

ビジネスマインドを持っていて、しかしソフトウエア業界に関係していたいと思うなら、開発チームを率いてみてはどうでしょう。コーディングのニュアンスを理解できるマネージャは希少です。

これはまだほんのさわりです。仮に自分がもうプログラマになりたくないのだと気づいても、これまでに得たスキルは他のことに応用可能で、費やした時間は決して無駄ではありません。


6 Signs That You Are Not Meant To Be A Programmer|MakeUseOf

Joel Lee(訳:Conyac)
Photo by ShutterStock

—————————————————————————————————————————————-
■コメント:
プログラマーの残業時間が多いと言うことは、昔は多かった様ですが、経営者、中間管理職もプログラマーの仕事を理解して相互サポート出来る会社の環境だと、プログラマーの残業が少なくて、プログラマーの退職率も低減出来る様です。

0 コメント:

コメントを投稿