프로그래머의 지혜

칼럼 2008. 12. 26. 17:29

제가 10여년 넘게 소프트웨어 업계에서 얻은 경험을  "세상의 지혜", 발라사르 그라시안 지음, 이동진 옮김 토대로 참고하여 패러프레이지(재구성) 한 것입니다.

 

프로그래머의 삶에 조금이라도 도움이 되는 한줄기 서광이 빛추었으면 합니다.

감사합니다.

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) 프로그램 완성을 위해서는 WHY 보다는 HOW가 더 중요하다.

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) 자신의 능력을 20%~30%는 숨겨라.

55) 팀원이나 팀장의 요청을 무조건 받아들이려고 하지 말라. 거절할 줄도 알라.

56) 자신의 기술지식이나 기술소질에 있어서 가장 뛰어난 부분을 더욱 발전시켜라. 자신의 장점을 최대한 발전시켜라.

57) 프로그램의 구조와 설계 전반에 관하여 조용하고 맑은 정신으로 깊이 사유하는 시간을 가져라.

58) 구루나 마스터가 되기 전까지는 프로그래밍을 짜기 전에 3번 생각하고 한 줄의 코드를 작성하는 습관을 가져라.

59) 짠 코드를 다시 고치거나 지우는 것을 아깝게 생각하지 말라.

60) 프로그램이 완전히 완성되기에는 시간이 필요함을 알라. 모든 사사물물은 완성하는 데에는 시간이 요구된다.

61) 자신을 비난하는 자가 3번을 비난하면 두 번은 침묵으로 무시하나 한 번쯤은 진실한 말로 그렇지 않음을 이야기하라.

62) 운이 좋다고 느껴질 때 열심히 일하고 많은 것을 배워라.

63) 팀원들이 자신을 좋아하도록 해라. 팀원에게 친절하고 베풀어라.

64) 모자란 실력에 대해 자신이 실력 있다고 뻥 튀겨 부풀리지 말라.

65) 자신의 능력을 지나치게 믿지 말라.

66) 팀의 흐름을 따르라.

67) 행운이 자신에게 언제 찾아오는지 명리학자에게 자문을 구하라. 그러나 행운보다 노력과 배움이 더 중요함을 인지하라.

68) 원대한 포부와 야망 그리고 비전을 가진 사람이 어떻게 그것을 현실화시키는지를 알라.

69) 프로그래밍 기술지식이 풍부한 사람을 사귀라.

70) 교묘한 프로그래밍 기술 노하우(TIP)를 많이 습득하라.

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) 자신의 능력을 100%활용해도 안 되면 휴먼 네트워크를 활용하라.

96) 팀 내의 팀원들에게 좋지 못한 소식은 전하지도 말고 들으려고 하지도 말라.

97) 프로그래밍은 판단력을 기르는데 매우 요긴한 도구이다.

98) 소프트웨어 개발은 결과로서 평가 받는다. 결과가 좋으면 과정도 좋은 것이다.

99) 자신만 잘하려고 하지 말고 팀 내의 팀원들이 판단을 잘하도록 도와주라.

100) 프로그램 개발 시에 모든 것을 혼자 다하려고 하지마라. 팀원들과 함께 일하라. 물론 부당한 요구는 거절할 줄 알아라.

101) 자신이 일에 대한 과부하를 받지 않도록 하라.

102) 자신에게 맡겨진 일만을 하면 평범한 직장인이다. 그러나 진실한 장인의 명성과 명망은 그 이상을 할 때 얻어진다. 벤자민 플랑클린의 자서전을 읽어보라.

103) 프로그래밍 로직을 설정하는데 있어서 확고한 주관을 가져라. 이리 저리 변덕을 부리거나 흔들리지 마라.

104) 팀원을 믿어라. 결단력도 팀원을 믿는 마음이 강할 때 가능하다.

105) 팀원의 부당한 요구는 거절할 줄도 알라. 거절할 때는 물론 기술적으로 거절하라.

106) 팀원들이 모두 주장하는 것이라고 해서 무작정 동의하고 믿으려 하지 마라. 자신의 주관과 입지를 확실히 하라.

107) 기분에 따라 행동하지 말고 마음 속의 변화를 내색하지 말라.

108) 어디서나 결단력이 성공의 열쇠라는 것을 잊지 말라.

109) 자신이 해야할 일과 할 필요 없는 일을 분명히 하라.

110) 많은 사람을 포용하고 너그럽게 대하라.

111) 비전(Vision)을 갖고 가슴뛰는 삶을 살아라.

112) 이상적 대상을 자신의 모델(Model)로 삼아라.

113) 항상 새로워지려고 노력하고 자신의 우수한 능력을 늘 새롭게 개선시켜라.

114) 사소한 버그는 종종 저지를 수 있음을 인정하라. 버그가 일어나는 것에 두려워하지 말라. 그러면 프로그래밍이 힘들어진다. 버그가 많이 일어나는 것에 두려워하라.

115) 팀을 이루는 구성원들에 따라 다르게 대해 주어라. 받는 것을 원하는 사람에게 그가 필요 한 것을 주고, 주기를 좋아하는 사람에게는 그가 주고자 하는 것을 받을 줄 알라.

116) 위험(Risk)을 최대한 줄이고 안전하게 일하는 법을 배우라. 가능한한 쓸데없는 일에 목숨을 걸거나 위험을 감수하려고 하지 마라.

117) 명랑할 줄도 알라. 재치와 유머가 필요할 때가 있다. 만화책도 즐겨 읽어라.

118) 팀원이 제공하거나 관리자가 제공하는 정보가 100% 옳다고 믿지는 말라. 의심할 줄도 알라.

119) 지나친 것은 부족한 것만 못하다. 무엇이든지 지나친 것은 해롭다. 극단적인 괴로움이나 극단적인 즐거움에서 벗어나라.

120) 적으로부터 배울 줄 알아라. 적을 통해서 자신을 성찰하라.

121) 소프트웨어 개발 프로젝트를 통해서 완성되는 프로그램에 자신의 전 재능을 바치지는 말라. 다 해결해 주면 유지보수 비용을 받지 못함을 인식하라.

122) 프로그램 개발에 완전무결함이란 없으며 온전함만이 존재한다는 점을 인정하고 개발일에 여유를 가져라. 온전함이란 버그가 존재해도 제대로 돌아가는 프로그램을 말한다.

123) 팀원에게 자신의 재능을 전부 보여주지 말라. 숨겨둔 재능이 있을때 팀원들은 자신을 존경해 준다.

124) 자신의 장인정신에 대한 명망을 잃지 않으려면 나쁜 소문이 일어나는 것을 예방하라. 나쁜 평판이 외부로 새어 나가는 것을 막아라.

125) 프로그래머라고 프로그래밍만 공부할게 아니라 각종 처세술, 대인관계, 리더쉽, 성공학 에서부터 동양고전 등 다양한 교양적 지식을 갖추어라.

126) 남이 불쾌해 하는 일에 대해서는 참견하거나 끼어들지 말라. 젊잖게 행동하고 고상하게 행동하라.

127) 매사에 자신을 성찰하고 자신을 탐구하라.

128) 프로젝트 수행시 프로젝트가 성공할 것임을 확신하고 프로젝트에 임하라. 자신감이 없다면 프로젝트 수행은 실패가 될 가능성이 높다.

129) 프로그래밍, 팀워크 그리고 프로젝트 수행을 통해서 지식을 초월하여 지혜를 배우도록 하라.

130) 프로그래밍만 잘하는 것을 넘어서 영어회화, 대인관계, 독서능력, 운동, 취미, 여가생활 등 다양한 분야에서의 재능을 길러라.

131) 지나친 자신감은 금물이지만 남에게 기대감을 불러일으킬 수 있는 자신감은 좋은 것이다.

132) 임베디드 프로그래밍과 같은 경우 사소한 버그가 치명적일 수 있으므로 프로그래밍 시 신중함을 기하라.

133) 프로그래머는 기술력으로 승부해야 한다. 기술력은 좋은 평판을 얻게 한다는 점을 명심하라.

134) 자신의 속 마음을 남에게 나누지 마라.

135) 겉모양만 보고 팀원이나 관리자 그리고 고객을 판단하지 마라.

136) 지루하고 반복적인 프로그램 작업일지라도 거기서 배울 것이 있음을 깨달아라.

137) 남들이 알아주지 않는다고 실망하거나 자조하지 말라. 대신 자신이 남들을 알아주지 못했는가를 자문해 보도록 하라. 주는데로 받는 법이다.

138) 운이 좋을때 그 운을 다 소화할 수 있는 큰 그릇이 되라.

139) 프로젝트마다 사용되는 언어와 개발툴이 다를 수 있음을 인정하라. 어떤 프로젝트에 어떤 언어를 사용해야 하는지를 알고 다양한 언어와 개발툴을 배우고 경험하는 것을 두려워하거나 거부하려고 하지 마라.

140) Less is More라고 덜 말하는 것이 더 많은 말을 의미한다. 말은 짧고 간단하게 할 줄 알라.

141) 프로그래머의 명예를 지킬 줄 알라. 프로그래머는 노동을 해주는 단순한 일개의 노역자가 아니라 기업의 문제를 해결해 주는 해결사임을 인식하라.

142) 지위의 높고 낮음에 얽매이지 말라. 지위보다 더 중요한 것은 고매한 인격과 훌륭한 기술력이라는 것을 상기하라.

143) 자신이 프로그램을 완성하면 자아도취에 빠지곤 한다. 하지만 그러한 자아도취를 남에게 내보이지 말도록 하라.

144) 다른 소프트웨어 장인이 어떻게 장인이 되었는가를 탐색하고 그들의 길을 걸어가도록 하라.

145) 남을 비난하지 말고 비난 받지 않도록 경계하라. 만약 남이 자신을 비난하더라도 대응하지 말고 참아라.

146) 일을 하고 일에서 물러날 때를 아는 것이 훌륭한 프로그래머이다.

147) 자신의 재능을 지나치게 믿지 말라.

148) 프로그래밍시 발생하는 문제를 해결해 줄 절친한 친구를 사귀어두라.

149) 프로그래머에게도 프로그래밍 실력만이 중요한 것이 아니라 인맥(휴먼 네트워크)이 중요함을 인식하라.

150) 시기, 질투가 난무하는 곳에 가지 말고 그런 사람들을 사귀도록 하지 마라. 오직 명예롭고 순수한 사람을 사귀도록 하라.

151) 일이 잘된다고 방심하지 말고 일이 안될때를 대비하라.

152) 자기를 칭찬하거나 교만해 하지 말라.

153) 시대의 흐름을 따르라. 변화에 적응하라. 변화에 거부하지 말라.

154) 때로는 모른 척 하고 넘어가야 할 때도 있음을 알라.

155) 팀원, 관리자, 고객의 마음을 사로잡을 수 있는 능력을 키워라.

156) 일반적으로 무결성있는 코드를 작성하려고 노력하면 버그가 최대한 줄어든다는 점은 상식이다. 이러한 상식을 얼마나 잘 지키느냐가 프로그래머로서의 자신을 고상하게 만들어 준다.

157) 남을 원망하기 전에 자신이 원망할 짓을 하지 않았는지를 살피라.

158) 남들이 도움을 기대할 수 있는 능력있는 사람이 되어라.

159) 자신의 잘못과 남의 잘못을 모두 잊어버릴 줄 알라.

160) 관대함과 정직함을 프로그래머의 생명으로 삶아라.

161) 불평을 한다고 해서 불평이 이루어지지는 않는다는 것을 깨달아라.

162) 자신의 능력을 과대포장해도 안되지만 PR을 하지 않는 것도 문제이다. 자신의 능력을 어느 정도 드러낼 줄도 알아야 한다. 중용이 중요하다.

163) 이미 결정내린 것에 대해서도 다시 숙고하는 자세를 길러라. 최종적인 국면에 치다르기 전에 취소할 수 있음을 알라.

164) 남과 다투거나 의견의 상치를 이끌려고 하지 말라. 남과 무조건 동의하려고 하는 것도 아첨이 될 수 있으므로 주의를 요하지만 남에 대해 트집을 잡거나 다투고자 하는 것은 어리석은 짓이다.

165) 항상 자신은 어리석다고 생각하라. 물론 마음속으로 말이다. 그래야 비울 줄 알고 더 배울 수 있는 것이다.

166) 소프트웨어 장인은 혼자서 전체의 프로그램을 개발할 수 있는 능력을 가진 존재이다. 이렇게 되도록 노력하고 또 노력하라.

167) 문제의 핵심으로 바로 들어가라. 주위를 서성이지 말라. 쓸데없는 말이나 쓸데없는 코드 작성으로 시간을 낭비하지 말라. 문제의 요체가 되는 코드를 작성하고 그에 대한 핵심 담론만을 나누어라.

168) 때로 일어나는 감정의 소용돌이 속에서 조용히 지켜보는 관조자가 되라.

169) 운이 없을때는 체념하지 말고 2배, 5배 그 이상을 노력하고 운이 좋을때를 기다려라.

170) 긍정적으로 생각하고 자신의 단점보다는 장점을 생각하라.

171) 관념을 타파하라. 관념은 고집불통을 낳게 된다. 그것은 위험하다. 관념을 녹여버릴 줄 알라.

172) 자신의 일한 댓가에 대해 정당한 보수를 받도록 하라.

173) 약점과 단점은 최대한 숨기도록 하라.

174) 사사물물과 사건들 속에서 숨겨져 있는 지혜를 발견하도록 하라.

175) 충고해 주는 팀원이나 관리자 그리고 고객을 존경하라.

176) 대화의 기술을 몸에 익히고 피드백 기술을 통해 일의 능률을 향상시켜라.

177) 책임을 혼자 뒤집어쓰려고 하지도 말고 남에게 전가하려고 하지도 말라. 책임은 공유하는 것이 좋다.

178) 팀원들 중의 어느 누가 좀 모자라게 보여도 눈감아 줄 수 있어야 한다. 인내심을 길러라.

179) 생각과 말 그리고 행동을 모두 조심하라.

180) 남들로부터 승리하는 법을 배우라. 경쟁자가 되었든 적이 되었든 승리하는 법을 배워라.

181) 지행일치가 되지 않는 사람은 경계하라.

182) 자신감을 갖고 자신을 의지할 줄 알라.

183) 프로젝트에서 되도록 성공하도록 하라. 실패보다는 성공할 때 배우는 것이 더 많다. 그 중 하나가 성취감이다.

184) 지나치게 서두르지 말라. 소프트웨어 개발은 서두른다고 해결되는 것이 아니다.

185) 내면에서 우러나오는 소리에 귀를 기울일 줄 알라.

186) 팀원들 간에 너무 친하지도 말고 너무 불친절하지도 말도록 환경을 조성하라. 가까우면 지나치게 의존하려고 하고 멀어지면 서로 협력이 안된다.

187) 사사물물에는 명암이 있음을 인지하라. 좋은 면이 있으면 나쁜 면이 있는 법이다.

188) 지혜의 명언은 실전에 사용되지 않으면 똥이나 다름없다는 성현의 가르침을 깨달으라.





출처 : http://www.devpia.com/MAEUL/Contents/Detail.aspx?BoardID=70&MAEULNO=4&no=184&page=1

Posted by Sting!
,