누구나 효율적으로 시간을 투자해 최대한의 성과를 내고 싶어 한다.
그래서 프로그래밍도 처음 접하는 사람들은 인터넷 수많을 사람들이 질문하기도 하고
인터넷에 전공자 또는 경력자에게 수많은 해답을 갈구한다.
하지만 대답은 너무 추상적이거나 전공자가 아니거나 세부적이지 못한 답변들을 많이 봐 왔었다.
(그럴만도 한 게 웹에서의 질문자의 상황을 온전히 이해하지 못 할 수 밖에 없다,
사람은 타인을 온전히 이해할 수 없는 특성일 수도 있다)
대체로 국비를 다니고 취업해서 프로젝트로 고생하면서 밤낮으로 공부하는 글들이 왕왕 보인다.
결국 이 말의 정확한 의미는 국비로 배우고 와도 회사가면 당연히 개발을 다시 배울것이고
회사는 나를 제대로된 개발자로 인정 안함으로 인해 나의 부족함이(겸손함이랑 다른 개념이다.) 약점 잡혀
밤낮 고생하면서 3년 버티면 개발자로 성공할 수 있다는 현실적이고 암울한 답들이 많았다.
위의 인터넷의 수많은 질문들은 나의 상황과는 별로 도움이 되지 않았다고 느낀 글들이 많았다.
내가 가진 질문은 개발을 시작하고 나서 취업에 대한 각종 준비물들(면접, 알고리즘, 포트폴리오 준비)은 글이 많지만
그 사이에 대한 과정, 예를 들어 개발에 대한 이해는 알겠는데 취직후 면접에서 다른 개발자에게 인정을 받고
필자 스스로도 능력있는 개발자가 되려면 어떻게 공부하는게 좋은지에 대해서는 글을 잘 못봤던것 같다.
나 또한 질문을 구하고 나름대로 정의를 했지만 옳고 그름의 문제가 아닌 개개인의 상황에 맞는
입체적인,다방향적인 정답을 스스로 갈망하는 것이 중요하다고 생각이 된다.
그래서 단편적으로 답을 내리기 보다 스스로 고민하고 교차검증을 하고
다수의 의견과 소수의 의견이 있으면 취사 선택을 하면 되는 것이다.
한때는 이 물음에 취해서 "내 학습법 비효율적이지는 않는가?" 라는 생각이 많이 들긴 했지만
단념하고 일단 시작하는 것이 매우 중요하다.
내가 가졌던 질문들을 읽고 아직도 해답을 갈망하는 분들에게 하나의 지표가 되었으면 좋겟다.
참고로 나는 Django로 학습에 있어 질문을 여러 사람들(권위자,경력자,친구,동료)들에게 물어봤엇다.
9월에 가졌었던 나의 질문들과 그에 대한 잠정 결론, 정답들
1. 백엔드 프로그래밍 하실 때각 파일별로 구조를 익히고 안에 원하는 기능의 경우 이해를 바탕으로 암기를 하나요?
아니면 구조만 알고 잘 쓰는 기능은 머릿속에 체화가 되었고 잘 안쓰는 기능들은 구글링으로 찾아서 리펙토링을 하나요?
한번 강의만 듣고 나중에보면 코드 자체를 못쳐서요.
그래서 여러번 구조만 안보고 쳐서 체화를 하는 형식으로 공부할려고 하고 있습니다
기능도 자주 쓸것 같은 부분만 여러번 보고 생각하고 치는 형식입니다.
(물론 MTV 패턴에 각 부분이 어떻게 동작되고 데이터 처리의 흐름이 어떻게 흘러가는지 알고 있습니다.)
1-1.지금 이 질문의 답에대한 추가적인 코멘트
"이해를 바탕으로" = 프레임워크의 핵심 이론 = KeyConcept => 다른 언어도 똑같은 개념이면 막힘없이 쓸수있는 능력 배양!
"체화를 하는 형식" = 언어(Language)를 사람들과 대화하듯 빠르게 하는것 =>우리가 모국어를 생각을 거치지 않고 자유롭게 표현하는 능력!
2. 장고 기본서(책)에 더 깊이있는 이론과 지식을 전부 공부한다고 생각하고 공부 할가요?
학부시절에는 한학기간 시간도 많고 널널하니 이런식으로 공부를 많이 했엇습니다.
하지만 개발을 업으로 하는분들은 이 방법을 비추천하더군요
이유는 대충 압니다만 사실 더 많이 아는것이 가지치기로 아는것 보다 중요한 부분도 있다고 생각이 들어서요
실무에서는 원하는것만 잘하면 장땡이니까 이렇게 헤비하게 알필요는 없지만요
자신의 주무기인 언어는 이렇게 알아도 아깝지가 않지만(클린코딩,알고리즘등)
웹 프레임워크자체는 도구인데 깊이 있는 시간을 들일려면 최소 4개월동안 이것만 공부하고
나머지 클라우드나, Api,프론트 등 다른공부를 못할거 같아서 고민입니다.
2-1.지금 이 질문에 대한 나의 정답!
책은 권위가 있는 한명의 저자나 여러 공동저자가 집필하고 정리한 것이다. = 그래서 웹에서 편재되어 있는 지식보다 문맥, 흐름에 맞게 서술되어 이해에 도움이 된다. = 하지만 책을 다 외울 필요는 없으며 (다 안쓴다!) 1-2 에 있는 KeyConcept을 가져가고 비교적 최신이거나 많은 추천을 받은 책이 좋다!
3. 9월에 정리 했던 위 의문에 대한 통합적이고 추상적인 정답
결론은 웹 프레임워크를 빨리 배우는 방법은
기본 구조나 자주쓰이는 부분(Admin,메서드,클래스) 필요한 부분은 이해와 암기를 바탕으로 하되
나머지 부분은 학습이 필요하면 본인이 블로그에 스크립팅을 하던지 따로 정리하며
위와 같은 과정을 통해 목적을 취업이나 프레임워크를 잘다루고 싶으면
배웟던 기능을 확장또는 응용을 하거나 프로젝트를 새로 해서 실력을 배양한다.
위 주제는 다양한 이야기가 많고 논란이 될 수 있는 민감한 주제 일수도 있다.(아직도 많은 커뮤니티에서는 언급되는 떡밥이라고 생각한다)
하지만 필자 생각에는 위의 답은 입체적이고("그때는 맞고 지금은 틀릴수도 있다.") 옳고 그름의 문제가 아니며
본인 스스로 정의하며 교차 검증을 받는 일종의 문제의식이라고 생각한다.
또한 이 글을 읽는분 들이 필자가 정리한 것을 무비판적으로 수용하기 보다 본인의 상황과 들어 보았던, 정의 했던 내용과 비교하면서 더 나은 개발자가 되기를 바란다.
'메타인지 > TIL' 카테고리의 다른 글
TIL 11/08~11/14 (0) | 2019.11.14 |
---|---|
TIL 11/11 와디즈 클론 프로젝트 모델링 (1일차) (0) | 2019.11.12 |
TIL 11/01~11/07 (0) | 2019.11.07 |
TIL 10/25~10/31 (0) | 2019.10.30 |
TIL 10/18~10/24 (0) | 2019.10.24 |