写真ソース:pexels.com
私の話
サーバーレステクノロジーを使用してプロジェクトに取り組んでいる間に開発者でありながら、DevOpsの専門分野に出会いました。 従来のJavaプロジェクトでは、テスター、開発者、DevOpsの役割が明確に描かれており、サーバーレスシステムは根本的に異なっています。 この新しい興味深いトピックは、私の専門的な好奇心を「刺激」し、自分の仕事の分野に限らず、プロジェクトを掘り下げて研究し始めました。 その後、サーバーレスAmazonサービスのトピックに関するレポートを作成し、DevOpsミーティングでそれらと話し始めました。 私の現在の立場では、私はスキルに理想的に適しており、方向転換がありました。
DevOpsスペシャリストはどこから来たのですか?
私の経験では、DevOpsでは、原則として、 システム管理者 、そしてそれほど頻繁ではないが開発 者からのものであることが示されています。 開発プロセスと運用アクティビティの間の信頼できる「橋」となるためには、両方の分野の知識が必要です。 プロセスでは、同僚が経験を共有する必要があるため、実際には、これは非常にまれです。 たとえば、システムエンジニアリングの分野の知識が不足していました。 私は大学で必要な学問を学ばず、実際にそれらに出会うこともありませんでした。 ネットワーク管理の経験がある同僚は、私がギャップを埋めるのを助けてくれました。 良いチームでは、共生と相互扶助が常に君臨します。
私の意見では、開発者のバックグラウンドを持つ専門家がDevOpsに慣れるのは、次の2つの理由により簡単です。
- 開発チームとテストチームからの要求をよりよく知っており、「 同じ言語を話します」。
- プログラマーは構造の複雑さに慣れています 。 彼らは、大量のデータ、数千のファイルやフォルダーを扱うスキルを磨きます。 プログラミング言語のプロジェクトは、DevOpsが扱うコードよりも複雑です。なぜなら、彼らが言うように、彼らはそれに慣れていないからです。 しかし、開発スキルのない同僚はもう少し複雑です。
確かに、コインには別の側面があります。 たとえば、DevOpsが必要とするツールの1つが適切に機能していない場合、仲間のシステム管理者は不満を大声でしか表現できません。 同時に、開発者として、自分自身に仕事を追加しています。コードのエラーを探し、バグを修正しようとさえしています。 しかし、これはツールが私が話す言語で書かれている場合にのみ可能です。そうでない場合は、ひどく失望するでしょう。 私の報告の1つは「なぜテラフォームが嫌いなのか」と呼ばれています。最初はバグが原因で破損することが多いためです。 しかし、それがGOで書かれているという事実は、私が所有していないため、バグを修正できないため、どちらにも役立ちません
知識の源
私は他人を盲目的にフォローするのではなく、自分の道を作ることに賛成です。 したがって、手元にある機会を活用し、あなたにとって快適なペースで開発することをお勧めします。
- プロジェクトから始めます。 きっとあなたのプロジェクトにはDevOpsのスペシャリストがいます。 彼がしていること、彼が使用しているスキルを分析します。 ご質問がある場合は、直接お問い合わせください。 あなたの仕事は、プロジェクトのDevOpsになることです。 別の役割で新しい仕事に就くよりも、使い慣れた環境で再訓練する方が常に簡単です。 プロジェクトのタスク、チーム、快適な状態を知っています。 新しいスキルのなじみのなさにも簡単に適応できます。
- 対面会議、講義、ミタップ。 プロジェクトにDevOpsスペシャリストがいない場合、専門的なイベントは優れたソリューションです。 このような会議や会議では、練習にアクセスできます。 開発者は質問をしたり、アドバイスを求めたりできます。 そして、レポートのトピックは、この職業に今関連するものを教えてくれます。
- 公式ドキュメントを使用します。 私はオンラインコースやビデオチュートリアルのファンではありません。 必要な情報はすべて公式文書に含まれています。 多くの場合、人々は問題に遭遇し、ソリューションをグーグルで検索し、フォーラムで最も「汚染された」回答からコードまたはスクリプトをコピーして貼り付けます。 グローバルに、これは問題を解決しません。 人はまだ何が機能するのか、なぜ機能しないのかをまだ理解していません。 さらに、解決策を探して、さらに多くの問題を作成できます。
友人がMacbookを購入しました。 何かが彼とうまくいかなかったので、彼女はインターネットに抜け道を「頼む」ことに決めました。 フォーラムの1つで、私は最も「ふっくらとした」答えを見つけ、それを使用することにしました。 彼女が後で知ったように、皮肉の愛好家はこのコメントに投票しました。 フォーラムでの回答では、「コマンドラインでsudo rm -rfを実行」と書かれていました。 その結果、一気に一気に、彼女は新しいコンピューターですべてを手に入れました。 彼女がそれを使用する前にこのコードのタスクをチェックした場合、問題は回避できたはずです。
コードやスクリプトがどのように機能するかを理解するのに3時間を費やし、インターネットで他の人の答えをコピーするのに5分、何かが壊れた理由を分解するのに3日を費やすことをお勧めします。
DevOpsの主な機能
- 忍耐。 多くは最初だけでなく、2番目、さらには3番目でも機能しないという事実に備える必要があります。 しかし、途中で始めたものを終了することはできません。 骨の折れる、勤勉な人々はキャラクターに適していないため、それは非常に困難になります。
- 詳細への注意。 不注意なDevOpsは、中国の店の象のようなものです。 不注意な操作を1回行うと、重大な損害が生じます。 誤って間違ったボタンをクリックしてしまうと、企業に多大な損害を与える可能性があります。
- 分析的思考: DevOpsの中には、技術文書を勉強する代わりに、既製の例を見つけてプロジェクトに適用しようとして、抵抗が最も少ない道を進んでいると考える人もいます。 実際、彼らは悪い習慣を身に付け、行き止まりに陥ります。 さて、見つかった例が機能する場合、機能しない場合、その人は次の検索で時間を失います。 「翼、足、尾」という漫画の引用を思い出してください。「1日を過ごすのがよいが、5分で飛ぶ」 ツールの動作原理を明確に説明しているドキュメントを読むことをお勧めします。 これにより、最初にプロセスを適切に整理して開始できます。 優秀な開発者の例を挙げましょう。彼らは質問を研究し、分析し、考え、そして書きます。
- マルチタスク 。 DevOpsスペシャリストは、サポートと開発作業を組み合わせる必要があります。 一方では、サポートに関してチームを常に支援しています。 何かが壊れ、機能しない、何かが欠けている、何かを変更、追加、説明する必要がある。 同時に、プログラミングに関する一定のバックグラウンドアクティビティがあります。 もちろん、少なくとも数時間誰も引っ張らないと、開発は常に簡単になります。 DevOpsであるため、常に誰かが私の助けを必要としているという事実に同意しなければなりませんでした。 いくつかのタスクを並行して、すばやく切り替えて適応させることに慣れる必要があります。
これらのスキルを自動的に開発します。 それらを毎日従事させます。 主なことは、準備を整え、何があなたを待っているかを知ることです。
再訓練への私のアプローチ
専門分野の変更の前提条件は関心です。 関連分野の研究を奨励しているのは彼です。 専門能力の開発には、既に経験を積んだプロフィールトピックだけでなく、インスピレーションがあれば、まったく新しい方向性を知ることも非常に重要です。 おそらく、そのうちの1人が今後のキャリア開発のベクトルを決定するでしょう。
別のことを試してみる必要があります。 「同じ結果を出すことを望み、同じことをすることの狂気」-私はこの表現が本当に好きです。
「波の頂上」にいて、高度な技術で仕事をし、より多くのお金を稼ぎ、一瞬止まることを望んでいない専門家。 トレンドを毎日監視し、新しい会社のプロジェクトに興味を持ち、現在のトレンドを監視することが重要です。
しかし、個人的に、私はプロの実装に対してよりロマンチックなアプローチを持っています:私は自分のスタイルではなく、人気があるという理由だけで新しいものに自分自身を方向転換させるために、自分の好きな仕事を落ち着いて楽しみ、スキルを磨き、自分自身を強制的に新しいものに方向付けさせたいです。