「大きな技術的な牛」になる方法を、毎日書く「業務コード」?

[転送マイクロチャネルます。https://mp.weixin.qq.com/s/TWetnASzxLPAXz39Perbow]

 

開発、テスト、運用、保守かどうか、より多くの心理的な以下の各技術者は技術的なダニエルの夢となっている、すべての後に、「それを達成した場合、常に、夢を持っています」!それは我々が自分自身を促進し、アップグレードするために努力を続け、技術の夢の追求です。しかし......

序文       

しかし、「夢は良いですが、現実は残酷で、」実際の作業で見つける多くの学生が、夢は大きな牛になることが、ダニエル・戸建を見ていないで、例えば、プログラマは「毎日語りますまた、ビジネスコードを書く技術の牛になる方法を、残業、そして機械を運ぶためにネットワークケーブルがシェルコマンドをノック「O&Mが言った」終わることはありません日間のテストを実行している、私は人生の運用・保守をしたくなかった「テストは言いました」。 " ......

私はプログラマですので、その次の例のいくつかは、プログラムの開発に基づいていますが、大したことは同じ、テスト、操作であり、メンテナンスが学ぶことができています。

古いドライバの概要

李Yunhuaオープンソース技術に焦点を当て、システム分析、アーキテクチャ設計、特性およびインターネット技術の動向;、シニアソフトウェアエンジニアアリゲームは、建築設計、建築再建、技術チームの管理、技術研修や他の任務を引き受けるために、いくつかのR&Dチームを率いより詳細な研究があり、デカップリング、高性能、高可用性アーキテクチャの豊富な経験を持っています。

典型的ないくつかの

教師としてのダニエルのおかげで

知っては、ほとんどダニエルが迅速かつ効果的な方法は、彼らは通常、あなたの特別な治療を与えるので、あなたが困難なタスクの数を割り当てる「教師として崇拝チームの技術的なダニエル」であり、最も簡単な技術であることを望んでいることを示唆しました。

私は個人的にいくつかの主要な理由がある、このアプローチに反対しています:

  1. ダニエルはあなたに特別な治療を与える可能性は低いですが、1時間の特別な治療の日を開いて与えることができないだけでは、忙しかった;とダニエルは、私は通常、あなたの特別な治療を与える場合には、必然的に他のチームメンバーにつながる、チーム疑問が、私は個人的にtrueの場合、チームはダニエルに決定された場合、そのチームに最高の訓練を与えると思います。

    しかし、訓練は1時間を説明し、(時間の断片にすることはできません)は、少なくとも2時間は非常に時間のかかるトレーニング、教材や資料を準備し、知っていた、ダニエルは、トレーニングを行うには、月でしたが非常に高くなっています周波数。

  2. 第一の理由なので、それは頼むか議論する全ての質問に、ダニエルを見つけることが一般的です。答えたり、時間があまりなく問題を議論するので、より多くのとは大きな牛が、結局、大きな牛のものの影響の重要な指標は非常に満足している。この場合には蓄積された経験に依存しています。

    しかし、特別な注意が必要です。あなたは、多くの場合、これらの本は簡単にGoogleや知識で見つけることができせれば、大きな牛は非常にせっかちになり、結局、時間は貴重です。多くの場合、友人は、「どのように-Xmn JVMの設定パラメータ」このような問題として私を尋ねてきた、私はいつも、それぞれ、この問題が多すぎるので、彼らがシステムを学ばない場合は、「直接Googleに行ってください」、直接答えます自分と他人を聞いているのは時間の無駄です。

  3. ダニエル・各チームは、技術的なダニエルを持っていることを非常に少ない、唯一のあなたは最終的にあなたが唯一の彼のレベルにアップグレードすることができ、毎日彼に特別な治療を与える場合でも人々のレベルよりも高いがあるだろうと言うことができるチーム。そして、それが原因で仕事や流通、直接アドバイスの組織の、クロスチームの技術的なダニエルで、カウンセリングの機会が比較的少ない場合には、一人で大牛は、いくつかの訓練を取るために、ダニエルの技術になることはほとんどありません。

上記は、私は「私たち自身に頼ることは、」真実は、ステップによってダニエルの手のステップとして、武道のマスターのようにそこに期待していないことを理解することが上記のすべての技術的ダニエル、、になるために、ほとんどの人々のために考えて、いくつかの理由ですあなたに教えます。相談や探検ダニエルやダニエルを介して自分自身を向上させるが、時間や自分の体系的、目標とプロモーションのほとんどのために、もちろん。

 

非常に高速なハードウェアとしてのビジネスコード

あなたは非常に高速なハードウェアを考えることができるようなカプセル化と抽象化を使用して、同じことがビジネススキルのさまざまなコードであることを理由に、コードを記述するほぼすべてのビジネスは、コードよりスケーラブルなビジネスを作るの答えを知ることは、あなたがより多くの製品に交換することができます理解とビジネスの実現に優れ、効率を見つける検層問題はように10倍に増加......とすることができます。

技術的な内容のビジネスコードは、これは確かであるとして、業務コード技術は、すべてのプログラマの基礎であるが、唯一の技術ダニエルすることはできませんこれらのスキルを習得しました。Daguaiのアップグレードゲームは、暴徒と戦うために始めたと同様に、経験値が非常に高く、あまり後ろのより多くの経験は、経験を向上させることができない暴徒と戦います。私たちは、より高度な非難を再生する必要があります。この時間は、限り、あなたは暴徒がトップに上昇戦うことができるようのためのゲームを見ていないコピーの課題のいくつかを磨きます。

ダニエルは、技術ロードが似ている、あなたはその後、彼らは等々自分のレベルがさらに高いレベルのように、これらの課題に取り組むことで、より大きな課題に直面し、そして、絶えず自分のレベルをアップグレードする必要があり、最終的には技術業界、さらには牛を達成しますダニエル・レルムが、唯一この道をアップグレードする、と私はそれが主要な課題のよりだと思うビジネスコードDaguaiを書くために挑戦。

だから私は思う:ビジネスコードのプログラマは、確かな技術の牛を悪くない書き込みが、唯一のビジネスに書かれたコードのプログラマは、技術的なダニエルになることはできません。

 

忙しすぎて、自己の仕事

多くの人々は、彼らが技術的なダニエルは、彼らがスマートではありません、また彼らが行われているということではないとはならないと思いますが、中国この環境下、技術スタッフの残業はあまり、それは余分な時間の学習をもたらしませんでした。

このため、特定の客観性は結局のところ、そこにある、ヨーロッパやアメリカに比べて、我々はより多くを行うために残業が、この要因は非常に多くの大きな牛もあるの後に私たちの周りのすべて、唯一の克服すべき問題ではないunbridgeableギャップであります中国ではこのような環境では、最大成長します。

私は、このビューの形成につながったいくつかのエラーがあると思います。

1は、学ぶために、独自の追加の必須を強化するために、作業の重複がある作業を行います

主な理由は、私は今、仕事ビジネスコードを記述することであるために行っている間、この誤解の形成はまだ「書き込みビジネスコードは何の技術的な内容ではない」と考えているので、私が仕事で持ち上げることができないということです。

時間の大部分の2、継続的な学習のニーズ

多くの人々は、我々は、のように、学校が好きなあなたのクラスと考える学習への完全な一日を与えることを学ぶべきだと思う、と私たちは通常、ちょうど週末に遅く眠りたい、あるいは単にゲームをプレイするために映画を見たいと思って残業、より疲れていますリラックスし、その勉強する時間がありません。

実際には逆のアプローチは:自分の知識を適用するための基準の例またはがあるので、まず、私たちは、仕事に学び、改善する必要があり、効果を学ぶことが最良である;第二学習は仕事の後の時間の大期間を必要としませんが、時間を作るために学ぶために時間の断片を使用しました。私は以下のページで参照することができ、破片を学ぶために時間を使う方法のように、「どのように仕事の昇進に学ぶ」についてお話します:小さなターゲットの芸術:10,000時間の理論の着陸を、あなたはダニエルです

正しいアプローチ

複数の操作を行います

より多くを行うためのタスクは、より多くのあなたを与えるように手配し、上司よりも複数の操作を行います。

HW私はバージョンの開発を担当した際に、ワークロードのこのバージョンは約2000行程度であるが、加えて、私はこの機能を終了し、機能を明確に全て把握に関連付けされるコード(約10,000行)はすべて見ています再び、このバージョンの後に行われ、このバージョンでは、私はすべての非常に精通し、全体の事業を関連しました。

1または2回の会合の後、私はこのための最も熟していることを発見し、その後、彼らは非常に興味深いです:私には、製品の需要が試験問題にも私に来て、議論するために、外部からの支援の上司も私を見つける、そして、ではない私の責任彼らはまた、私は知らなかったにもかかわらず、私は彼らが答えを見つけるのを助けるために、コードやドキュメントを見ていきます、私を見つけるために機能する......最後に、私は私のシステムになった「専門家」でした。この時間が、私はまだビジネスを行う、またはビジネスコードを書くことが、私はビジネス全体に非常に精通してい。

あなたは、機会を持っているために、あなたが出てくる群衆、考え出すに持っているすべての最初の、あなたが異なるように、異なることがあります。これらは、言いたい、実際には、単純な例であり、それはより多くを行う必要があります!

それの多くを行うにはどのように?私たちは、次の側面から進めることができます。

ビジネスに精通1、コードに慣れて、あなたが書いたかどうか、あなたがのために責任があるかどうか、

これは、多くの利点が、いくつかの簡単な例があります:

  • 場合は、より正確なニーズ分析、要件フェーズでのリスク、影響、困難を識別することができるようになります

  • ときに発行処理をより迅速に、関連するビジネスとは、コードに精通しているため、迅速な問題と可能性調査プロセスの原因を特定することができます

  • グローバルなビジネスの理解は、より良いプログラムを設計することが可能であるため、より包括的なを検討する時間をデザイン

2、おなじみの端

たとえば、Web開発の背景を担当しているが、実際にユーザーがHTTP要求を開始し、唯一のサーバー(例えば、ブラウザのキャッシュ、DNS、nginxの、など)に多くの中間段階を経るあなたが書く前に、サーバーは、一般的に対処するための多くを通過しますステップまたはコード(ルーティング、アクセス権など)は、このプロセス全体の一部多くのシステムでは、関係者の大半は、コードを記述することは不可能であるが、この知識は、このようなプログラムの全体的なレベルに大きな影響を与えますデザイン、これらのより技術的な仕事のオンライントラブルシューティングの金の含有量は、統合された技術が必要になります。

「体系的」とは、「グローバル」は、「包括的」これらの言葉は、比較的空のように見えるが、実際にはすべての技術ダニエルの基本的な品質は、この状態を達成するために、それはより多くのシステム、ビジネス、コードに精通している必要があり、 。

3、自己

一般的に、より成熟したチームは、フレームやコンポーネントが多くのパッケージを持っているので、技術を使用するためにビジネスコードを書くには本当に比較的小さいですが、私たちは「唯一の定数が唯一の変更である」ことを理解しなければならない、フレームワークを向上させることができ、部品既存の技術は、ビジネスニーズを満たすことができなかったかもしれない、またはあなたがやってゼロからスタートしたい会社、新会社でもないアセンブリやフレームワークを、変更置き換えたいことがあります。

これらは、機会と課題であり、使用時には時間がないまで、本当に学校に来るので準備している者に割り当てられることになる機会と課題は、より多くのようにこのケースでは、我々は、自分でより多くの事を教育する必要があります。

Javaへ、例えば、ビジネスコードのほとんどはのif-elseは、データベース操作を追加し、私たちは自分自身に、このような本当にガベージコレクション、チューニング、ネットワークプログラミング、一時的に役に立たないかもしれないが、などのJavaのいくつかのより多くの知識を学ぶことができるです関連する知識とスキルを習得しているこの時点で、機会が誰で、何ができないのgoogle、時間を使用しています。

ガベージコレクションには、例えば、私は通常ちょうど知識を学ぶために時間がかかり、学習は、一年を過ごすが、その後数回、スタックの大きな問題を解決するたびに、および一部の学生をかけていませんストップ - 世界は概念が何であるかを知っている、ましてや最適化されていないため、私は、Javaコードの数年を書きました。

特に、多くのオープンソースソフトウェアでは、これらの技術を導入するために適切なタイミングで、などNginxは、Redisの、MongoDBの、ElasticSearch、として、彼らの通常の自己に行くために多くの必要性は、大きな価値をもたらすことができます。

 

よりよいですか

あなたは、あなたがシステムや業務を担当しているこの世界には完璧なものはありません知っている、常に無理があり、改善のための領域、これらは「不合理」と場所の「改善」は、すべてのより高いレベルのモンスター、キック経験した後、より多くの価値を追加することができます。これらの場所を特定し、解決策を与え、その後、有能に提示し、1回ではない、いくつかの言及以上、限り、1階のように、これはあなたのチャンスです。

例えば:

  • あまりにも多くのコードを繰り返し、それがデザインパターンを導入することが可能ですか?

  • 一般的には、システムのパフォーマンスは、最適化することができますか?

  • マシンが良く行われた場合には、二重の現在、単一のですか?

  • 開発のバージョンは、高品質、効率的で、ユニットテストと統合テストプログラムを導入するかどうかではないでしょうか?

  • 現在のシステムは、システムが再構築とデカップリングによって3に変更することができるかどうか、大きすぎますか?

  • アリミドルウェアシステムが導入されたかどうか、我々が使用できるいくつかの感情を持っていますか?

限り、あなたはそれについて考えるとして、実際には、あなたは常に改善のための領域を見つけることができます。あなたは何の改善が、それはあなたのレベルが十分ではありません示していないシステムを考える場合には、関連する技術、他の会社が行う方法で、マルチ業界を見て、学ぶことができますBATは、それを行う方法です。

私は、9件のツアーを2013年に展開され、単純なバックオフィスシステムを引き継いだ、それがフロントデスクで、データのCRUDを行うために毎日である、完全に退屈に見える、それはないですか?これらは本当に退屈なだけならば、我々は観光名所がたくさん引き継ぎました。

  • デカップリング2は、拡張性と安定性を高めるために、背中のバックグラウンドを分割します。

  • 二重、デュアルシステムへの単一の、信頼性を向上させます。

  • 最適化は、時間のかかる用に最適化され、元のインタフェースが5時間5分かかります

他の多くの最適化は、我々はその後、チームは、6つのシステムを担当する5人が、グループのシステムの多くを取る、があります。

 

運動をする

通信のプロフェッショナルレベルをやって、私は多くの学生がありますが良いですか、それ以上ですかやろうとしている見つけましたが、実施の過程では、ほとんどの人が同じ問題を経験している:ちょうど行う方法を、悪い影響を見ていませんか?

例えば:

  • JVMガベージコレクションを学ぶが、行が少ないカトンFGCがあった場合でも、それは、また、最初の景気回復で、オンラインの問題を抱えている可能性が低いとし、各学生が手を練習してみましょう、問題につながるですことは、どのようにこれらのJVMそれの知識とスキルを練習するには?

  • ネッティーは私も見ましたが、また、原子炉の原理を理解するために、私は自分自身が本当に原子炉非同期モデルを習得するためにどのように、網状の開発に参加することはできませんか?

  • 私はこれらの技術を検証するために行くか、「ハイパフォーマンスMySQLを」読むが、オンラインデータベースには、DBA管理、データベースの感覚テスト環境を簡単に設定可能ですのですか?

  • フレームワークは、DALをカプセル化し、データベースへのアクセスは、我々が達成するために、サブライブラリーサブテーブルを理解するためにどのように、私たちを心配する必要はありませんか?

、学習しようと、教育:どのような問題は、多くのがありますが、私は私の個人的な経験を共有するためにここにいる、実際には3つの言葉です!

1、学習

これは第一段階である、ブック、グーグルを読んで、ビデオを見て、ブログを見てすることができますが、「体系的」ということに注意することは、そのようなJVM、Javaプログラミング、ネットワークプログラミング、HTTPプロトコルの原則として、特にいくつかの基本的な事柄、などが挙げられる。これらの基本的な技術はGoogleだけやブログを通じて学ぶことができない、私のアプローチは、一般に、第1の完了した疑いのある対象地域を見つけるために持っているつもりグーグル、ビデオ、ブログを通じて、その後の理解の完全な本を読んで、またはいくつかのヒント。

2、しよう

このステップは、それがある画像は、いくつかのテスト手順を記述するために、独自のシミュレーション環境の一部を構築しようとすることである「自分の服を着」、答えは多くの学生が以前のキーポイントを述べた困惑です。例えば:

  • JVMのガベージコレクション:あなたは、簡単なテストプログラムを書くことができ、割り当てられたメモリが解放されていない場合、ヒープメモリのガベージコレクションとJVM状況の分布を表示するためのコマンドJSTAT再実行されている使用jstackのプロセスを開始するJVM様々なパラメータを調整します。このようなプログラムを行うのは簡単です、単に数行上にある、また複雑な少しラインの数十。

  • 原子炉の原則:彼らは本当に、これは困難であるとは思わない、原子炉のモデルのデモを書くために(コメントを含む)コードの原子炉量の最も簡単なモードを試してみてください200の以上の行ではありません(ダグ・リーのPPTを参照してください)。自分の完成後、のより深い理解に比較を行う方法ネッティー見に行きます。

  • MySQLの:直接オンラインDBAは、私たち(機密情報を削除するために注意してください)、直接的な学習が送信されますように構成することができ、オンラインで参照、そこに設定することができますので、その後、自身がMySQLの環境を構築し、ラインの設定で始まる、あなたは多くの学生を知っているが私は長年のMySQLに使用しますが、でも、単純なMySQLの環境がそれを取るために。

  • フレームワークは、DALをカプセル化:あなたはどこの違いを参照して、フレームワークの実現と比較して、サブライブラリーサブテーブルの簡単な実装を作成し、しようとするJDBCの使用を所有することができます。

  • あなたは、単純なHTTPサーバーを書くために使用するのPythonを所有することができ、HTTPヘッダーアナログリターンがブラウザの多様性を観察するために、ブラウザのHTTPキャッシュの実装ツールをチェックし、サイトの異なる種類、異なるタイプのリソースは、具体的にキャッシュを制御する方法を見て原子炉。

ここではそれらを表示しない多くの方法は、ありますが、簡単に言えば、それは本当にあなたがより深く理解しようとすることを学ぶにしたい何か、インドの諺である:私は聞き、私は私が見ると、私は覚えて忘れて..私がやると私は理解しますが、我々はそれを自分にすることができ、実際には比較的簡単な、何回も「してみてください」。

もちろん、私たちが実際に使用できるかどうか、良いだろう、結局のところ、オンライン環境と実際のビジネスの複雑さは、我々がシミュレーションプログラムシミュレーションを書き込むことができるようになることはありませんが、そのような機会は幸運であってもよいし、ほとんどのケースでは、我々本当に本当のビジネスは便利になることができるまで、時間を使い、自分のシミュレーションに依存しています。

3、教育

一般的には、学習後としようとすると、70%前後を把握することができますが、実際に把握するために、私は明確に伝えることができるがなければならないと思います。話なので、我々はまた、我々はさらに反射し、研究に私たちを促さすべての詳細を、考慮する必要があり、知識ポイントの両方を体系化する必要があります。同時に、参照するか、同等の知識とスキルが全体のシステムを改善し続けている新しいサプリメントを、異なる解釈を持っている、または持つことができる人を聞いた後に話します。

このような例は、私が頻繁に遭遇したブログを書くとき、私は、彼らは非常に包括的に習得していることを感じました私を含め、多くのですが、書き込みの多くは、アカウントにポイントを取ることはありませんでした。グループはまた、多くの場合、訓練中に見たときに、一部の学生を彼はPPTを書いたが、私たちが求める、あるいは議論するときの話をして、あなたはポイントの多くはまだ明らかではないでしょうか、実際にいくつかのポイントが間違っています。PPTを書く、PPT、議論のPPTを言えば、このプロセス全体を把握するために、基本的な知識のポイントに、再度行くより包括的です。

概要

ダニエル・テクノロジーの夢、非常に美しいが、しかし、時間と労力を要し、このプロセスは苦い力であってもよいし、またはそれ以上のより良いですかや運動を行うのですかかどうか、多くを支払うためにも非常に退屈であってもよく、ここで私が強調したいです何:私は方法論の前で話すことはいくつかありますが、実際に決定的な役割を果たしているが、それはまだ私たちの情熱と技術に興味あり!

おすすめ

転載: www.cnblogs.com/linkmust/p/11628246.html