回答:
システム管理はプログラミングのみです。構成管理システムを使用すると、インフラストラクチャ全体を分散マシンとして見ることができます。システム管理者としての仕事は、このマシンをプログラムすることです。
1つのテキストエディターを知っています。通常、システム管理者のvi、プログラマのemacs。
スクリプトの作成方法を知ってください。スクリプト言語を選択します。Perlは、shell / sed / awkコンボと同様、多年生のお気に入りです。RubyとPythonは動作しますが、多くの場合、オブジェクトは間違ったパラダイムです。
読みやすいドキュメントの書き方を知ってください。
バージョン管理。構成ファイルと監査証跡を維持するために重要です。
プログラミング用語で考えることを学ぶ。手続き型、オブジェクト指向、関数型プログラミングのパラダイムを理解します。これらは決して使用されることはありませんが、それらを知っていると、生産性が無限に高まります。
デバッガー(またはそれ以上)とロギングの使用方法を学びます。
RDBMSの使用方法を学びます。RDBMSを正しく使用することで簡素化できるデータ処理要件がたくさんあります。オンデマンドでDBAロールに切り替えることができたとしても、不思議なことがあります。
展開前にテストします。テスト駆動開発哲学をご覧ください。
ペアプログラミングは良いです。他の人に肩越しに見てもらい、学習/アドバイス/修正してもらいます。
少なくとも、多くの言語について十分な知識があることを学んでください。毎年新しい言語を学びます。
私はプログラマーであり、上級管理者/インテグレーターです。私が働いている場所で仕事をするには、次のことを知る必要があります。
ほとんどのジュニア管理者はプログラマーの1人を見て、(権限付きで)はい、正しくインストールしました。ここにリークがあり、プッシュしたコードが壊れているのはこのためです。または「いいえ、MySQLのバージョンではありません。ここでクエリを見てください...」
才能のある管理者を雇うとき、私たちはちょっと違うと思う..彼らが必要な方法で働くために使用するものをハッキングするだけでも、彼らが(最終的に)プログラミングへの道を見つけることを半分期待している。
要約すると、丸みを帯びていてもあなたを傷つけることはありません。
何年も前(実際にはWindows NT 3.1)、私はサービスを書くことに特化したプログラマーとして、時にはデバイスドライバーでさえ始めました。これは、Windowsカーネルを非常によく理解することを意味します。やがて、プログラミングに少し飽きて、ネットワーク管理に切り替えました。私はプログラミングのバックグラウンドが何度も貴重なものであることに気付きました。
VBScriptスクリプトの作成が比較的簡単であるというだけではありません。Windowsの内臓がどのように機能するか、特にIPがどのように機能するかを知ることは、奇妙なサーバーとネットワークの問題を解決するのに大いに役立ちます。また、それは考え方です。プログラマーはドキュメンテーションとバージョン管理に慣れており、それが機能するかどうかを確認するためにWindows管理者が何人か試して、後で混乱を解くのを心配するのを見るのは怖いです。
すべてうまくいきましたが、10年間プログラマーとして仕事を辞めることはあまり有益なアドバイスではありません!ただし、ほとんどのシステム管理者がC ++やC#のような「ハード」言語でプログラミングの経験を積むのに役立つと思います。そして、あなたの組織に馴れたプログラマーがいるなら、彼らと一緒に飲みに行きましょう!
ジョン・レニー
ここにすべての説明がありますが、私はシステム管理者であると言うつもりはありません。しかし、いくつかのWindows / Linuxサーバーを構築および管理しているという事実から、私は何かを認めなければなりません。
Linuxでは、bashスクリプトを知っておく必要があります-perl / awk / etcと統合する方法を知っているなら、それはより良い方法です。それを使用することで、多くのタスクが簡単になることがわかりました。
C / C ++でプログラミングすることを知っていると、とても役立ちます。GNU製品になったからといって、必要なヘルプが時間通りに常に得られるとは限らないため、GNUソースコード(使用する場合)を変更する必要がある場合があります。多くの場合、C / C ++で書かれています。
LDAPにバインドし、選択したスクリプト言語で必要な情報を取得する方法を知ることは、トラブルシューティングからさまざまなタイプの自動化(アカウントとリソースのプロビジョニング、ユーザーアカウントまたはマシンアカウントのよりインテリジェントなチェック)を実際に強化するすべての鍵となります。
基本的なように見えるかもしれませんが、この種のシステム管理が必要だとは思わない、たくさんのパンとバターの店を見てきました。多くの場所では、管理ツールの大きなセットに大きな$$$$を費やしており、私が知る限り、ツールの使用目的の95%は、誰かがそれを知っていたり、方法を知っていれば、数時間のスクリプトで行うことができましたやる