더 나은 코딩 방법을 채택하도록 동료에게 영감을 주십니까?


24

에서 처리 내 낡은 동료의 질문, 다양한 사람들은 동료를 처리하기위한 전략을 논의 내키지 팀의 자신의 워크 플로우를 통합.

가능한 경우 현대 기술과 도구를 모르고 약간 무관심한 동료를 "교육"하는 전략을 배우고 싶습니다 .

최근까지 회사의 다른 부분에서 상대적으로 고립 된 프로그래머와 함께 일하기 시작했습니다. 그는 광범위한 영역 지식을 보유하고 있으며 가장 중요한 것은 많은 지원자들이 부족한 것으로 보이는 훌륭한 문제 해결 능력을 보여주었습니다 .

그러나 내가 본 실제 (C #) 코드는 VB6 일에 대한 후퇴입니다. 절차 적 구조, 헝가리어 표기법, 전역 변수 (남용 static), 인터페이스 없음, 테스트 없음, 제네릭 사용 안함, 던지기 System.Exception... 아이디어를 얻습니다.

이 프로그래머는 나보다 상당히 나이가 많으며 적어도 첫인상으로 적극적으로 긍정적 인 변화를 찾지 않습니다 . 나는 그것이 주제가 어떻게 브로치되는지에 대한 문제라고 생각 하기 때문에 변화에 저항 하지 않는다고 말하지 않을 것이며 , 나는 준비하고 싶다.

프로그래머는 완고한 경향이 있으며, 총을 타 오르고 찢어 버리기 위해 코드 검토 및 엄격하게 시행되는 정책을 시행 하는 것은 내가 원하는 최종 결과를 얻지 못할 가능성이 높습니다 . 이것이 신입 사원, 주니어 프로그래머라면 "멘토"자세를 취하는 것에 대해 두 번 생각하지는 않지만 숙련 된 직원을 우둔한 초보자로 취급하는 것은 극도로 조심 스럽습니다. 현장의 특정 발전에 발 맞추어).

온화한 설득과 비 물질적 인센티브를 통해이 개발자의 코드 품질 표준 인 데일 카네기 방식을 높이려면 어떻게해야합니까? 적대적인 상황을 만들지 않고 미묘하고 점진적인 변화에 영향을 미치는 가장 좋은 전략은 무엇입니까 ?

다른 사람들, 특히 리더 개발자들이 이런 상황에 처한 적이 있습니까? 관심을 자극하고 긍정적 인 역 동성을 창출하는 데 어떤 전략이 성공 했습니까? 어떤 전략 성공 하지 못하고 피하는 것이 좋을까요?


설명 :

나는 실제로 여러 사람이 질문의 모든 세부 사항을 실제로 읽지 않고 개인적인 감정을 바탕으로 대답하고 있다고 생각합니다. 다음과 같은 내용을 암시해야하지만 지금은 명시하고 있습니다.

  • 이 동료는 나이에 따른 나의 "노인"입니다. 나는 그의 직함, 영향력의 영역 또는 조직에서 몇 년이 나의 것을 초과한다고 말한 적이 없으며, 사실 그 어느 것도 사실이 아닙니다. 그는 주요 개발 상점에 흡수 된 LOB 프로그래머입니다. 그게 다야.

  • 나는 신입 사원, 하급 프로그래머, 또는 밤새 회사를 변화시킬 계획이있는 다른 순진한 바보가 아닙니다. 저는 기본적으로 소프트웨어 프로세스를 담당하지만 "리드"로 일한 많은 사람들이 알듯이 책임이 항상 조직도와 정확하게 상관되는 것은 아닙니다.

  • 나는 사람들에게 내 길얻는 방법, 지옥이나 높은 물을 오는 방법을 묻지 않습니다 . 내가 원한다면 그렇게 할 수 있었고, 그 결과로이 사람은 분개하고 /하거나 그만 둘 수있었습니다. 변화를 추진 하는 사회적 , 협동적인 방법을 찾고 있음을 이해하십시오 .

  • 의 언급 "... 전역 변수 ... 아니 시험 ... 던지는 System.Exception" 입증하기 위해 의도 된 문제는 단지 피상적 인 미적 없습니다 . 상대적으로 작은 CRUD 앱에서 작동 할 수있는 방법은 대기업 앱에서는 작동하지 않을 수 있으며 실제로 지금까지 코드가 실제로 통합 테스트를 통과 한 것은 없습니다.

제발, 액면가로 질문을하고, 내가 말하고있는 것을 실제로 알고 있음을 인정하고, 실제로 질문 한 질문에 대답 하거나 계속 진행하십시오.

추신 : 전제와 논쟁하기보다는 건설적인 조언을 해주신 분들께 진심으로 감사드립니다. 나는 실제 경험의 방식으로 더 많은 것을 듣기를 희망하면서 이것을 오랫동안 열어 둘 것입니다.


9
나는이 상황에 있었고 실제로 성공적으로 해결되는 것을 보지 못했습니다. 당신과 같은 많은 사람들이 몇 년 전에 프로그래밍에 대해 생각을 그만 두었습니다. 이 시점에서 그들은 비즈니스 영역에 대한 솔루션에만 관심이 있습니다. 나는 그런 사람들을 비난하는이 사이트의 밴드 왜건에 참여하지 않을 것입니다; 실제로 나는 그들이 지구의 소금이라고 생각합니다. 그들이 당신의 코드에서 일하고 있다면 적어도 당신의 협약을 준수하도록 강요해야합니다. 나는 사람들이 프로젝트에 기여한다면 기존의 협약을 따라야한다는 판매를 힘들게하지 않았다.
Jeremy

1
당신이 그와 관련하여이 문제를 제기했을 때 상사는 무엇을 말했습니까?

2
@Aaronaught는 그의 코드가 작동하기 때문에 기술적 인 문제가 아니라 정치적 문제이며, 변경하려는 경우 위에서 언급해야 할 문제 일 수 있습니다. 다른 말로하면 당신의 상사입니다. 좋은 논쟁을 준비하십시오!

2
@Thor : 그의 스타일은 단순히 기대치가 낮고, 동료 리뷰가 없으며, 개인적인 시간 동안 독립적 인 학습에 적합하지 않은 바쁜 삶의 산물이라는 것이 절대 불가능하다고 생각하십니까? 배려 하지 않는 것은 고정 된 성격 특성이 아니며, 환경의 산물이며, 바꿀 수 있습니다. 아니 알고는 변화에보다 쉽게,하지만 여전히 외교의 어떤 수준으로 접근해야합니다.
Aaronaught

1
@Aaronaught, 당신은 비참하게 영감을 배제하지 못했거나 (배제 할 수없는) 영감을 받고 싶지 않습니다. 어린 동료가 이것이 당신이 지금하는 것보다 훨씬 똑똑하다고 말하는 경우, Lisp 또는 Haskell에서 단위 테스트를 코딩하는 것을 고려 하시겠습니까?

답변:


10

시작점은 청중을 아는 것 입니다. 하급 동료 멘토링과 선임 동료에게 영향을 미치는 것의 차이점을 알고 있기 때문에 이미 이것을 이해하고있는 것 같습니다.

당신은 여전히이 특정한 개인에게 동기를 부여 할 것을 알아 내야합니다. 나 같은 오래된 geezer에서 작동하는 것이 오래된 geezer에서 작동하지 않을 수 있습니다.

그가 다른 사람들에게 멘토를 가르치거나 가르치기를 좋아한다면 "왜 이런 식으로 하는가?"와 같은 질문을 함으로써 문제에 접근 할 수 있습니다. 그러면 새로운 접근 방식을 평가하고 의견을 제시 할 수있는 대화 상자가 나타납니다.

그래도 문제가 해결되지 않으면 자신이 채택하고자하는 관행이나 스타일을 사용하여 피할 수있는 버그를 지적 할 수 있습니다. 버그를 찾아서 장려하려는 행동이 어떻게 도움이되는지 보여 주어야하므로 훨씬 더 많은 작업이 필요합니다.

그가 다른 사람들을 기꺼이 도와 줄 것 같으면 , 초보자를 돕는 그의 소망에 호소 할 수 있습니다. "오늘날 아이들"은 자신의 코딩 스타일을 보는 데 익숙하지 않으며 그로 인해 코드를 깨뜨릴 가능성이 더 높다고 설명합니다.

때때로 당신은 그의 얼굴 을 잡고 문제를 강요 해야 할 수도 있습니다 . 이 전투를 신중하게 선택해야합니다. 자신에게 더 나은 방법이 있다는 것을 증명할 수있는 주제로 시작하십시오.


이것들은 좋은 일반적인 전략처럼 보입니다. 이것이 COBOL이 아닌 VB6 이전이라는 것을 분명히해야합니다. 아마 20-30 년이 아닌 5-7 년이 뒤처 졌을 것입니다. 따라서 괴짜 / 공룡이 아닙니다.
Aaronaught

1
물어 않을 것 "왜 당신이 이런 식으로합니까?" 그것은 불리한 영향을 줄 수 있습니다. 즉, 방어자에게 즉시 노출 시키십시오. 동료가 단순히 알지 못하고 무지한 느낌을 원하지 않을 수도 있습니다. 대신 "이 방법을 고려하셨습니까?"
IAbstract

@IAbstract 만약 그가 가르치기를 좋아한다면, 그는 방어 적이 지 않을 것이며, 가르 칠 기회를 누릴 것입니다. 음색과 태도는 큰 차이를 만들 것입니다. 질문 끝에 "Idiot"을 쉽게 추가 할 수 있다고 들리면 제대로 수행하고 있지 않은 것입니까? :-) 내 경험에 의하면 대부분의 사람들은 진실한 질문에 기꺼이 대답합니다.
jimreed

@IAbstract : "여기에 의존성 주입을 고려 했습니까?"와 같은 질문이 있는지 확실합니다. 대답은 "허?" 물론 유쾌하게 놀라게 될 가능성이 있지만 짐이 옳다고 생각 Foo합니다. "여기 에서 전 세계 범위의 객체 를 사용하기로 결정한 이유는 무엇 입니까?" 나는 공격으로 해석되는 것을 예측하지는 않는다. 기존 디자인을 이해하려고합니다.
Aaronaught

@Aaronaught : 충분히 공정한;) DI에 대한 반응은 "응?"일지 모르지만, "음, 들어 봤지만 ..."과 같은 흥미로운 대화를 촉발 할 수 있습니다. (jimreed가 지적했듯이) jimreed가 말했듯이 전투를 선택해야합니다. 때로는 큰 지팡이를 들고 때로는 샌드 박스에서 함께 노는 것을 의미합니다.
IAbstract

4

나는 당신이 올바른 태도를 가지고 있다고 생각합니다. 당신이 이미 말한 모든 좋은 말을 지적하십시오-위대한 문제 해결 기술, 사업에 대한 이해, 그에게 그룹의 현재 표준을 보여줄 약간의 시간을 요구하십시오. 사용하고 그들에게 몇 가지 질문을 할 수있는 기회를줍니다.

함께 모여 커피 나 커피를 가져다가 표준에 따라 작업하면 기존 코드를보다 쉽게 ​​지원할 수 있고 다른 사람이 자신을 도와 줄 수 있도록 도와 줄 수 있다는 점을 알게됩니다. 직장에서 보호받습니다 (독립적으로 일하고있는 사람에게는 큰 이점).

그가 당신이 왜 당신이하는 일을하는지, 왜 그가하고있는 일을하지 말아야하는지에 초점을 맞추지 말고, 다른 사람들을 데려와 설명하도록하세요. 그가 표준의 예를 참조 할 수있는 몇 곳에서 질문과 후속 조치가있는 경우 나중에 이용할 수 있도록하십시오.

그가 그 후에 관심이 없다면 당신은 당신이 연결 한 첫 번째 질문을 참조 할 수 있습니다.


4

정말 관리자의 일입니다

  1. 회사 에는 코딩 표준이 있어야합니다 . 회사 규모에 관계없이 다소 전문적인 회사는 모두 이것을 가지고 있습니다.
  2. 모두가 함께 앉아 표준을 시작하도록하십시오. 그렇게하면 모든 사람이 자신의 의견을 말할 수있게되고 표준을 따르도록 동기를 부여하게됩니다.

관리자가이를 스스로 인식하지 못하면 직무 자격이 없습니다. 그렇다면, 위의 두 가지 이상으로 조금씩 움직여야합니다. 코딩 표준을 갖는 것의 장점은 매우 많으며,이를 갖는 것에 대한 논쟁은 실제로 없습니다. (일부 프로그래머가 자신이 "예술가"라고 느끼고 전문성의 한계에 의해 제한되어서는 안되는 경우, 대신 미술을하는 일을해야합니다.)

코딩 표준 자체는 무엇보다도 위험한 연습 및 위험한 라이브러리 기능 금지에 중점을 두어야합니다. 사용하는 언어의 안전하고 순수한 하위 집합을 향해 노력하십시오. 코딩 스타일은 동의하기가 훨씬 어렵고 중요하지 않기 때문에 코딩 표준에 "코딩 스타일"이 없어야합니다. 회사가 코딩 표준을 결정하기로 결정한 다음 {} 중괄호를 배치 할 위치에 대한 열렬한 논 센스 토론에 즉시 빠지는 것은 다소 고전적입니다.

참고로 MISRA-C / C ++ 및 CERT C / C ++ / Java 표준이 어떻게 작성되는지 확인하십시오.


이것은 수직 구조의 소프트웨어 게시자를 위해 일한다고 가정하는 (잘못된) 가정입니다. 개발자의 10 % 미만이 소프트웨어 게시자를 위해 일하며 개발자 를 미세 관리하는 것이 반드시 임원 또는 중간 관리자의 책임 일 필요 는 없습니다 .
Aaronaught

2
@Aaronaught 글쎄, 그것이 문제의 진정한 원인입니다. 코딩 표준이있는 팀에 소속되어 있지 않고 다른 베테랑 프로그래머 한 명 이상이 다른 사람을 이끌고 인도하는 경우 조직이 좋지 않습니다. 모든 사람들은 자신이 "아티스트"라고 생각하고 평범하고 불안정하며 유지할 수없는 결과를 내고 개선 방법을 배우지 않고 무작위로 코드를 작성합니다.

2

우선이 개인의 업무 방식을 바꾸고 싶은 이유를 명확히해야합니다. 그것이 미학적 인 이유라면,이 사람이 그의 일하는 방식이 실제로 효과가 있음을 입증했기 때문에 재고해야한다고 생각합니다.

그러나 기술적 인 이유가있는 경우 다음과 같은 방법으로 해당 사람에게 접근하는 것을 고려해야합니다.

지루한 시간을 절약하고 회사의 비용을 절감 할 수있는 방법에 대한 제안이 있습니다. 관심이 있습니까?

이것은 항상 여분의 노력이 필요한 기존 습관을 바꾸어야 할 가능성이 높기 때문에 교수형 과일이 적어야합니다.

당신이 제안의 gazillions가있는 경우에도, 하나 또는 두 개를 선택 하고 그것이 더 나은 변화가 될 것임을 보여 주십시오.

이 방법 중 하나가 작동하면 더 많은 제안이 있는지 묻는 메시지가 표시되거나 그렇지 않으면 피해가 한두 가지 제안으로 제한됩니다.

성공을 거두는 것이 매우 중요하다는 점에 유의하십시오.

또한 조심해야합니다. 그들이하는 방식대로 일을하는 데는 아주 좋은 이유 가있을 수 있지만, 이유를 알기에는 너무 새롭습니다. 그러므로 장로를 존중하고 제안이 더 낫다고 생각하기 전에 물어보십시오. 한두 가지를 배울 수 있습니다.


건설적인 답변에 감사드립니다-비록 첫 번째 단락 없이는 가능했을 것입니다.
Aaronaught

@aaronaught, 죄송하지만 실제로는 매우 중요합니다.

아니요, 정말 중요하지 않습니다. 그것은 완전히 다른 질문에 대답하고 있으며 이미 관련이 없다는 것을 나타 내기 위해 몇 가지 명확한 설명과 편집을 제공했습니다. 이 사이트의 사용자의 무능력 (주로 에만 이 사이트가)의 문제 분리하는 "해야 I을" 에서 "내가 할 방법" 입니다 적극적으로 유해한 여기 담론의 전반적인 품질과 일관성에. 주의 사항은 유효하지만 관련성이 없으며 약간 공격적입니다. 이 정확한 주제에 대해 매우 투표가 많은 메타 질문도 있습니다.
Aaronaught

1
@aaronaught,이 사람 코딩 스타일을 변경하고 싶은 유일한 이유는 팀의 다른 스타일과 다르기 때문에 자신의 스타일을 암시 적으로 내려서 자신의 스타일이 더 낫다는 것을 암시합니다. 따라서 내 의견. 코드베이스에서 현재 코딩 스타일을 받아 들일 수 없다면, 그와 개인적으로 만나서 이것을 말하십시오. 그리고 그의 코드가 어떻게 필요한지 배우도록 기꺼이 노력할 것입니다.

1
@Aaronaught, 첫 번째 단락없이 할 수 있었던 사람에게는 놀랍게도 불쾌감을주는 문구를 선택할 수 있습니다. 다른 사람들을 한심하게 부르는 것이 따르는 모범이라고 생각하십니까?

1

나는 상황이 매우 빠르게 악화 될 수 있기 때문에 당신 이 그의 얼굴에 들어가는 것을 심각하게 낙담하고 싶습니다 . 나는 그것이 최후의 수단으로 측정되었다는 것을 알고 있지만, 내 경험상, 개발자는 기능이 참여를 중단했습니다.

이 문제를 강요하면 개인이 모든 행동으로 전투를 벌이는 적이 될 수 있습니다. 그것은 진정으로 팀에 부정적인 영향을 미치며 누군가가 종료되거나 해고 될 때까지 끝나지 않습니다.

이 개인이 진정으로 필요한 / 원하는 도메인 지식을 가지고 있다면 해당 지식을 문서화하십시오.


1
-1 문제는 이미 OP가 대립 방식으로 이것에 접근 할 의사가 없다는 것을 나타냅니다. OP의 질문을 철저히 읽고 일반적인 주제에 대해 논의하기보다는 해당 질문에 답변 하십시오.
HedgeMage

1

그에게 부드럽게 깨는 것부터 시작하십시오 : 나는 당신이 피드백을 제공하는 데 얼마나 경험이 있고 얼마나 정통한지 모르겠습니다. 다음을 이미 알고 있거나 고용하거나 거부했을 수도 있지만 여하튼 계속됩니다. 누군가의 행동을 바꾸고 싶을 때 피드백을주는 것에 대한 몇 가지 지침이 있습니다. 내가 생각한 대화 구조는 여전히 작동하기 때문에 피드백을 제공하려는 상황에서 고용하려고합니다.

  1. 보이는 행동을 설명하십시오. 이것은 구체적인 행동이어야합니다. 예 : "코드에 많은 정적 변수를 사용하고 있습니다"
  2. 그것이 당신 / 당신의 팀에 어떤 영향을 미치는지 설명하십시오. 예 : "그런 코드를 유지하기 어렵다"
  3. 제공 합리적인 솔루션을. (가능한 답변은 다른 답변에 언급되어 있으며, 나중에이 답변에 익숙해 질 것입니다.)
  4. 그에게 해결책을 논의 할 수있는 기회를주십시오. 솔루션에 대해 어떻게 생각하는지 물어보십시오. 액면가로 그의 반응을 취하십시오. 당신은 그에게 당신의 의견을 주었고, 그는 그것을 받아 들일지의 여부입니다. *

피드백에 대한 빠른 리소스는 예를 들어 http://managementhelp.org/communicationsskills/feedback.htm 에서 찾을 수 있습니다 (웹에는 이런 종류의 것들이 많지만)

이제 해결책 부분에서, 내가 당신의 대답에서 읽고있는 것에서 나는 그가 똑똑하고, 올바른 사고 방식을 가지고 있지만 현대적인 모범 사례에서 뒤쳐져 있습니다. 처음부터 실제로 배우는 것 외에는 마스터하는 데 시간과 노력이 필요하므로 그렇게 할 수있는 기회를 제공해야합니다. 그것은 아마도 학습 자료 (웹, 잡지, 책 등)를 출발점으로 모아서 공부할 수있는 자유 시간을 제공하는 것을 의미합니다. 금요일 오후마다 프로그래밍 스타일에 대한 시야를 넓히고 그 목표를 달성하기 위해 자신이 믿는 것을 무엇이든 할 수 있다고 상상할 수 있습니다. 사람들은 상속 적으로 자신을 향상시키기를 원합니다. 재료와 시간을 제공하면 잘 활용할 수 있습니다.

아마도 가장 중요한 것은 밤새 변화를 기대하지 마십시오. 그는 오랫동안 자신의 방식으로 일을 해왔으며 아마도 꽤 잘했을 것입니다. 새로운 방식으로 일을하는 데 시간이 좀 걸릴 것이며, 처음에는 아무 것도 없기 때문에 새로운 방식으로 많은 가치를 보지 못할 것입니다. 그의 옛 방식은 아마도 한동안 더 효과적 일 것입니다.

* 참고 : 대화에 대한 재미있는 점은 대화하기가 매우 어렵다는 것입니다. 그들은 자신의 삶을 가지고 있기 때문에 종이에 멋지게 보이지만 조금 진흙 투성이입니다.


0

작업을 수행하는 방법을 설명하고 프로젝트 시작시 프로젝트에 대해 선택한 디자인 및 건축 선택에서 어떻게 작동하는지 설명하십시오. 일대일로 (그리고 개인적으로) 앉아서 이전 코딩에서 보았던 문제와이 프로젝트에 왜 문제가 있는지 설명하십시오. 더 나아 져야 할 것이 무엇인지 물어 보지만 더 나아지지 않는 것은 선택 사항이 아니라는 점을 분명히한다.

그런 다음 코드 검토를 도구로 사용하여 작업 방식을 조정하십시오. 첫 번째를 위해 좋은 시간을 계획하고 왜 당신이 이것을 선호하는지에 대해 이야기하고 그의 추론을 설명하게하십시오. 사람들이 자신의 우려가 해결되었다고 느낄 때 변화하는 것이 더 잘 들리도록하십시오. 첫 번째 작업에서 재 작업을 수행하고 팀의 표준을 충족 할 때까지 수락하지 않도록 계획을 세우십시오 (그러나 그에게 말하지 마십시오). 그가 당신이 기대하는 것을 알고 당신이 시간의 이익을 위해 그것을 미끄러지게하지 않을 것이라고 그는 아마 당신의 일하는 방식으로 돌아올 것입니다. 그러나 코드 검토를 여러 반복에 대한 교육 도구로 사용할 수 있습니다. 표준을 충족 할 때까지 작업을 받아들이지 않는 것에 대해 불쾌 할 필요는 없지만, 일관되고 일관성있게해야합니다. 님'


-1

64,000 달러짜리 질문은 프로젝트를 제 시간에 제공하고 기능 요구 사항을 충족시키는 지 여부입니다. 그렇다면 그는 올바르게하고 있습니다. 소프트웨어 개발에는 객관적인 옳고 그름이 없습니다. 궁극적으로 문제 해결에 관한 것입니다. 문제는 그 다음, 클라이언트 / 고객의 만족에 해결하는 경우 그리고 정의에 의해 , 소프트웨어 개발이 제대로 수행되고있다.

그의 프로젝트가 있다면 그것은 물론 전혀 다른 문제가된다 이 arent 완료된다. 이때 관리자가 입력 한 내용을 변경해야합니다. 그러나 그가 당신의 코드 인식에 대한 자신의 감각을 위반한다고해서 또는 오늘날의 기존의 지혜가 그가하고있는 것이 '잘못'된 것은 아닙니다. '좋은 코드'의 정의에 대한 중재자가 아닙니다. 그는 결국 코드에 대한 의견이 낮을 수 있습니다.

그래서 ... 실제로 그의 작품에 문제가 없다면 (당신이 지적하지 않은),하지 마십시오. 성공적인 개발자가 되려면 코드를 다른 개발자의 스타일과 병합하는 방법을 배우십시오.

그는 결국 여기에 와서 프로젝트를 마치는 것보다 유행에 대처하는 데 익숙하지 않은 경험이 적은 개발자를 다루는 것과 비슷한 질문을 게시 할 수 있습니다. 관점에 관한 모든 것.


2
이런 이유로 나는 그가 회사의 다른 부분에서 온 것이라고 지적했습니다. 그는 회의 아무 문제 없었다 자신의 요구 사항을하지만 자신의 요구 사항은 없습니다 우리의 요구 사항. 특히, 이들의 요구 사항은 CRUD보다 훨씬 향상되지 않았습니다. 그리고 네, 거기에 있다 코드에 문제가; 독립적으로 작동하지만 통합, 성능 또는 안정성 테스트를 통과하지는 못합니다. XP 또는 TDD와 같은 엄격한 방법론을 믿지 않지만 미학이나 기존의 지혜의 문제가 아니라 유지 관리 요구 사항의 문제입니다.
Aaronaught

3
나는 또한 위의 이유가 아니라 이것을 부인하고 있지만, 당신은 몇 가지 부주의 한 가정을하고 있기 때문입니다. (a) 나는 경험이 적지 않다. (b) 내가 말하고있는 것 중 어느 것도 "페이드 (fad)"라고 불리우 지 않는다 . 팀보다 확실히 생산성이 떨어집니다.
Aaronaught

실제로 그가 생산 한 것에 문제가 있다면, 내가 말했듯이 , 당신의 상사 나 상호 상사에게 문제가 있습니다. 그러나 고객이 고객에게 제공하는 것에 문제가 있음을 보여주지 않았습니다. 단지 그가 당신에게 제공하는 것을 좋아하지 않는다는 것입니다. 내 요점은 그가 당신을 위해 소프트웨어를 작성하지 않는 것입니다. 당신이 약동을 일으키기 전에, 나는 그가 당신보다 덜 중요하지 않다는 것을 감히 확신합니다.
GrandmasterB

유행에 관해서는, 잠시 동안 업계에서 놀아보십시오. 그렇습니다. 오늘날 최고의 모범 사례는 미래의 VB6 스타일의 나쁜 관행이라는 것을 알게 될 것입니다. downvoting에 관해서는, 자유롭게 느끼십시오. 게시 된 질문에 응답하고 있습니다. 제공하지 않은 세부 정보에 응답 할 수 없습니다.
GrandmasterB

1
나는 당신의 이력서를 알지 못하며, 당신의 동료들이 이력서를 알고있는 것도 아닙니다. 나는 당신이 질문에 넣은 것을 알고 있습니다. 중요한 정보라면 포함시켜야합니다. 그리고 다른 답변에 대한 귀하의 답변을 바탕으로, 당신은 약간 벗어난 것을 고려할 수 있으며, 따라서 답변자 측에 많은 가정이 필요합니다. 그러나 당신이 대답을 원한다면, 당신이 그의 상사 나 상사, 또는 상사에게 문제가되지 않는 것에 대해 걱정하는 상사 또는 상사의 문제가 아니라고 가정합니다. 테스트에서 문제를 일으키는 코드를 거부하고 동료에게 문제를보고하십시오.
GrandmasterB

-1

주니어 개발자와 수석 개발자는 자신보다 더 나은 아이디어로 시도하고 접근하는 것이 너무 위험합니다.

이를 처리하는 가장 좋은 방법은 귀하의 상사에게 더 나은 방법을 시도하도록 설득하고 모든 코드가 특정 표준을 준수하고 피어 코드 검토를 통해 해당 표준에 적용되어야한다는 결정을 내릴지 여부를 확인하는 것입니다.

사람들의 상당 부분은 (자아 수준이더라도) 자신을 아는 자아 동기를 완전히 알지 못하더라도 (자아도 수준이 낮더라도) 혐오스럽고,이기적이고, 방어 적입니다. 어쨌든.

지휘의 사슬은 상사의 말을 듣거나 그를 좋아할 필요가 없기 때문에가는 가장 안전한 방법입니다. 상사가 나쁜 사람이되게하세요.

보스를 팔 수 없거나 보스 인 경우 버그를 처리하지만 코드에서 예를 들어 리드하십시오.


1
이것은 내가 요청한 것과는 완전히 다른 질문에 대답하고 있습니다. (a) 저는 주니어 개발자가 아닙니다. (b) 상사는 이미 대부분의 중요한 디자인 및 코드 결정을 나에게 위임합니다. / 기능적 혼합 패러다임, 및 (d) 내 질문의 본질은 그들이 공격 하지 않는 방식으로 주제에 접근하는 방법이었다 .
Aaronaught

1
@Aaronaught, a) "이 프로그래머는 나보다 상당히 나이가 많다"나는이 진술에서 당신이 그의 "주니어"라고 가정했다. b) 기술 책임자처럼 들리면 정보를 질문에 넣었을 때 내용이 크게 변경됩니다. c) 그가 모범 사례를 따르지 않고 코드가 버그가 없다면 문제는 무엇입니까? 왜 그에 대해 그에게 다가 가는가? 파손되지 않은 것을 고치지 마십시오. d) 품질이 좋지 않은 코드로 버그를 일으키지 않으면 다시 접근하지 마십시오. 실제 문제는 모든 사람이 준수해야하는 코딩 및 개발 표준이 없다는 것입니다.
maple_shaft

나는 "총이 타 오르고 찢어짐에 따라 코드 검토 및 엄격하게 시행되는 정책을 도입하는 것"에 대한 나의 언급에 의해 분명히 명확하게 암시되었다고 생각했다. ? 그리고 누가 우리에게 표준이 없다고 말했습니까? 그는 이전에 우리 팀과 함께 일한 적이 없으며 표준 에 대해 걱정하지 않고 표준을 소개하려고 합니다 .
Aaronaught

-1 질문에 대답하지 않았습니다.
HedgeMage

-1

당신은 할 수 없습니다.

사람들이 소프트웨어 개발에서 모르는 일을하도록 영감을 줄 수는 없습니다. 나는 내 경력에서이 일을 자주하려고 노력하면서 경험을 바탕으로 이야기하며, 결과적으로 회사의 눈에 내 자신의 지위가 줄어들게됩니다. 나는 주변의 개발 문화를 현대의 관행으로 향상시키기 위해 아무 일도 일어나지 않으면 좌절하거나 해고를당했습니다.

동료가 모르는 경우 동료에게 보여줄 수 있습니다. 그러나 그들이 더 나은 코딩 방법을 채택하기 위해 노력할만큼 숙련 된 소프트웨어에 대해 충분한 능력을 갖추거나 돌보지 못하기 때문에 당신이 할 수있는 일은 없습니다. 당신이 시도한다면, 그들은 그것을 이해하지 않고 그것을 무시하거나 뭉개 버릴 것입니다. 소리에서 그들이 이미하고있는 것 ( "시험 및 오류 개발", 즉 오류가 중단 될 때까지 코드에서 해킹하는 것) .


4
응답은 고맙지 만 몇 년 전이 유형의 "그냥 끝내"프로그래머 였기 때문에 믿기 어려웠습니다. 아무도 나에게 보여주지 않았다 – 나는 그것을 모두 스스로 발견해야했다. 그러나 충분히 설득력있는 지도자 (존재한다면)가 동일한 변화에 영향을 미쳤을 것이라고 확신한다. 그냥 있기 때문에 일부 사람들은이 모든 것을 배울 독립적으로 반드시 의미하지는 않습니다 모두 다른 사람이 잃어버린 원인이다.
Aaronaught

2
사실이지만, 내 경험상 사람들이 개선에 관심이 있다면 욕망이 이미 있기 때문에 영감을 얻기 위해 동기 부여가 거의 필요하지 않습니다. 나는 같은 방식이었다. 나는 일을하는 나쁜 방법을 배웠고 "더 나은 방법이 있어야한다"고 연구를 시작했습니다. 내가 비록 본 적이 것은 개선 할 수있는 욕망을 개선하거나 표시하지 않는 사람들이 있습니다 그들은 개선 싶지 않기 때문에 원인을 잃었다. 즉, 나를 잘못 증명하는 행운을 빕니다 :)
웨인 몰리나

1
나는 그것들이 입증되어야 할 종류의 진술이라고 생각합니다. 나는 당신이 실패한 것과 (그리고 그것이 실패한 이유와 관련하여) 실제 경험을 듣는 것에 더 관심이 있습니다.
Aaronaught

1
예를 들어 " 오래된 개, 새로운 트릭 " 과 같은 경우도 있습니다. 기술이 어떻게 데이터 검색 효율성을 800 % 높이고 동료가 어깨를 으 rug하는지 설명해보십시오.
IAbstract

2
요점은, 그렇게 할 수 있고 사람들이 당신을 따라갈 것이지만, 계층에서 더 높은 순위를 매길 필요가 있다는 것입니다. 대부분의 팀에서 간단한 개발자로 할 수는 없습니다. 많은 동료들은 계층 구조가 높은 사람 에게서만 조언을받을 수 있습니다. 당신이 같은 수준에 있다면, 그들은 상처와 공격을 느낄 것입니다. 존경은 이루어진다는 것을 기억하십시오. 당신이 그들을 잘 대우하고 친절하고 유쾌하게 의사 소통한다면, 당신도 같은 수준에 있다면 효과가있을 수 있습니다.
팔콘
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.