프로그래머라면 팀워크가 부족한 것이 얼마나 나쁜가? [닫은]


17

나는 아직 학교에 다니고 있으며 다른 사람들을 다루는 데 문제가 있다는 것을 알고 있습니다.

나는 화를 내거나 부끄러워하거나 다르지 않습니다. 나는 다른 사람을 존중하면서 내 방식대로 일하고 싶습니다. 지식에 대한 큰 호기심과 굶주림이 있지만 연습이 부족하고 사람들이 일하고 싶지 않은 것 같아요 그들은 내가 어떤 종류의 사기에 대해 이야기 할까봐 두려워 할 수 있기 때문에 나와 함께. (예를 들어 Windows를 많이 사용하더라도 Windows 대신 Linux를 사용하여 프로그래밍을 배우기 시작했습니다. Mac이 있습니다.)

팀워크가없는 프로그래머에게는 어떤 일이 발생합니까? 문제는 어디서 시작됩니까? 좋은 프로그래머가되는 것은 최소한 조금 보상합니까? 프로그래머가 자신이하는 것을하는 대신 자신의 작업에 대한 비전을 갖는 것이 정상입니까?


17
오늘날의 세계에는 의사 소통과 팀워크 기술이 중요하지 않은 직업이 없습니다.
Fanatic23

2
문제가 있음을 인정할 수있는 것이 문제를 해결하기위한 첫 번째 단계이며, 너무 늦기 전에이를 알고 있다는 것은 좋은 문제입니다!
크리스

답변:


16

당신의 행동은 나이에 꽤 흔합니다. 나는 당신과 같았습니다.

좋은 소식은 대부분 좋은 방향으로 진화한다는 것입니다. 팀 내에서 자신을 통합하는 방법을 배우게됩니다. 당신은 이것을 좋아하게 될 것이다! 그러나 나는 그것을 만들 수 없었고 지금 붙어있는 일부 사람들을 우울증입니다.

회사의 관리 스타일에 따라 팀에 의해 거부되거나 잠시 후에 해고됩니다. 따라서 어려움을 겪을 준비가되어 있어야합니다.

프랑스의 가장 일반적인 경영 스타일은 두려움과 처벌에 근거합니다. 개인주의를 장려하기 때문에 좋은 소식이 아닙니다. 그래서 그것은 당신의 행동을 장려합니다.

즉, 이미 문제가 있다는 것을 알고 있으므로 외부의 도움없이 진화해야 할 모든 것을 가지고 있음을 알 수 있습니다. 첫 번째 단계는 알고 있습니다. 가장 어려운 두 번째 방법은 그에 따라 행동하는 것입니다.


1
나는 Steven을 좋아하기 때문에이 답변에 굵게 사용하지 않기로 결정했습니다.

15

작업에 필요한 사항에 따라 다릅니다. 때로는 특정 과제를위한 팀이 없을 수도 있습니다. 그러나 대부분의 경우 관리자가 있습니다.

또한 팀을 구성하는 것은 때때로 쓰레기 코드를 작성한다는 사실을 상기시켜줍니다.:

소프트웨어 개발자는 자신의 최악의 적입니다. 당신이 그것을 빨리 알게 될수록 더 나아질 것입니다. - 제프 애트우드

즉, 팀을 구성하면 더 쉽게 학습 할 수 있습니다! 외로움을 느끼면 은둔자가 될 것이다.)


2
+1 훌륭합니다. 유일한 개발자는 틀에 박힌 채 실제로 환상적이지 않다는 것을 잊어 버립니다.
오후

15

팀워크가없는 프로그래머에게는 어떤 일이 발생합니까?

그런 다음 단일 프로그래머에게는 너무 큰 프로젝트에서 작업하기가 어려워집니다. 솔로 프로그래머에게는 어렵고 나머지 팀에게는 어려움이 있습니다.

문제는 어디서 시작됩니까?

모든 종류의 장소. 현재 팀의 일원으로 일하는 데 나쁜 프로그래머가 한 명 있습니다. 그는 버그를 수정하는 데 너무 좁게 집중되어 있기 때문에 나머지 응용 프로그램에 나쁜 영향을 미치는 지름길을 만드는 경향이 있습니다. 또는 나머지 응용 프로그램과 호환되지 않는 방식으로 새 기능을 작성하십시오. 그의 모든 코드 체크인이 팀의 나머지 부분에 의해 검토되도록 사물을 재정렬해야합니다. 그러나 그를 단념하지 않기 위해 우리는 다른 사람의 코드 체크인도 검토하므로 아침 상태 회의와 함께 점심 식사 후에는 아무런 작업도 수행하지 않습니다. 따라서 우리 사무실에서는 한 사람이 팀 작업에 열광하기 때문에 4 명이 매일 1/2 일의 작업을 잃고 있음을 의미합니다. 이전 모험보다 개선되었다고 말할 수는 없습니다. 우리는 일을 일주일에 1 주일 정도 (보통 새로운 버그를 쫓는) 잃어 버릴 수 있기 때문에 (우리는 이것을 "로버 스트"라고 부릅니다). 그의 코드에 대한 수정 중 일부는 응용 프로그램이 얼마나 엉키고 지저분 해 졌는지에 따라 수십 개의 버그를 제거합니다.궤도에서 핵을 날리고 다시 시작할 수 있습니다 .

우리가 관대 한 분위기에있을 때, 우리는 그를 "헤드 다운 프로그래머"라고 부릅니다. 그는 다른 사람들이하는 일에주의를 기울이지 않습니다.

좋은 프로그래머가되는 것은 최소한 조금 보상합니까?

아닙니다. 팀 플레이어가 나쁜 대부분의 프로그래머는 자신의 기술에 대해 매우 높은 의견을 가지고 있으며이를 Dunning-Kruger 효과 라고합니다 . 종이의 PDF .

아마도 : 솔로 프로그래머는 다른 팀보다 훨씬 나을 필요가있을 것입니다. 그러나 이것은 다른 누구도 자신이하는 일을 유지할 수 없다는 것을 의미합니다. 그리고 이것이 일어날 때, 아마도 솔로 프로그래머가 다른 팀보다 실제로 나아지지는 않을 것입니다.

비즈니스 소프트웨어 개발에서 회사는 당신이 떠난 지 오래 될 것입니다. 프로그램은 시작하기 전에 작성되었을 가능성이 높으며 퇴근 후에도 계속 유지 될 것입니다. 다른 사람이 이해할 수 없을 정도로 특별하고 놀라운 것을 쓰면 Naughty Dog가있는 상황에 처하게됩니다 . 그들의 수석 개발자는 그 사람이 쓴 독점 프로그래밍 언어를 이해하지 못합니다. 이제 모든 것을 C ++ 로 전환 해야합니다.

프로그래머가 자신이하는 것을하는 대신 자신의 작업에 대한 비전을 갖는 것이 정상입니까?

교통 체증이나 당뇨병과 같은 것이 일반적입니다. 나는 그것을 정상이라고 부르지 않을 것입니다. 기업 세계에는 고려해야 할 다른 많은 것들이 있습니다. 많은 개발자들이 일반적으로하는 강한 자아는 개발자에게 다른 것이 중요하지 않다고 생각하게합니다. 이러한 "적합 부족"과 나머지 비즈니스에 대한 배려 부족은 소프트웨어 관리자가 작업하기 어려운 많은 관리자 유형의 결론에 도달하는 이유입니다.


예, 나는 이미이 효과가 어떤 과학자보다 어떤 이름을 가지고 있는지 모른 채이 효과에 대해 생각했습니다. 이 시점에서 당신은 의심스러운 천재인지 오만한 바보 같은 사람인지 알 수 없습니다. 나는 거만하다고 생각하지 않지만,이 세상에 많은 혼란과 어리 석음이 있다고 생각함으로써, 이것이 거만하다는 것을 알지 못합니다. 나는 내가 옳다는 것을 명시 적으로 선언하지 않는다는 것을 알고 있습니다. 적어도 나는 질문으로 물건을 표현하므로 사람들은 자신의 생각을 표현할 수 있습니다. 링크 된 목록이 궁극적 인 종류의 데이터 구조라고 들었을 때 회의적이지만 오만하지는 않습니다.
jokoon

코드 검토에 시간을 낭비하는 것은 조금 힘든 일입니다.
jfs

5

배울 수있는 기술입니다. 지금 배우거나 (다른 사람들과 함께 일하려고함으로써) 직장에서 어려운 방법을 배울 수 있습니다. (저는 전자를 제안합니다.)

다른 사람들과 함께 일할 수 없다면 큰 시스템을 구축 할 수 없습니다. 당신은 또한 당신보다 똑똑한 사람들과 함께 일할 수 없습니다. 즉, 많은 것을 배우거나 빨리 배울 수 없습니다.


3

좋은 프로그래머라면 조금만 보상 할 수 있습니다. 업계에서 16 년 동안 함께 일한 모든 최고의 프로그래머는 사람들과 함께 할 수있었습니다. 자연스럽게 그들에게 오지 않았을 지 모르지만 그들은 그것을 관리했으며 절대적으로 핵심 기술이었습니다. 참을 수 없었지만 정직하게 말한 사람들은 그다지 많지 않았습니다.

저에게있어 다른 사람들과 협력 할 수있는 주요 영역은 사용자와 분석가들입니다. 잘못된 것을 코딩하고 있다면 제품을 정의하는 사람들과 좋은 관계를 유지하는 것이 얼마나 중요한지 코딩하는 것이 중요하지 않습니다.

첫 번째 단계는 자신에 대해 조금 더 이해하는 것입니다. 당신은 다른 사람들의 의견을 존중한다고 생각하지만 이것이 사실입니까? 그렇다면 왜 문제에 대해 도덕적 입장을 취하는 경향이 있음을 암시합니까 (타인의 견해를 존중하는 것과 반대되는 경향이 있습니까)?

일반적으로 다른 사람들과 함께하는 것은 옳고 그른 사람을 무시하고 (80 %의 상황과 관련이 없다고 생각하는) 사람을 무시하고 프로젝트를 진행시키는 모든 일에 집중하는 경향이 있습니다.


3

오늘날의 전문 소프트웨어 개발은 ​​주로 팀의 노력입니다. 최고의 소프트웨어는 새로운 아이디어를 공유하고 높은 협업을 통해 만들어지며 외로움에 시달리지 않습니다. 코더 카우보이 이상은 팀에 알려진 장애물이다. 실제로, 그것은 팀워크의 완전한 반대입니다.

예, 팀 환경에서 팀 기술이 좋지 않은 것은 매우 나쁩니다. 그러나 정직하게 작업 할 의향이 있다면, 훌륭한 코딩 기술을 갖춘 훌륭한 팀 기여자가되지 않을 이유가 없습니다!


3

다른 사람들은 이미 내가 말하려는 내용의 대부분을 다루었으므로, 나는 이것을 덧붙일 것입니다. 단지 당신이 의견이나 비전을 가지고 있다고해서 당신이 옳거나 당신의 접근 방식이 최선이라는 것을 의미하지는 않습니다. 다른 사람들이 의견이나 비전을 가질 가능성에 대해 마음을 열면 다른 사람들로부터 많은 것을 배울 수 있습니다.

팀워크는 모든 사람들의 의견을 모아 관련된 사람들의 집단적 경험을 바탕으로 만들어지고 한 사람이 고려하지 않은 결함을 해결하는 것입니다.

그것은 내가 그 직업에서 배운 첫 번째 교훈 중 하나 였고, 그 후 더 나은 프로그래머가되었습니다.


2

다른 사람들과 공동 작업을 할 수없고 자연적으로 태어난 코딩 천재가 아닌 경우, 기본적으로 사소한 프로젝트를 수행하기 위해 자신을 차단합니다. 버스 요인을 낮추는 것 외에는 팀이 없기 때문입니다.

물리적 인 접촉이 마음에 들지 않지만 재택 근무 나 오픈 소스 메일 링리스트에서 잘 작동한다면, 그러한 기술을 전문적으로 다루어야합니다.


2

불행히도 이것은 큰 프로젝트에서 작업하는 것이 드물고 팀에서 작업 할 필요가 없기 때문에 약간의 문제가 될 수 있습니다. 프로젝트를 상호 의존적으로 작업하더라도 일반적으로 모든 팀워크로 돌아 오는 최종 사용자와 더 밀접하게 작업해야한다는 것을 알게 될 것이므로 매우 중요합니다.

그러나 다른 사람들이 지적했듯이 이것은 학습 가능한 기술이며 어느 정도 노력을 기울이면 가능합니다. 일반적으로 미국의 대도시에서는 리더십 기술을 개발하기 위해 이수 할 수있는 몇 가지 과정이 있습니다. 그러나 훌륭한 리더가되는 것의 일부는 또한 좋은 추종자가되어서 그러한 기술도 개발됩니다. 마찬가지로, 공공 장소에서 효과적으로 의사 소통을하는 것은 때때로 사람들이 연습해야하고 팀워크 기술과 관련이있는 기술이지만 때로는 의사 소통을합니다. 효과적으로 의사 소통을 할 수없는 사람은 "팀 선수"가 아닌 것으로 언급 될 수 있습니다 의사 소통 기술을 조금만 연구하면됩니다.

그러나 팀과 함께 일하는 대부분의 부분은 자신을 어느 정도 알고 자신과 다른 사람들과 편안하게 느끼기 때문에 때로는 심리학 자나 상담사와 상담하여 개선 할 수있는 것이 있는지 알아 보는 것이 좋습니다 다른 사람들과 함께 일하는 것과 관련하여.

귀하의 경력 전체와 관련하여, 여기 미국에서, "일하기 어렵다"또는 "팀 선수가되지 않는다"는 평판은 장기적인 직업 전망에 매우 해로울 수 있으며, 추측 할 위험이 있습니다 대부분의 다른 나라에서도 마찬가지입니다. 이는 또한 어떤 분야에서 일 하느냐에 따라 다른 회사 나 다른 산업으로 이동하지 않고 설립되면 흔들리는 것이 어렵다는 평판입니다.


2

당신은 좋은 학습자이므로, 어떤 사람들은 이미 알고 있어야 할 것이 하나 더 있습니다.

  • 모든 사람은 다르며 모두 귀중합니다.

독립적 인 시간이 있고 함께 모이는 시간이 있습니다. 둘 다 중요합니다.

학교에 다니기 때문에 호기심을 발휘하고 새롭고 다양한 방법으로 일을 할 수 있습니다. 좋은 것입니다.

소프트웨어 팀과 협력 할 때 좋은 아이디어를 제공 할 수 있습니다. 일부는 허용됩니다. 일부는 그렇지 않습니다. 그런 다음 모두 "어깨에 바퀴를 꽂아"작업을 완료하십시오. 그것은 또한 좋은 것입니다.

프로젝트에 대한 나의 경험은 사람들이 여전히 큰 그림에 초점을 맞추려고 할 때 처음에는 그룹 사기가 낮다는 것입니다. 그런 다음 목표를 향한 진보가 이루어지면서 사기가 꾸준히 증가합니다. 마지막으로 당신의 "아기"가 "태어나"면서 매우 높습니다. 그것은 당신이 놓치고 싶지 않은 것입니다.


+1 끝으로 당신의 "아기"가 "태어나 기"때문에 매우 높습니다. -마지막 프로젝트에서 나는 정확히 이런 식으로 느끼고 있었다 :-).
Oliver Weiler

@ 도움말 : 예. 내가 말을하지 않은 것은 : 당신이 다음 단계를 시작으로 다시 저에게 돌아갑니다이다
마이크 Dunlavey

그러나이 소중한 순간은 우리가 프로그래머 인 이유입니다.
Oliver Weiler

2

나는 (많은 사람들이) "작업하기가 매우 어렵다"고 여겨지는 많은 훌륭한 프로그래머들을 생각할 수있다.

이 산업에서, 우리 중 상당수가 역량과 역량을 설명하는 능력이 중요하다고 생각하고 가정합니다. 결국, 우리는 돈을 벌기 위해 몇 가지 과제를 수행하기 위해 일하고 친구를 사귀는 것은 부차적입니다.

인생의 어느 시점에서, 당신은 두 가지 중 하나를 깨달을 것입니다 :

  1. 당신은 당신의 행동에도 불구하고, 당신의 기술 (그리고 당신의 지식을 표현할 수있는 능력)은 모든 논증을 끝내기 때문에 당신이 원하는대로, 욕설, 철회, 반사회적, 냉소적 또는 무례한 위치에 있습니다.

  2. 당신은 다른 모든 사람들과 마찬가지로 팀 환경에서 일할 수 있어야하며, 지식을 잘 표현하는 기술과 능력이 대부분의 논증을 타인의 타인의 틈, 철회, 반사회적, 냉소적, 무례한 행동을 참을 수 있습니다.

이 의문을 제기하는 경우에, 나는 당신이 볼 생각 몇 가지 이 팀 환경에 합당하게 참여하는 데 가치가 하며 아마도 '그것을하기 위해 그것을하는 것'은 가능성을 탐구하기에 충분한 변명입니다.

나는 또한 당신과 많이 같습니다. 나는 혼란을 싫어합니다. 사람들을 방해하고 해고하지 않는 법을 배우는 데 5 년이 더 걸렸습니다. 또한 1 년 동안 혼자서 할 수있는 것보다 한 달 만에 더 많은 것을 배운 팀에서 일했습니다. 이 때 당신은 당신의 주위에 사람들이 원하는 것은 이상하지 않다 당신이 표시하거나 논의하기 위해 뭔가 흥미를 가지고?

아직 보지 못했다면 영화 " Real Genius "를 시청하십시오 . Lazlo Hollyfeld에 특별한주의를 기울이 십시오 . 열린 마음으로 팀에 뛰어 들어 잠옷을 빌리십시오.


2

일이 어떻게되어야하는지에 대한 강한 의견을 갖는 것은 잘못이 아닙니다. 훌륭한 프로그래머라면 누구나 충분합니다. 그러나 스스로에게 물어볼 필요가 있습니다. 왜이 코드를 작성합니까?

그것이 당신 자신의 오락을위한 것이며, 모든 일을 스스로 할 수 있다면, 원하는대로하십시오. 그러나 다른 사람들이 사용하기 위해 또는 도움이 필요하거나 지루해지면 다른 프로그래머가 도움을 줄 것으로 기대하는 경우 다른 사람들의 요구와 개념을 고려해야합니다.

비전을 갖는 것이 좋습니다. 그러나 다른 사람들이 당신의 비전을 공유하도록 설득 할 수 있다면 그것은 실제로 차이를 만듭니다. Gates, Jobs 및 Torvalds는 모두 많은 사람들에게 서비스를 제공하는 제품을 만들고 비전으로 구매하도록하여 비전을 실현했습니다. 순전히 당신의 방식으로 일하는 것이 더 순수하고 만족 스럽지만 비용이 많이 듭니다. 당신은 볼테르가 말했듯이 완전이 선의 적이되도록 내버려 둘 수있다 ( "Le mieux est l' ennemi du bien").


1

팀워크는 소프트웨어 엔지니어링의 중요한 부분입니다. 혼자 일하는 경우 다른 사람들의 태도와 사람들이 당신에게 기대하는 것에 신경을 쓰지 않을 수 있습니다. 그러나 다른 사람과 함께 일한다면 함께 일하는 것이 중요합니다. 소프트웨어와 관련하여 팀워크가 의미하는 것은 실제로 ' 잘 의사 소통 '하는 것입니다. 동료를 존중하고 모든 아이디어에 관대하십시오. 괜찮습니다.


1

무언가를 믿으면 말하고 의미를 부여하지만 한 번 잘못되거나 비 위임 된 것으로 받아들이면 그것을 통해 배우십시오. 팀워크는 항상 동의하는 것이 아니라 주어진 상황과 시간대에서 최상의 솔루션을 얻을 수있는 방법을 찾는 것입니다.


1

당신은 단지 노동력에 들어갈 준비를하고 있기 때문에, 나는 다른 것을 지적 할 것입니다.

엔트리 레벨 프로그래머는 절대 슈퍼 스타가 아닙니다. 당신은 다른 사람들보다 낫다고 생각하는 직장에 갈 수 없습니다. 당신은 당신의 레벨에서 다른 사람들과 경쟁하고 있습니다. 그래서 당신은 생각할 수 있습니다. 나는이 사람들보다 낫습니다. 나는 훌륭한 프로그래머 여야합니다.

그러나 10 학년의 전문적인 경험을 가진 사람이 알고있는 것을 학교 밖에서 새로 온 사람은 알지 못합니다. 당신은 아직 그것을 모른다. 지금은 많은 경험을 가진 모든 사람이 슈퍼 스타라는 것을 인정하지 않으며, 엔트리 레벨이라고해서 괜찮은 프로그래머가 될 수는 없습니다. 그것은 당신이 다른 사람들보다 조미료가 적고 슈퍼 스타가 될 수 없다는 것을 의미하지는 않습니다 (일부는 슈퍼 스타가 아니지만 결코 괜찮습니다).

그러나 팀에서 가장 후배가 아닌 사람이 될 때까지 아이디어를 구현할 수있는 능력이 없습니다. 그 신뢰성을 얻으려면 팀 플레이어 여야합니다. 비즈니스 도메인과 비즈니스 운영 방식에 대해 알아야합니다. 개인의 필요와 욕구는 직장 대부분의 장소와 관련이 없음을 이해해야합니다. 특정 직무를 수행하고 결과를 산출하기 위해 고용 될 것입니다. 당신이 그들 중 일부를 생산할 때까지, 사람들은 당신이 옳더라도 당신이 제안한 것에 회의적 일 것입니다. 대화를하려면 먼저 보행을 걸어야합니다.


나는 슈퍼 스타가되는 것에 관심이없고, 하나가 아닌 것에 대해서는 신경 쓰지 않습니다. 나는 사고 방식과 사람들이 그런 것들을 어떻게 생각하고 선호하는지 생각하는 것을 선호합니다. 그것은 다른 것보다 그 사업에서 일어나는 일에 대한 의견과 지식에 관한 것입니다. 나는 한 프로그래머가 다른 프로그래머보다 더 낫다고 생각하지 않는다. 왜냐하면 그가 증명 한 것이기 때문에 사람들은 그 점들을 무시하려고 노력해야한다고 생각한다.
jokoon

예를 들어, 어느 날 나는 "C ++의 어두운면"이라는 종이를 읽었고 호기심 많은 사람들이 그것을 읽기로 결정하기 위해 네트워크 드라이브에 넣기로 결정했습니다. 우리의 프로그래밍 교사는이 논문에 대해 논평하고 잘 읽었다 고 생각했습니다. 내가 다른 프로그래머보다 더 가치가있는 것은 중요하지 않지만, 내가 가진 호기심이없는 다른 사람들을 가르치는 데 훌륭한 원천이 될 수 있음을 보여줍니다.
jokoon

0

당신은 혼자 일하게 될 것입니다.
팀 작업의 이점 :
1- 대화식 도움말 : 몇 시간 / 일 동안 문제가 발생하지 않습니다.
2- 당신은 책 / 온라인 자습서, 포럼에서 찾을 수없는 것들을 배울 것입니다.
3- 경쟁 : 팀원을이기려는 동기 부여.
4- 토론 : 몇 시간 동안 책과 블로그를 읽는 것이 좋습니다.

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