외부 세계에서는 프로그래머, 컴퓨터 과학자, 소프트웨어 엔지니어 및 개발자가 모두 닮은 것처럼 보일 수 있지만 생계를 위해 소프트웨어를 만드는 사람들에게는 그렇지 않습니다. 모든 단일 프로그래머의 능력과 지식은 도구 (OS, 언어 및 예, 선호하는 편집기)뿐만 아니라 매우 광범위 할 수 있으며 다양성은 스택 오버플로를 적극적으로 사용하는 프로그래머와이 사이트, 하지 않는 더 많은 사람 대.
다른 사람들이 그들이 만나거나, 속해 있거나, 감탄하거나, 싫어하거나 심지어 만들었던 소프트웨어 하위 문화권을 듣고 싶습니다. 우선, 나는 다음을 만났다 :
- Microsoft 중심의 회사 및 개발자 : 전체 스택은 WA의 Redmond에서 가져 왔습니다. 전자 메일은 Outlook이 전자 메일입니다. 웹은 IE와 IIS입니다. VB, .net, Visual Studio 등의 여러 버전으로 가득한 MS Developer Network 구독의 큰 바인더가 있습니다. 셸 / 명령 줄 작업을 피합니다. 오픈 소스와 관련된 소란이 무엇인지 보지 마십시오. MS 중심의 회사는 9-5 세이며 상당히 기업적인 경향이 있습니다 (소프트웨어 사용자가 아닌 비즈니스 관리자가 주도 함). 오늘날 (MS 이외의 도구를 광범위하게 사용할 수 있음), 이것은 해커 문화의 대립입니다.
- 구식 CS 사람들 : 그들은 종종 Lisp와 Unix를 매우 잘 알고 있습니다. 때로는 세미 인식 Lisp 자체 또는 시스템 유틸리티를 작성했을 수도 있습니다. "소프트웨어 엔지니어링"이 새로운 것이거나 그러한 것들에 감명받지 않은 경우는 거의 없습니다. Lisp, C, Prolog 및 Smalltalk와 같은 프로그래밍 언어의 참조, 히스토리 및 상위 레벨의 의미를 알 수 있습니다. 80 년대와 90 년대의 AI 결과에 대해 쓰라린 수 있습니다. Emacs 사용자 인 경향이 있습니다. 눈을 깜박이지 않고 여러 줄로 된 쉘 명령을 입력 할 수 있습니다. 그들의 충고는 암호로 할 수 있지만 한 번 이해 한 금이 들어 있습니다.
- 뉴 스쿨 웹 개발자 : 컴퓨터와 비디오 게임이 자라 났지만 90 년대 후반이나 00 년대 초에 프로그래밍을 시작한 경우가 종종있었습니다. 1 ~ 1.5 스크립트 / 동적 언어로 편안합니다. C와 Ruby / Perl / Python 이외의 언어는 불필요하거나 마술 적이라고 생각하십시오. HTML을 처음에는 프로그래밍으로 간주했을 수 있습니다. Mac을 구입하고 그것에 대해 광신적이거나 비이성적 인 경향이 있습니다. 빌드하는 것보다 프레임 워크를 사용하십시오. NoSQL 및 / 또는 Ruby On Rails에 대해 지나치게 열정적입니다.
- 뉴 스쿨 CS : 통계, 베이지안 모델 및 추론에 대한 많은 훈련; "AI", "기계 학습"이라고 말하지 마십시오. Lisp보다 Java는 많지만 전문가 Haskell 프로그래머 일 수도 있습니다. 해당 분야의 전문가 (Google, 금융 / 채무자)가 실질적인 성공을 거둔 경우 종종 자신감을 갖게됩니다. 그러나 빅 데이터와 그에 대한 분산 처리는 실제로 세상을 변화시키고 있습니다.
위의 예는 결코 완전하거나 정확하거나 직교 또는 목적이 아닙니다. :) 내가 개인적으로 보았던 것, 더 넓은 질문에 대한 토론과 개요를 촉발하기 위해 제공했습니다. 동의하지 않습니다!