어떤 종류의 프로그래밍 방식을 선호하시나요?성공 대자유

StackOverflow https://stackoverflow.com/questions/342169

  •  19-08-2019
  •  | 
  •  

문제

모든 개발 기술에 대해 완전한 자유를 누리기를 원하십니까, 아니면 최종적으로 작업할 가능성이 훨씬 더 높은 안전하고 지루한 접근 방식을 따르시겠습니까?해커 대 엔지니어?화가 vs 전기기사?

도움이 되었습니까?

해결책

나는 일을 끝내는 것을 좋아합니다. 이는 기존 개발 도구와 합리적인 프로세스를 사용하는 반면, 해당 프로세스 내에서하는 일에서 창의적이라는 것을 의미합니다. 영어에서 가장 위대한시는 엄격한 미터와 운율 규칙으로 쓰여졌으며 그에게 덜 창의적 인 것 같습니다.

다른 팁

"자유 또는 아무것도"태도는 청소년적이고 성가신 일이며, 현실 세계는 이런 식으로 작동하지 않습니다.

확립 된 과정을 줘.

경제학자. 그것이 나를 돈으로 만들고 비 윤리적이지 않다면, 나는 전부입니다.

당신이 똑똑한 지에 따라 다릅니다.

당신이 똑똑하다면 자유. 당신은 당신 자신의 성공을 거둘 것입니다.

그러나 문제는 아무도 자신이 똑똑한 지 정직하게 말할 수 없다는 것입니다.

나는 자유 대 지루한 것이 유효하다고 생각하지 않습니다. 유연한 정의 된 가벼운 프로세스는 확실히 가능합니다. 누군가가 그들이 개발에 능숙하다는 것을 보여줄 때까지 나는 아마도 많은 자유를 허용하지 않을 것입니다.

멍청한 비탄성 과정을 따르는 것도 해로울 수 있습니다.

많은 상식이 필요하지만 어려운 일이며 이것은 개발자와 조직마다 다릅니다. 모두에 맞는 크기는 없습니다.

개인적으로 저는 새로운 아이디어, 새로운 기술, 새로운 프로세스를 시도 할 수있는 자유를 선호하지만 자체 규제가되어야한다고 생각합니다. 즉, 기술, 프로세스 등이 자신이 유익하다는 것을 증명해야한다고 생각합니다. 팀 환경에서 개인 표현의 자유를 요구하는 것은 아마도 팀을 구축하는 좋은 방법은 아니지만 팀은 새로운 아이디어를 통해 개방적이어야한다고 생각합니다. 그러나 팀이 프로세스/기술을 채택하면 팀이 자신과 같은 방식으로 보지 않으면 자신의 방식으로 자신의 방식으로 계속 주장하는 것이 비생산적 일 것입니다.

이것은 유효한 질문이 아닙니다.당신은 과정을 따르기 위해 자유를 행사할 수도 있고, 과정을 따르지 않기 위해 자유를 행사할 수도 있습니다.프로세스를 따르든 따르지 않든 여전히 자유가 있습니다.

그것은 거짓 이분법입니다. 부과 프로세스는 성공과 관련이 없습니다. 예를 들어, 전화 회사에서는 소프트웨어 개발자 ( '폭포'개발에 대한 순진한 읽기)에 많은 시간이 걸리는 프로세스가 많은 시간을 낭비하여 자세한 디자인 문서를 작성하는 데 큰 도움이됩니다. 그들이 요청한 것이 그들이 원하는 것이 아니라는 것을 발견하십시오. 그 시점에서 자원은 거의 소진되고 모두가 잃어 버립니다. 부과 된 프로세스는 프로젝트를 죽입니다.

반면에 Amitabh Srivastava는 Windows 팀에 대한 몇 가지 기본 분석 및 테스트 요구 사항을 부과했을 때 버그 속도가 하락했고 적어도 Microsoft의 친구들 사이에서 생산성과 사기가 증가했습니다. KDE 프로젝트에서 모든 사람이 사용하도록 요구했을 때 비슷한 일이 발생했다고 가정합니다. Valgrind. 갑자기 더 이상 메모리 오류와 코어 덤프가 당황하지 않습니다.

일반적으로 유용한 부과가 더 성공적이라고 생각합니다. 도구 부과하는 것보다 프로세스. 도구의 유용성에 대한 증거는 상당히 빠르게 축적 될 수 있습니다. 내가 본 유일한 '프로세스'는 지속적으로 성공적인 것은 한 쌍 이상의 눈이 코드를보아야한다는 것입니다. 이 시청이 달성되는 메커니즘은 중요하지 않습니다.

개발자의 자유는 전적으로 다른 질문입니다. 나는 개발 환경에 대한 모든 것을 선택할 수있는 자유가 거의없는 직업이 있다는 점에서 운이 좋다. (예 : 나는 Red Hat Shop에서 일하지만 컴퓨터를 구매하고 데비안을 설치할 예산이있었습니다.) 20 년이 넘는 지속적인 소프트웨어 개발 경험이 있기 때문에 일반적으로 어떤 언어와 도구에 대해 꽤 좋은 선택을 할 수 있습니다. 사용. 그러나 그 측면은 내가 어떤 언어 나 환경에서나 합리적으로 생산적 일 수 있다는 것입니다. Perl 또는 C ++를 사용하면 2 또는 3의 계수 만 느려질 수 있으며 Lua 또는 Haskell을 사용하면 특정 문제가 발생하지만 결국에는 갈 수 있습니다.

그러나 나는 언어와 도구가 진행되는 한 매우 제한된 안락 지대를 가진 다른 개발자들과 함께 일했으며 자유가 주어지면 일을 위해 매우 잘못된 도구를 선택할 것입니다. 한 번은 컨설턴트로서 그룹이 소규모 프로그램을 수집하는 데 24 시간이 걸리는 컴파일러 속도를 높이도록 도와달라고 요청 받았습니다. 이 글을 쓴 사람들은 전문가 시스템 사람들이며 규칙 기반 추론 엔진을 사용하여 컴파일러를 작성했습니다. 그들은 그것을 작동 시켰지만 그것은 그 일에 잘못된 기술이었습니다.

또한 개발자를 특정 환경이나 언어로 제한하는 것이 성공을 보장하지 않는다는 것을 알았습니다. 나는 나 자신이 매우 나쁜 Perl 프로그래머라고 생각합니다. 나는 기본적으로 Perl을 스테로이드에서 awk처럼 취급합니다. 나는 완전한 바보입니다. 그럼에도 불구하고 나는 문제에 대해 생각하거나 코드를 구성하는 방법에 대해 결코 배운 적이 없기 때문에 내가 쓸 수있는 것보다 훨씬 더 나은 다른 사람들이 작성한 Perl 코드를 다루어야했습니다.

나는 지금 울부 짖는 것을 멈추게 될 것이라고 생각한다.

더 큰 그룹에서 일하는 것은 확립 된 문서화 된 프로세스의 가치를 가르칩니다.

모든 사람을 잘 알고있는 소규모 팀 (2-4 명)에서 일하고있는 한, 모두 공통의 목표를 가지고있는 한, 정의 된 프로세스 없이는 훌륭하게 일할 수 있습니다.

10 명이 무언가에 협조해야하자마자 모든 사람이 같은 편에 있도록 최소한 몇 가지 기본 규칙을 원할 것입니다.

100 명과 함께 프로젝트를 할 때는 매우 구체적인 규칙과 잘 정의 된 프로세스가 없다면 아무데도 얻을 수 없습니다.

개인적으로 내가 좋아하는 일을 할 수 있고 다른 모든 사람들이 엄격한 과정에 따라 일했다면 선호합니다 ;-)

자유에는 다른 측면이 있습니다. 코드베이스가 이미 "테스트"되었기 때문에 코드베이스의 절반을 변경하는 것이 제한되면 (제대로 코딩되지 않더라도), 나는 그것이 당신이 자유가 필요한 경우라고 말하지만, 나는 당신이 그것에 대해 이야기하고 있다고 생각하지 않습니다.

해커 스타일의 자유, 문제를 해결하는 데 필요한 모든 도구를 사용하고 문제를 주요 목표로 해결하는 것이 요즘 나를 겁나게합니다.

어느 시점에서 디버깅/수정이 필요하지 않은 코드를 본 적이 없으며 디버깅/수정은 항상 초기 코딩보다 더 많은 시간이 걸리는 것 같습니다. 주요 목표가되어야합니다.

"자유"는 종종 다른 사람들이 다루는 데 더 오래 걸리는 메커니즘을 선택할 수 있다는 것을 암시하기 때문에 "자유"와 충돌합니다. 그리고 첫 번째 유지 보수 라운드를 할 다른 사람들 일 가능성이 높습니다.

또 다른 개발 프로세스를 발명하는 대신 새로운 프로젝트 영역에서 창의력을 발휘할 수있는 자유에 대한 분노를 불러 일으키면 어떨까요?

"성공 vs.자유'는 자유롭게 결정을 내릴 수 있다면 프로그램은 성공하지 못할 것임을 의미합니다.

나는 이것을 정말로 다시 생각해야한다고 생각합니다.내 경험에 따르면 개발자는 최상의 구현 방법을 자유롭게 선택할 수 있어야 합니다. 검토 후 "시도 및 테스트된" 방법보다 더 나은 경우 나머지 팀이 이를 유지하고 사용할 것입니다.하지만 여전히 자신이 작성한 코드가 수행하려는 작업을 성공적으로 수행하는지 확인해야 합니다.

이 경우 "자유"는 불쾌한 개념과 관련된 감정적으로 긍정적 인 단어처럼 보입니다. 그것은 "고집"또는 "부주의"로 쉽게 대체 될 수 있습니다. 질문 자체조차도 "내가하고 싶은 일"과 "작동 할 가능성이있는 것"으로 구성되어 있습니다.

물론 누구나 원하는 길을 자유롭게 추구 할 수 있습니다. 그러나 나는 개인적으로 내가 신경 쓰지 않은 것에 내 인생의 순간을 바치지 않을 것이며, 내가 그것을 신경 쓰면 나는 성공할 가능성을 극대화하기 위해 최선을 다할 것입니다. 나는 그것을 "제한적"으로 전혀 보지 못한다.

기존의 지혜를 고수 할 것인지 또는 "상자 밖에서 생각하는 것"에 대한 문제는 프로그래밍뿐만 아니라 대부분의 분야에서 영원히 주변에있었습니다. 나는 그것이 사례별로 결정되어야한다고 생각합니다.

나는 가장 인기있는 논문이 자신의 것들에 대한 심층적 인 분석 인 것처럼 보이는 회의에 갔다. 인기있는 아이디어가 상승한 곳과는 다릅니다.

현장에 심각한 문제가 없으면 괜찮을 것입니다. 대부분의 소프트웨어는 여전히 너무 부풀어 오르고 (IMHO) 만성 성능 문제를 겪습니다. 그들과는 안되는 것들이 안정적이지만 충분합니까?

나는 우리에게 새로운 아이디어가 필요하다고 생각하며, 그것들은 반드시 인기가없고, 비 전통적이며, 위험 할 것입니다.

나는 불꽃이 아니라 현 상태에 의문을 제기하는 방법으로 논의되지 않은 아이디어를 논의 할 수있게되어 기쁘다.

또한 결국 무엇을 구축 할 것인지에 달려 있지 않습니까?

이 사람들은 확립 된 과정을 따릅니다. http://www.fastcompany.com/magazine/06/writestuff.html

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top