프로젝트의 문을 여는 것이 당신의 일입니다. 따라서 개발자는 표준을 시행하고 코드 검토를 수행하고 진행 보고서를 요청하며 개발자가 혼자 내버려 두었을 때 모든 것을 수행해야합니다. 이러한 것은 관리의 요구 사항 일 뿐이며 코드 검토를 제외하고 직원의 기술이 실제로 향상되지는 않습니다.
그러나 리더의 훌륭한 특성 인 성장을 돕고 싶습니다.
코드 검토는 확실히 첫 번째 단계이며, 성능이 뛰어나고 성능이 좋을 때 개선이 필요한 사용자를 확인할 수 있습니다. 개발자가 직접 작업 한 것과 다른 방식으로 코드 기반의 다른 부분을 이해하고 이해하는 데 도움이됩니다. 내 의견으로는, 코드 검토는 개발자와 검토 자 (가능한 경우 항상 다른 개발자 여야 함)와 함께 회의실에서 직접 수행하는 것이 가장 좋습니다. 다른 코드를 검토하는 것도 기술이 필요합니다. 중재자. 트렌드를 식별하기 위해 변경해야 할 사항을 기록해야합니다. 실제로 찾고있는 것은 실수 나 변경 (모든 사람의 코드를 향상시킬 수 있음)이 아니라 실수로부터 배우는 일관된 실패입니다. 상급 관리자에게 이러한 메모를 보관하고 있다고 말하지 않으면 성능 검토 프로세스에서 의도적으로 목표를 무효화하는 측정으로 메모를 사용해야한다는 것을 알게 될 것입니다. 여러 개발자가 같은 실수를한다면 X를하는 방법에 대한 교육 세션이나 위키 항목이 순서대로있을 수 있습니다.
이제 악의를 키우면서 최소한의 수준으로 나아가십시오. 먼저, 개발자가 보유한 기술 세트와 이들이 보유하고있는 지식 및 지식에 관심을 가질 수있는 기술 세트를 알아야합니다. 개발자와 대화하고 이력서를 검토하고 그들이 무엇을 좋아하는지 이해해야합니다. 하고 싶지 않다.
모든 흥미로운 과제를 가장 숙련 된 사람에게만주지 마십시오. 다른 사람들이 새로운 문제와 기술에 빠르게 적응하는 데 도움이되지는 않습니다. 누군가가 기회를 얻지 않고 더 어려운 작업을 할당하지 않는 한, 가장 중소 년이 아닌 중소 기업에서 상급자에게로 이동할 수 없습니다. 즉, 경험이 부족한 사람은 프로그램을 상급자와 결합하여 더 높은 수준의 기술을 습득해야합니다. 코드 리뷰에 주니어를 포함 시키면 더 고급 기술에 노출됩니다.
먼저 문제 자체를 파악할 수있는 기회를 제공하십시오. 그러나 때때로 사람들은 갇혀서 어디서부터 시작해야하는지 (특히 새로운 프로그래머에게 개발해야하는 기술) 또는 문제를 해결하기 위해해야 할 일을 모릅니다.
그들에게 무언가를 연구하기 위해 며칠을 주었는데도 그들이 어떻게 행동 할 것인지에 대한 지시가 없다면, 몇 가지 제안에 개입해야 할 수도 있습니다. 자신이 기술적 인 사람이라면 문제를 해결하는 방법에 대한 아이디어를 줄 수 있습니다. 그렇지 않은 경우 아이디어를 브레인 스토밍하는 여러 사람과의 회의를 통해 상대방이 갇힌 경우 도움이됩니다. 또는 경험이 많은 사람에게 몇 가지 제안을 부탁하십시오. 원하지 않는 것은 문제를 해결하고 스스로 해결하는 것입니다. 그러나 프로그래머의 자아로 프로젝트를 수행하는 것과 균형을 맞춰야하며 때로는 특정 방향으로 보내야합니다. 그가 나쁜 해결책을 가지고 있고 고쳐야 할 필요가 있다면, 프로그래머를 해고하지 않는 한 최악의 일은 다른 사람에게주는 것입니다.
나는 다른 프로그래머들이 자신이하는 거의 모든 것을 고쳐야하는 나쁜 프로그래머들이 모여 드는 것을 보았다. 다른 프로그래머들은 이것을 원망하고 자신의 삶에서 그 사람을 원합니다. 나쁜 프로그래머를 통제하면 좋은 프로그래머가 떠납니다. 당신은 코딩 기술과 개발 기술 사이의 경계를 찾아야합니다. 누군가에게 여러 번의 기회를 주었는데도 결코 나아지지 않으면 느슨하게 자르십시오.
현재의 기술에 이미 능숙한 노인에게는 일이 더 쉽습니다. 일반적으로 당신은 그들에게 새로운 것을 할 수있는 기회를 주면되고 그들은 뛰어 들어 배우게됩니다. 흥미로운 기회가 퍼져 있는지 확인하고 모든 것을 고칠 수있는 Wonder Wonder 프로그래머 Joe에게 가지 마십시오. 당신은 단지 하나가 아니라 열 개의 조로 끝나기를 원합니다.
기술을 개발하는 또 다른 방법은 매주 1 시간의 교육 세션을 갖는 것입니다. 각 개발자가 특정 주제를 담당하게하십시오. 이것은 그들이 의사 소통을 잘하는 데 도움이되고, 깊이있는 연구를하게하며, 모든 사람들에게 그들의 연구의 혜택을 줄 것입니다. 일부 주제는 주제에 익숙하지 않은 사람들에게 해당 주제에 대한 지식을 키우도록 강요해야하며, 일부 주제는 해당 주제에 대한 지역 전문가라는 사람들에게 할당해야합니다. 주제는 사람들이 가까운 미래에 또는 현재에 능숙 해 지도록 필요한 것들과 현재 사용하지 않는 새로운 기술들에 대한 적용 범위를 갖추어야하지만 사람들은 그들이 유용 할 수 있는지에 대해 배우는 데 방해가됩니다. 그러나 가장 후배를 포함한 모든 사람에게는 주제가 할당되어야합니다.
개발자의 시간이 청구되는 방식에 따라 (고객 청구 상황에서는 더 어렵습니다) 일반적으로 개발자가 일주일에 4-8 시간 동안 개인 프로젝트를 수행하는 것이 좋습니다. 그들은이 일에 흥분 할 것입니다. 최고의 사람들은 그곳에서 일하기를 원할 것이고 미래에 유용하게 될 많은 것들을 배울 것입니다. 빈 카운터가 그 필요성을 이해하는 것은 어렵지만 이번에는 직원 만족도, 새로운 기능 또는 소프트웨어가 필요하지 않은 (또는 일부 가설을 자동화하는 데 도움이 됨) 더 빠른 개발로 인해 여러 번 상환됩니다. 배운 새로운 기술. 일부 개발자는 귀하가하는 일과 관련이없는 개인 프로젝트에이 시간을 엄격하게 사용할 것입니다. 그러나 다른 많은 사람들은 프로젝트 관리 방식의 특성으로 인해 ndbody가 미리 수정해야 할 지속적인 문제를 해결하기 위해이 도구를 사용할 것입니다. 따라서 모든 사람에게 도움이되는 리팩토링을 얻을 수 있습니다. 어떤 사람들은 리팩토링하기 쉽도록 테스트 범위를 개선하기 위해 테스트를 작성할 수 있습니다. 일부는 소프트웨어를 고객에게 더 유용하게 만들 수있는 몇 가지 새로운 기능을 탐색 할 수 있습니다. 일반적으로 콩 카운터를 설득 할 수 있다면,이 자유를 허용함으로써 잃을 방법이 없습니다.
사람들이 자신의 기술을 습득하고 프로젝트를 제대로 진행할 수 있도록 균형을 유지하는 방법을 배워야합니다. 개발자의 경험이 적을수록 방향 변경이 더 쉬운 초기 단계에서 진행 상황을 더 많이 확인할 필요가 있습니다. 경험이없는 사람들은 말을하기 위해 애 쓰고 두려워 할 수 있습니다. 이 사람들은 시작 직전에 떠나는 경향이 있으며 프로젝트의 일부가 완료되는 곳이 아니라는 것을 알 수 있습니다. 계약직의 특성상 계약직이 아닌 한, 자주 직장을 바꾼 사람이 있는지 진도를 점검하십시오.
경험이 많은 사람은 일반적으로 솔루션을 찾는 데 어려움을 겪고 있고 해당 분야에 대해 더 많은 지식을 가진 사람의 도움이 필요하거나 그 사람을 찾아서 지식을 전수 할 때 도움을 줄 수 있습니다. 따라서 프로젝트에 대한 새로운 기술을 배우는 초기 단계에서 면밀히 모니터링 할 필요가 없습니다. 그들은 프로젝트를 수행하는 방법을 찾을 것입니다. 최소 실적 보고서를 제외하고는 일반적으로 납품 실적이있는 사람은 혼자 남겨 둘 수 있습니다 (보통 경영진에게도보고해야하므로 정보가 필요함).