プログラマーの心得とは。

当ページのリンクには広告が含まれています。

 こんにちは、皆さん。今日は、私が思っている「プログラマーの心得」について、「独断と偏見と経験則」で語ってみたいと思います。

 飽くまでも、個人的な意見なので、賛否両論は色々あると思います。

 まぁ、世間一般的な「コンセンサス(合意)」としては、多分「1ミリもバグがあっては成らない」とか、「それ故に難しい分野である」とか、「責任を持って遂行しなければ行けない」とか、

色々あると思います。更に、「プログラミングには、英語が必須」だと、思っているかも知れません。

 或いは、「数学や、物理や、国語や、簿記が必須」で、重要だと思っているかも知れません。

 更にまた、コミュニケーション力や、仲間とのコミュニティがないと、何も始まらないと思っているかも知れません。

 しかしどうでしょうか?。それらは、プログラマーの本質ではなく、プログラマー(社会人)に成ってからでも、習得できると思います。

 或いは、会社等に就職すると、社会人として「常識的」な要因になると思います。ですから、特に意識する必要もないと思います。

 そういう意味で、これらの事は「 そうでも無いよ 」ということを、一つ一つ見て行きましょう。Let’s get started !.

目次

1ミリもバグがあっては成らない。

 ということなんですが、一見当たり前のように見えますが、全然違います。「バグはあって当たり前」だと思った方が良いです。

 手前味噌で、言い訳になりそうですが。考えても見てみましょう。そんな堅苦しい世界って、何処かにありますか?。三千世界探しても、無いと思います

 つまり、誰でも知っている簡単なことをする場合は、殆ど「バグ」は発生しません。

 例えば、「1+2=3」を間違える人は居ませんよね。しかし、「Sin70°+Cos50°=?」を、電卓なしに答えられる人も、多分居ません。

 或いは、プログラマーだから、「コンピューターのことを、全て知っている」という事は、全然ありません。寧ろ、専門的な分野だとしても、知らないことの方が多いです。

 また、プログラムコードには、「相性」というものがあります。全てが「理想通り」に行く分けではありません。

 例えば、「Double Buffer(ダブルバッファ)」というのが有るのですが、効く場合と効かない場合があります。それは、「内部構造」を全て知ってから、「プログラム」を組んでいる分けではないからです。

 それと同じで、多くの場合、不可能に近い事をするから、「バグ」が発生するのです。ということは、「バグ」が発生するというのは、最先端技術の「イノベーション」に、他なりません。

 ですから、「バグ」を恐れては行けませんし、恐れていれば発展もありません。

 そうですね、過去の顕著な失敗から、偉大な発展を遂げたのが、「レントゲン」や「地動説」や「明治維新」ですね。

それ故に難しい分野である。

 そんな分けが、ある筈ないじゃないですか(笑)。プログラマーというのは、「医者」や「弁護士」や「政治家」より、遥かに簡単です。誰でも、資格無しで成れます。大卒も必要ありません(笑)。

 「やる気」さえあれば、「豊臣秀吉」のように立身出世もできます?!。重要なのは、「好きこそ物の上手なれ」ですよ。

 ただし、資格とかを持っていると、「給与」に反映される場合があります。m(_ _)m ですから、取れる資格がある場合は、取っておいた方が幸せになれます(笑)。

 それと、驚くかも知れませんが、プログラマーになる人は、「理系」より「文系」の方が多いのです(嘘ッ)。嘘ではありません。何故でしょうか?

 そうですね、私は「理系」なんですが、私なりに考えたことを言うと、「理系」はそのまま「理系」の職業に、行くのではないでしょうか?

 例えば、「電子工学」なら大手の家電メーカーとか、自動車産業とか。或いは、「建築工学」なら大手のゼネコンとかに。勿論、理系なので「プログラミング」は、自然に出来ますよね。

 因みに、驚くかも知れませんが、「家電」とかに使用されている「OS」は、日本製の「TRON(The Real-time Operating system Nucleus)です。全世界で、使われています。

 尚、「TRON」というのは、仕様であって「実装」ではありません。

 一方、「文科系」は、とにかく「数(文科系が7割、理科系が3割)」が多いので、多種多様なんだと思います。何でも挑戦するのが、文科系だと思います(笑)。

 例えば、料理の専門学校とか、コンピューターの専門学校とか。コンピュータの会社も、大卒よりも「専門学校卒」の方が、圧倒的に多いと思います。

 全体として、プログラマーの多くは、専門学校とかで習得した人が、多いかも知れません。調べた分けでは有りませんが。ですから、大卒は「必須」ではありません。全ては、本人の努力次第です

 また、コミュニティー力は、有ればそれに越したことはありませんが、何らかのコミュニティーに参加すれば、自動的に仲間とかは、増えて行くと思います。

 更に、「類は友を呼ぶ」で、同じ趣味や職業の場合は、案ずることもないでしょう。

 それと、プログラミングというのは、地位や名誉やコミュニティーの為に、あるのでは有りません。より良いプログラムを作るという、プログラムの為にあると思います。

責任を持って遂行しなければ行けない。

 このことは、日本の社会人にとっては、何事においても「常識的」のように思えますが、特に、プログラマーだけに、言及されることではないと思います。

 というより、「何に対して」とか「誰に対して」とか、「どのような責任」なのかが、具体的に上がっている分けでは無いので、考えること自体に意味がありません。

 それよりも重要なことは、兎に角何かを完成させることです。小さい物でも大きい物でも良いのですが、また「バグ」があっても良いですし、粗削りでも構いません。

 というのは、ある程度動かさないことには、バグも発見できません。そして完成してから、細かいところを修正して行きます。

 最初の内は、遠い所を見ながら、遂行するのが良いと思います。自分で設定した「目標」に向かって。

プログラミングには、英語が必須。

 ということは有りませんが、プログラミング以外で、英語が必要になる場合があります。

 というのは、「コンピューター」というのは、元々、英語圏が発祥なので、全ての原点は「英語」が主流になります。

 しかし、日本においては、「C#」に関する「マニュアル」や「参考書」は、全て日本語ですし非常に沢山あります。

 また、ネット検索においても、膨大な日本語の「チュートリアル」が、数限りなく存在します。ですから、「英語は必要無い」といっても、過言ではありません。

 勿論、日本語に翻訳された「書籍」も、多く出版されているので、安心して「日本語」で解決できます。というより、公式のマニュアル自体が、「英語版の翻訳」であったりします(汗)。

 ただし、少し難しくなったり、非常に高度な事を解決しようとすると、やはり「英語圏」の文献や「Q&A」が必要になる場合があります。

 例えば、「Windows API」等に関したものや、「コントロールの虎の巻」に関したものは、英語圏の方が豊富でしょうね。

 ですから、そういう意味で英語が必要になる場合はありますが、プログラム自体は、「簡単な英語」なので、何も心配する必要はありません。

 それと、C#のデザイン時に使う「各コントロール」のメンバーは、全て英語なんですが、覚える必要は全くありません。

 ソースコードを書く場合は、コード支援の「インテリセンス」が働くので、その中から「選択」するだけです。それに、使っていくうちに自然に覚えます。

数学や、物理や、国語や、簿記が必須。

 こちらも、「そんなことは無いのですが」、と言いたいところなんですが、実は、プログラムを完成させる為には、専門的な知識が必要になります(激汗)。

 とは言っても、それは、本来「プログラマー」の領域ではなく、「SE(システムエンジニア)」の領域です。ですから、「プログラミング」とは、直接関係ありません。

 「SE」というのは、アプリケーションに対して、専門的な知識のある方がなります。ですから、極端な話として、プログラミングを知らなくても、「SE」にはなれます。

 会社とかに入れば、「PG(プログラマー)」と「SE」は、明確に分かれます。「SE」の下に、何人かの「PG」が付きます。本来「プログラマー」というのは、この「PG」のことを言います。

 しかし、当サイトでいう「プログラマー」というのは、「サンデープログラマー」のことを言います。何度もいいますが、「好きこそ物の上手なれ」ですよ(笑)。

 そして、サンデープログラマーなので、「SEとPG」は、同じ人になります(激汗)。

 しかし、どうでしょうか?。「プログラミング」をしたいと思う一般人の方は、「PG」に成りたいと思っている分けではないと思います。

 自分の仕事で使う、「ちょっとしたプログラム」を作りたいけど、中々プログラムの勉強までは、時間と根気が続かないと、思っているかも知れません。

 ですから、気が付かないかも知れませんが、「サンデープログラマー」は、自動的に自分自身への「SE」なんです。後は、「PG」を付けるだけです(笑)。

 例えば、「数学」の専門家が、「物理のプログラム」を作りたいとは、思わないでしょう。作りたいのは、やはり「数学のプログラム」ですよね。ですから、既に「SE」は居るのです。

コミュニケーション力や、仲間とのコミュニティが必要。

 こちらも、人それぞれ、「環境」も違えば「立場」も違えば、「状況」も違います。一概に、コミュニケーション力が、必要とすることは無いと思います。

 何でもそうですが、最初は「1人」からだと思います。そして、そこから何らかのコミュニティーに参加して、仲間が増えます。

 コミュニティー(趣味や職業)が多ければ、仲間も自然に増えます(パワー)。

 特に、会社とかの場合は、仕事ですから自分の意志とは関係なく、自然にコミュニティー力は必要になります。ですから、何も心配する必要はありません。

 仕事なので、「一期一会」や、「乾坤一擲」かも知れません(笑)。

 まぁ、とにかく先ずは、ローカルから「ゆっくり」と始めましょう。「千里の道も一歩から」ですよ。私の場合は、結構この諺が好きなんです。

まとめ。

 如何でしたでしょうか?。皆さんの、プログラマーに対する認識と、違っていたでしょうか。

 まぁ、私が言いたいことは、最先端技術には、必ず「バグ」はあります、ということです。しかし、もし何かに迷ったら「気楽」に行きましょう。Take it easy ! ですよ。

 それと、当サイトは、私なりに結構「標準的な日本語」で、記事を書いていますので、プログラムの事が分かる外国人が、日本語を勉強したい場合は、どうぞご利用ください。

 「Edge」や「Chrome」の「翻訳」機能を使うと、母国語に変換できるので、比較すると勉強になるかも知れません。または、ならないかも知れません。その辺りは、「運否天賦」です(笑)。

 私の場合、デスクトップを使う時は、Microsoft の「Edge」を使っています。タブレットを使う時は、Google の「Chrome」を使っています。

 一応、「Edge」で記事を読む場合は、音声を使って読むと、楽に読めますし正確に読めます。

 方法は、記事の上で「右クリック」-「その他のツール」-「音声で読み上げる」で行えます。音声のオプションは、「Microsoft Keita Online (Natural) – Japanese (Japan)」がオススメです。

 男性の音声ですが、非常にネイティブな日本語で、読み上げてくれます。偶に、音読みと訓読みを、間違えることはありますが、全く問題ありません(笑)。

 それでは、この辺でごきげんよう。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次