슈퍼 프로그래머 같은 것이 있습니까? [닫은]


14

슈퍼 프로그래머를 만나 본 적이 있습니까? "정상적인"숙련 된 / 훌륭한 프로그래머와 비교하여 그와 그녀를 어떻게 동일시합니까?

또한. 자신이 최고 프로그래머라고 믿는 팀원을 어떻게 대합니까? 그가 실제로 또는 그렇지 않은 경우 둘 다?

편집 : 흥미로운 모든 입력 감사합니다. 몇 가지를 수집 할 수 있습니다.

몇 가지 정의가 나타났습니다. 너무 현지화 된 정의 (저자 나 그들의 지인을 슈퍼 프로그래머로 식별 한)를 무시하면서 몇 가지 정의를 좋아했습니다.

  1. Thorbjørn의 정의 : 오랫동안 좋은 팀과 일관되게 행동 하는 사람.

  2. 헨리의 답변 과 연결된 무료 전자 . 뛰어난 능력을 가진 매우 생산적인 사람. 설명은 좋은 읽기입니다.

    Free Electron은 코드와 관련하여 무엇이든 할 수 있습니다. 그들은 처음부터 완전한 응용 프로그램을 작성하고 주말에 언어를 배울 수 있으며 가장 중요한 것은 스파게티 코드의 엄청난 더미로 뛰어 들어 이해하고 실제로 작동시킬 수 있습니다. Free Electron을 중심으로 전체 비즈니스를 구축 할 수 있습니다. 그들은 그렇게 좋다.

    마지막 정의와는 반대로, 제임스 가 천재 프로그래머의 신화 ( video )에 대해 연결 한 요점 입니다. 동일한 아이디어는 rwong의 의견에 자아없는 프로그래밍 으로 표현됩니다 . 그들은 독특한 프로그래머 나 팀을 위해 최적화 할 것인지에 대한 반대 의견을 제시합니다.

이러한 정의는 확실히 다르므로 어느 쪽이 더 나은지에 대한 의견이 있으면 감사하겠습니다. 또는 원하는 경우 직접 추가하십시오. 왜 다른 것과 다른지 말하면 도움이 될 것입니다.


3
예, 그의 이름은 John Carmack 입니다.
Gary Willoughby

1
책상에있는 작은 종이 한 장 에 4 개의 무료 전자 목록이 있습니다.
Henry

'super programmer'== 'genius programmer'인 경우 click_this google.com/events/io/2009/sessions/MythGeniusProgrammer.html
James

자아없는 프로그래밍에 대한 Jeff의 답변을 참조하십시오 .
rwong

나는 The Mythical Man-Month 책 en.wikipedia.org/wiki/The_Mythical_Man-Month 에서 생각을 추가하고 싶습니다 . 좋은 프로그래머보다 여러 번 더 훌륭한 프로그래머를 나타내는 연구 논문이 인용되었습니다. 모든 세부 사항을 기억하지는 않지만 팀에서 생산할 수있는 사람에게는 많은 가치가 있습니다.
트래비스

답변:


17

나는 "슈퍼 프로그래머"라는 용어를 보통 좋은 프로그래머 팀이 필요한 일을 할 수 있고 오랫동안 일관되게 하는 사람들에게만 고려할 것 입니다.

이것은 고품질 코드 (문서, 테스트 등)를 작성하고 해결해야 할 많은 지식과 재능이 필요한 매우 어려운 문제를 해결하기위한 것입니다.

그러나 모든 계정에서 오랫동안 고성능을 요구합니다. 많은 양의 코드를 작성하는 사람은 아무도 이해하고 유지할 수 없으므로이 용어는 적용되지 않습니다.

처리하는 방법? 당신이 정말로 그런 사람을 가지고 있다면 그 사람이 뛰어남에 필요한 발판을 제공하기 위해 최선을 다하십시오. 즉, 관련없는 것을 방해하지 않고 필요한 자원을 제공해야합니다. 매우 우수한 성과를 보이는 사람들은 겸손한 경향이 있음을 알게되었습니다.

불행히도, 당신은 그가 슈퍼 프로그래머 라고 생각 하고 그렇지 않은 사람을 가질 가능성이 훨씬 더 높습니다 . 그것들을 다루는 방법은 그들의 경험을 측정 가능하게 만드는 것입니다. "FindBugs는 문제를 찾지 못할 수 있습니다.", "모든 코드에는 사용 사례에 해당하는 테스트가 있어야합니다", "피어 검토".

코드가 이해하기 정말 어려운 경우, 그리 슈퍼되지 프로그래머가 코드를 그 사람이 요청할 수있는 마지막 회의 이후로 표기되는 코드를 설명하고 매주 회의를 고려 익명으로 설명했다하고, 아무도 거부 할 수 있습니다 익명 에 동의 한 것으로를 유지할 수없는 코드베이스. 그런 다음 최소한 사고 방식을 공유하고 향후 관리자가 코드를 거부 할 수 있도록 허용했습니다. 이것은 또한 프로그래머에게 어떤 종류의 코드가 추가 작업을 수행해야 하는지를 강력하게 나타냅니다.

(편집 : 익명 비트의 이유는 그렇게 슈퍼 프로그래머가 그를 반대하는 사람들에게 보복하는 것을 피하기 위해서입니다).


2
익명 입력을 제외한 우수한 점수. 팀이 진정으로 통일하고 "슈퍼 프로그래머"가 실제로 정의를 측정하는지 여부를 이해하려면 팀과 소프트웨어의 성공을 위해 서로 협력하기 위해 서로의 강점, 약점을 배워야합니다. 그리고 신뢰를 구축합니다. 슈퍼 프로그래머로서 자신의 단점을 찾아서 수정하기 위해 (여기서는 어느 정도의) 다른 사람들에 대한 비판에 자신을 개방하는 문제입니다.
Huperniketes

@Huper, 익명은 처음에 개인화되는 것을 피하는 것입니다. 당신이 초인간적이라고 믿는다면 비판에 너무 잘 들지 않을 것입니다 (또는이 질문은 처음에는 요청되지 않았을 것입니다).

2
@Thor, 누군가가 자신에 대해 믿는 것을 다룰 때는 이미 개인적입니다. 익명 성은 신뢰를 훨씬 더 발전시키기 어렵게 만듭니다. 팀 구성원은 자신이 정직 할 수 있고, 비판을 환영하며, 중요한 의견이 공개된다고 믿어야합니다.
Huperniketes

슈퍼 프로그래머가 주니어 프로그래머에게 코드를 설명하는 것이 더 쉬울 지 더 어려울까요? 차이가 크면 설명이 어려울 수 있습니다. 그렇지 않습니까?
Muhammad Alkarouri

1
@Muhammad, 저의 정의에 따르면 슈퍼 프로그래머는 주니어 프로그래머조차도 이해할 수있는 훌륭한 문서로 깨끗하고 유지 관리 가능한 코드를 작성한다는 것입니다 (런타임에서 사용할 수있는 것들 때문에 Java에서 덜 자주 필요로하는 매우 복잡한 알고리즘 제외) 그래서 나는 그들을 고려하지 않습니다). 주니어 프로그래머에게 설명하는 것이 쉽지만 더 오래 걸릴 것이라고 생각합니다.

5

수퍼 프로그래머는 고속 컴파일러보다 빠르게 코드를 생성하고 재귀 함수보다 강력하며 단일 범위에서 FIFO 스택을 뛰어 넘을 수있는 사람입니다.

자신이 수퍼 프로그래머라고 생각하는 팀원을 대하는 방법은 그에게 유일한 약점 인 햇빛을 노출시키는 것입니다.


5
@Chetan : FIFO 스택이란 무엇입니까?
rwong

3
@Chetan : 도움이되지 않는 답변입니다. 아마도 당신은 정말 놀라운 프로그래머와 함께 일하지 않았을 것입니다.
JBR 윌킨슨

수퍼 프로그래머는 클라우드에 거주하고 Mind Query Language에 대한 공용 API를 제공해야합니다 .
rwong

@rwong 선입 선출 스택 (대기열이라고도 함).
대안

1
@mathepic : 대기열을 스택이라고 부를 수 있다면 LIFO와 FIFO가 같은 것입니까? (링컨의
역설

3

그 사람에게 코더 작업 스타일 에 자신의 장을 쓰도록 요청하십시오 . 출판사에 제출하십시오. 거부되면 그 사람은 슈퍼 프로그래머가 아닙니다.


당신의 진술의 대화가 사실입니까? (만약 받아들이면, 그가 슈퍼 프로그래머라고 생각할 수 있습니까?) 나는 이것이 설명을 사용할 수 있다고 생각합니다.
대안

나는 그가 한때 "Java 기반 트랜잭션 메시징 시스템의 아키텍처"라는 것을 읽 자마자 그 책의 저자에 대해 어떤 존경심을 잃었다. 글쎄, 적어도 그는 그 일을 그만 두어야했다.
Dan Molding

1
@ Dan Moulding : 그가 책을 닫고 그 책에서 인터뷰하는 프로그래머가 모든 대화를 할 수있게하는 한, 나는 그가 주장하는 것을 신경 쓰지 않습니다. (나는 방금 그 책을 샀고 그것을 읽기를 고대하고있다. 그것이 그것이 생각하는 것만 큼 좋기를 바란다). =)
gablin

아이디어는 좋지만 게시자는 슈퍼 프로그래머가 아닌 유명한 프로그래머 를 받아들이는 경향이 있습니다. 옳은?
Muhammad Alkarouri

@Alkarouri : supersuperstar 와 같은 의미를 가지고 있다면 , 그렇습니다. 슈퍼 프로그래머라는 것도 유명하다는 것을 의미합니다.
rwong

2

다른 사람들보다 더 많은 생산량을 생산할 수있는 사람들이 있습니다.

다른 것보다 낮은 결함률로 출력을 생성 할 수있는 사람들이 있습니다.

정상 결함률보다 낮은 출력을 지속적으로 생산할 수있는 사람들은 수퍼 프로그래머라고 할 수 있습니다.

이와 같이 알려져 있거나 생각되는 것은 일반적으로 뒷 시야의 혜택을받는 계몽 된 관리자에게만 명백합니다.

그들이 슈퍼 프로그래머라고 생각하는 사람은 아마도 큰 자아를 가지고 있고 그들이 좋다고 생각합니다. 그것은 그들을 좋게하지 않습니다.

태도 <> 능력.


1

슈퍼 프로그래머 : 프로그래밍에 전념하는 평균 이상의 지능을 가진 사람. 프로그래밍에 많은 시간을 소비하고 쉽게 끊지 않으며 특정 문제를 해결하기로 결정한 사람에 대해 이야기하고 있습니다. 보류중인 문제 / 버그가있는 경우이 사람은 거의 잠을 자지 않습니다. 슈퍼 프로그래머는 효과적이고 빠르며 안정적인 코드를 작성합니다. 수퍼 프로그래머는 하나 이상의 프로그래밍 언어 (및 기술)에 대한 광범위하고 심도있는 지식을 보유하고 있으며 다른 언어에는 능숙하지 않으며 필요한 다른 것을 빠르게 배울 수 있습니다.


0

슈퍼 프로그래머를 만나 본 적이 있습니까? 그를 식별하는 것

만든 프로그램 / 프로젝트 , 소스 코드, 수행 한 연구에서.

그가 슈퍼 프로그래머라고 믿는다

당신이 그가 그것을 믿는다 고 말하면, 그가 그것을 믿지 않게 만드는 것은 매우 어렵습니다. 최악의 생각은 모든 준비가 최고라고 생각하기 때문에 그 사람이 더 나은 프로그래머가되기를 그만두 었다는 것입니다. 프로그래밍에서보다 더 나쁘다. 어쨌든, 당신은 항상 증거를 요구할 수 있습니다 ... 그리고 그 / 그녀가 자신을 비교하는 사람에게 자신이 슈퍼라고 가정하도록 요청하십시오.

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