어떡해? 어떻게 반응하겠습니까? 도움! [닫은]


13

뒤쳐져있는 소프트웨어 팀을 이끌려 고합니다. 주요 문제 중 하나는 무언가가 약간 어려울 때마다 나 자신에게 할당해야한다는 것입니다. 나는 적당한 기술과 반 인턴을 가진 다른 개발자를 가졌습니다. 불행히도 다른 개발자의 기술에는 디자인이 포함되어 있지 않습니다.

그래서 다른 팀들 중 한 녀석들에게 사장님에게 간청했습니다. 그는 저보다 5 년 더 오래 일했습니다. 그는 디자인이나 우리가 사용하는 언어에 대해 나와 경쟁 할 수 없지만, 나 자신 외에 가장 유능하다고 생각했습니다.

오늘 그는 나에게 가장 다른 것이 아닌 코드를 주었다.

object const& my_class::get_object() const 
{ 
  return *std::unique_ptr<object>(new object());
}

그는 그것이 문제인지 나에게 물었다! 내가 생각할 수있는 유일한 것은 "예. 문제입니다."라고 말했습니다. 그런 다음 그는 내 책상에 와서 고치는 방법을 묻는다 !! 나는 "함수 호출에서 살아남은 객체를 사용한다"고 말했다. 그리고 나서 그는 놀라기 시작했다. "그렇지만, 내가 생각할 수있는 유일한 것은 멤버 변수를 만드는 것입니다."

나는 이미 여분의 일을하기 위해 노력하고 있었기 때문에 약간 바빴습니다. 왜냐하면 그는 그것을 알아낼 수 없었기 때문에 팀의 다른 사람을 대신해야했습니다 ... 바빴고 스스로 알아 내야했습니다. 그런 다음 그는 물건을 망치면 어떻게 잘못이 아닌지에 대해 이야기합니다. 그는 팀에 들어온 이후 겁이 나고 더 나아질 것 같지 않습니다.

나는 여기서 익사하는 느낌이 든다. 내가 할 수있는 일은? 그것을 처리하는 올바른 방법은 무엇입니까? 7 년 동안 C ++를 작성해온이 사람이 돌아 오는 순간 파괴되지 않는 객체에 대한 참조를 올바르게 반환하는 방법을 알아내는 것이 더 합리적 이었을까요? 나는 그게 어리석은 짓이라고 생각하고 내가 어떻게 그런 짓을했는지 궁금해합니다.

때때로 나는 그들이 의도적으로 그것을하고 있다고 생각하지만 그것은 저에게 엉망이되는 것처럼 보입니다 ... 그러나 다시, 그래서 오늘 방금 질문 한 것이 있습니다. 이것은 집에 앉아 그의 첫 번째 프로그램을 알아 내려고 그의 머리를 포인터로 날려 버리는 어린이가 아닙니다.


4
비명!!! 그리고 난리를 타십시오. 기분이 좋아집니다. 아 잠깐만, 네가 벌써 그랬어 웃어보십시오. :) : D (사악한 미소도 괜찮습니다.> : D)
Mateen Ulhaq

그는 "중단하지 말아야 할 강한 욕망"이 있었기 때문에 계속 이메일을 보내지 못하고 다른 프로젝트로 돌아가고 있다는 이메일을 보냈습니다. p

7
왜 C ++ 프로젝트에서 작업하는 포인터와 메모리 관리에 대해 조금도 이해하지 못하는 사람이 있습니까?
Charles Salvia

2
한 가지 가능한 설명 : 수년간 대중의 지혜는 STL이 프라임 타임에 준비되지 않았으며 프로덕션 용도로는 너무 부풀어 오른 코드를 생성한다는 것입니다. STL에 대해 전혀 알지 못한 채 비교적 복잡한 C ++ 프로그래머가 될 수있었습니다. 분명히 상황이 바뀌 었습니다. 그러나 90 년대 후반에 훈련을 받았거나 90 년대 후반에 훈련을받은 사람에 의해 멘토링을 받았다면, 새로운 객체 ()를 좋아할 수도 있지만이 새로운 표준에 의해 완전히 풀리지 않을 것입니다 :: unique_ptr <object> () 것. 문제를 해결하지 못하지만 그가 어디에서 왔는지 설명 할 수 있습니다.
Charles E. Grant

2
@Charles : 게임 업계에서 수년간의 C ++ 경험을 가지고 있으며 STL을 만지거나 그것에 대해 아무것도 알지 못했습니다. 위의 코드 스 니펫을 보면서 머리를 흔들고 생각하면 "C ++을 작성하고 C ++ 을 작성하고 싶지만 C ++을 작성하고 싶지 않은 것처럼 보이는 이유는 무엇입니까? 언어?"
Carson63000

답변:


14

7 년 동안 C ++를 작성해온이 사람이 돌아 오는 순간 파괴되지 않는 객체에 대한 참조를 올바르게 반환하는 방법을 알아내는 것이 더 합리적 이었을까요?

나는 몇 년 전 모든 C ++ 서적을 버렸고, 나는 그 언어를 다시는 만지지 않을 것이라고 맹세했으며, 심지어이 사람이 자신이 무엇을하고 있는지 모른다고 말할 수 있습니다. 나는 당신이 그와 함께 앉아 그의 기술 수준이 무엇인지 알아야한다고 생각합니다.

아마도 7 년의 경험이 아닌 1 년의 경험을 7 번 가진 것 같습니다. 대기업에서는 숙련되지 않은 작업자가 자신을 숨기고 "시스템 주변"을 뒤섞을 수 있습니다.

뒤쳐져있는 소프트웨어 팀을 이끌려 고합니다. 주요 문제 중 하나는 무언가가 약간 어려울 때마다 나 자신에게 할당해야한다는 것입니다.

이 경우 사람들의 기술 수준을 파악하고 중단해야합니다. 마감일 등에 압도당하는 느낌이 들지만 팀 구성을 확신 할 수없는 경우 업무를 수행 할 수 없습니다. 이번에도 같은 실수를 계속하면 프로젝트를 완료 할 수 없습니다.

자신의 모든 작업을 수행한다는 것은 팀이 없거나 팀에 대한 자신감이 없다는 것을 의미합니다. 먼저 수정해야합니다.


7
"1 년 동안 7 번 경험 한 것 같은 소리"에 +1
Matthew 읽기

@Matthew : 그렇습니다.
IAbstract

13

이런 종류의 문제는 관리의 빵과 버터입니다. 모든 관리자가 요구해야 할 한 가지 질문은 "내 직원이 업무를 수행하는 데 필요한 기술이 있습니까?"입니다. 대답이 "아니오"이면 훌륭한 관리자는 소리를 지르거나 종료하지 않습니다. 좋은 관리자는 상황을 바로 잡습니다.

C ++은 사소한 언어가 아니므로 주니어 개발자가 더 유능한 것을 사용할 수 있습니까? C ++ 이어야 한다면 기존 개발자를 훈련 시키거나 적절한 기술을 가진 새로운 개발자를 고용해야합니다.

나는 1 년 전에 다른 상황이 아니었다. 스파게티 코드 작업을하는 VB6 프로그래머 팀을 이끌게되었고 관리의 요구는 .NET으로 작성된 잘 설계된 객체 지향 시스템으로 전환하는 것이 었습니다. 우리는이 분야에서 훌륭한 진전을 이루었습니다. 그래서 이런 종류의 변화 가능합니다.

하나의 마지막 의견. 이런 종류의 문제를 다루고 싶지 않다면 경영진에서 벗어나 순수한 기술적 역할로 돌아갈 것입니다. 이러한 종류의 지저분한 프 롤렘은 관리자의 삶의 빵과 버터이며 모든 사람에게 적합하지 않습니다.


4
이것은 많은 직원들이 가지고 있지 않은 경영진의 좋은 예입니다.
Mark C

네, 저는 경영진이 아닙니다. 때때로 나는 내가이 문제들에 대해 더 일할 수 있기를 바랐다. 다른 시간에 나는 필요하지 않기 때문에 정말 기쁘다. 나는 단지 기술 책임자입니다.
Edward Strange

1
안녕하세요 노아, 저는 팀을 관리하는 사람과 대화를 나 d습니다. 올바른 사람들이 사용 가능하고 올바른 기술을 갖도록해야합니다.
Craig Schwarze

9

유능한 사람들과 함께 일할 수있는 더 나은 회사에서 일자리를 얻으십시오.


7
또는 C ++ 사용을 중지하십시오. 이것은 많은 다른 종류의 불쾌한 오류를 해결할 것입니다.
메이슨 휠러

3
@Mason : 동의합니다. 모두 C #을 쓰고 행복합니다. :)
IAbstract

2
C ++는 C ++가 적절한 경우에만 사용해야합니다. 나는 C ++의 작업뿐만 아니라 수행 할 수있는 기존 언어가 없다는 것을 알고 있습니다.
Matthew 읽기

2
OP의 예에서와 같이 무능한 프로그래머와 함께 @Matthew는 C ++이 적합 할까?
Dan Rosenstark

4
@Yar : 나쁜 프로그래머는 모든 언어로 나쁜 코드를 작성하지만.
Jon Purdy

7

문제는 그를 도와주는 것이 옳았을 것입니다. 바로 그 자리에있을 필요는 없습니다. "지금 당장 묶여 있습니다. C ++ STL의 X 장을 읽고 내일 오전 11시에 다시 연락해 봅시다."

외침은 동기 부여의 문제인 경우 일부 사람들과 일부 상황에서 효과적 일 수 있습니다. 그러나 그것이 능력이나 지식의 문제라면 사람들에게 고함을 지르고 날려 버리는 것이 전혀 도움이되지 않습니다. 영어를 못하는 사람들에게 소리 치는 것과 같습니다. 그것은 당신이 말하려는 것을 이해하는 데 도움이되지 않으며, 그들이 당신을 돕기 위해 노력해야하는 동기를 죽일 수 있습니다. 그것들은 그들이있는 곳에 있으며, 앞으로 48 시간 안에 C ++를 작성하는 데 더 좋은 분노 나 좌절이 없을 것입니다. 또한 경영진으로 돌아가서 프로젝트 범위가 현재 팀의 기술 범위를 벗어났다고 설명해야 할 수도 있습니다. 이와 같은 것은 팀 리더가되는 것이 어려운 일입니다.


나는 소리 치지 않았다. 방금 말 했어요. 지금 바빠요. 나는 그를 날려 버렸다.
Edward Strange

3
@Noah, 나는 거기에 없었습니다. 그러나 좌절감을 느끼는 사람들은 어리석은 일을하는 것보다는 고의적으로 바보 같은 일을하고 있다고 생각하는 사람들은 움켜 쥐는 이빨을 통해 매우 긴장된 목소리로 말하는 경향이 있으며, 웃고 멍청이라고 생각합니다. 다른 사람도 스트레스를받을 수 있습니다. "약 10 분 후에 다시 올 수 있을까요?" "사무실에서 쓰레기를 꺼내 라! 팀 리더가되는 것은 종종 신체 언어 및 음성 톤을 통한 영장류 행동 조작에 관한 것입니다.
Charles E. Grant

3

글쎄, 7 년 동안 코드를 작성해 온 사람이 꽤 기본적인 소리를 낸다면, 다른 일이 무엇인지 궁금해야 할 것입니다. 저는 C ++ 프로그래머가 아니기 때문에 그 점에 대해서는 언급 할 수 없습니다.

내가 알고 싶은 것은 그의 상사로서 다른 일이 진행되고 있다면 그를 산만하게하는 것입니다. 그때는 시간이 없었을 수도 있지만, 마지막으로해야 할 일은 누군가를 그런 식으로 밀어내는 것입니다.

그와 대화 할 순간을 따로두고 그에게 알려주십시오. "저의 긴급한 상황을 이해하고 있지만 지금은 시간이 없습니다. 최대한 빨리 알려 드리겠습니다. 약 1 시간을 넘지 않아야합니다. "

이런 식으로 당신은 그의 시급함에 대한 이해를 전달했으며, 시간이 없으며, 그와 함께 돌아올 것입니다. 당신이 그와 함께 돌아올 의 기대만큼이나 . 그는 멀리 나가는 것보다 훨씬 나아질 것입니다 (그것이 내가 그것을 취할 것입니다).

지금해야 할 일은 시간을내어 문제에 대해 이야기 할 수있는 시간을 알려주십시오. 뒤로 물러서서 자부심을 가지고, 상대방에게 당신이 자신의 긴급 성을 이해하고 그것을 처리 할 시간이 없다는 것을 알게하십시오. 또한 개인 영역에 관심에 영향을 줄 수있는 것, 즉 다른 사람이주의를 산만하게 할 수있는 것이 있는지 확인해야합니다. 개인 생활도 프로그래머에게 영향을 미칩니다. ;)


2

상사와 함께 앉아서 설명 해줘야한다고 생각합니다. 그 소리가 들린다-기본을 모른다면 그 남자가 무엇을하고 있는가?

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