코드 관리자의 역할을 어떻게 벗어나나요? [닫은]


13

마지막 세 작업에서 코드 관리자였습니다. 세 가지 경우 모두 프로젝트의 코드가 이미 작성된 고용 되었습니다 .

나는 스스로 가르치는 프로그래머입니다. 첫 번째 전문직을 시작하기 전에 벨트 아래에 12 개의 프로젝트가 있었는데 성공적으로 시작하고 배송했습니다.

새 코드를 작성하고 기존 코드를 유지 관리하는 것은 완전히 다른 작업입니다. 항공 엔지니어와 항공기 정비사를 비교하는 것과 같습니다.

비행기를 조종하는 엔지니어가 비행기를 조종하는 엔지니어가 설계 한 비행기에서 논리적이거나 유지 관리하기 쉬운 방식으로 비행기를 조작하려고 할 때 특히 짜증납니다.

나는 프로젝트가 처음 시작될 때 주변에있는 것처럼 느끼기 시작했습니다. 당신은 컴퓨터 과학 분야의 다른 사람들을 어떻게 초월한 특별한 사람들 중 하나 여야 합니다. 그 위치에있는 데 무엇이 필요합니까?

나는이 질문에 실제로 쉬운 대답이 없지만 어떤 사람이 나에게 통찰력을 줄 수 있다고 생각합니다. 새 프로젝트의 1 층에 가본 적이 있습니까? 거기에 도착하려면 무엇이 걸립니까?


코드 관리자 작업을 신청합니까?
James

@James 모든 작업은 코드 관리자 작업이거나 적어도 내가
만나는

낙심하지 마십시오. 기술적으로 영원한 것은 없습니다. 정비사 대 엔지니어처럼 느낄 수 있습니다. 그러나 자율적 지도력을 가진 많은 회사와 고급 학위를 가진 일벌이 있다고 생각합니다. 공식 교육을 준수하기위한 지위, 지식 및 노력은 약간의 보상이 있어야하지만 "최근에 나를 위해 무엇을 했습니까?" 더 낫다, 그것은 먼 길을 간다.
DeveloperDon

답변:


6

유지 보수는 사람들마다 다른 것을 의미하며 다른 이유로 발생합니다.

  • 최악의 경우, 초기 시스템은 서둘러 함께 던져졌고, 초기 팀은 모든 것을 인정했습니다. 그들은 80/20 규칙을 따랐으므로 판매 할 수있는 최소한의 가능한 제품이있을 수 있지만 많은 고객은 많은 수정과 작은 개선이 필요합니다. 많은 문제가 있지만 많은 영광은 남아 있지 않습니다. 당신은 가장 힘들고 고마워합니다. 이것이 당신의 상황이 아니기를 바랍니다.
  • 더 나은 경우, 당신은 당신이 당신의 작업에주의를 기울이고 필드 제품을 손상시키지 않고 변경할 수 있다고 신뢰할 수 있음을 보여주었습니다. 원래 시스템을 망치는 사람들에게는 남아있는 문제가 너무 어렵다. 어쩌면 그들은 시스템을 오래 유지하지 못했을 것이고, 아마도 당신은 대체물로 올바르게 설정하고 고객, 프로젝트 및 이익을 구하기 위해 거기에있을 것입니다.
  • 프로젝트 유지 보수 중 프로젝트 비용의 60 %가 발생합니다. 아마도 당신의 조직이 새로운 개발과 유지 보수를 분리하는 시점 일 것입니다. 그러나 우리 중 많은 사람들이 유지 보수를 수행하기 때문에 3/5로 대다수입니다.

시도해 볼 몇 가지 사항은 다음과 같습니다.

  • 훌륭한 일을하고, 훌륭한 태도를 취하고, 아이디어 리더가 되십시오.
  • 가능한 한 혼자가 아닌 팀에서 일하십시오.
  • 새로운 언어를 배우십시오.
  • 최신 플랫폼을 배우십시오.
  • 소규모 프로그램에 대한 작업 요청은 소규모 회사에도 적용될 수 있습니다.
  • 숙련되고 문서에 참여하십시오. 폭포 후 시대에도 프로젝트가 시작되면 로드맵, 문서화, 평가 및 요구 사항을 명확하게하기 위해 많은 서면 조정이 필요합니다.
  • 요구 사항 관리, 평가 및 위험 평가에 관심이없는 사람들이 프로젝트를 시작하는 것은 위험하므로 가능한 한 이러한 기술을 배우고 연습하십시오.
  • 더 공식적인 교육 또는 인증을 받으십시오. 이는 새로운 개발 프로젝트를위한 팀이 구성 될 때 귀하의 지위를 높이고보다 매력적인 선택이 될 수 있습니다.
  • 측면에서 회사 또는 일부 컨설팅을 시작하십시오. 이를 통해 좋아하는 작업을 대상으로하는 창의적인 아울렛을 제공하고 코드 나 문서없이 시작하는 것이 무엇인지 더 잘 이해할 수 있습니다.
  • 상사와 새로운 프로젝트를 계획하는 사람들에게 더 가까이 가십시오.
  • 반대로 테스터 및 QA에 매우 가까운 경우 출력은 종종 유지 보수의 입력이므로 상사가 누가 당신과 잘 협력한다고 생각합니까?
  • 최대한 많은 친구를 사귀고 가능한 한 많은 그린 필드 개발자의 존경을 받으십시오.
  • 새로운 개발자는 사람들이 할 수 있으므로 비판이나 부정에 대한 힌트는 조심해야합니다. 비난이나 판단없이 자유롭게 아이디어를 제공하십시오. 당신의 아이디어는 소개 할 필요가 없습니다. 우리가 이런 식으로 사용했거나 작동하지 않는다면 절대 시도해보십시오. 나는 모른다. 그러나 이것은 효과가있을 수있다. 아이디어를 말하십시오. 또는 더 잘 보여주십시오.
  • 새 프로젝트로 전환 될 수있는 개념 증명을 구축 할 기회를 찾아보십시오.
  • 누가 당신에게 일을 할당하는지주의하십시오. 일반적으로, 그것은 당신의 지휘 사슬에있는 사람이어야합니다. 그것이 당신의 동료라면, 약간의 시간을 뒤로 미십시오. 그것이 당신이 감독하는 누군가라면, 통제가 역전되는 충분한 이유가 있어야합니다. 품질 보증 또는 테스트 인 경우, 귀하의 명령 체인에 중요하고 미리 약속 한 작업을 지연시키는 방식으로 예약되지 않았는지 확인하십시오.
  • 완벽에주의하십시오. 새로운 사람들은 종종 눈을 건너고 t를 가리지 않아도 빠른 사람들을 위해 예약됩니다.
  • 개발 라인에 적합한 초기 프로젝트 기술을 배우고 연습하는 데 시간을 투자하십시오. 여기에는 소스 리포지토리 생성, 빌드 환경 정의, 지속적인 통합 서버 구성, 하드웨어 팀과 긴밀히 협력하여 보드 지원 패키지가있는 새로운 보드를 만들거나 자체 테스트를 작성하는 것이 포함될 수 있습니다. 새로운 개발 도구, 교육 및 COTS 하드웨어를 구매하기 위해 구매 작업을 수행하는 방법을 아는 것도 도움이 될 수 있습니다.
  • 내부적으로 팀 리더 및 관리자에게 또는 외부에서 기술을 쇼핑하여 유지 관리 프로젝트를 마치기 전에 계속 진행하십시오.
  • 알고있는 모든 기술에 능숙하고 많은 기술을 알고 있어야합니다.

여러 가지 방법으로 유지 관리 역할을 활용할 수 있습니다.

  • 그룹이나 회사가 만드는 모든 프로젝트에서 잠재적으로 작업 할 수 있습니다.
  • 새로운 개발과 유지 보수가 분리되면 경쟁력이 떨어지는 리더십 트랙을 따를 수 있습니다. 새로운 프로젝트에 대한 리드는 매우 탐욕 스럽지만 유지 보수 리드는 요청에 따라 제공 될 수 있습니다. 격려하고 멘토링을한다면, 해당 팀원이 더 감사 할 것입니다.
  • 프로젝트가 유지 보수 중이면 고객과 인터페이스 할 가능성이 높습니다. 잘못 처리하면 경력이 끝납니다. 제대로 처리되면 관리자가 아니더라도 찾기 어려운 개발 외부에서 긍정적 인 관심을받습니다.

이 모든 것을 말했지만, 나는 역할 모델이 아닌 반대의 예입니다. 이 관점의 대부분은 경험과 관찰에서 비롯됩니다.

여전히 작성해야 할 새로운 프로그램이 많이 있습니다.
준비하십시오 그리고 당신은 놀랍게도 빨리 일할 것입니다.


4

나는 여러분에게 나쁜 소식이 있습니다. 인류가 필요로하는 많은 응용 프로그램이 이미 작성되어 있습니다. 단지 끊임없이 변화하는 환경에 맞게 조정되어야한다는 것입니다.

언젠가는 새로운 모듈과 같은 시스템의 새로운 부분을 작성하라는 요청을 받게되며 그린 필드 개발에 대한 지식을 활용할 수 있습니다.

그때까지 레거시 응용 프로그램을 리팩토링하여 모듈을 정리하는 방법을 배울 수 있습니다.

" 레거시 응용 프로그램 작업 "및 " 패턴 리팩토링 "을 잘 읽어보십시오 . 원래 리팩토링 (파울러)을 읽지 않았다면 읽어보십시오 . TDD (Test-Driven Development)를 배우면 항상 도움이됩니다.

PHP로 작업하는 경우이 코드가 계속 실행 되는 실습 기사를 작성했습니다 ...

즐기세요!


1

탈출하는 가장 쉬운 방법은 프로그래밍 스타일을 완전히 바꾸고 동시에 새로운 기술을 추가하는 것입니다. 예를 들어, 연구원이 되려고 노력할 수 있습니다. 그것은 첫해에는 명성이 높지 않았을 것입니다. 물론 일반 프로그래밍 일만큼 임금이 많이 들지 않습니다. 다른 업계와 많이 일치하지만) 오늘날 찾을 수있는 가장 어려운 문제를 해결하는 데 기술이 확실히 필요할 것입니다. 그런 일을 한 후에는 다음 상사에게 보여줄 흥미로운 프로젝트가 있다면 더 나은 위치로 쉽게 뛰어들 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.