마소 7월달 (1999년꺼로 기억) ì�´ìŠ¹ìš©ì”¨ì�˜ 글. ìž�ìœ ê²Œì‹œíŒ�ì—� ì�¸ìš©ë�œ 글 옮김. (ìž�ìœ ê²Œì‹œíŒ� 200번 대 글ì�´êµ°. -_-;)
ë�…ìž�중 한 사람ì�´ í•„ìž�ì—�게 ì�´ëŸ° 질문ì�„ 한ì �ì�´ 있다.
"어떻게 하면 프로그래ë°�ì�„ 잘 í• ìˆ˜ 있습니까? 만약있다면 ê·¸ 해답ì�„ 가르ì³� 주세요"
í•„ìž�ì�˜ 답변ì�€ '해답ì�€ 없습니다.'였다. 하지만 ì–´ë µê²Œ 질문해온 ë�…ìž�ì—�게 어설픈 답변ì�„ í• ìˆ˜ 없기 때문ì—� 프로그래머ì�˜ 길ì�´ëž€ ì–´ë–¤ 것ì�¸ê°€ì—� 대해 답변ì�„ 보낸 ì �ì�´ 있다.
프로그래ë°�ì—� 대한 ì •ì�˜ëŠ” 여러가지가 있지만, í•„ìž�는 ì�´ì™€ ê°™ì�´ ë§�í•˜ê³ ì‹¶ë‹¤.
'프로그래ë°�ì�´ëž€ ì •ì—´ë¡œ 시작해 ë�ˆê¸°ë¡œ ë��나는 ì�¼ë ¨ì�˜ 작업니다. ì •ì—´ì�€ ì§§ê³ ë†’ì§€ë§Œ ë�ˆê¸°ëŠ” ê¸¸ê³ ë‚®ë‹¤.'프로그래ë°�ì—� 대한 ì •ì�˜ëŠ” 여러가지가 있지만, í•„ìž�는 ì�´ì™€ ê°™ì�´ ë§�í•˜ê³ ì‹¶ë‹¤.
프로그래머는 화가와 같다. 화가ì�˜ 그림ì—� 대한 ì˜�ê°�ì�´ 프로그래머ì�˜ 코드ì—� 대한 ì˜�ê°�ì�´ë©°, 화가ì�˜ í™”íŒ�ì�€ 프로그래머ì�˜ ìž�íŒ�ì�¸ 것ì�´ë‹¤. 단지 프로그래머는 화가가 사용하는 ë¶“ëŒ€ì‹ ì†�ì�„ ì�´ìš©í•œ 코딩ì�„ 한다는 ì°¨ì�´ì � ë¿�ì�´ë‹¤. 맨처ì�Œ 코딩ì—� 대한 ì˜�ê°�ì�€ 단순하게 시작한다. 하지만 ê·¸ ì˜�ê°�ì�„ 현실ì†�으로 ë�Œì–´ë‚´ê¸° 위해서는 ë§Žì�€ 시행착오를 거치게 ë�œë‹¤. ìž�ì‹ ì�˜ ì‹¤ë ¥ì�„ 한탄하기ë�„ 하면서 ìž�ì‹ ì�´ 만들어낸 ì•Œê³ ë¦¬ì¦˜ì—� í� 뻑 취하기ë�„ 한다.
초반ì�˜ ì •ì—´ì�€ 무ì„다는 표현ì�´ ë§žì�„ 것ì�´ë‹¤. ì •ë§� ìž�ì‹ ì�´ ìƒ�ê°�해낸 ì•Œê³ ë¦¬ì¦˜ì�˜ 성공 여부를 알아보기 위해 무ì„게 ê·¸ ì�¼ì—� 매달린다. 밤과 ë‚®ì�´ 서로 ë°”ë€Œê³ , ëª¨ë“ ì‚¬íšŒì � 문화권ì—�서 소외ë�œë‹¤. ì�´ì™€ ê°™ì�´ 초반ì�˜ ì •ì—´ì�€ ê·¸ ë��ì�´ ì–´ë””ì�¸ì§€ë�„ 모르는 ìž�ì•„ë�„ì·¨ì�˜ í–‰ë�™ì�¸ 것ì�´ë‹¤. 하지만 ì�´ëŸ¬í•œ ì •ì—´ì�€ 바로 시들어 버린다. 현실ì†�ì—� ì•ˆì£¼í• ê²ƒì�¸ê°€ 아니면 ì�´ìƒ�ì�„ ì„ íƒ�í• ê²ƒì�¸ê°€ 하는 기로ì—� 놓ì�´ê²Œ ë�˜ê¸° 때문ì�´ë‹¤.
현실 ì†�ì�˜ 안주는 시간과ì�˜ 싸움ì�´ë‹¤. ëª¨ë“ í”„ë¡œì �트는 ì •í•´ì§„ 시간ì�„ ê°–ê³ ìžˆë‹¤. 초반 설계 단계ì—� 수립ë�œ 계íš�ì�€ 불가피하게 ìˆ˜ì •ë�˜ëŠ” 경우가 태반ì�´ë‹¤. ì�´ëŠ” 코딩중ì—� 예ìƒ�치 못한 복병(?)ì�„ 만나게 ë�˜ëŠ” 경우가 있ì�„ 수 있으며, 관리ìž�ì�˜ 무리한 계íš�으로 초반 계íš�ì�´ ìˆ˜ì •ë�˜ëŠ” 경우ë�„ 있다. ëª¨ë“ í”„ë¡œê·¸ëž˜ë¨¸ë“¤ì�€ í•ìƒ� 후ìž�ì—� 치중하게 ë�œë‹¤. 현실ë�„피를 위한 í�¬ìƒ�양으로 몰아세우는 격ì�´ì§€ë§Œ, 대부분ì�˜ 경우는 관리ìž�ì�˜ ì�´í•´ 부족ì—� ì�˜í•œ 비현실ì � 계íš�ì�´ 주를 ì�´ë£¨ê¸° 때문ì�´ë‹¤.
ì�´ì™€ 반대로 ì�´ìƒ�ì�„ ì„ íƒ�하는 프로그래머는 ê·¸ 다ì�Œë¶€íƒ€ ìž�ì‹ ê³¼ì�˜ 싸움ì�´ 시ì �ë�œë‹¤. ë�ˆê¸° 바로 ì�´ê²ƒì�´ë‹¤. í�”히 우리는 ëŠ¥ë ¥ì�´ íƒ�월한 사람보다는 성실한 사람ì�„ ë�” 높ì�´ í�‰ê°€í•´ì¤‘다. 프로그래머 ì—시 ë�ˆê¸°ê°€ 없으면, 완성ë�„ 높ì�€ 프로그램ì�„ 만들지 못한다. ìž�ì‹ ì�´ ë§Œë“ ì•Œê³ ë¦¬ì¦˜ì�´ 아무리 íƒ�ì›”í•˜ë‹¤ê³ í•´ë�„ ì�´ë¥¼ ì�´ìš©í•œ ì• í”Œë¦¬ì¼€ì�´ì…˜ì�˜ 완성ë�„ê°€ 높지 않으면, 아무리 íƒ�ì›”í•˜ë‹¤ê³ í•´ë�„ ì�´ë¥¼ ì�´ìš©í•œ ì• í”Œë¦¬ì¼€ì�´ì…˜ì�˜ 완성ë�„ê°€ 높지 않으면, 아무ë�„ 알아주지 않는다. í•„ìž�는 수많ì�€ 디버깅과 요구사í•ì�„ 수용해 나가면서 ìž�ì‹ ì�˜ ì�´ìƒ�ì�„ 실현해 나가는 프로그래머를 높ì�´ í�‰ê°€í•˜ê³ 싶다. ê·¸ë¦¬ê³ ê·¸ëŸ¬í•œ 사람ì�´ì•¼ë§�로 ë°œì „ 가능성ì�´ 있으며, ì‹ ë¢°í• ìˆ˜ 있는 프로그램ì�„ 만들기 때문ì�´ë‹¤.초반ì�˜ ì •ì—´ì�€ 무ì„다는 표현ì�´ ë§žì�„ 것ì�´ë‹¤. ì •ë§� ìž�ì‹ ì�´ ìƒ�ê°�해낸 ì•Œê³ ë¦¬ì¦˜ì�˜ 성공 여부를 알아보기 위해 무ì„게 ê·¸ ì�¼ì—� 매달린다. 밤과 ë‚®ì�´ 서로 ë°”ë€Œê³ , ëª¨ë“ ì‚¬íšŒì � 문화권ì—�서 소외ë�œë‹¤. ì�´ì™€ ê°™ì�´ 초반ì�˜ ì •ì—´ì�€ ê·¸ ë��ì�´ ì–´ë””ì�¸ì§€ë�„ 모르는 ìž�ì•„ë�„ì·¨ì�˜ í–‰ë�™ì�¸ 것ì�´ë‹¤. 하지만 ì�´ëŸ¬í•œ ì •ì—´ì�€ 바로 시들어 버린다. 현실ì†�ì—� ì•ˆì£¼í• ê²ƒì�¸ê°€ 아니면 ì�´ìƒ�ì�„ ì„ íƒ�í• ê²ƒì�¸ê°€ 하는 기로ì—� 놓ì�´ê²Œ ë�˜ê¸° 때문ì�´ë‹¤.
사실 완벽한 코딩ì�´ëž€ 존재하지 않는다. 다만 완벽ì�„ 위해 프로그래머는 키보드를 ì• ì�¸ìœ¼ë¡œ 삼ì�„ ë¿�ì�´ë‹¤. ë�ˆê¸°ìžˆê²Œ 코드를 디버깅하는 프로그래머는 그만í�¼ 버그ì�˜ 수를 줄ì�¼ 수 ìžˆê³ , ë˜�한 추가 요구사í•ì—� 대한 대비ë�„ 충분히 í• ìˆ˜ 있다. ë”°ë�¼ì„œ í•„ìž�는 프로그래머란 ì •ì—´ë³´ë‹¤ëŠ” ë�ˆê¸°ê°€ ë�” í•„ìš”í•˜ë‹¤ê³ ë§�í•˜ê³ ì‹¶ë‹¤. ì •ë§� ì§„ì •í•œ 프로그래머란 ìž�ì‹ ì�˜ ì—량보다는 한 ì£¼ì œì—� 대한 완벽ì—� 가까운 í•´ê²°ì±…ì�„ 찾아내는 ë�ˆê¸°ìžˆëŠ” 사람ì�´ë�¼ê³ ìƒ�ê°�한다. 우리 모ë‘� í•™ì°½ì‹œì ˆ ì–´ë ¤ìš´ ìˆ˜í•™ë¬¸ì œë¥¼ í’€ë�˜ 때를 ìƒ�ê°�하면서, ê·¸ ì�˜ë¯¸ë¥¼ ë�˜ìƒˆê²¨ë³´ìž�.
사람ì�€ 누구나 ì–´ë–¤ ì�¼ì�„ í•˜ë“ ë„˜ì–´ì•¼ í• ë²½ì�„ 만나기 ë§ˆë ¨ì�´ë‹¤. 프로그래머ì—시 여러가지 ë²½ì�„ 만나게 ë�˜ëŠ”ë�°, í•„ìž�는 컴퓨터ì�˜ ë²½ì�„ í�¬ê²Œ ì�´í•´ì�˜ 벽과 창조ì�˜ ë²½, ê·¸ë¦¬ê³ ë§ˆì�Œì�˜ 벽으로 êµ¬ë¶„í•˜ê³ ìž� 한다. ì�´í•´ì�˜ ë²½ì�€ 초보ìž�ê°€ 넘어야 하는 ë²½ì�´ê³ 창조ì�˜ ë²½ì�€ 중급ìž�ê°€, ê·¸ë¦¬ê³ ë§ˆì§€ë§‰ ë²½ì�¸ 마ì�Œì�˜ ë²½ì�€ ì „ë¬¸ê°€ê°€ 넘어야 하는 ë²½ì�´ë‹¤.
ì�´ 글ì�„ ì�½ê³ 있는 ë�…ìž�ë�¼ë©´ ì–´ëŠ� ì •ë�„ 프로그래ë°�ì�„ 해본 경험ì�´ 있ì�„ 것ì�´ë‹¤. 초보ìž�ë�¼ 함ì�€ 프로그래ë°�ì—� ìž…ë¬¸í•˜ê³ ìž� 하는 사람ì�„ ë§�한다. 즉 컴퓨터 사용부터 천천히 ë°°ì›Œë‚˜ê°€ê³ ìžˆëŠ” 사람들ì�´ë‹¤. ì�´ë“¤ì�€ íŠ¹ì • í•™ì›� 혹ì�€ í•™êµ�ì�˜ ì •ê·œ ê³¼ì •ì�„ 통해 ë�™ë£Œë“¤ê³¼ 함께 배우기ë�„ í•˜ê³ , ë˜�는 ê°œì�¸ì �으로 학습해 나가는 경우ë�„ 있다. 초보ìž�들ì�˜ 공통ì �ì�€ ì „ë¬¸ê°€ë“¤ì�˜ ë…¼ìŸ�ì�„ ì•„ì§� ì�´í•´ í• ìˆ˜ëŠ” 없지만í�° 관심ì�„ ê°–ê³ ìžˆìœ¼ë©°, 컴퓨터로 ëª¨ë“ ì�¼ì�´ ê°€ëŠ¥í• ê²ƒì�´ë�¼ëŠ” 부푼 기대ì—� 차있다는 것ì�´ë‹¤. 여기서 그들ì�˜ 기대ê°�ì�´ ë¬¸ì œì‹œ ë�œë‹¤. 기대가 í�¬ë©´ í�´ìˆ˜ë¡� ë�Œì•„오는실ë§�ê°�ì�€ 비례한다.바로 컴퓨터로 í• ìˆ˜ 있는 ì�¼ì�´ í•œì •ë�¼ 버리는 시ì �ì—�서 ë�” ì�´ìƒ�ì�˜ ì§„ì „ì�´ 없게 ë�˜ëŠ” 것ì�´ë‹¤.
초보ìž� 들 중 주위 사람들 보다 좀ë�” ë§Žì�€ ë‚´ìš©ì�„ ì•Œê³ ìžˆë‹¤ëŠ” ìž�만심ì�„ ê°–ê³ ìžˆëŠ”ì�´ë“¤ì�´ 특히 그럴 í™•ë¥ ì�´ 높다. ì�´ë“¤ì�€ ì�¼ì¢…ì�˜ ìœ í‹¸ë¦¬í‹°ë¥¼ ì�´ìš©í•´ 남들ì�´ 하지 못하는 기법ì�„ ì�µí˜€ ì�´ë¥¼ ìž�랑하면서 ìš°ì›”ê°�ì—� 사로 잡히게 ë�œë‹¤. 하지만 그러한 ìš°ì›”ê°�ì�€ 그리 오래 가지 않는다. ìž�ì‹ ë³´ë‹¤ ë�” 뛰어난 ì „ë¬¸ê°€ë¥¼ 만나면 'ë�„대체 ë‚´ê°€ 무엇ì�„ í•˜ê³ ìžˆëŠ”ê°€?'하는 반문ì�´ ìƒ�기기 때문ì�´ë‹¤. 여기서 ì�´ë“¤ì�€ 'ì�´í•´ì�˜ ë²½'ì�„ 피부로 ëŠ�ë�¼ë©°, 컴퓨터를 ì�´ìš©í•œ 새로운 ë�„ì „ì�„ 받아들ì�´ê²Œ ë�œë‹¤. ë¬¼ë¡ ì�´ 시ì �ì—�서 ì�´í•´ì�˜ ë²½ì�„ 뛰어넘지 못하는 ì�´ë“¤ë�„ 있ì�„ 것ì�´ë‹¤.하지만 í”„ë¡œê·¸ì‹ ë¨¸ì�˜ 길ì�„ 걸어가기를 ì›�하는 ì�´ëŠ” ìž�ì‹ ì—�게 닥친 ìƒ�황ì�„ ë�ŒíŒŒí•˜ê¸° 위한 í•´ê²°ì±…ì�„ 찾는다. ì�´ê²ƒì�´ 바로프로그램ì�´ë‹¤. í•„ìž�는 ì�´ë“¤ì—�게 ì�´ë ‡ê²Œ ë§�í•˜ê³ ì‹¶ë‹¤.
"프로그래���는 것� 단순히 코딩한다는 �미보다는 컴퓨터를 �해한다는 �미로 받아들여야 한다."
프로그램ì�€ 컴퓨터가 ì�´í•´í• 수 있는 기계어를 사람ì�´ 좀ë�” 쉽게 알아볼 수 있ë�„ë¡� ë§Œë“ ê²ƒì—� 불과하다 ì�´ë¥¼ 다시 표현하ìž�ë©´, 기계와 언어소통하기 위해 프로그램ì�„ 배운다는 것ì�´ë‹¤. 우리는 외êµì–´ë¥¼ 공부하면서 문화ì � ì�´ì§ˆê°�으로 ì�¸í•´ 단어ì�˜ ì�˜ë¯¸ë¥¼ 파악하기 힘들때가 종종 있다. ì�´ëŠ” ê·¸ 나ë�¼ì�˜ í’�습과 ì—사를 ì�´í•´í•˜ì§€ 못하기 문ì�´ë‹¤. 컴퓨터ë�„ 마찬가지 ì�´ë‹¤. 컴퓨터를 ì�´í•´í•˜ì§€ 못하면 프로그램 ì—시 서투른 번ì—ì�´ ë�¼ë²„린다. 다시 한번 논하지만, 프로그램ì�„ 배우는 ê³¼ì •ì�„ 컴퓨터를 ì�´í•´í•œë‹¤ëŠ”ì�˜ë¯¸ë¡œ 받아들ì�´ë©´ 좀ë�” 쉽게 중급ìž�ì�˜ 길로 ë�„ì•½í• ìˆ˜ 있ì�„ 것ì�´ë‹¤.
첫번째 ë²½ì�¸ ì�´í•´ì�˜ ë²½ì�„ 뛰어넘ì�€ 중급ìž�는 그들만ì�˜ ê³ ìœ ì˜�ì—ì�„ 갖게 ë�œë‹¤. ì�´ê²ƒì�´ 바로 코딩ì�´ë‹¤. 코딩ì�€ ê·¸ 방법만 알면 쉽게 ì²˜ë¦¬í• ìˆ˜ 있다. 방법ì�€ 경륜ì�´ë�¼ í•´ë�„ 과언ì�´ 아니다. ë�„ê³µì�€ ìž�ì‹ ì�´ ë§Œë“ ë�„ìž�기를 ë³´ë©°, 완벽하지 않ì�€ 것들ì�„ ì�¼ë°˜ì�¸ì�´ ì�´í•´í• 수 ì—†ì�„ ì •ë�„로 부셔 버린다. 우리는 아무리 ë³´ì•„ë�„ 그것 들ì�˜ ì°¨ì�´ì �ì�„ 알아낼 수가 없다. 하지만 경륜ì�´ ë§Žì�€ ë�„ê³µì�€ ë�„ìž�기ì�˜ 빛깔과 형태만 ë³´ì•„ë�„ 좋ì�€ ë�„ìž�기ì�¸ì§€ 아니면 ë²„ë ¤ì•¼í• ë�„ìž�기ì�¸ì§€ 알아낸다. 프로그램ë�„ 마찬가지ì�´ë‹¤. 컴퓨터를 ì�´í•´í•˜ê³ 있는 프로그래머는 실행ë�˜ê³ 있는 ì�‘ìš© 프로그램만 보다ë�„ 어떻게 그것ì�„ 만들어 냈는지 알 수 있다 ê·¸ë¦¬ê³ ì–´ë–¤ ì–´ë ¤ìš´ ë¬¸ì œê°€ 닥치ë�”ë�¼ë�„ í•´ê²°ì �ì�„ 찾아낸다.
ê·¸ë ‡ë‹¤ë©´ ì�´ ì •ë�„ì�˜ ì‹¤ë ¥ì�„ 갖추기 위해서는 어떻게 í•´ì•¼í• ê¹Œ? 아마ë�„ ë§Žì�€ ë�…ìž�들ì�´ ê¶�금해하는 ë¬¸ì œì�¼ 것ì�´ë‹¤. ì •í™•í•œ 해답ì�´ 있ì�„ 수 없는 질문ì�´ë‹¤. ì˜�ì–´ì—� 왕ë�„는 없다ë�¼ëŠ” 표현ì�„ 빌어 프로그램ì—�는 왕ë�„ê°€ 없다ë�¼ê³ 표현하는 것ì�´ ì •ë‹µì�¼ 것ì�´ë‹¤. 하지만 왕ë�„는 없지만 방법ì�€ 있다. 바로 ìž�ì‹ ì�´ í• ìˆ˜ ìžˆë‹¤ê³ íŒ�단하는 것보다 í•ìƒ� ë�” ë§Žì�€ ì�¼ì�„ 만들어 ë‚´ë�¼ëŠ” 것ì�´ë‹¤. ì�˜ë¯¸ëŠ” ë�„ì „ ì •ì‹ ì�´ 필요하다는 뜻ì�´ë‹¤. 예를 들어 ìž�ì‹ ì—�게 주어진 ì�¼ì�´ 10ë§Œí�¼ì�˜ í�¬ê¸°ë�¼ë©´ ìž�ì‹ ì�˜ 목표를 20ì •ë�„로 세우는것ì�´ë‹¤. 그러면 10ë§Œí�¼ë�„ 하기 ë²…ì°¨ë‹¤ê³ ëŠ�ë�¼ë�˜ 것ì�´ ì–´ëŠ�ë‚ ëª©í‘œí•œ 10ì�„ ì�´ë£¨ê³ 20으로 ë‹¤ê°€ê°€ê³ ìžˆëŠ” ìž�ì‹ ì�„ 발견하게 ë� 것ì�´ë‹¤. 만약 목표한 10ë�„ ì�´ë£¨ì§€ ëª»í–ˆë‹¤ê³ í•´ì„œ 실ë§�하지는 ë§�ìž�. ë�Œì�´ì¼œ ë³´ë©´ 프로ì �트가 ì‹¤íŒ¨í–ˆë‹¤ê³ í•´ì„œ 잃는 것보다는 ì–»ì�€ 것 ë�” 많다는 것ì�„ 알게 ë� 것ì�´ë‹¤. í•„ìž�는 중급ìž�ì�˜ ë²½ì�¸'창조ì�˜ ë²½'ì�„ 해결하기 위해서는 무엇보다ë�„ ë�„ì „ ì •ì‹ ì�´ í•„ìš”í•˜ë‹¤ê³ ì£¼ìž¥í•˜ê³ ì‹¶ë‹¤.
프로그래머들ì�˜ 마지막 ë²½ì�¸ 마ì�Œì�˜ ë²½, ì�´ ë²½ì�€ ìƒ�당한 ì�˜ë¯¸ë¥¼ 가진다. ì „ë¬¸ê°€ë¡œ 성장한 프로그래머들ì�€ 누구보다ë�„ 마ì�Œì�´ 굳게 닫혀 있는 경우가 많다. ìž�ì‹ ë§Œì�´ 완벽한 코드를 작성해 낸다는 마ì�Œìž�세가 ì�´ë“¤ì�„ ê·¸ë ‡ê²Œ 만들어 버린다. 프로그래머ì�˜ ê³ ì§‘ì�€ 가히 ë§�로 í‘œí˜„í• ìˆ˜ ì—†ì�„ ì •ë�„로 완강하다. 아니 ê³ ì§‘ì�´ 아닌 ì•„ì§‘ì—� ê°€ê¹�다. ê³ ì§‘ì�€ ìž�ì‹ ì�´ 스스로 잘못ì�„ ì�¸ì •í• ìˆ˜ 있는 수준ì�´ì§€ë§Œ, ì•„ì§‘ì�€ ê·¸ 잘못ë�„ ìž�ì‹ ì�´ 아닌 다른 사람ì�˜ ì˜�í–¥ì—� ì�˜í•´ ë°œìƒ�한 것ì�´ë�¼ ë§�하는 것ì�´ë‹¤. ê³ ì§‘ì�´ 없는 프로그래머는 프로그래머ë�¼ í• ìˆ˜ëŠ” 없지만, ê·¸ ê³ ì§‘ì�´ ì•„ì§‘ì�´ ë�¼ì„œëŠ” 안ë�œë‹¤.
만약 ìž�ì‹ ì�´ 만들어낸 ì�´ë¡ ì�´ ìš°ìˆ˜í•˜ë‹¤ê³ ìƒ�ê°�ë�œë‹¤ë©´ 약간ì�˜ ê³ ì§‘ìœ¼ë¡œ ìž�ì‹ ì�˜ ì�˜ê²¬ì�„ ê´€ì² ì‹œí‚¬ 수 있는 ìž�세가 ì�´ë“¤ì—�게 필요하다. 다른 팀ì›�ì�˜ ì‚¬ê³ ë¥¼ ìž�ì‹ ì�˜ ì�´ë¡ 으로 ì§‘ì¤‘ì‹œí‚¤ê³ , ê·¸ ì�´ë¡ ì�˜ 타당성ì�„ 타진해 보는 것ì�´ 바람ì§�하다. ì�´ë•Œ ê³ ì§‘ì�´ì•„집으로 바뀌지 않ì�€ 시ì �ì—�ê±° 차협ì �ì�„ 찾아야 í• ê²ƒì�´ë‹¤. 만약 ìž�ì‹ ì�˜ ì�´ë¡ ì�´ 채íƒ�ë�˜ì§€ 않ë�”ë�¼ë�„ 실ë§�하지는 ë§�ìž�. 다만 ì�´ëŸ¬í•œ 것ì�„ 만들 수 있다는 í™•ì‹ ë§Œ 버리지 않는다면 ì–¸ì ê°€ ìž�ì‹ ì�˜ ì�´ë¡ ì�´ 옳다는 사실ì�„ 남들ì�´ ì�¸ì •í•´ 줄것ì�´ë‹¤.
지금까지 프로그래머가 걸어가면서 만나게 ë�˜ëŠ” 세가지 ë²½ì—� 대해서 살펴 보았다.ë¬¼ë¡ ëª¨ë“ ì�´ë“¤ì�´ ì�´ëŸ¬í•œ ë²½ì�„ 만난다는 것ì�€ 아니다. 하지만 í•„ìž�ê°€ 지금까지 프로그래ë°�ì�„ 해오면서, ê·¸ë¦¬ê³ ë§Žì�€ 사람들과 ê°™ì�´ 프로ì �트를 진행해 오면서 경험한 ì�¼ì�„ í† ëŒ€ë¡œ 나름대로 ì •ë¦¬í•´ 본것ì�´ë‹¤. ì•„ì§� í•„ìž�ë�„ 세번째 ë²½ì�¸ 마ì�Œì�˜ ë²½ì�„ ì™„ì „ížˆ ë›°ì–´ ë„˜ì—ˆë‹¤ê³ ìƒ�ê°�하지 않는다. 만약 ì�´ë²½ì�„ 뛰어넘는다면 ë˜� 다른 ì œ4ì�˜ ë²½ì�´ 다가올지ë�„ 모른다.
프로그래머들ì�˜ 마지막 ë²½ì�¸ 마ì�Œì�˜ ë²½, ì�´ ë²½ì�€ ìƒ�당한 ì�˜ë¯¸ë¥¼ 가진다. ì „ë¬¸ê°€ë¡œ 성장한 프로그래머들ì�€ 누구보다ë�„ 마ì�Œì�´ 굳게 닫혀 있는 경우가 많다. ìž�ì‹ ë§Œì�´ 완벽한 코드를 작성해 낸다는 마ì�Œìž�세가 ì�´ë“¤ì�„ ê·¸ë ‡ê²Œ 만들어 버린다. 프로그래머ì�˜ ê³ ì§‘ì�€ 가히 ë§�로 í‘œí˜„í• ìˆ˜ ì—†ì�„ ì •ë�„로 완강하다. 아니 ê³ ì§‘ì�´ 아닌 ì•„ì§‘ì—� ê°€ê¹�다. ê³ ì§‘ì�€ ìž�ì‹ ì�´ 스스로 잘못ì�„ ì�¸ì •í• ìˆ˜ 있는 수준ì�´ì§€ë§Œ, ì•„ì§‘ì�€ ê·¸ 잘못ë�„ ìž�ì‹ ì�´ 아닌 다른 사람ì�˜ ì˜�í–¥ì—� ì�˜í•´ ë°œìƒ�한 것ì�´ë�¼ ë§�하는 것ì�´ë‹¤. ê³ ì§‘ì�´ 없는 프로그래머는 프로그래머ë�¼ í• ìˆ˜ëŠ” 없지만, ê·¸ ê³ ì§‘ì�´ ì•„ì§‘ì�´ ë�¼ì„œëŠ” 안ë�œë‹¤.
만약 ìž�ì‹ ì�´ 만들어낸 ì�´ë¡ ì�´ ìš°ìˆ˜í•˜ë‹¤ê³ ìƒ�ê°�ë�œë‹¤ë©´ 약간ì�˜ ê³ ì§‘ìœ¼ë¡œ ìž�ì‹ ì�˜ ì�˜ê²¬ì�„ ê´€ì² ì‹œí‚¬ 수 있는 ìž�세가 ì�´ë“¤ì—�게 필요하다. 다른 팀ì›�ì�˜ ì‚¬ê³ ë¥¼ ìž�ì‹ ì�˜ ì�´ë¡ 으로 ì§‘ì¤‘ì‹œí‚¤ê³ , ê·¸ ì�´ë¡ ì�˜ 타당성ì�„ 타진해 보는 것ì�´ 바람ì§�하다. ì�´ë•Œ ê³ ì§‘ì�´ì•„집으로 바뀌지 않ì�€ 시ì �ì—�ê±° 차협ì �ì�„ 찾아야 í• ê²ƒì�´ë‹¤. 만약 ìž�ì‹ ì�˜ ì�´ë¡ ì�´ 채íƒ�ë�˜ì§€ 않ë�”ë�¼ë�„ 실ë§�하지는 ë§�ìž�. 다만 ì�´ëŸ¬í•œ 것ì�„ 만들 수 있다는 í™•ì‹ ë§Œ 버리지 않는다면 ì–¸ì ê°€ ìž�ì‹ ì�˜ ì�´ë¡ ì�´ 옳다는 사실ì�„ 남들ì�´ ì�¸ì •í•´ 줄것ì�´ë‹¤.
지금까지 프로그래머가 걸어가면서 만나게 ë�˜ëŠ” 세가지 ë²½ì—� 대해서 살펴 보았다.ë¬¼ë¡ ëª¨ë“ ì�´ë“¤ì�´ ì�´ëŸ¬í•œ ë²½ì�„ 만난다는 것ì�€ 아니다. 하지만 í•„ìž�ê°€ 지금까지 프로그래ë°�ì�„ 해오면서, ê·¸ë¦¬ê³ ë§Žì�€ 사람들과 ê°™ì�´ 프로ì �트를 진행해 오면서 경험한 ì�¼ì�„ í† ëŒ€ë¡œ 나름대로 ì •ë¦¬í•´ 본것ì�´ë‹¤. ì•„ì§� í•„ìž�ë�„ 세번째 ë²½ì�¸ 마ì�Œì�˜ ë²½ì�„ ì™„ì „ížˆ ë›°ì–´ ë„˜ì—ˆë‹¤ê³ ìƒ�ê°�하지 않는다. 만약 ì�´ë²½ì�„ 뛰어넘는다면 ë˜� 다른 ì œ4ì�˜ ë²½ì�´ 다가올지ë�„ 모른다.
불êµ�ì�˜ ê²½ì „ì�¸ 반야심경(般若心經)ì—� '색즉시공 공즉시색(色å�½æ˜¯ç©º 空å�½æ˜¯è‰²)ì�´ë�¼ëŠ” 용어가 있다. ì�´ë¥¼ í’€ì�´í•˜ë©´ '얻는다는 것ì�€ ê³µ 잃ì�Œì�´ìš”, 잃어버리는 것ì�´ ê³§ ì–»ì�Œì�´ë�¼'ê³ ë§�í• ìˆ˜ 있다. í•„ìž�ê°€ ì�´ 깊ì�€ ë§�뜻ì�„ ì�´í•´í•˜ê³ 있다는 것ì�€ 아니다. ê·¸ë ‡ë‹¤ê³ ì¢…êµ�ì � 가치관ì�´ ëšœë ·í•˜ë‹¤ëŠ” 것ì�€ ë�”ë�”ìš± 아니다. 하지만 프로그램ì�„ ìž�성해 오면서 반야심경ì�´ ì „í•˜ëŠ” ì�´ ë§�뜻ì�„ 조금ì�´ë‚˜ë§ˆ ì�´í•´í•˜ê²Œ ë��다는 표현ì�´ ì �ì ˆí• ê²ƒì�´ë‹¤.
ì�¸ê°„ì�˜ 욕심ì�€ ë��ì�´ 없다는 표현ì�´ê¸°ë�„ 한 ì�´ ë§�ì�´ '어떻게(어떤게? - 문맥ìƒ� ì–´ëŠ�게 ë�” 어울릴까요 - ì˜¤íƒ€ìˆ˜ì •í•˜ë�˜ ìž„ì�¸íƒ�) 프로그래머들ì�´ ê°€ì ¸ì•¼ í• ìž�세ì�¸ê°€'ë�¼ê³ 반문하는 ë�…ìž�들ì�´ 있ì�„ 것ì�´ë‹¤. 지금까지 프로그래머ì�˜ 길ì�„ 연재해 오면서 í•„ìž�는 프로그래머ë�¼ë©´ 욕심ì�„ ê°–ê³ ìžˆì–´ì•¼ í•œë‹¤ê³ ê°•ì¡°í–ˆê³ , ë˜�한 ë�„ì „ì •ì‹ ì—� ì�˜í•´ ê·¸ 욕심ì�„ 실현하ë�¼ê³ 표현했다. ê·¸ë ‡ë‹¤ë©´ ì—설ì �ì�¸ 표현ì�´ 아닌가!
만약 ì�´ì™€ ê°™ì�´ ìƒ�ê°�한 ë�…ìž�ê°€ 있다면 í•„ìž�ê°€ ì�˜ë�„하는 ë‚´ìš©ì�„ ì •í™•í•˜ê²Œ 파악한 것ì�´ 아니다. 버리ë�¼ê³ 표현한 것ì�€ ìž�기 ìž�ì‹ ì�´ ê°€ì§€ê³ ìžˆëŠ” ìƒ�ê°�, 즉 프로그램ì—� 대한 ìƒ�ê°�ì�„ 버리ë�¼ëŠ” 것ì�´ë‹¤. 우리 ì�¸ê°„ì�€ 변화ì—� 대한 불안함ì�„ ë‚´í�¬í•˜ê³ 있다 특히 나ì�´ê°€ 들수ë¡� ê·¸ ì •ë�„는 심화ë�˜ê³ , ì Šì�€ 사람들ì�˜ ì‚¬ê³ ë¥¼ ì�´í•´í•˜ê¸°ë³´ë‹¤ëŠ” 왜곡ë��ë‹¤ê³ í�‰í•˜ê²Œ ë�œë‹¤. ì�´ëŠ” ê·¸ 사람ì�˜ 가치관ì�´ ê³ ì •ë�¼ ë²„ë ¸ê¸° 때문ì—� ìž�ì‹ ì�˜ ì‚¬ê³ ì™€ ì�¼ì¹˜í•˜ì§€ 않는 다른 ëª¨ë“ í–‰ë�™ì�„ 잘못ë��ë‹¤ê³ ìƒ�ê°�한다.
프로그래머들ì�´ 가장 쉽게 ë¹ ì ¸ë“œëŠ” ìœ í˜¹ì�´ 바로 ì�´ëŸ° ì �ì�´ë‹¤. ìž�ì‹ ì�´ 지금까지 프로그램ì�„ í•´ë�„ë�˜ ë°©ì‹�ì�´ì•¼ë§�로 ì •ì„�ì�´ë©°, 진리ë�¼ê³ ìƒ�ê°�한다. 컴퓨터는 하루가 다르게 ë³€í•˜ê³ ìžˆì§€ë§Œ ì•„ì§�까지ë�„ 구시대 ìœ ë¬¼ì�´ ì „ë¶€ë�¼ê³ ìƒ�ê°�한다. í•„ìž�는 단호하게 ë§�í•˜ê³ ì‹¶ë‹¤.
"ìž�ì‹ ì�´ 작성한 코드를 ë²„ë ¤ë�¼"
ì�¸ê°„ì�˜ 욕심ì�€ ë��ì�´ 없다는 표현ì�´ê¸°ë�„ 한 ì�´ ë§�ì�´ '어떻게(어떤게? - 문맥ìƒ� ì–´ëŠ�게 ë�” 어울릴까요 - ì˜¤íƒ€ìˆ˜ì •í•˜ë�˜ ìž„ì�¸íƒ�) 프로그래머들ì�´ ê°€ì ¸ì•¼ í• ìž�세ì�¸ê°€'ë�¼ê³ 반문하는 ë�…ìž�들ì�´ 있ì�„ 것ì�´ë‹¤. 지금까지 프로그래머ì�˜ 길ì�„ 연재해 오면서 í•„ìž�는 프로그래머ë�¼ë©´ 욕심ì�„ ê°–ê³ ìžˆì–´ì•¼ í•œë‹¤ê³ ê°•ì¡°í–ˆê³ , ë˜�한 ë�„ì „ì •ì‹ ì—� ì�˜í•´ ê·¸ 욕심ì�„ 실현하ë�¼ê³ 표현했다. ê·¸ë ‡ë‹¤ë©´ ì—설ì �ì�¸ 표현ì�´ 아닌가!
만약 ì�´ì™€ ê°™ì�´ ìƒ�ê°�한 ë�…ìž�ê°€ 있다면 í•„ìž�ê°€ ì�˜ë�„하는 ë‚´ìš©ì�„ ì •í™•í•˜ê²Œ 파악한 것ì�´ 아니다. 버리ë�¼ê³ 표현한 것ì�€ ìž�기 ìž�ì‹ ì�´ ê°€ì§€ê³ ìžˆëŠ” ìƒ�ê°�, 즉 프로그램ì—� 대한 ìƒ�ê°�ì�„ 버리ë�¼ëŠ” 것ì�´ë‹¤. 우리 ì�¸ê°„ì�€ 변화ì—� 대한 불안함ì�„ ë‚´í�¬í•˜ê³ 있다 특히 나ì�´ê°€ 들수ë¡� ê·¸ ì •ë�„는 심화ë�˜ê³ , ì Šì�€ 사람들ì�˜ ì‚¬ê³ ë¥¼ ì�´í•´í•˜ê¸°ë³´ë‹¤ëŠ” 왜곡ë��ë‹¤ê³ í�‰í•˜ê²Œ ë�œë‹¤. ì�´ëŠ” ê·¸ 사람ì�˜ 가치관ì�´ ê³ ì •ë�¼ ë²„ë ¸ê¸° 때문ì—� ìž�ì‹ ì�˜ ì‚¬ê³ ì™€ ì�¼ì¹˜í•˜ì§€ 않는 다른 ëª¨ë“ í–‰ë�™ì�„ 잘못ë��ë‹¤ê³ ìƒ�ê°�한다.
프로그래머들ì�´ 가장 쉽게 ë¹ ì ¸ë“œëŠ” ìœ í˜¹ì�´ 바로 ì�´ëŸ° ì �ì�´ë‹¤. ìž�ì‹ ì�´ 지금까지 프로그램ì�„ í•´ë�„ë�˜ ë°©ì‹�ì�´ì•¼ë§�로 ì •ì„�ì�´ë©°, 진리ë�¼ê³ ìƒ�ê°�한다. 컴퓨터는 하루가 다르게 ë³€í•˜ê³ ìžˆì§€ë§Œ ì•„ì§�까지ë�„ 구시대 ìœ ë¬¼ì�´ ì „ë¶€ë�¼ê³ ìƒ�ê°�한다. í•„ìž�는 단호하게 ë§�í•˜ê³ ì‹¶ë‹¤.
ìž�ì‹ ì�´ 지금까지 작성한 코드를 버린다는 것ì�€ 실로 ì—„ì²ë‚œ ì�¼ì�´ë‹¤. 하지만 프로그래머ë�¼ë©´ ìž�ì‹ ì�´ ë§Œë“ ì½”ë“œë¥¼ ìž�기 ìž�ì‹ ì�˜ ê´€ì �ì�´ 아닌 다른 ê´€ì �ì—�서 ìž�ì‹ ì�˜ 코드ì—� 대해 비í�‰í• 수 있는 ëŠ¥ë ¥ì�„ 키워야한다. ì�´ëŸ¬í•œ 비í�‰ì�€ ìž�ì‹ ì—� 대한 코딩 가치관ì�˜ 변화를 ê°€ì ¸ì•¼í•œë‹¤ëŠ� 것ì�´ê³ , 변화ì�˜ 물결ì—� ë�™ì°¸í• 수 있어야 한다는 뜻ì�´ë‹¤.
ê·¸ë ‡ë‹¤ë©´ ì–´ë–¤ 시ì �ì—� 코드를 ë²„ë ¤í–� 하는가? í•„ìž�는 í�¬ê²Œ ë‘� 가지 시ì �ì—� 대해 ë…¼í•˜ê³ ìž� 한다. 첫번째 시ì �ì�€ 프로ì �트를 ì§„í–‰í•˜ê³ ìžˆëŠ” ê³¼ì •ì—�서 ë°œìƒ�한다. ì •í™•í•˜ê²Œ 표현하면, 새로운 기능ì�˜ 가능성ì�„ 타진해 보는 í”„ë¡œí† íƒ€ìž… 프로그램ì�„ 완성한 시ì �ì�´ ë�œë‹¤. 소프트웨어 공학ì—�서 설계ì�˜ 중요성ì�„ 강조하기 위해 ê°�체지향ì�´ë�¼ëŠ” 패러다임ì�„ 만들 ë§Œí�¼ 코딩ì�´ì „ì�˜ 설계 단계를 ê°•ì¡°í•˜ê³ ìžˆë‹¤ ë¬¼ë¡ ìž˜ 작성ë�œ 프로그램 설계는 í”„ë¡œí† íƒ€ìž…ì�´ë�¼ëŠ” 중간 프로그램 ìƒ�성ì�´ í•„ìš” ì—†ì�´ 설계 명세서ì—� ì�˜í•œ 코딩만 하면 완벽한 ì�‘ìš© 프로그램ì�„ ê°œë°œí• ìˆ˜ 있다.
하지만 í•„ìž�ì�˜ 경험ì—� 미뤄보면 ì�´ëŸ¬í•œ 경우는 업무 ìž�ë�™í™”와 ê°™ì�€ íŠ¹ì •í•œ 형ì‹�ì�´ 있는 ì�‘ìš© 프로그램ì—� ì �ìš©ë�œë‹¤. 만약 프로ì �트 설계ìž�ê°€ 경험ì�´ 없는 ì�‘ìš© 프로그램ì�„ 만들어야 한다는 ê°€ì •ì�„ ë‘�ë©´ ìƒ�황ì�€ ë°˜ì „ë�œë‹¤. 즉 설계ìž�ì�˜ 미경험ì—� ì�˜í•œ 시행착오가 ë°œìƒ�하는 것ì�´ë‹¤. ì�´ëŸ¬í•œ 시행착오를 줄ì�´ëŠ” 방법ì�´ 새로운 ê¸°ìˆ ì—� 대한 í”„ë¡œí† íƒ€ìž…ì�˜ 개발ì�´ê¸°ëŠ” 하지만, í”„ë¡œí† íƒ€ìž…ìœ¼ë¡œ ë��나야 한다. 하지만 우리ì�˜ ì‹¤ì •ì�€ ì•„ì§�까지ë�„ í”„ë¡œí† íƒ€ìž…ì�„ 완성ë�œ 프로그램으로 ìƒ�ê°�í•˜ê³ ìžˆëŠ” 경향ì�´ 지배ì �ì�¸ê²ƒ 같다.
코드를 버러야 하는 ë‘�번째 시ì �ì�€ 완성ë�œ 프로그램ì�˜ ë²„ì ¼ ì—…ê·¸ë ˆì�´ë“œì—�서 ë°œìƒ�한다. 첫번째 경우보다 ë�” ë§Žì�€ 용단ì�„ 필요로 하는 시ì �ì�´ê¸°ë�„ 하다. ì�‘ìš© 프로그램ì�˜ ë²„ì „ì—…ì�€ ì�´ë¯¸ 만들어진 ì�‘ìš© 프로그램ì—� 사용ìž�ì�˜ 추가 요구사í•ì�„ ìˆ˜ë ´í•´ì„œ 개발한다는 ì�˜ë¯¸ì™€ ì�´ì „ ë²„ì „ì—�서 ë°œìƒ�ë�œ ë¬¸ì œì �ì�„ 해결한다는 ì�˜ë¯¸ë¥¼ ë�™ì‹œì—� ê°€ì§€ê³ ìžˆë‹¤. 간혹 사용ìž�ì�˜ 추가 요구사í•ì�´ 프로그래머가 ìƒ�ìƒ�í• ìˆ˜ 없는 경우ì�¼ 때ë�„ 있다. ê·¸ ëª¨ë“ ìš”êµ¬ì‚¬í•ì�„ 다 ìˆ˜ë ´í•´ 프로그램ì�„ 만들수 는 없기 때문ì—� 프로그래머는 타협ì �ì�„ 찾아 다ì�Œë²„ì „ì�˜ 기능ì�„ ì œí•œì‹œí‚¤ê²Œ ë�œë‹¤.
바로 사용ìž�와 프로그래머 사ì�´ì—�서 ë°œìƒ�ë�˜ëŠ” 타협ì �ì�„ ê²°ì •í•˜ëŠ” 시ì �ì—�서 프로그래머ì�˜ 마ì�Œ ê°€ì§�ì�´ 능ë�™ì �ì�¸ ìž�세ì�¸ì§€ 수ë�™ì �ì�¸ ìž�세ì�¸ì§€ ë”°ë�¼ 코딩ì�˜ ë°©í–¥ì�´ ê²°ì •ë�œë‹¤. 능ë�™ì �ì�´ê³ ì �ê·¹ì �ì�¸ 프로그래머는 사용ìž�ì�˜ 요구사í•ì�„ ê²€í† í•´ ì°¸ì‹ í•œ ì•„ì�´ë””ì–´ì�¼ 경우 ì�´ë¥¼ ì �ê·¹ ìˆ˜ë ´í•œë‹¤. 하지만 수ë�™ì �ì�¸ 프로그래머는 현재 ë²„ì „ì—�서 ì§€ì›�ë� 수 있는 사í•ë§Œì�„ ê²€í† í•˜ëŠ” 성향ì�´ 있다.
프로그래머들ì�´ ì�´ 시ì �ì—�서 ìƒ�ê°�하는 것ì�€ 시간ì�´ë‹¤. 주어진 시간ì—� 어떻게 ê·¸ 기능ì�„ ì¶”ê°€í• ê²ƒì�¸ê°€ë¥¼ ê±±ì •í•œë‹¤. 너무 ë§Žì�€ 코드ì�˜ 변화는 주어진 시간ì—� ì™„ì„±í• ìˆ˜ 없다는 것ì�´ë‹¤. ë”°ë�¼ì„œ ì �당한 타협ì �ì�„ 찾는 것ì�´ 프로그래머ì�˜ 보편ì �ì�¸ 경향ì�´ë‹¤. 하지만 사용ìž�ì�˜ 요구사í•ì�„ ìˆ˜ë ´í•˜ëŠ” 방향으로 ì „í™˜í•œë‹¤ë©´, 프로그래머는 ìž�ì‹ ì�˜ 코드를 다시 한번 ìƒ�ê°�하게 ë� 것ì�´ë‹¤. í•„ìž�는 ì�´ê²ƒì�„ ë°”ë�¼ëŠ” 것ì�´ë‹¤. ì§€ì‹ ì�˜ 코드를 다시한번 ë�Œì�´ì¼œ ë³´ë©´ , ìž�ì‹ ì�˜ 오류를 ì°¾ì�„수 ìžˆê³ , ë˜� 사용ìž�들ì�´ ë°”ë�¼ëŠ” ë°©í–¥ì�„ ì˜ˆì¸¡í• ìˆ˜ 있게 ë�œë‹¤. 바로 ì�´ê²ƒì�´ 완벽ì—� 가까운 코드를 작성하는 방법ì�¼ 것ì�´ë‹¤.
í•œì •ë�œ 시간안ì—� ì�´ë¯¸ 작성ë�œ 코드를 버리는 것ì�´ ë‚비란 ìƒ�ê°�하지 ë§�ìž�. 코드를 ë²„ë¦¬ê³ ë‹¤ì‹œ ìž‘ì„±í•œë‹¤ê³ ì�´ì „ ë§Œí�¼ 시간ì�´ ë§Žì�´ 소비ë�˜ì§€ëŠ” 않는다. 만약 프로그래머가 10ì�¼ ë�™ì•ˆ 작성한 코드를 겸허한 마ì�Œìœ¼ë¡œ 다시 작성한다면 2ì�¼ì—�서 4ì�¼ 안ì—� ë�” 좋ì�€ 코드를 ìž‘ì„±í• ìˆ˜ 있ì�„ 것ì�´ë‹¤. ë¬¼ë¡ ì½”ë“œë¥¼ ë²„ë¦¬ê³ ë‹¤ì‹œ 작성하기 때문ì—� 시간ì�´ ë�” 필요한 것ì�€ 사실ì�´ë‹¤. 하지만 시간ì—� 종ì†�ë�œ 코드가 아닌 시간ì�„ 지배하는 코드를 ë§Œë“ ë‹¤ëŠ” ì‹ ë…�으로 ìƒ�활하ìž�. ëª¨ë“ í”„ë¡œì �트ì�˜ 시간ì�€ ìœ ë�™ì �ì�¼ìˆ˜ 있다. 코딩ì�€ 사람ì�´ 하는 창조ì �ì�¸ 작업ì�´ê¸° 때문ì—� ê·¸ 누구ë�„ 시간ì�„ ì˜ˆì¸¡í• ìˆ˜ëŠ” 없다. 다만 ìž�기 ìž�ì‹ ìŠ¤ìŠ¤ë¡œ 잘못ë�œ 부분ì�„ 찾아 ìˆ˜ì •í•´ 잘 다듬ì�€ 코드를 ë³´ë©´ 나름대로 누구ë�„ ëŠ�ê»´ë³´ì§€ 못한 ìž�ì‹ ê°�ì�´ ìƒ�길 것ì�´ë‹¤.
ìž�기가 작성한 코드ì—� 대한 ìž�ì‹ ê°�, 바로 ì�´ ìž�ì‹ ê°�ì�´ 프로그래머ì�˜ ìž�존심ì�´ê³ 코딩하는 ì¦�거움ì�´ ì•„ë‹�까!









