Dairy/Life Memo

" 코더가 아닌 프로그래머가 되자 "( feat. 모각코 스터디 )

  요즘 블로그 글이 뜸했는데 사이드 프로젝트로 아이폰 기본 날씨앱을 하고있는데 이게 구성이 생각보다 힘드네요 무엇보다 그동안 쉽다고 생각했던 UI에서 가장 애를 먹고 있습니다. 제가 작은 규모(4명)로 모각코를 운영하는데 이번에 따로 앱을 만들어보면서 서로 어떤식으로 구성하는지 비교를 해보고 서로 배우자는 목표로 클론코딩을 하고있습니다. 
서로서로 배우는게 목표지만 제가 가장 많이 배우고 있네요 ㅎㅎ 지금의 단계는 이제 유아아와 애니메이션을 구성하는 것만을 남겨두고 있지만 아직 제약사항을 제대로 구성하지 않아 손볼일이 많을 것 같기는 합니다. 

  이렇게 클론코딩을 하면서 중간중간 미팅을 하고 어떤식으로 하는지 의논을 했는데 모각코 스터디에서 한분이 진행하신걸 보니 제가 좀 놓친게 있지 않나... 라는 생각이 들었습니다. 이분이 평소에 중요하게 여겼던 것이 모듈화 라던지 프로토콜을 이용해서 추상화하고 분리하는걸 많이 이야기 하셨었거든요, 저도 MVC와 MVVM을 공부하면서 왜 뷰모델의 분리가 필요하고 의존성을 낮추어야 하는지는( 테스트의 중요성) 어렴풋이 알고 있었지만 설계단계에서는 그냥 무작정 MVVM으로 하자! 라고만 생각했는데 이분이 진행하는 방식은 의존성 체크하고 유저인터렉션까지 받는 계층분석도 그려보시면서 말그대로 설계를 해가면서 만드는 모습을 보여주셨습니다. ( 노션공유를 통해 관찰 ) 

  그리고 서로의 코드를 한번씩 보여주며 이렇게 해나가고 있다~ 라는 시간을 가지고 줌을 이용해서 모각코를 진행하다가 제가 이분께 말걸일이 생겼는데 왜이말이 나왔는지 기억나지 않지만 지나가시는 말로 " 현규님 저희는 코더가 아니라 프로그래머가 되어야합니다" 라고 하셨는데 막상 그말을 들은 당시에는 큰생각 없이 그렇죠 ㅎㅎ 이러면서 넘겼는데 자꾸자꾸 이말이 생각 나더라구요. 그래서 곰곰히 생각해보며 ' 내가 너무 앱의 구현에만 치중해서 개발을 하는게 아닌가' 라는 생각이 들어서 이것저것 찾아보며 프로그래머의 기반을 쌓는 중입니다. 

  그래서 이분이 중요하게 생각하시는 모듈, 프로토콜을 찾아보니 이것 저것 공부할게 산더미 처럼 나오더라구요 ㅎㅎ 의존성주입, 프레임워크와 라이브러리의 차이, 모듈화의 중요성( 대단위 프로젝트에서 ), 프로토콜을 활용한 의존성 역전 (IOC) 등여러가지를 공부하게 되었습니다.

  혼자 독학하며 그냥 개발만 했다면 그냥 그저그런 코더가 되었겠지만 이렇게 주변에 깨우쳐줄 사람이 있는게 너무 좋은것 같습니다. 혼자공부하기 너무 지루해서 줌을 활용해서 이렇게 모각코 스터디를 만들었지만 좋은 환경이 구성되는것 같네요 의욕도 나고 ㅎㅎ 혹시 이글을 읽으시는 독학공부중인 분이 계시면 이렇게 줌을 이용한 모각코 스터디 추천 드립니다. 

  마지막은 기억에 남는 두개의 문구를 적고 끝내겠습니다. 제가 어떻게 '이분' 처럼 할수있냐구 여쭈어보니까 보내주신 글중에 가장 기억에 남는 두개의 문구입니다. 교수님이 말씀해 주신 거라네요 ㅎㅎ

코드 작성하는 건 학원에 가서 한달이면 배우지 않느냐, 여기에서는 그 외의 것들을 배워가라.
소프트웨어 공학에서 코드를 작성하는 비율은 가장 적다. 우선 계획을 잘 세우고 그에 따라 구조를 잘 세워라 

  제가 해야 할일은 구조와 계획을 잘 세울수 있는 공부가 우선인것 같습니다.