-
Notifications
You must be signed in to change notification settings - Fork 1
/
developer.Rmd
106 lines (61 loc) · 6.79 KB
/
developer.Rmd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
# 개발자 비유 {#developer-tropes}
오픈소스 프로젝트건 스타트업 혹은 대기업 등 모두에서 공통적으로 발견되는 일반적인 유형들이 있다.
## 스놉 {#Snob}
```{r fig.align='left', echo=FALSE, include=identical(knitr:::pandoc_to(), 'html'), fig.link=''}
knitr::include_graphics('http://cfile1.uf.tistory.com/image/2168543856D42F93112110', dpi = NA)
```
> " 나는 내가 알지 못한다는 것을 안다는 점에서 잘 알지 못하면서 아는 체하는 자들보다는 현명하다."
>
> --- 소크라테스
스놉은 어디에나 있다. 개발, 음악, 영화 평론계, 문학 평론계, 교수들 등등 각 분야별로 대표 인물들이 있다. 특히 요즘 멘토와 인문학 때문에 뇌내망상자들이 날뛴다. 저런 자세를 스노비즘이라고도 한다.
## 언어 전문 변호사 {#language-lawyer}
> "아 코딩이 막히네 어쩌면 좋지"
> "짠 난 언어의 요정이라고 해"
> "디버깅을 도와주러 오셨군요!"
> "언어의 요정은 근본없는 니 코딩실력에 대해 잔소리를 하러왔어"
Langauge laywer
고수, 그 중에서도 특히 매뉴얼에 대해 능통한 사람을 말한다. 두꺼운 매뉴얼에서 특정 부분을 가리키면서 [야 이걸 읽어봤다면 이 정도는 알 수 있었을거 아냐](#RTFM)라고 말한다면 백방 이 분류이다.
보통 개발자들은 예제나 프로젝트를 통해서 언어를 배우고 그렇지 않은 사람이라 해도 알기 쉽게 설명한 해설서를 통해 배우기 때문에 매뉴얼, 그것도 특히 스펙을 나열한 매뉴얼을 보는 경우는 드물다.
## 코드멍키 {#code-monkey}
## brute force {#brute-force}
> When in doubt, use brute force
> - Ken Thomspon
아주 초보적인 프로그래밍 스타일을 가리킨다. 가령 for 문 안쓰고 복붙으로 구현한다거나.
하지만 너무 지나치게 최적화하다가 망할 수도 있다. 그러느니 차라리 brute force 로 구현하는게 백배낫다.
알고리즘 구현방법론 중 하나로도 알려져있다.
## 자비로운 종신독재자 {#BDFL}
Benevolent dictator for life 의 번역. 보통 오픈소스 프로젝트에 지대한 영향을 끼치는 사람들을 의미한다. 보통 창시자들이 이 역할을 한다. 의사소통에 한계가 있고 오만 사람들이 무보수로 참여하는 개발이다보니 철학에 기반한 결정을 내려야 할 때 아무래도 좀 힘들기 마련이다. 사람에 따라서 군기반장을 맡는 사람도 있다. ~~[SHUT THE FUCK UP](https://lkml.org/lkml/2012/12/23/75)~~
기원은 [Python 창시자가 자신의 직함에 스스로 저렇게 표기](http://www.artima.com/weblogs/viewpost.jsp?thread=235725)한 것에 따른다. Benevolent dictator 란 사익 (profit)보단 국익 (benefit)을 더 중시하는 독재자를 의미한다. 가령, 아타튀르크, 리콴유, 혹은 티토 같은 사람이 좋은 예제이다.
## Gang of Four {#Gang-of-Four}
자바 디자인 패턴을 쓴 네 명의 저자가 자신을 Gang of Four 라고 불렀고 해당 서적은 [GOF book](#GOF-book)이라 호칭했다.
중국 문화대혁명 당시 악명을 떨친 [사인방](https://ko.wikipedia.org/wiki/%EC%82%AC%EC%9D%B8%EB%B0%A9)이 어원이다. 보통 `%d인방`이라고 호칭하는 건 다들 이에서 유래된 표현이다.
## Dumb Nerds {#dumb-nerds}
너드들은 보통 개발을 잘하는 경우가 많다. 하지만 너드라고 다 개발을 잘하는 것은 아니다.
즉, 적성이 있는 거랑 역량이 있는 것은 다른 이야기이다.
컴퓨터랑 친해서 매일 끼고 살긴 하는데 딱히 그다지 실력이 없을지도 모른다.
실수나 잘못에서 배우지 못하고, 애초에 뭐가 실수인지도 모르기도 한다.
그래서 팀 방향을 따라가는데에도 힘들어하고, 자신의 문제를 해결할 능력도 없다.
## 맨스플레이너 {#The-Mansplainer}
The Mansplainer
특정 문제 하나에 대해 상담하러 갔는데
완전히 기본적인 거부터 설명한다거나
아무튼 질문하는 사람이 당연히 알고 있는 그 모든 것들에 대해서
설명하곤 하는 사람을 말한다.
여성, 신입사원이나 인턴 등등에 대한 선입견에 의해서
일어나는데 당연히 여성, 신입사원이나 인턴이 평균 이상으로 실력이 좋은 일은 비일비재하게 일어난다.
## QA Killjoy {#QA-Killjoy}
The QA Killjoy
개발중인 프로그램은 물론 문제가 많다. 그걸 필요이상으로 부풀려서 아예 쓰지도 못할 물건처럼 취급하고 거기에서 희열을 느끼는 사람을 말한다.
## 반마소 십자군 {#Anti-Microsoft-crusader}
90년대와 2000년대 초, 마이크로소프트는 오픈소스에서 공공의 적 1번이었다. 리눅스는 윈도우, 모질라는 인터넷 익스플로러를 몰아내려 전쟁을 벌였다. 그리고 마이크로소프트의 한 임원은 리눅스를 '반미국적'이라고 비난했다.
마이크로소프트가 자체 오픈소스 코드를 발표하는 등 변화를 보이면서 많은 사람들의 적대감이 사라졌다. 그러나 전부 다 그런 것은 아니다.
## 자전거 거치대 전문가 {#Bike-shedder_experts}
Bike-shedder experts
영국에서 실제 발생한 사건에서 유래한 '사소함의 법칙(Parkinson's Law of Trivialtiy)'이 적용되는 사람들. 과거 영국에 원자력 발전소가 건설됐을 때, 이를 승인하는 책임을 진 위원회는 원자로보다는 발전소 옆에 설치할 자전거 거치대의 색상 결정에 더 많은 시간을 투자했었다. 원자로에 정통한 사람들은 극소수였기 때문에 대부분 자전거 거치대 같이 그나마 끼어들 수 있는데에 토론 시간을 낭비했기 때문이다.
리눅스 4.0의 발표가 좋은 예제이다. 버그 수정 같이 유용한 문제보다는 버전 3.19 개정판에 버전 4.0이라는 명칭을 붙이는 것이 타당한지 논의한 내용이 더 많다.
## 오픈소스 광신도 {#opensource-zealot}
오픈소스가 특정 프로그래밍 프로젝트를 위한 여러 대안 가운데 하나가 아니라 이데올로기나 라이프스타일이라고 생각하는 개발자 부류가 있다. 개인 생산성이 떨어지는 경우에도 오픈소스를 적용할 부류다. 이런 부류의 오픈소스 개발자가 관리직일 경우 문제가 된다. 회사의 투자 수익보다 오픈소스 철학을 우선시 하기 때문이다.
## 나는 코딩만 한다 {#Codeholic}
Codeholic
사람들과 어울리지 않고, 회의에도 참석하지 않으며, 비즈니스 측면의 필요사항은 거론하지 않는 부류의 사람들. 이들은 '양날의 검' 같은 집중력이 특징이다. 세상과 격리되어야 극도로 생산성을 발휘할 수 있다.
문제는 그들이 그 `세상`을 위해 코딩을 한다는 점.