プログラマーはシステム管理者についてどの程度知っておくべきですか? つまり、明らかに多ければ多いほど良いです。しかし、議論のために、プログラマーが知っておくべき平均値はどれくらいでしょうか?
私の友人 (プログラマー) がデータベース スキーマの設計、データベースのバックアップ、データベースのチューニング、データの移行などを行っているのを見たことがあります。時々、彼がプログラマーなのかシステム管理者なのか疑問に思うことがあります。
プログラマーはシステム管理者についてどの程度知っておくべきですか? つまり、明らかに多ければ多いほど良いです。しかし、議論のために、プログラマーが知っておくべき平均値はどれくらいでしょうか?
私の友人 (プログラマー) がデータベース スキーマの設計、データベースのバックアップ、データベースのチューニング、データの移行などを行っているのを見たことがあります。時々、彼がプログラマーなのかシステム管理者なのか疑問に思うことがあります。
プログラマーにとって、ソフトウェアの開発、展開、ランタイム環境、安全性、およびセキュリティのすべての側面の全体像を把握することは重要です。
そうしないと、「罪のないミス」が発生して、非常にコストのかかる結果になり、最終的には生産性が低下する (またはさらに悪化する) ことになります。
環境の全体像を満たすために物事がどのように機能するかについて十分に知っている必要がありますが、それらを機能させる方法を知る必要はありません。
追加のスキルを持つことは常に役立ちます。
Windowsでプリンターを接続できない非常に強力な開発者を知っていました。これはちょっと面白いです。
ネットワーク プログラミングを計画している場合は、ethereal/wireshark を使用してパケットを調べる習慣を身に付けてください。最終的には報われます。
問題を解決し、ソフトウェア エンジニアリングの仕事で物事を成し遂げることができることを十分に理解してください。人々があなたをシステム管理者と混同し、定期的なシステム メンテナンス タスクのためにあなたに電話をかけ始めるほど、多くのことを知りません。知っておくべきことに関するいくつかの提案:
明らかに、私はここで Web アプリの観点を取っています。多分他の人はより一般的な提案をすることができますか?
どんな分野かによる!私が (最近まで) クラスター管理ソフトウェアの開発に携わっていたとき、明らかにシステム管理者やネットワーク スペシャリストが私の主な「対象者」でした。ビジネス インテリジェンス ソフトウェアの開発に取り組んでいる今、sysadm の豊富な知識 (もちろん、役に立たないわけではありませんが ;-) は、ビジネス アナリスト、エコノミスト、営業 / 財務 / 会計関係者が直面している問題を理解することと比較して、優先度が非常に低くなります。戦略的 - レベルの意思決定者。
これらの 2 つの分野は少し極端かもしれません (しかし、私は1 年も経たないうちに一方から他方に切り替えました!-)、原則は成り立ちます - あなたがどのアプリケーション分野にいるのか、または計画をある程度理解していなければ、良い答えを出すことはできません。将来に移行します。
私はあなたが知らない(またはあなたが知っていることを人々に知らせる)方が良いと思います。ある会社で、人々がコンピューターの問題について助けを求めて私たちの部屋にやってきたことを覚えています。私はいつも彼らを助ける方法がわからないふりをしていましたが、私の同僚の1人はいつも彼らを助けています-彼らは無料のITサポートを受けており、その男は間違った仕事をしていたと思います。
難しい質問である純粋な管理者の知識に関する限り、私が会ったほとんどの管理者は、アプリケーションサーバー、データベース、LDAPをセットアップまたは構成する方法を知りません。したがって、これらを優れたパフォーマンスで動作させるには、何をすべきかを段階的に指示する必要があります。その知識は本当に役に立ちます。
本当にあなたがプログラムする言語に依存します。私は以前にたくさんのc/c ++をしましたが、そこではあまり管理者ではありませんでした。
しかし、Webの場合、私の仕事の半分はシステム管理者になる方法を学ぶことだと感じています。ここでは、システム構成、サーバーバックアップ、およびcronジョブに関する知識が少しあれば、多くの最適化を行うことができます。
サーバーのセットアップにより、コードで最適化できるよりもパフォーマンスが向上しました。サイト全体で100%のパフォーマンス向上のためにシステム管理者として1日を過ごしますか、それとも単一のコンポーネントで100%のパフォーマンス向上のためにプログラマーとして1日を過ごしますか?プログラマーなら誰でも、その日のシステム管理者になることを選択するでしょう。
そして、私たちのサイトの展開、データベースのセットアップ/移行の自動化があります。これは、「実際のシステム管理者」(スタートアップ-独自のタイトルを選択してください!)がないためですが、システムに関する知識がなくても、優れた/高速で信頼性の高いWebアプリケーションをプログラミングする方法がわかりません。その背後にあります。
そして、私が最近得たすべてのシステム管理者の知識で、私はプログラマーとしての新しい可能性と解決策を見始めていると言わなければなりません。ですから、私のヒントは、その背後にあるシステムについてできる限り多くを学ぶことです。
このような質問は受け付けません。「プログラマーは人生についてどれだけ知っておくべきか」のようなものです。答えは常に「可能な限り」です。
最初の質問 : システム管理が好きですか、もっと知りたいですか? それが好きなら、それについて学びましょう!
システム管理で吐き気がするようなら、やめて、他のことを学んでください。想像できますか?あなたはシステム管理がとても得意ですが、それが好きではありません。それを履歴書に書いて、その責任を負う仕事に就きましょう!
基本的に、何らかの情熱を持っていることについて、できる限り多くのことを学びましょう!