pavlocat's diary

Twitter : @pavlocat

独学プログラマに必要と思われる重要なスキル

独学プログラマに必要と思われる重要なスキル
 
元サイト:

http://simpledeveloper.com/important-skills-self-taught-programmers-lack/

 
原題:

Important Skills Self-taught Programmers Might Need

 
著者 :Elisha Chirchir
投稿日:2013/6/1
 

 
こんにちは。立ち寄ってくれてありがとう。
今日、ソフトウェア開発やコンピュータ・プログラミングを独習する人々が増加している中、大学教育が提供するであろう特定のスキルを彼らが持っていないのは疑いようがありません。
ほとんどの独学プログラマは、余裕さえあれば学校に通いたいと間違いなく思っていますが、現実的には厳しいでしょう。そうはいっても、足りないものが分かれば、そのスキルを学ぶための行動に移せるので落胆することはありません。最も危険なのは、自分に何が必要なのかを知らないということなのです。
 

f:id:pavlocat:20130620194834j:image

 
あなたが持つべき5つのスキル
 

 

 
では早速見てみましょう。もしこのリストが短すぎると感じたなら、コメント欄にアイデアを追加してください。よろしくお願いします。
 
 
「どれを?」とお思いでしょう。真面目に言うと、世の中には数千ものプログラミング言語があります。「サルでも分かるプログラミング言語」といった類の本を大量に読んでも大して意味はありません。人はたびたび与えられたプログラミング言語をどうプログラムするかを躍起になって学ぼうとし、とりわけ字句解析、構文解析、最適化、型の安全性、スコープ、型システムのような重要な詳細項目を見落としてしまいがちです。
さらなる情報が欲しい場合は、Udacityが提供しているプログラミング言語のコースをご覧ください。かなりお勧めです。
 
2. アルゴリズムデータ構造
とりわけソート、再帰アルゴリズム、言語構造とコンパイラ、動的情報構造といった概念は非常に重要です。データ構造の理解は効率的なアルゴリズムの設計に役立ちます。データ構造の例としては特に配列、レコード、ハッシュまたはマップ、共用体、タグ付き共用体、セット、オブジェクトなどがあります。
素晴らしい授業を観るには、University of New South Wales' のコースを参照してください。全部無料です。
 
3. システムアーキテクチャ
多くの独学プログラマシステムアーキテクチャのことを忘れてしまいます(主な理由はそれがどれだけ重要なものか認識していないから)。事実として、コンピュータのパーツや、それらがどのように相互に動作するかを知ることは控えめに言っても非常に重要です。システムに裏に隠れている実装の物理的性質について意識しましょう。このトピックについて自信が無ければ、有名な検索エンジンを使って良質なリソースをオンラインで探してください。
 
カーネルと、それがどのようにしてハードウェアを有用なサービスへと抽象化しているかを理解すること。POSIX - カーネルがどのようにして JavaPython (ついでにあなたの好きな言語) の標準ライブラリと関連しているかが定められています。IOメモリ割り当てといったハードウェアの機能は、プログラムとコンピュータのハードウェアとの仲介を行うオペレーティングシステムに依存します。オンラインには数千ものリソースがあります。
 
面白いのは、コンパイラについてよく知らなくても、コードを書くことができるということです。これは、コンパイラが実際どう動いているのか知る必要がないというわけではありません。コンパイル中に何が起こっているのか本当に知りたいのであれば、コンパイラを自作するのが最も良い方法でしょう。繰り返しますが、調べれば無制限にリソースが見つかります。オンラインで検索しましょう。
 
 
私の書いたことは間違っているかもしれませんので、これらは私の個人的な意見であるということは述べさせていただきます。実際、独学プログラマは学校で4~5年技術を学んだプログラマより優秀だと言う方もいらっしゃるかもしれません。
 
どちらにせよ、このトピックについては議論を始めると収拾が付かなくなってしまいます。このリストは長すぎたかもしれませんし、短すぎたかもしれません。また、コミュニケーションも同じくらい重要なスキルです。どれだけスキルを持っていようと、明確なコミュニケーションが出来なければ不利になってしまいます。
 
ある男はこう言いました:
 
「大学は知識を与え、独学プログラマは技を学ぶ」
 
彼の言ったことが正しいかどうかはあなたの判断に委ねます。この世に学べないものなどないと思っています。本をこじ開け、未知のものや時に勇気の要るものについて学ぶためにすべきなのは、熱意を持つこと。それだけです。
 
立ち寄ってくれてありがとう。この投稿に何か加えたいことがある場合は、コメントに書いてください。喜んでシェアします。この投稿が気に入ったら、下のボタンを押してシェアしてください。それではまた。