ジュニアのシニア向けのちょっとしたヒント

なぜ初心者は時々間違ったことをするのですか? なぜシニアエンジニアを理解していないのですか? これは常に経験不足によるものですか? そして、なぜ、キッチンでの会話中に、同じ新人がリードを「m *アヒル」と呼ぶのでしょうか?



この記事で出会ったイングリッシュ主義については事前に謝罪しますが、私にはそう思われますが、彼らがいなければ、文章の一部はむしろ舌で結ばれているように見えます。



遠くから始めましょう。 私がまだ学校にいたとき、私は趣味でした-ゲーム。 つまり、Warcrtaft III。 そして、私は絶えず演奏し、演奏し、演奏しました。 最初はボットを使ったゲームに限定されていましたが、2003年の美しい年にインターネットを手に入れ、生きている人々とのゲームを始めました。

私は最初のゲームを失いました-神経と私が失うことができるという考えから、私の手が震えて指先が凍り、ゲームの途中で背中に冷たい汗が現れました。 この態度で最初の試合に負けたことは明らかです。 私は一度、もう一つ、そして三分の一を失いました。 私の友人の一人が私に他のプロ選手の試合の記録を見始めるようにアドバイスするまで、これはかなり長い間続いた。





私は彼に従い、専門家を観察し始めるのに十分なほど賢かった。 レコーディングを見た後、最初の数週間、彼らがゲームに使用した戦略を繰り返してみました。 私は何度も何度も勝利に成功し始めましたが、これらの勝利はどういうわけか非常に困難で疲れ果てていました。3、4回の試合の後、私は体の完全な疲労を感じました。 その瞬間、私は何かが間違っているという考えが頭に忍び込み始めました。

数か月後、数百のゲームと数百の記録を見た後、ゲームの次のリプレイを見ながら、すぐに頭に浮かぶはずだったアイデアを思いつきました。 プロ選手は緊張していませんでした

彼らは、その後の各瞬間に何をすべきかを知っていた;敵のあらゆる動きに反応する方法を知っていた。 彼らは道に迷い、計画したものがうまくいかないかもしれませんし、正しくないかもしれません。しかし、一つのことは同じままでした: 彼らは緊張していませんでした 。 彼らの体はうまく調整され、調整された機械のように働いた。 そして、その瞬間、私の頭の中に2つ目の明らかな思考ショットがありました: 神経はエラーを追加します。



その瞬間のこれらの明白で有名な真実は、私にとって啓示となりました。 はい、私はしばしば他の人からこれらの考えを聞きましたが、私は自分の経験から結果を感じるまで、彼らに特別な重要性を付けませんでした(彼らは言うと私は自分の人生を持っています)。 その瞬間、私はもう緊張しないで、急がないと決めました。 本当に成功しませんでしたが、熱心に試しました。 ゲームの同じ戦略での勝利の指標は著しく上がりました。 3ゲームの代わりに、1日に最大10試合をプレイできるようになりました。

記事と初心者、若い専門家に直接戻る。 ほとんど誰も従わない2つの基本的なルール:

1.急がないでください

2.緊張しないでください



最初の点に関して、私たちは再び少し気が散ってしまい、私がキャリアを始めたばかりのときでさえ、リードとの会話についてのたとえ話をします。

繰り返しますが、私は遠くから始めますが、それから私は物語の本質に戻ると約束します。

チェスの世界チャンピオンであるギャリー・カスパロフは、ゲーム内で次の動きを考えてどれだけの動きを考えているかを尋ねられました。 質問者は、彼がいくつかの印象的な数字を報告すると信じていて、それから彼は彼が勝者になった理由を理解するでしょう。 しかし、彼が言ったことは、彼らがゲームの本質でさえ誤って認識していることを人々に示しました。

この方法の本質は、状況全体を客観的に知ることなく、人々が最初は間違っていると判明したオプションを計算し始めることです。 そして、すべてを計算することは不可能であるため、線が正しい動きに達することはありません。 その結果、最悪から最良のオプションを選択します。 慎重に検討しようとしたものの中で最高のもの。

人生に同じ戦略を適用すると、何が起こっているかを客観的に評価する代わりに、前方への動きを計算しようとする頻度を理解でき、これらの動きが後ではなく、どこかに向けられるようになる頻度がわかります。

実際の状況を明確に理解することは、オプションを自分自身で開くことです。 彼が次に何をすべきかわからない、と言う人は、ただ今彼に何が起こっているのか分からない。



リーダーとの会話に戻ると、アドバイスを求めて最初に彼に来たとき、私は1つのことに非常に驚いていました。彼はタスクに関する私の質問に数十人のクラリファイアーについて質問し、3分間沈黙してから、他のことを明確にしました。 それから私は、「問題が始まったとき、彼は何をしますか。答えはどこか近くにあります。」 しばらくすると、彼は、私が本当に何をする必要があるのわからなかったので、私考えていなかった質問について尋ね始めました。 そして、彼が興味を持っていることをすべて知ったとき、彼は私に答えを与えました。 最初は私に思われたような「抑制行動」の結果、問題は30分で正しく解決されました

数週間に一度、私は彼に近づき、同様の質問をし続けました-そして、彼の行動は同じままでした:初期状態を完全に見つけるために、追加の質問をして、それから考え始めます。

共同作業のある時点で、私は彼にかつてカスパロフについて尋ねられたのと同じことを尋ねました。 彼は、彼が現在の状況を完全に理解するまで、先を考えていないと答えた。 彼を取り巻くものが明確になるまで、彼の頭には前に進むという考えすらありませんでした。 その瞬間、別の素晴らしい考えが頭に浮かびました。彼は正しいです!

それ以来、私の専門家のリストは3番目のポイントに拡大しました。 演技を始める前に、あなたを取り巻くものを見つけてください

言い換えると、タスクの最初の知識を受け取ると、独特の「混乱」が頭の中に形成されます。 目標は、このを取り除き、すべてが整ったときに厳密に構造化されたモデルに変えることです。 これを行う方法は、別の記事のトピックです。



つまり、言い換えると、良いコードを記述し、実際に誠実にビジネスを行うには、次の3つのルールに従う必要があります。

1.緊張しないでください

2.急いでいない

3.あなたを取り巻くものを見つける



すべての初心者に欠けているのは、思考を正しく定式化する能力です。 特に、正しい質問をしてください。 「ポリシーのタブにアニメーションを追加するにはどうすればよいですか」と尋ねる初心者にどれくらいの頻度で遭遇しますか。 あなたは彼を見て、彼のすべての質問から「アニメーション」という言葉しか知らないことを理解しています。 もちろん、この例は誇張されていますが、何が問題なのか理解できていると思います。

すべての初心者の頭には、皆さんが知っている考えがあります。 できるだけ早くこの神話を払拭する必要があります。そうしないと、あいまいで定式化されていない質問が続きます。



ここで、プロジェクトのベテランが直面している問題を考えてみましょう。何らかの理由で、一部の高齢者は、若い開発者の心の中で起こっていることを理解したくない、または理解しません。 彼らは質問をすることを教えず、彼らの意見では単純なことを説明しません。 彼らは思考の方法と思考の連鎖を構築する方法を教えていません。

これは彼らの致命的な間違いです-人はそれをどのように、何をすべきか、そしてなぜ正確に説明する必要があります。 その過程で、初心者は自分ですべてに到達するようです。 しかし、現実は、彼らに思えるほど良いものではありません。

問題に直面すると、人々はサイクルをたどり始め、何が伝えられ、何が求められるかの決定に時間を費やし始めます。 彼らは間違った質問をします。なぜなら彼ら自分の考えを正しく定式化する方法を知らないからです。 何を達成したいのかわからないので、彼らは間違ったことをします。

そして主な問題は、彼らが独自の方法でリードのわずかなあいまいな表示を解釈することです!

根拠がないようにするために、開発にさらに10営業日を要した例を挙げます。 Leadは、割り当ての説明(カードの実際のテキスト)を記載した手紙を中間エンジニアに送信しました。

1.請求書ビューへの読み取りアクセス権を持つユーザーログイン

2.管理者が請求書ビューへのユーザーのアクセス権を削除します

3.請求書ビューのあるユーザー更新ページ

4.ユーザーは引き続き請求書ビューにアクセスできます

5.システムへのユーザーの再ログイン

6.ユーザーは請求書ビューにアクセスできません



人は勤勉なミドルエンジニアとして何をしますか? 彼はこれが起こる理由を理解し始め、顧客に明確な手紙を書き、このバグが再現されるシステムの動作を修正した場合に影響を受ける可能性のあるシステムの詳細を学びます。 その後、これらすべてが議論され、実装の詳細がシニアと合意されました。 5日かかります。 実装とテストのためにさらに5日間。

1週間が経過すると、「あなたがしたこと、みんなカーペットの上にいる」というおおよその内容で怒った手紙がパートナーの製品から届きます。 私たちは理解し始め、いくつかの電話と手紙の後に、開発者が決定した機能が実際に正しいことがわかりました! そして、カードを作成したテスターは、タスクの説明とともに、「アプリケーションが正常に機能しているか、それともバグかを明確にすること」を意味していました。

なんらかの理由で、各人は自分の考えがとてもシンプルで明確であると信じて、どういうわけか魔法のように他人の頭の中に現れる。 これらは当然の真実であるため、すべての「余分な不要な単語」は省略できます。 そして人々は提案を控え始め、パフォーマーを物事の過程に完全に紹介するのをやめます。「言うまでもないから」と言われることはありません。

しかし!

しかし、これ機能しません 。 あなたは常に問題を見せないで、見せて伝える必要があります。 「さあ、バカじゃなくてそこにあるものすべてを理解する」という考えを超えて、ポイントごとに、つまりあなたが意味するすべての単語を書いてください。

そして、ここから非常にシンプルで非常に重要な結論: タスクの定式化に曖昧さを許さないでください。



要約すると、私は繰り返します。もしあなたが新人を「ガイド」する必要があるなら、最初の日からソフトウェアエンジニアとしてのキャリアのさらなる発展のために、彼らは4つのルールを順守することを学ぶことを強くお勧めします:

1.緊張しないでください

2.急がないでください

3.あなたを取り巻くものを見つける

4.考えの曖昧な表現を避けます



All Articles