답변:
시스템 관리는 프로그래밍 일뿐입니다. 구성 관리 시스템을 사용하면 전체 인프라를 분산 시스템으로 볼 수 있습니다. sysadmin으로서 귀하의 임무는이 시스템을 프로그래밍하는 것입니다.
하나의 텍스트 편집기를 알고 있어야합니다. 일반적으로 sysadmin의 경우 vi, 프로그래머의 경우 emacs
스크립트 작성 방법을 알고 있습니다. 스크립팅 언어를 선택하십시오. 펄은 쉘 / sed / awk 콤보와 마찬가지로 다년생 애호가입니다. 루비와 파이썬은 작동 할 수 있지만 많은 것들에 대해 객체는 잘못된 패러다임입니다.
읽을 수있는 문서를 작성하는 방법을 숙지하십시오.
버전 관리. 구성 파일 및 감사 추적을 유지 관리하는 데 중요합니다.
프로그래밍 용어로 생각하는 법을 배우십시오. 절차 적, 객체 지향 및 기능적 프로그래밍 패러다임을 이해하십시오. 이것들은 결코 사용되지 않을 수 있지만, 그것들을 아는 것은 당신을 무한히 생산적으로 만듭니다.
디버거 (또는 그 이상) 및 로깅을 사용하는 방법을 배웁니다.
RDBMS 사용법을 배우십시오. RDBMS를 올바르게 사용하여 단순화 할 수있는 많은 데이터 처리 요구 사항이 있습니다. 주문형 DBA 역할로 전환 할 수 있다고해도 놀라운 일이 아닙니다.
배포하기 전에 테스트하십시오. 테스트 중심 개발 철학을 참조하십시오.
페어 프로그래밍이 좋습니다. 다른 사람이 당신의 어깨를보고 배우고 조언하고 고치도록하십시오.
최소한 여러 언어에 익숙해 지도록 배우십시오. 매년 새로운 언어를 배우십시오.
스크립팅은 필수적이지만, 일부 "실제"언어를 아는 것이 확실한 보너스라는 조언은 두 번째입니다. 예를 들어 .NET System.DirectoryServices 네임 스페이스를 사용하여 매우 유용한 작업을 수행 할 수 있습니다.
저는 프로그래머이자 선임 관리자 / 통합 자입니다. 내가 일하는 곳에서 일하려면 다음 사항을 알아야합니다.
대부분의 주니어 관리자는 프로그래머 중 한 명을보고 (권한을 가지고) 말할 수 있습니다. 예, 올바르게 설치했습니다. 여기서 누수가있는 곳이므로 방금 푸시 한 코드가 깨졌습니다. 또는 "아니요. MySQL 버전이 아닙니다. 여기에서 귀하의 질문을보십시오 ..."
우리는 영재의 관리자를 고용 할 때 우리가 다르다고 생각합니다. 우리는 그들이 궁극적으로 우리가 일하는 데 필요한 방식으로 일하는 데 사용하는 무언가를 해킹하더라도 프로그래밍 방식을 찾길 기대합니다. .
요약하면, 반올림이 결코 당신을 해치지 않을 것입니다.
몇 년 전 (실제로 Windows NT 3.1) 필자는 서비스 작성 및 때때로 장치 드라이버를 전문으로하는 프로그래머로 시작했습니다. 이것은 Windows 커널에 대해 잘 알고 있음을 의미합니다. 시간이 흐르면서 프로그래밍에 지루해하고 네트워크 관리로 전환했습니다. 나는 프로그래밍에 대한 나의 배경이 계속해서 귀중한 가치가 있음을 발견했다.
VBScript 스크립트 작성이 상대적으로 고통스럽지 않다는 것이 아닙니다. Windows의 작동 방식, 특히 IP의 작동 방식을 알면 이상한 서버 및 네트워크 문제를 해결하는 데 큰 도움이됩니다. 또한 사고 방식입니다. 프로그래머는 문서화 및 버전 관리에 익숙하며, Windows 관리자가 작동하는지 확인하고 나중에 혼란을 풀기 위해 걱정할 무언가를 시도하는 사람이 얼마나 많은지 저를 놀라게합니다.
모두 잘하지만, 10 년 동안 프로그래머로 일하고 떠나라고 말하는 것은 매우 유용한 조언이 아닙니다! 그러나 대부분의 시스템 관리자가 C ++ 또는 C #과 같은 "하드"언어로 프로그래밍 경험을 쌓는 데 도움이 될 것이라고 생각합니다. 그리고 당신이 당신의 조직에 길들이기 프로그래머가 있다면 그들과 함께 술을 마시십시오!
존 레니
여기에 모든 설명과 함께, 나는 sysadmin이라고 말하지 않을 것입니다. 그러나 몇 가지 Windows / Linux 서버를 구축하고 관리한다는 사실은 뭔가를 인정해야합니다.
리눅스에서 bash 스크립팅은 반드시 알아야합니다. perl / awk / etc와 통합하는 방법을 알고 있다면 더 좋습니다. 나는 그것을 사용함으로써 많은 작업이 쉬워 졌다는 것을 알았습니다.
C / C ++로 프로그래밍하는 것은 많은 도움이됩니다. GNU 제품이 되었기 때문에 GNU 소스 코드 (사용하는 경우)를 필요에 맞게 수정해야 할 경우가 있습니다.
문제 해결에서 다양한 유형의 자동화 (계정 및 리소스 프로비저닝, 사용자 또는 컴퓨터 계정에 대한보다 지능적인 검사)를 실제로 강화하는 데 이르기까지 LDAP에 바인딩하고 원하는 스크립팅 언어로 필요한 정보를 검색하는 방법을 아는 것이 중요합니다.
기본적으로 보일지 모르지만 사람들이 이런 종류의 시스템 관리가 필요하지 않다고 생각하는 빵 가게를 많이 보았습니다. 많은 곳에서 많은 관리 도구 세트에 $$$를 쓰고, 내가 알 수있는 한, 도구를 사용하는 것의 95 %는 누군가 알고 있거나 방법을 알고 있다면 몇 시간의 스크립팅으로 수행되었을 수 있습니다. 해.