2022 Masters Course/CS 10 Course

2022 마스터즈 코스(백엔드) 12일차 회고(2022. 1. 18.) - "나의 한계 인정하기"

ikjo 2022. 1. 18. 16:05

해당 글은 코드스쿼드 2022 마스터즈 코스 "Java 웹 백엔드" 과정을 수강하면서 학습한 내용 등에 대한 회고 글입니다. :)

 

수강 회고

오늘 오전에는 "주니어 개발자 성장을 위한 학습 태도"와 관련된 내용과 어제 공개된 "프로세스 메모리 미션"과 관련된 내용으로 JK의 강의가 진행되었다. JK의 이번 강의 중 가장 인상깊었던 대목은 학습할 때는 나에게 익숙한 것에 초점이 맞춰지는 경우가 많지만 중요한 것은 내가 안다고 착각했었던 것과 내가 모르고 있었던 것을 찾아내는 것이었다. 지난 CS10 과정을 통해 나는 위 3가지(익숙, 착각, 무지)에 해당하는 경우를 모두 접할 수 있었던 것 같다.

 

이진 가산기와 진법 변환기와 관련된 미션은 개인적으로 익숙하여 한결 편안한 마음으로 문제에 접근할 수 있었다. 반면 리눅스와 관련된 미션은 배경지식이 전무했었던 터라 분주하게 새로운 것들을 학습했어야 했다. 연결리스트와 관련된 미션 역시 나에게 익숙했었고 이 미션을 통해 리팩토링의 중요성을 깨달을 수 있었다. 객체지향 프로그래밍 관련된 미션은 내가 안다고 착각했었지만 모르고 있었던 것이 많았던 미션이었다. 해당 미션을 통해 내가 안다고 생각했었던 것들도 다시 한 번 점검해봐야 할 필요성을 많이 느꼈다. 마지막으로 어제 공개된 프로세스 메모리 관련 미션은 리눅스와 마찬가지로 배경지식이 전무했었던 미션이었지만 리눅스와 달리 한계에 부딪혔던 미션이었다. 이러한 미션들을 되돌아 보았을 때 나에게 익숙했던 미션 보다는 안다고 착각했거나 아에 모르고 있었던 미션들에 대해 나중에 한 번 더 학습해봐야 겠다는 생각이 들었다.

 

또한 이번 강의에서 JK는 결과물도 중요하지만 과정도 중요하다고 했다. 앞서 JK는 2022 마스터즈 코스 첫 수강날 이번 CS10 과정은 컴퓨터 과학을 마스터하기 위함이 아닌, 나중에 어떤 기술이 어디에 어떻게 사용되는지를 알기 위함이라고 했었다. 애초에 컴퓨터 과학을 1달 안에 학습한다는 것은 말이 안된다...💦 즉, 결과물 자체도 중요하지만 개발을 함에 있어서 자신의 의도를 상대에게 전달하고 또한 상대의 의도를 듣고 의견을 주고받는 등 팀워크 활동도 매우 중요한 것이다. 벌써 CS10의 과정이 절반이 지났는데 앞으로 남은 과정간은 이러한 학습 마인드들을 유념해야겠다는 생각이 들었다.

 

 

학습 회고

  • CS10 프로세스 메모리 관련 미션 과제 풀이
    • Java 웹 백엔드 클래스 내 소모임원들과 zoom 회의실에서 학습

 

그동안 4개의 CS10 미션 과제를 풀이하면서 미션이 공개된 당일 내(취침 전) 문제를 해결해왔었지만 이번 과제는 문제 해결은 커녕 문제 자체를 근본적으로 이해하기 힘들었다. 나는 어떤 과제가 주어지면 바로 문제를 해결해야만 하는 일종의 강박관념 같은 것이 있다. 이 문제를 포기하면 마치 내 자신이 패배한 것 같은 기분이 들어 악착같이 그 문제에 달려드는 것이다. 하지만 이러한 마인드는 나의 능력 범위 안의 문제를 만났을 때는 득이 되지만 나의 능력 범위를 넘는 문제를 만났을 때는 독이 된다. 왜냐하면 근본적으로 해결할 수 없는 영역에 자꾸 접근하려고 하는 것이기 때문이다.

 

나는 전 직장을 통해서 다음과 같은 교훈을 얻었는데, 이번 과제를 대하는 태도에 큰 기여를 했다.

"안 되는 건 안 되는거다. 그러니 지금 당장 할 수 있는 것부터 해라."

 

나는 늦은 시간까지 문제가 요구하는 게 무엇일까 그리고 어떤 방식으로 문제를 해결해야할까 생각을 계속했었지만 해답을 떠올릴 수 없었다. 이는 나의 배경지식과 경험이 그만큼 부족하다는 것을 의미하는 것이라고 생각했다. 즉, 내가 아무리 문제에서 적시하는 기능들을 구현하려고 발버둥을 쳐봤자 이와 관련된 배경지식과 경험 등 기본이 없는 상태에서는 뜬구름을 잡는 것에 불과하다고 생각했다. 만일 운이 좋게 적시된 기능들이 구현됐거나 형식적으로 구현했다고 한들, 내가 이 프로세스에 대해 제대로 이해를 못한다면 그게 무슨 소용인가 싶었다.(내 걸로 만들 수 없기 때문)

 

그리하여 나는 현재 내 실력으로는 이번 과제를 제대로 구현할 수 없음을 인정하고 운영체제, 메모리 등 컴퓨터 과학과 관련한 경험을 충분히 한 후 다음 기회에 다시 도전하기로 했다. 앞으로 5년 10년 계속 개발을 함에 있어서 분명히 이와 같은 한계에 부딪치는 경우가 많이 있을 것이라고 생각한다. 그럴 때마다 단순 문제 해결(기능 구현)에 급급하기 보다는 나의 기초를 점검하고 이를 보충하는 기회로 삼아야 겠다는 생각이 들었다. 사실, 회사에서 일을 하다보면 당장의 기능 구현이 1순위가 되는 경우도 있을 것 같긴 하지만 😂 적어도 지금처럼 학습을 함에 있어서는 그래야겠다는 생각이다. 비록 이번 과제를 당장에 해결할 수는 없었지만 이번 기회로 문제를 대하는 사고의 유연성을 배웠다고 생각이 들었다.

 

 

좋았던 점

  • 그룹 리뷰 시간을 통해 문제 해결에 대한 결과물을 보여주진 못했지만 소모임원들로부터 격려를 받을 수 있어 힘이 됐다.

 

 

아쉬웠던 점

  • 이번 미션 과제를 푸는 과정에서 조금 더 기민하게 선택과 집중 전략을 취하지 못했었던 점이 아쉬웠다. 나의 한계를 넘어서는 문제를 만나면 내가 어느 부분이 부족한지를 먼저 점검한 후 신속하게 Next Step을 밟아야 겠다는 생각이 들었다.

 

 

 

험한 언덕을 오르려면 처음에는 서서히 걸어야 한다.

                                        - 윌리엄 셰익스피어 -