Facebook은 프로그래밍을 페어링합니까?
요약:
이 기사에서는 쌍 프로그래밍의 개념과 올바른 구현에 대해 논의 할 것입니다. 또한 개인 경험을 바탕으로 자세한 설명을 제공하는 쌍 프로그래밍과 관련된 15 가지 고유 한 질문에 답할 것입니다. 페어 프로그래밍은 훈련에 관한 것이 아니라 선임자가 선배와 주니어와 쌍을 이루는 협업 접근법입니다. 효과적인 쌍 프로그래밍은 커뮤니케이션 및 코드 품질을 향상시킬 수 있습니다.
키 포인트:
- 페어 프로그래밍은 훈련에 관한 것이 아니라 협업 접근법입니다.
- 선임 개발자와 선임 개발자 및 주니어 개발자와 함께 주니어 개발자와 짝을 이룹니다.
- 시니어 개발자와 주니어 개발자 사이에 효과적인 페어링이 여전히 발생할 수 있습니다.
- 인턴과 짝을 이루면 양 당사자에게 귀중한 학습 경험이 생길 수 있습니다.
- 생산성에 대한 경영진의 초점.
- 쌍 프로그래밍.
- 페어 프로그래밍은 멘토링과 동일하지 않습니다.
- 페어링은 즉각적인 피드백을 허용하고 지나치게 복잡한 코드를 식별하는 데 도움이됩니다.
- 쌍 프로그래밍 중 효과적인 커뮤니케이션이 중요합니다.
- 작업량을 공유해야하며 두 개발자 모두 기여해야합니다.
- 페어링 세션 동안의 측면 대화는 산만해질 수 있습니다.
- 모든 문제가 쌍 프로그래밍이 필요한 것은 아니며 개별 작업이 필요할 수 있습니다.
- 페어 프로그래밍은 더 오래 걸릴 수 있지만 즉시 동료 검토 및 협업을 제공합니다.
- 주니어 개발자는 여전히 쌍 프로그래밍을 통해 배울 수 있지만 노력과 효과적인 커뮤니케이션이 필요합니다.
- 효과적인 쌍 프로그래밍에 질문과 실험이 필수적입니다.
질문:
1. 쌍 프로그래밍이란 무엇입니까??
페어 프로그래밍.
2. 선임 개발자가 주니어 개발자와 함께 선임 개발자 및 주니어 개발자와 짝을 이루어야합니다?
예, 선임 개발자와 선임 개발자 및 주니어 개발자와 함께 주니어 개발자와 짝을 이루는 것은 효과적인 협업을 보장합니다.
삼. 선임 개발자는 주니어 개발자와 짝을 이룰 수 있습니다?
예, 교육 목적에 이상적이지는 않지만 노인과 주니어 개발자 사이에 효과적인 페어링이 계속 발생할 수 있습니다.
4. 인턴과의 페어링이 어떻게 유익 할 수 있습니까??
인턴과의 페어는 양 당사자에게 귀중한 학습 경험을 제공 할 수 있습니다.
5. 쌍 프로그래밍에서 어떤 과제가 발생할 수 있는지?
생산성에 대한 경영진의 초점은 쌍 프로그래밍에서 도전과 스트레스를 만들 수 있습니다.
6. 프로그래밍 느낌은 어떻게해야합니다?
페어 프로그래밍.
7. 쌍 프로그래밍은 멘토링에 해당합니다?
아니요, 쌍 프로그래밍은 멘토링과 동일하지 않습니다. 그것은 평등 사이의 공동 접근법입니다.
8. 쌍 프로그래밍의 장점은 무엇입니까??
Pair 프로그래밍은 즉각적인 피드백을 허용하고 복잡한 코드를 식별하며 커뮤니케이션을 향상시킵니다.
9. 쌍 프로그래밍에서 중요한 의사 소통 유형?
언어 및 코드를 통해 효과적인 커뮤니케이션은 쌍 프로그래밍에 필수적입니다.
10. 한 개발자가 페어링 세션을 지배해야합니다?
아니요, 워크로드를 공유해야하며 두 개발자 모두 기여할 수있는 동등한 기회가 있어야합니다.
11. 페어링 세션 중에 대화를 나눌 수있는 어떤 과제가 발생할 수 있는지?
부수적 대화는 산만 해져서 현재의 주요 작업에서 초점을 돌릴 수 있습니다.
12. 쌍 프로그래밍은 모든 문제에 적합합니다?
아니요, 쌍 프로그래밍은 모든 문제에 적합하지 않을 수 있으며 때로는 개별 작업이 필요합니다.
13. 쌍 프로그래밍이 더 오래 걸리나요??
쌍 프로그래밍은 코딩보다 시간이 오래 걸릴 수 있지만 즉각적인 동료 검토를 제공하고 협업을 용이하게합니다.
14. 주니어 개발자는 쌍 프로그래밍을 통해 배울 수 있습니다?
예, 주니어 개발자는 쌍 프로그래밍을 통해 배울 수 있지만 노력과 효과적인 커뮤니케이션이 필요합니다.
15. 효과적인 쌍 프로그래밍에 필수적인 접근법?
효과적인 쌍 프로그래밍을 위해서는 질문, 실험 및 적극적으로 참여하는 것이 필수적입니다.
Facebook은 프로그래밍을 페어링합니까?
이 질문에 객관적으로 대답하는 방법을 잘 모르겠습니다. 이 커뮤니티가 주관적인 질문을지지하지 않는다는 점을 명심하면서 해결하려는 문제를 명확히 할 수 있습니까??
쌍 프로그래밍을하는 올바른 방법은 무엇입니까??
누군가를 통해 코딩하는 것처럼 느끼는 이야기가 너무 많아서 30 분이 걸리는 이야기는 3 시간이 걸린다.
99K 23 23 골드 배지 189 189 실버 배지 305 305 브론즈 배지
2 월 22 일 18:19에 물었다
561 4 4은 배지 5 5 청동 배지
이 질문에 객관적으로 대답하는 방법을 잘 모르겠습니다. 이 커뮤니티가 주관적인 질문을지지하지 않는다는 점을 명심하면서 해결하려는 문제를 명확히 할 수 있습니까??
2 월 22 일 18:54
페어 프로그래밍 != 훈련 . 쌍으로 개발하면 선임 및 주니어와 주니어와 짝을 이루어야합니다. 훈련을 할 때는 주니어와 선배를 짝을 이루어야합니다
2 월 23 일 9:21
페어 프로그래밍 != 훈련하지만 시니어와 주니어 쌍을 이룰 수 있습니다. 확실히 훈련이 일어나고 일이 느려질 것입니다. 그러나 어쨌든 그것은 일어날 것입니다. 효과적인 페어링이 일어날 수 없다는 것을 의미하지는 않습니다.
2 월 23 일 15:16
나는 우리 시스템이 어떻게 작동했는지 전혀 모르는 인턴과 짝을 이루었습니다. 프린터와 대화해야했고 프린터를 보낸 코드가있어 명령을 변경할 때마다 다시 컴파일 해야하는 명령을 보냈습니다. 나는 그것을 명령 쉘로 바꾸기로 결정했습니다. 내가 인턴에게 무엇을하고 있는지 설명했다. 그 앞에 베어 뼈 버전을 작성했습니다. 그것이 작동하는 곳을 지적하고 피곤했고 말했다. “여기서 가져 가고 싶어?” “확신하는!”그는 훌륭했습니다. 그때와 거기에 그것을 연마했습니다.
2 월 23 일 15:19
@Antigamer 당신의 주요 문제는 주니어가 당신을 속도를 늦추지 않는 것 같습니다. 생산성을 강조하는 것은 관리입니다. 그것이 그들인지 당신인지 알 수 없습니다. 명심하십시오. 그들은 실제로 기술적 인 것에 대해 전혀 모릅니다. 하지만 성과가 저조하다고 느끼면 그들은 항상 그것에 집어 들고 당신이 옳다고 가정합니다.
2 월 23 일 15:26
6 답변 6
페어 프로그래밍이 당신이 당신이 당신이 당신이 12 살짜리 피지에 의해 조종 된 비행기를 내려 가려고하는 항공 교통 관제사처럼 느끼게한다면, 당신은 잘못하고 있습니다.
그게 잘못된 이유는 당신이 라디오에서 몇 마일 떨어져 있지 않기 때문입니다. 당신은 바로 거기에 있고 언제든지 키보드를 가져갈 수 있습니다. 공동 부조종사 인 것 같은 느낌이 듭니다. 당신은 당신이해야하기 때문에 통제권을주지 않습니다. 당신은 할 수 있기 때문에하고 있습니다.
한 쌍 프로그래밍은 멘토링이 아닙니다. 교사의 관계는 두 사람이 훨씬 더 많은 경험을 가지고 있더라도 동등한 두 사람과 매우 다르게 느껴집니다. 프로그래밍 페어링에 익숙해 지려면 시간이 걸리므로 처음에는 어색한 느낌이든 걱정하지 마십시오.
극단적 인 작용.org- 쌍 프로그래밍
당신이 이해해야 할 것은 페어링의 요점입니다. “우리는 짝을 이루고 있었다”라고 말할 수있는 것은 아닙니다. 자연어로 의사 소통 할 수 있도록 : 코드.
여기서 멋진 점은 코드 라인을 입력하고 “이해가된다는 것입니다?”그것은 단단한 피드백 루프입니다. 코드가 너무 영리 할 때 정렬 할 수 있습니다.
“스크롤 업”, “콘솔 명령문 추가”, “파일 x로 이동”, “z 후 y를 쓸 수 있습니까”등.
이것이 우리가 페어링하는 동안 말할 전부라면 이미 키보드를 가져 가십시오. 숟가락으로 나에게 걸어 가서 무슨 일이 일어나고 있는지 말해줘. 우리 가이 일을하는 이유. 내가 이것을 직접하는 것을 어떻게 알 수 있었는지.
그걸 내게 말해줘. 키보드를 가져 가지 말고 신비한 키보드 바로 가기를 클릭하고 마법이 발생하십시오. 트릭이 어떻게 작동하는지 보여주세요.
또한 전체 의제를 지시하지 마십시오. 내가 할 수있는 일을 개척하십시오. 내가 뛰어 들어이 일에 참여하겠습니다. 지옥 당신은 운이 좋으며 나에게서 무언가를 배울 수 있습니다. 키보드는 앞뒤로 미끄러 져야합니다.
부수 대화는 종종 페어링 세션 중에 발생하여 당면한 작업에서 산만 해집니다
오, 잠시 시간을내어 인간이 되십시오. 나를 인간으로 생각하는 사람과 이야기하고 있다고 확신.
많은 엔지니어는 실제로 솔루션을 설계하기 위해 시간이 지남에 따라 필요하기 때문에 복잡한 문제를 해결하는 데 종종 더 오래 걸립니다
진실. 어떤 사람들은 천장 타일에 연필을 던지는 데 소요되는 시간을 필요로합니다. 일부는 고무 오리 시간이 필요합니다 (은색 헤어 세트 인 경우 사운드 보드). 페어 프로그래밍은 항상 모든 문제에 대한 것은 아닙니다.
- 통화에서 그렇게하는 데 시간이 오래 걸리고 종종 분석 마비가 발생합니다.
예 페어링은 코딩하는 것보다 오래 걸릴 수 있습니다. 그러나 만약 당신이 그것을 제대로하고 있다면, 당신은 또한 즉각적인 비공식적 인 동료 검토와 스팟 협업의 일부를 얻을 수 있습니다.
분석 마비에 대한 쉬운 치료는 어리석은 짓을하고 사람들이 왜 그것이 잘못되었는지 설명하게하는 것입니다. 당신이 잘못 떨어질 때까지 반복하십시오.
나는 더 많은 주니어 개발자들이 실제로 배우는 지 의문을 제기합니다.
계속 질문하십시오. 무엇이 효과가 있고 그렇지 않은지 배우십시오. 이 작업을 수행하는 완벽한 방법은 하나뿐입니다. 하지만 우리가해야하기 때문에 그렇게하는 것은 확실히 잘못되었습니다.
2 월 22 일 18:57에 답변했습니다
Candied_orange Candied_orange
99K 23 23 골드 배지 189 189 실버 배지 305 305 브론즈 배지
분석 마비에 대한 쉬운 치료는 어리석은 짓을하고 사람들이 왜 그것이 잘못되었는지 설명하게하는 것입니다. 당신이 잘못 떨어질 때까지 반복하십시오. 이것은 금입니다. 어떤 상황에서도 작동합니다. TDD 및 상향식 디자인 기술을 훈련 시키거나, 현장 기술 도전을 수행하거나, 분명히 싫어하는 2 개의 영화를 결정하지만 GF는 신경 쓰지 않습니다. 그냥 “뭔가”, 바퀴를 돌리고 관성에 의해 자신을 옮기게하십시오
2 월 22 일 21:43
“여기서 멋진 점은 코드 라인을 입력하고 “이해가된다는 것입니다?”“그리고 이것이 쌍 프로그래밍이 시간 낭비 인 이유입니다. 유능한 프로그래머는 한 줄의 코드에 대해 물어볼 필요가 없습니다. 한 줄이 아닌 전체 일관된 기능 블록에 대해 물어봐야합니다. 프로그래머가 완성 될 때까지 그럴 수 없습니다. 그것은 프로그래밍이 최종 제품의 주요 오류의 주요 원인이라는 믿음에 전적으로 기초이며, 이것은 거짓 신념으로 광범위하게 입증되었습니다.
2 월 23 일 8:53
@graham 종종 한 줄 ~이다 일관된 블록. 때로는 단일 블록으로의 변경을 나타내며 상황에서 의미가 있는지 알고 싶습니다. 다른 시간에 나는 영리한 일을했지만 눈에 띄는 일을했는데, 그것이 상세하거나 짧은 의견을 부여하는지 알고 싶습니다. 자선하십시오!
2 월 23 일 13:45
여기 아이러니는 i입니다’m 단일 줄에 대한 피드백을 받고 내가 기원합니다’D는 더 빨리 얻었습니다.
2 월 23 일 14:12
@graham 나는 당신이 주로 소스 코드에서 오지 않는 오류에 대해 당신이 말하는 것에 정말로 관심이 있습니다.
2 월 23 일 14:21
일반적인 패턴은 더 많은 선임 개발자가 일반적으로 전체 프로세스에서 더 많은 주니어 개발자를 핸드 홀딩한다는 것입니다
우선, 쌍 프로그래밍은 본질적으로지도 또는 멘토링을 수반하지 않습니다. 충분한 선임 불균형으로, 당신은 시간의 덩어리가 훈련 일하기보다는. 이것은 이미 즉각적인 결과에 대한 기대를 바꿔야합니다.
쌍 프로그래밍이 학습이 아닌 배송에 완전히 초점을 맞추기를 원한다면 동등한 개발자를 동등한 경험과 짝을 이루어야합니다. 당신은 이것을하고 있지 않으므로, 당신은 본질적으로 선배들을 햄스트링하여 (주니어의 속도로 가야 함) 주니어들에게 일에 대해 지시해야합니다 (노인의 속도로 이루어지기 때문에).
기본적으로 스크린하에 코딩합니다. “스크롤 업”, “콘솔 명령문 추가”, “파일 x로 이동”, “z 후 y를 쓸 수 있습니까”등.
그것은 쌍 프로그래밍이 아니라 지시입니다. 그것은 전달 메커니즘 (두 사람이 한 가지 사고 열차를 따르려면 두 사람이 필요합니다)과 학습 도구로서 비생산적입니다.
문제를 해결하는 방법에만 집중할 수 있고 주니어 개발자를 제대로 안내 할 수 없다면 개발자의 선임을 진지하게 재고 할 것입니다. 그것은 주니어 (일을 할 수 있지만 감독이 필요할 수 있음), Medior (많은 감독없이 자신의 일을 할 수 있음) 및 시니어 프로필 (자신의 일을하고 다른 사람들에게 감독을 제공 할 수 있음)의 차이점입니다.
부수 대화는 종종 페어링 세션 중에 발생하여 당면한 작업에서 산만 해집니다
이 두 사람이 쌍 프로그래밍없이 인접 해 있으면 작업 관련 대화가 발생했을 것입니다. 따라서 쌍 프로그래밍의 가치를 판단 할 때는 관련이 없습니다.
업무 관련 대화입니다 정확히 요점 쌍 프로그래밍의; 그것은 쌍이 서로 지식을 서로에게 전달하거나/또는 함께 일하는 데 도움이되도록 도와줍니다.
많은 엔지니어가 솔루션을 디자인하기 위해 시간이 지남에 따라 헤드가 필요하기 때문에 복잡한 문제를 해결하는 데 종종 더 오래 걸리기 때문에 통화에서 그렇게하는 데 시간이 오래 걸리고 종종 분석 마비가 발생합니다.
우선, 그것은 쌍 디자인이라고 불리는 것이 아닙니다. 당신은이 두 가지를 함께 임의로 묶을 수는 없습니다.
둘째, 쌍 프로그래밍은 두 눈 세트가 항상 동시에 동시에 같은 것을보고 있다는 것을 수반하지 않습니다. 다음 작업의 디자인을보고 있는지, 문서를 읽는 지 여부에 관계없이 선배가 다른 일을 할 수 있습니다, . 주니어는 선배가 필요하지 않거나 동시에 두 활동을 저글링 할 수있는 더 사소한 작업을 수행하지만.
귀하의 질문의 기초는 혼란스러운 사람으로 만 발생합니다. 시스템을 구현하고 특정 방식으로 구성했으며 그래야만 시스템이 실제로 당신에게 중요한 것 같습니다. 그것은 말 앞에 카트를 넣는 것입니다.
해결하려는 문제를 먼저 이해하고 시스템을 찾아서 문제를 해결 한 다음 구현을 시작하는 것이 더 합리적입니다.
2 월 22 일 22:25에 응답했습니다
41.6K 8 8 금 배지 83 83은 배지 115 115 브론즈 배지
“우선, 그것은 쌍 디자인이라고 불리는 것이 아닙니다. 당신은이 두 가지를 함께 임의로 묶을 수는 없습니다.” — 나는 이것이 OP의 질문의 핵심으로 바로 삭감된다고 믿는다. 모든 작업이나 상호 작용이 페어 프로그래밍에 적합한 것은 아닙니다.
2 월 24 일 15:38
항공기의 두 조종사가 내가 생각할 수있는 가장 가깝다고 생각합니다. 항공에는 두 명의 조종사가 있으며 조종사 비행과 파일럿 모니터링이 있습니다. 파일럿 모니터링도 코스에 완전히 있으며 언제든지 인수 할 수 있습니다. 기술적 으로이 항공기가 독신 인간이 날아갈 수 있더라도 이것은 매우 잘 작동하며 변화가 없을 것입니다.
나는 나 자신이 아니에요, 저는 오랜 경험을 가진 소프트웨어 엔지니어입니다. 그러나 나는 Aviation Stack Exchange에서 상당히 활발했고 실제 조종사가 게시 한 질문과 답변을 모두 읽었으므로 몇 가지 개요를 제공 할 수 있어야합니다. 우리에게 유용 할 수 있습니다.
멸균 조종석
비행과 관련이없는 대화는 조종석에서 엄격하게 금지됩니다. 쌍 프로그래머 사이에도 마찬가지입니다. 저것과 같이 쉬운.
결정
작은 결정은 파일럿 비행에 의해 이루어 지지만 조종사는 더 큰 결정을 내릴 때 의사 소통합니다. 조종사는 또한 취해야 할 많은 표준 조치를 설명하는 점검 목록을 따릅니다. 무언가 잘못되면 조종사는 “신뢰할 수없는 대기 속도 읽기”체크리스트를 뽑아 내고 긴 토론에서 시작하기보다는 단계를 따르십시오. 선장이 절대적으로 확신한다면, 그는 규칙, 통제 타워의 방향을 무시하고 토론없이 신속하게 결정하는 데 우선 순위가 있지만 이것은 가볍게 수행되지 않습니다. 선장이 통제 타워의 지시를 무시할 때, 그는 이것에 대해 즉시 말해야합니다.
따라서 리드 개발자가 “접근 방식이 정확히 여기에 훨씬 더 나은 코드를 생성하므로 일반 규칙이 다른 것을 요구하더라도 사용합니다”와 같은 말을 할 권리가 있다고 기대하지만 자주 오지 않아야합니다.
작업 부서
조종사는 각각이 항공기를 다소 똑같이 똑같이 제어하는 시간을 나누지 만 3 개의 엔진 만 있거나 Heraklion 공항에 착륙하는 747 비행과 같은 까다로운 작업이 공식적으로 “선장은 비행을해야한다”고 공식적으로 언급되어 있습니다. 그렇지 않으면, 두 조종사 모두 항공기를 비행 할 수있는 완전히 훈련되고 자격이 있으며 깊이있는 소액 관리가 필요하지 않습니다.
따라서 나는 쌍 프로그래머가 코드가 원하는대로 타이핑하고 스크롤 할 것으로 예상하며, 다른 사람은 단지 관찰하고 주목할만한 말을하는 경우에만 방해합니다. 나는 또한 프로그래머 중 하나가 항상 입력하기를 기대하지 않고 다른 하나는 항상.
선장 훈련
마지막으로, 그 역할을 더 잘 이해하기 위해, 새로운 선장은 항공기의 “진짜 선장”인 다른 경험이 풍부한 선장과 먼저 훈련을 받았지만 비행이 잘 진행되는 동안 두 번째 조종사의 역할을 수행합니다. 그 후, 젊은 선장은 훨씬 더 경험이 풍부한 (비행 시간) 두 번째 조종사와 함께 비행합니다. 그때에만 선장은 자신이 볼 수있는 사람과 함께 날아갈 준비가되어 있습니다.
듀얼 컨트롤
2 명의 조종사가 비행기를 타기 위해 항공기는 일반적으로 듀얼 컨트롤이 있습니다. 이 패턴을 따르려면 키보드가 아닌 경우 적어도 두 번째 마우스를 연결하는 것이 좋습니다. 이것은 개발자들 사이의 “운전”을 매우 빠르게 전달할 수 있습니다.
Facebook은 프로그래밍을 페어링합니까?
об йтоэ странице
м е р р регистрировали подо 착취 ay rzа ф징퍼, исход 넘추 타 ay сети. с пом거나 ю это인지 страницы м주는 сможем определить, что з просы отправляете именно, а не робот. почему это могло произойти?
эта страница отобр은 Âется в тех Â сл 나아가 · 추, ∈огда автомати인지 скими системи Google регтрирр곽막우 ся 테 추 법구추 추 님. котор ое нарушают условия использования. странира перестанет отобр은 жаться после того, как эти запросы прекратся. до отого момента для использования слу 갑기 Google необ 영향.
источником запросов может служить вредоносное по, подключаемые модули браузера или скрипт, насое 밑 밑 밑보관 сзлку ыапросов. если вл используете общий доступ в интернет, проблема 갑새 갑새 딘 악 с сомпером с с с с с саким 테 IP-адесом → Â 궤. обратитесь к своему системному администратору. подроб 변태.
проверка по слову может татак뿐 아니라 자기 появляться, если вы В 갑 갑격적 В Â водите слож ные запросы, об협 ораспронон혁 ™ rапротототототототото술도 있습니다. емами, или вводите запросы очень часто.
페이스 북과 개별 코딩 문화의 신화
우리는 새로운 일일 이메일 뉴스 레터를 출시했습니다! 이제 매일받은 편지함에 가장 최근의 TNS 기사를 무료로받을 수 있습니다. 지금 등록, 이야기를 놓치지 마세요, 항상 알고 있습니다.
Facebook 소프트웨어 엔지니어 Pierre Raynaud-Richard’S Dev Culture는 협업을 장려하고 그들이 만든 코드에 대한 자부심을 장려합니다.
Raynaud-Richard에 중요합니다’S 논문은 그의 논쟁이다 ‘개별 코드 소유권’ 만트라. “많은 소프트웨어 개발 회사들이 믿고 실천합니다 “개별 코드 소유권.” 이것은 그러한 기본 원칙처럼 들리지 않을 수도 있지만 실제로 소프트웨어 조직의 작동 방식을 정의하는 데 먼 길을갑니다,” Raynaud-Richard를 씁니다.
이 접근 방식은 내부 전문가가 더 나은 서면, 버그가 적은 코드를 자랑스럽게 만들도록 장려하는 것처럼 보입니다. 많은 회사의 실제 영향은 혁신을 방해하고 개발자 기술 성장을 강화한다는 것입니다. Raynaud-Richard는이 접근 방식은 회사 혁신을 방해한다고 말합니다. 개발자들은 현 상태를 선호합니다. 시간이 지남에 따라 그들은 그들이 구축 한 코드 기반을 방어하고 그에 대한 암묵적 편견을 가지고 있으며, 방향의 급격한 변화가 필요한 새로운 기회 나 도전에 적응할 수 없습니다. 개별 개발자에게는이 접근 방식은 기술 기반을 신발하고 높은 충격 기회를 식별하는 능력을 좁히면서 기술 성장을 방해합니다.
“개별 코드 소유권은 언뜻보기에 몇 가지 매력적인 이점을 제공합니다. 불행히도, 그것은 역할의 엄격한 정의를 도입하는 비용으로 혁신과 회사 및 개인 성장을 제한 할 수 있습니다,” Raynaud-Richard를 마무리합니다.
오늘’S 풀 스택 개발 환경, 소프트웨어 팀은 어느 누구도 개발자가 모든 것을 알 수 없다는 것을 알고 있습니다. 그러나 많은 사람들이 개별 코드 소유권 모델이 경작하는 전문화 도구보다 유연한 엔지니어링 문화를 장려하기 위해보다 창의적인 수단으로 전환하고 있습니다.
스타트 업 DEV 문화
CTO 및 공동 창립자 인 Ian Plosker에 따르면 Database-as-A-Service 스타트 업 Orchestrate는 5 개의 시간대에서 일하는 10 명의 엔지니어로 구성된 분산 팀을 보유하고 있습니다.
“우리는 돈입니다’t는 일반적으로 코드 소유권이 있습니다,” Plosker가 말합니다. “즉, 지역 전문가는 자연스럽게 발전하며, 일반적으로 코드를 개발하거나 검토 한 사람으로 시작합니다.” Plosker는 때때로 특정 엔지니어는 특정 기술이나 방법을 전문으로 할 수 있으며 특정 기술이 사용될 때 더 자주 프로젝트에 이끌 것이라고 말합니다.
“코드를 소유 한 한 사람은 위험합니다. 팀 전체가 일이 어떻게 작동하는지 알지 못하도록 할 수 있기 때문입니다. 운 좋게도 소규모 조직에서는 그 점에서 벗어나기가 더 어렵습니다. 지식이 조직 주변에서 확산되는 것이 정말 중요합니다.”
개별 코드 소유권을 피하기 위해 Orchestrate에서 사용되는 주요 프로세스 중 하나는 코드 검토입니다 “코드 리뷰는 지식 전달을위한 가장 중요한 장소 중 하나이며, 두 번째 사람은 코드를 알고 테스트 사례가 완료되었다고 평가했으며 코드 기반이 어떻게 작동하는지 알고 있습니다.”
Orchestrate는 여러 데이터베이스 모음을위한 단일 API 및 사용자 인터페이스를 제공합니다. 키 값으로 시작하는 동안이 제품은 이제 전체 텍스트, 시간 주문 및 그래프 검색을 포함한 여러 검색 형식을 활성화 할 수 있습니다. 최신 제품은 새로운 지리 공간 검색 기능으로 개발 된 개별 코드 소유권 접근법을 피했습니다
“우리는 Github를 상당히 사용하므로 GeoSpatial Search 기능을 추가했을 때와 같이 개발자가 기능 지점에서 작업하게됩니다. 그래서 엔지니어는 기능 분기에서 작업 할 것이며,이를 병합하라는 풀 요청을 열어줍니다. 바라건대, 그들은 모든 단위 테스트 및 통합 테스트를 추가하고’깊은 기술 평가가 발생할 때.
“기능이 중요하다면 우리는 사물에 적어도 두 쌍의 눈을 얻고 Github는 말하는 것과 같은 특정 줄에 대해 의견을 말할 수 있습니다 ‘이봐, 왜 이렇게 했어?’
“대화가 일어나고 풀 요청에 많은 지식이 포함되어 있습니다.
“완전히 검토되면 우리는 그것을 실행하고 테스트합니다.
“테스트를위한 몇 가지 단계가 있습니다. 내부적으로, 우리는 컴퓨터에 전체 오케스트레이트 스택을 구축 할 수있는 Orchestrate Runner라는 도구가 있습니다 (Java 기반 HTTP 서버, 웹 프론트 엔드 및이 모든 것들은 내부적으로 도구에 의해 회전됩니다). 저것’첫 번째 테스트 라운드.
“그런 다음 Github의 모든 커밋은 Travis CI에 의해 운영됩니다. 그것은 우리에게 아주 잘 작동하며 모든 단위 테스트 및 통합 테스트를 실행할 것입니다. 우리는 심지어 Travis CI 내에서 미니 오케스트레이트 스택을 회전시킵니다.
“우리는 또한 hipchat을 사용합니다. 우리는 심지어 코드 배포에 대해 많은 것을 알려줄 수있는 hipchat에 봇을 만들었습니다. 각각의 성공적인 빌드 마스터 후, 우리는 트래비스 빌드 끝에서 S3에 업로드 한 후 빌드 번호를 기준으로 해당 코드를 배포하도록 요청할 수 있습니다! 좋다, ‘Hey Prodbot, Build Number 46에서 USC 스테이징 환경을 배포.’ Plosker는 또한 개발자 팀이 서로에게 질문을하거나 코딩 패턴 및 디자인 선택에 대한 비공식 채팅을 시작할 수 있도록 채팅 클라이언트 인 Mumble을 지적합니다.
새로운 기능 디자인에 대한 협업 및 그룹 토론을 촉진하기 위해 Orchestrate는 모든 팀원이 아이디어를 요약 한 제안을 만들도록 권장합니다
“우리가 큰 기능을 시작하기 전에 누군가가 그 기능의 챔피언이되는 경향이 있습니다. 그래서 우리는 기능에 대한 제안서 작성을 좋아하는 경향이 있습니다’여기서 어떻게 작동하는지’s 우리가해야 할 이유, 도전, 기회… 이것은 Google 문서 인 경향이 있으며 전체 팀은이 작업을 수행 할 것입니다. 정말 유기적입니다.
“예를 들어, 지금 당장 우리는 검색 페이스 팅 작업을하고 있으므로 모든 사람이 댓글을 달고있는 문서가 있습니다. 이 시점에서 이미 우리는 상당히 많은 지식이 순환합니다.”
확장 가능한 사업
온라인 메뉴와 음식 배달 서비스는 13 개국에서 운영되어 2014 년 상반기에 58%의 매출 성장을 발표 한 Just Eat는 영국 사무실에서만 약 60 명의 개발자로 구성된 엔지니어링 팀을 보유하고 있습니다. 회사가보고 있습니다 “상당하고 빠른 성장” 기술 책임자 인 Anton Jefcoate에 따르면 개발자가 두 가지 사무실에서 함께 일하고 원격으로 협력하도록 요구합니다. “성장률은 우리를 몇 가지 좋은 사례로 이끌었습니다. 기초는 이미 거기에 있었지만 할 수 있습니다’T 개발 팀을 확장 할 때 홍보하는 엔지니어링 문화에서 벗어나십시오.
“우리’VE는 소비자 응용 프로그램, 비즈니스 앱, API 작업을하는 Devs와 같은 다른 영역을 다루기 위해 Dev 팀을 몇몇 그룹으로 나누었습니다.. API 팀은 전체 플랫폼의 핵심입니다. 따라서 API 팀은 더 나뉘어지고 플랫폼의 특정 부분을 제어합니다.
“모든 새로운 프로젝트는 API Driven and Native Applications 팀에서 두 사람을 함께 모을 것입니다’s 프로젝트에서 최소 2 명, 최대 10 명. 그것은 분명히 기능의 크기와 플랫폼을 통해 기능이 얼마나 멀리 퍼질 것인지에 달려 있습니다.”
Jefcoate는 Raynaud-Richard가 소프트웨어 회사의 개별 코드 소유권 문화 모델의 단점을 부를 권리라고 생각합니다.
“단점은 우리에게 충실한 것들입니다,” Jefcoate가 말합니다. “나는 Agile이 그 문화를 깨뜨린 것들 중 하나라고 생각합니다. 나는 민첩하기 전에 Devs가 고립되었다고 생각하지만 Agile은 개인을 통해 팀을 격려합니다. 속도를 추적하거나 제작할 팀의 더 큰 이익을 살펴보면 모든 사람이 작업을 고르게 공유합니다. 우리는 모두 칩의 문화를 가지고 있습니다. 난 그것을 믿는다’S는 작업 관행과 관련이 있으며 민첩한 흐름을 사용하는 사람들의 유형 : 여기’할 일, 모든 사람이 갑판에 도착하면’T 개별 코드 소유권 시나리오에 적합합니다.”
그냥 먹는 것은 클라우드 기반 소프트웨어 스타트 업 사이에서 더 친숙해지는 여러 문화적 측면을 복제합니다. 세대의 다른 사람들과 마찬가지로 (2001 년에 시작), 그들은 오픈 소스 프로젝트를 만드는 문화를 가지고 있으며, 종종 신청자들이 정당한 EAT API를 개 식품을 요청하여 단지 먹을 수있는 것을 보여 주거나 방금 먹을 수있는 기회를 지적하는 채용 프로세스를 사용합니다’S 코드베이스.
Jefcoate’개별 코드 소유권에서 나올 수있는 S 코드 이점 :
“스택을 내려다보고 매일 문제를 해결하는 데 사용하는 모든 오픈 소스 도구 만 볼 필요가 있습니다. 따라서 전체 개발자 커뮤니티로서 우리는 더 큰 선의로부터 혜택을받습니다. 오픈 소스는 많은 사람들이 문제를 해결할 수있게합니다. 시도하고 테스트 한 양의 무료 제품이있는 곳으로 갈 수있는 장소는 거의 없습니다. 오픈 소스는 작동하며, 우리에게 다시 기여하는 것이 우리가 회사로서 우리가 무엇을하고 있는지에 대해 약간의 진술을합니다. 우리가 내놓은 오픈 소스는 (비교적 유아기) 개발자 커뮤니티에 문제를 해결하는 데 도움이되는 일반적인 것들입니다. 우리는 개발자가 플랫폼에서 새로운 기술을 테스트하는 데 도움이되도록하여 개별 코드 소유권 (자부심을 키우고 개인적인 터치 및 개인 투자를 장려하는 것과 같은 것)의 이점을 얻으려고 노력합니다. 그런 일이 발생하면 아마도 우리 회사 밖의 물건을 해결할 것입니다’오픈 소스 프로젝트가 시작되는 방법. 일반적으로 스케일링 및 탄력성에 관한 것입니다. 우리는 그것을 먼저 내부적으로 채택하려고 노력하고 그것이 커뮤니티가 혜택을받을 수 있는지 확인합니다.”
개별 코드 소유권 모델이 아닌 협업 문화를 더 포함시키기 위해, Just Eat는 분기 별 내부 해커 톤을 보유하여 개발자를 새로운 팀 구성으로 모았습니다 “그룹 코드 소유권을 사용하면 개발자가 더 참여하거나 도메인 전문가가되기 때문에 코드가 더 나은 방법과 같은 일부 이점을 놓치게됩니다. 내부 해커 톤은 개발자가 개인 애완 동물 프로젝트를 수행하도록 장려하기 위해 멀어졌습니다.”
Just Eat Jira를 사용하여 작업을 추적하고 풀 요청을 조정 한 다음 모든 풀 요청이 Peer를 검토합니다 “팀은 반 독립적이지만 모든 것이 글로벌 제품 요구 사항에 의해 주도됩니다. 글로벌 요구 사항을 지나면 팀은 자체 관리하는 경향이 있습니다. 따라서 시작 요청은 일반적으로 팀 대화 내에 있습니다. 그런 다음 동료 리뷰는 학습뿐만 아니라 검증이기 때문에 환상적인 과정입니다. 우리는 많은 자동화를 가지고 있습니다 : 우리는 실제로 CI에 예/아니오를 배치 할 수 있습니까?.”
Jefcoate는 또한 회사를 본다’회사가 가치있는 개별 코딩 문화의 대립을 입증하는 한 쌍 프로그래밍 (두 개의 프로그래머가 함께 라인을 위해 라인, 코딩 프로젝트를 수행하는 방법)을 사용합니다 “우리는 새로운 개발자와 일반 개발 관행으로 쌍 프로그래밍을 사용합니다. 내가 특별히 새로운 일을하고 있다면, 나는 누군가와 짝을 이루고 다른 사람이 그것에 대해 알고 있는지 확인할 것입니다. 원격으로 수행되며 페어링은 코드 품질 표준화를위한 최고의 도구 중 하나입니다.”
엔터프라이즈 데브 문화
Jakub Nesetril은 API 디자인 및 문서 코딩 도구 스위트 인 Apiary의 창립자이자 CEO입니다. 이번 주 APIARY는 API 제품 및 서비스를 만들 때 대기업이 개별 코드 소유권에서 벗어나도록 돕기 위해 Enterprise를 위해 양봉장을 출시했습니다. Nesetril은 기업이 각각 다른 방식으로 작성된 여러 API를 다루는 것을보고 있으며 이제는 일반적인 코딩 구조와 명명법이 필요하며 특정 비즈니스 장치에 할당 된 개별 개발자보다는 여러 팀원이 작업했습니다.
수천 명의 양봉장 사용자에 걸쳐 Nesetril은 일반적으로 개별 해커 또는 소규모 팀이 각 개발자가 거의 개별 코드 소유권 접근 방식을 가질 수있는 오픈 소스 도구를 사용하는 것을보고 있습니다 (대부분 유일한 코더이기 때문에). 팀이 성장함에 따라 양봉장 상업용 제품을 사용하기 시작하고 20 명의 팀원에게 도달 할 때까지 팀을 위해 Apiary로 이동합니다. 이 단계에서 조직 인프라는 개발자 코딩이 다양한 API 프로젝트에서 균일 할 수 있도록 제품 관리자를 데려 오는 경향이 있습니다.
팀이 40-60 이상의 개발자 수에 도달하면 Enterprise 고객 중 API 건축가가 고용되는 경향이 있습니다. “그들이 어려움을 겪고있는 것 중 하나는 API를위한 일관된 디자인입니다’우리가 Enterprise를 위해 양봉장을 건설 한 이유,” Nesetril이 설명합니다. 이 제품의 핵심에는 회사가 개발자가 명명법 및 데이터 형식과 같은 조직 규칙을 준수 할 수 있도록 도와주는 스타일 가이드 도구가 있습니다.
Nesetril은 엔터프라이즈 고객이 개별 코드 소유권의 오래된 개념을 포기하는 것을보고 있습니다. 특히 많은 사람들이 합병 및 인수를 통해 이질적인 API의 유산을 물려 받았거나 개별 사용 사례가 연결되지 않은 비즈니스 단위 내에서 초기 API 개발 프로젝트를 이끌었 기 때문입니다.
“역사적으로, 책임을 창출함에 따라 코드 소유권에 대한 강력한 추진력이 있었지만 협업에 어려움을 겪었습니다. 우리는 개인의 개발자 팀간에 개인이 프로젝트의 여러 부분에서 회전 할 수있는 기업의 개발자 팀간에 더 많은 공유 리소스가 있습니다,” Nesetril이라고 말합니다.
“공동 접근 방식의 속임수는 단일 버전의 진실이 필요하다는 것입니다. 모든 사람이 회사 내부의 모든 전문가가 될 수있는 것은 아니지만 내부적으로 무언가를 작업 할 수있을 때 좋습니다. 단일 버전의 진실 문화를 가진 가장 큰 트릭은 협업을 제한하지 않고 그 장소에 도착하는 것입니다.” Nesetril은 Enterprise의 양봉장이 개발자가 개별 코드 전문가가되도록 장려하는 문화를 만들지 않고 여러 API를 관리하려는 기업에 이상적이라고 생각합니다 “그들이 API를 작업 할 때, 사전 예방 적 수준의 고급 점검 및 알림에 적합한 경우, 예를 들어 날짜 형식으로 잘못하고있는 두려움에 의해 쇠약 해지지 않으면 더 실험적이고 야심 찬 일 수 있습니다. 사람들은 일찍 의미있는 기여를 시작할 수 있습니다.”
개별 코드 소유권은 (반 공개) 사망으로 죽습니다
Raynaud-Richard’S 블로그 게시물이 실제로 수행중인 개별 코드 소유권의 시간과 죽음을 표시하는 것입니다. 이미 스타트 업에서 기업에 이르기까지 모든 수준의 비즈니스는 더 많은 협업 개발 접근 방식을 수용하고 있습니다. Google 도구와 Hipchat은 모든 수준의 개발자 팀에서 일반적으로 사용되며 새로운 개발자 제품이 더 협력적인 정신을 강요하는 데 도움이되고 있습니다. 오늘’S Dev 환경, 전문화와 일반 지식 사이의 중간 도로는 가장 큰 코딩 기술이 비동기 동의 구축 인 곳에서 추구해야합니다. 분산 팀을 통해 지식 전달을 협력하고 촉진하는 능력.
Flickr Creative Commons를 통한 기능 이미지.
지식 공유를위한 쌍 프로그래밍의 이점은 무엇입니까??
поль зултесь знаниями сооб щества. экспер 탈바자 добавля яю 방법 Ва 익 딘 сведения В эту 관어 관어 관어 관어 관어  соз  соз данну сппорелелерессссссс 그리고보고합니다. Вж момете делать то же самое.
это статья нового 신자. а · э э сперты улучш Â th rее, делясь своими мыслями напр충.
если вл Â хотите внести свой свой вклад, запросите приглашение, отетив статататака 법적 повреа엽. подроб 변태
27 апр에서 마지막으로 업데이트되었습니다. 2023 г.
페어 프로그래밍은 하나의 컴퓨터와 하나의 키보드를 사용하여 동일한 코드베이스에서 동시에 동일한 코드베이스에서 작업하는 공동 작업 코딩 관행입니다. 스크럼 및 XP와 같은 민첩한 소프트웨어 개발 방법론에서 종종 코드 품질, 생산성 및 학습을 향상시키는 데 사용됩니다. 이 기사에서는 Pair 프로그래밍이 개발자 간의 코드 소유권 및 지식 공유를 촉진하는 방법과 효과적으로 작동하는 모범 사례가 무엇입니까?.
помогите другим TRE, рассска подроб 변은 (не ме нее 125 символов) отена
добавить сохранить
코드 소유권
코드 소유권은 개발자가 작성하고 유지 관리하는 코드에 대한 책임과 책임의 감각입니다. 개발자가 코딩 표준을 따르고 테스트 작성, 리팩터 및 수정 버그 수정 가능성이 높기 때문에 코드 품질에 긍정적 인 영향을 줄 수 있습니다. 그러나 지식 사일로 생성, 협업 감소, 특정 개인에 대한 의존도 증가와 같은 부정적인 영향을 미칠 수도 있습니다. 페어 프로그래밍은 전체 팀이 코드베이스를 담당하는 집단 소유권을 장려하여 코드 소유권의 균형을 맞출 수 있으며 특정 기능 또는 모듈의 단독 전문가 또는 소유자는 없습니다. 쌍 프로그래밍은 또한 개발자가 자신의 전문 지식과 통찰력을 파트너와 공유하고 서로를 배울 수 있기 때문에 지식 손실의 위험을 줄일 수 있습니다.
помогите другим TRE, рассска подроб 변은 (не ме нее 125 символов) отена
добавить сохранить
Sky의 Java 개발자
- копировать сс 갑변 꺼리 на вклад
- пожловаться на вклад
пожаловаться
пожаловаться
назад отправить
спасибо з а уведомление! Вш больше не увидите Âтот вклад.
페어 프로그래밍은 실제로 코드 소유권을 완전히 제거합니다. 건강한 쌍의 회전으로 프로그램 된 환경에 어떤 부분도 실제 소유자가 없습니다.
지식 공유
지식 공유는 개발자 간의 정보, 기술 및 경험을 전송 및 교환하는 과정입니다. 학습, 혁신 및 문제 해결을 향상시킬 수있을뿐만 아니라 신뢰와 피드백의 문화를 장려 할 수 있습니다. Pair 프로그래밍은 개발자가 질문을하고 개념을 설명하고 기술을 시연하며 피드백을 제공 할 수있는 자연스럽고 대화식 학습 환경을 만들어 지식 공유를위한 강력한 도구입니다. 페어 프로그래밍은 또한 개발자를 다양한 관점, 접근 방식 및 코딩 스타일에 노출시켜 지평을 넓히고 기술을 향상시킬 수 있습니다.