プログラマーはできるだけ早く 13 の原則を理解する必要があります (コンピューター専攻の必読!)

1. 必ず自社の開発方向を定め、実現可能な計画を立ててください。「卒業したばかりだし、将来どうなるかまだ分からない」「自分の気持ちに任せて、まずはやってみよう」などと言わないでください。なぜなら、そのような見方は、あなたの行動が怠惰で平凡であることを潜在意識を通じて暗示することになるからです。テクノロジーを続けて、将来は専門家になりませんか? 経営の方向に進み、プロの経営者になるには?まずは業界や分野に精通し、将来的には自分のビジネスを立ち上げてみませんか?それとも、最初はこの業界でぶらぶらして、数年後に別の業界に切り替えるべきでしょうか? これは非常に重要で、今後数年、10年後に何をするかによって「正しいことをする!」ことが決まります。
2. 初体験を共有する 「学歴は過去を表し、能力は現在を表し、学力は未来を表す。」 実は、これは海外教育分野の研究結果です。数年、あるいは 10 年以上働いている友人なら、この原則についてある程度の経験があると思います。でも、「重要な真実を理解するのが遅すぎると、一生後悔することになる!」という点も非常に重要だと思うので、卒業したばかりの友達に早く見てもらえるように、すべての記事に入れました!

3. 独自のソフトウェア開発専門知識学習計画を詳細に作成し、タイムリーな改訂と調整に注意を払います(ソフトウェア開発テクノロジーの変化が速すぎます)。覚えておいてください: 「ソフトウェア開発者が 1 ~ 2 年で知識を更新しなかった場合、その開発者はもはやこの業界に属していません。」 時間がないなどと自分に言い聞かせないでください。時間管理の分野で有名な「38 原則」は、残りの 8 時間をどう使うかが人生の成功か失敗を決めると警告しています。卒業以来、私は毎日平均2時間以上勉強してきました。

4. 特にソフトウェア開発者にとって、書籍は人類の進歩のはしごです。知識を学ぶのに最も効果的なのは本ですが、職場でわざわざ教えてくれる「専門家」に出会うことはあまり期待しないでください。本を買うためにお金を使うことに関して言えば、私の個人的な経験では、「中国のあの人たちが出版した本は絶対に買わないでください!」です。(私はこれに同意するつもりはありません。著者は少し極端だと思います!)私はその人たちから購入した本の 00% を例外なく後悔しました。さらに厄介なのは、これらの本は古本市の露店で売りにくいことだ。「本を所有することは、知識を所有することを意味しません。知識を所有することは、技術を所有することを意味しません。技術を所有することは、文化を所有することを意味しません。文化を所有することは、知恵を所有することを意味しません。」 本を自分の知恵に変えることによってのみ、あなたは本を真に所有することができます。

5. たとえ時々 1 回か 2 回しか使用しないとしても、特定のテクノロジーの表面的な使用に限定しないでください。「何事にも気を配る」というのは、どの業界のエンジニアであっても持ってはいけない資質です。Windows アプリケーションを開発し、Windows プログラムの設計、読み込み、および実行原理を確認し、PE ファイル形式を分析し、SDK 開発を使用して Windows アプリケーションを最初から開発してみます。VC++、Delphi、Java、および .Net を使用して開発します。 MFC、VCL、J2EE、.Net のフレームワーク設計やソース コードを研究し、J2EE、JBoss、Spring、Hibernate などの優れたオープンソース製品やフレームワークを使用することに加えて、時間をかけて、どのように機能するかを確認します。修士は、同様の問題に対する一般的な解決策を抽象化し、分析し、設計し、実装します。これを実行してみると、多くのことが「どのように、なぜであるかがわかる」ため、今後の仕事で不明瞭になったり混乱したりする問題に遭遇することが少なくなります。

6. 言語でプログラミングしますが、その言語によって思考が制限されないようにしてください。『コード百科事典』には、「言語のプログラミングを深く掘り下げ、表面的に読んではいけない」と書かれています。言語を徹底的に開発するだけでは十分ではなく、どのプログラミング言語にもその存在理由があるため、どの言語も「すべての病気を治す」ことができる「万能薬」ではありません。プログラミング言語が開発者のアイデアや特定の問題を解決する方法に与える影響と制約の例は数多くあります。私の経験では、オブジェクト指向ツールを使用して特定の主要モジュールを開発する場合、なぜ C、C51、およびアセンブリのモジュール パッケージング手法から学ぶことができないのでしょうか? 従来のデスクトップ開発ツール (現在は主に VC++ と Delphi) を使用してシステム構造を設計する場合、なぜ Java コミュニティの IoC や AOP の設計アイデアを参照したり、Spring や Hibernate などの優れたオープンソース フレームワークから学ぶことができないのでしょうか。 、JBossなど?リアルタイム通信やデータ収集などの機能を設計および実装するときに、リアルタイム システムや組み込みシステムの優れたシステム フレームワークやパターンを使用できないのはなぜでしょうか。なぜ自然な開発言語による個人やチームの伝統や経験に基づいてすべてを解決しなければならないのでしょうか? ? ? 「他の丘からの石は学ぶことができる」。

7. 要約と反映の習慣を身につけ、日々の作業の結果を意識的に洗練させて、自分専用のソース コード ライブラリ、特定の種類の問題を解決するための一般的なシステム アーキテクチャを形成し、さらにはフレームワークにまで進化させます。誰もが知っているように、ソフトウェア開発者にとって、経験豊富な人と経験の浅い人の大きな違いは、経験の浅い人はタスクを完了するときにゼロから作業を開始するのに対し、経験豊富な人は独自の再利用可能なモジュールやクラス ライブラリを再編成することで問題を解決することが多いということです (実際、これはこれです)。この結論はソフトウェア開発の分野に限定されるべきではなく、多くの側面に拡張することができます)。これは、再利用可能なものをすべて自分で実装する必要があるという意味ではなく、他の人が作成した成熟したテスト済みの結果を収集し、整理して、自分のナレッジ ベースに統合することもできます。ただし、知的財産権や著作権などの問題を避けるために、自分で実装するのが最善です。自分で実装した後に、この知識を本当にマスターし、このスキルを身につけることができるかどうかが鍵です。

8. 理論と実践に等しく注意を払い、内的側面と外的側面の両方を養います。エンジニアの意味は、エンジニアの視点から物事や世界を観察し、分析することです。ソフトウェアエンジニアの資格は、ソフトウェア製品の本質とソフトウェア製品開発の本質を真に理解している人です(個人的な意見、議論歓迎)。ソフトウェア開発言語を習得し、言語ツールを適用して仕事上の特定の問題を解決し、目的のタスクを完了することがソフトウェア エンジニアの主な仕事ですが、ソフトウェア エンジニアの観点からすると、これらは単なる表面的なものであり、重要かつ本質的な仕事ではありません。本物のソフトウェア エンジニアの仕事は、ソフトウェア製品開発とソフトウェア開発方法論の理論的知識を学び習得し、ソフトウェア製品の分析、設計、実装のアイデアを理解し、実際に適用して特定のソフトウェア製品開発の問題を解決することです。成熟した理論と信頼できる方法論の観点から問題を考え、分析し、解決し、具体的な実践の中でそれらのアイデアと方法を検証、修正し、最終的には独自の理論体系と実践方法論を形成します。

9. 心をオープンにすればするほど、視野は広がります。自分の技術や成果を時代遅れになってゴミになるまで持ち続けて、持ち出して恥ずかしい顔をするのはやめましょう。開発した製品、創造的なデザイン、コードなどの研究結果をタイムリーに公開し、誰もがコミュニケーションしたり使用したりできるように公開してください。そうして初めて、あなたの結果は進化し、昇華する機会が得られます。2000 年に私が開発した Windows システム ツールについて考えてみてください。5 ~ 6 年経った現在でも、それらは同じままです。現在人気のある Windows システム ツールの多くは、私が開発したものよりも後のものですが、非常によく進化しており、多くの人が使用しています。多くのユーザーがいます。また、自分の技術やアイデアは秘密にせず、できるだけ他の人に伝えて共有したり、開発チームのメンバーに教えたりしてください。「他人とリンゴを交換しても、誰もがまだリンゴを 1 つしか持っていません。しかし、考えを交換すると、誰もが 2 つの考えを持つようになります。」 誰もが真実を知っていますが、実際にそれができる人は何人いますか?

10. オープンソース プロジェクトの開発に参加したり、友人と共同で独自の製品を開発してみたり、お金がないからといってやめないでください。インターネットはもはや単なる「仮想世界」ではなく、インターネット上にはオープンソースプロジェクトや共同開発プロジェクト、アウトソーシングプロジェクトが数多く存在しており、仕事以外の知識を得る、より幅広い知識を得る絶好の機会となっています。人々。自分の仕事が ERP であるからといって、組み込み、リアルタイム、通信、ネットワーク、その他のテクノロジの学習と理解をやめないでください。またその逆も同様です。他の誰かがあなたに協力契約を持ってきたときに、あなたがそのやり方を知らず、それに慣れていなかったら、あなたは後悔するでしょう。

11. この本を使用すると、後悔が少なくなります。知識を技術的な側面だけに限定しないでください。**経済学賞を受賞したサイモン教授の研究結果によると、「一定の基礎を持った人は、本気で努力する限り、どんな科目でも6か月以内に習得できる」ということです。コミュニティはサイモン教授の研究成果に感謝したいので、サイモン学習メソッドという名前が付けられました。なじみのない知識を習得することは、想像よりはるかに難しくなく、奥深いものであることがわかります。多くの情報源から学び、広範囲に探索してください。影響の輪を強化し、関心の輪をできるだけ広げるように努めてください。時間があるときに金融、経済、税金、経営などについて時間をかけて読み、自分の能力を隠し、時間を待ち、雨の日に備えてください。

12. この記事の要約と考察:

A: それがあなたの目標でない限り、技術マスターになる必要はありません。この記事はソフトウェア開発の知識を向上させるための提案についてのものですが、私は技術的なマスターになることには常に同意しませんでした。専門知識を向上させることはできますが、それは仕事に能力がある場合に限られます。

B: ソフトウェアの知識や技術の向上は問題の表面にすぎず、本質は問題を理解し、分析し、解決するための思考レベルを向上させることです。ソフトウェアの専門知識の多くの方法と原則は、簡単に拡張して生活の他の側面に適用できます。

C: その仕事に適した資格を取得したことに基づいて、すぐに他の分野の専門知識に手を出し、知識体系を充実させ、全体的な質を向上させてください。特に技術的な目標を持たない友人たちに対してはそうです。

13. ソフトウェア開発チームではテクノロジーがすべてではありませんが、テクノロジーなしでは不可能なことはありません。技術チームでは技術も人柄も同じくらい重要ですが、もちろん見た目も特に女子が多いチームではより重要です。ソフトウェア プロジェクト チームでは、技術レベルが評価され、尊重されるべき重要な要素となります。管理、システム分析、設計、コーディング、製品管理、テスト、文書化、実装、メンテナンスのいずれを行う場合でも、技術的な基盤が必要です。私が無知でも、素人がソフトウェア開発チームを率いてソフトウェア開発プロジェクトを成功させた例を一度も見たことがありません。以前、「高学歴の人」(非技術者)がグループを率いてプロジェクトを完成させているのを見たことがあるのですが、プロジェクト納品の2日目にプロジェクトチームのメンバーが「もう我慢できない!」と言ってプロジェクトが立ち消えになってしまったのです。チームはバラバラになり、それぞれの道を歩むことになった。そのプロジェクトの「成功」は皆さんも想像できるでしょう。

したがって、チームのリーダーになりたいのであれば、まず自分のスキルで他の人を説得しなければなりません。あなたが強くなって初めて、下の人々があなたを認めます。そして、あなたの倫理で他の人を説得すれば、誰もがあなたに従うでしょう。まだスキルを持って人々を説得していて、ネットワーク セキュリティにもっと興味があり、この知識を体系的に学びたい場合は、基礎知識がゼロでも、私が用意した学習ルートの完全なセットと対応するビデオ チュートリアルをご覧ください。進行に関しては全く問題ありません。

必要な場合は、リンクをクリックしてください。[282G] 基本ゼロから高度なネットワーク セキュリティとハッキング テクノロジまでの完全な学習パッケージ。無料で共有できます。 無料で入手しましょう!

ここに画像の説明を挿入します

ここに画像の説明を挿入します
ここに画像の説明を挿入します
ここに画像の説明を挿入します
ここに画像の説明を挿入します

記事の長さに制限があるため、情報が必要な方は、以下の QR コードをスキャンして入手してください。コードのスキャンが難しい場合は、[ 282G] ネットワーク セキュリティとハッキング テクノロジー、完全な学習の リンクをクリックすることもできます。基本から上級までのパッケージがあり、無料で共有できます。無料で入手しましょう!
ここに画像の説明を挿入します

おすすめ

転載: blog.csdn.net/text2207/article/details/133376422