WIL - #6 클라이밍과 생각 - 회고

Quann·2023년 1월 15일
3

00. 개요 + 전문

이번 주는 코드를 작성하면서 많은 생각을 했다.

성능적인 측면이나, 공부/취업 과 관련된 측면이나 많은 부분에 대한 생각인데,

도저히 이 분야는 생각이 끝이 없는 것 같다.


01. 공부/취업

결국 알고리즘을 풀어야 하거나, 면접을 봐야하거나 나의 역량을 그런 부분으로 드러내야한다.

하지만, 여기서는 코드를 잘 짜고 문제를 잘 해결해낼 수 있는 사람일지는 몰라도

기업에서 주는 알고리즘 문제나 면접 문제를 잘 해결해내지 못한다면 말짱도루묵이 되어버린다.

잘 해결해내지 못한다는 것은 내가 그만큼 부족한 것이기 때문에, 이를 위한 해결 능력을 기르는 것도 필요하다고 생각했다.

지금 당장 눈 앞에 보이는 코드를 짜는 것은 당연하거니와,

이와 함께 CS, 알고리즘, 면접, 이력서 준비 등 다양한 분야를 병행해야겠다고 느꼈다.

공부나 생각을 하면 할수록 부족한 부분들 밖에 안보여서 마음이 조급해지고 시간에 쫓기는 기분이 든다.

젊다면 젊은 나이이기 때문에, 너무 스트레스 받지 않고 헤쳐나가려고 노력 중이다. 천천히 하면 어딘가는 도착해 있겠지.


02. 좋은 코드

동시성 문제, 성능 문제, 쿼리 문제, 구조 문제 등등 다양한 부분에 대해 코드를 작성하면서 생각하기도 했다.

동시성 문제에 대해 찾아보며 AtomicLong, Lock 등 다양한 부분에 대해 훑어보고,
객체에 담겨있는 변수들에 대한 고민, countBy 함수의 유용성 등에 대해 알게 되었으며,

성능 문제에 대해 찾아보며 JPA의 내부 쿼리 구조, 최적화 쿼리에 대한 고민, N+1 이슈 등등 다양한 문제들을 접하게 되었다.

구조 문제에 대해 생각하며 Service 단이 다른 Service 단을 참조해도 되는지, 메서드의 구조는 어떻게 나누어야 하는지, 계층 구조는 어떻게 선택해야 하는지, 어떤 파일을 어떤 폴더에 담아야 하는지 등등 다양한 생각을 하게 됐다.

이에 대해 고민하고, 다양한 자료들을 찾아보면서 해당 고민에 대해서는 깊이가 너무 깊다는 사실을 알게 되었다.
내가 한 고민은 과거의 누가 한 고민인 것은 맞지만, 이에 대해 파고들려하니 밑이 보이지도 않을 만큼 다양하고 깊은 자료들이 존재한다는 사실을 알았다.

과학자들이 탐구를 하면 할수록 인간이 얼마나 보잘것 없는 존재인지 깨닫고는 한다는데,

나는 이런 생각을 하고 더 깊이 파고들려고 할수록, 내가 얼마나 부족한게 많은지 깨닫는 것과 같은 느낌일 것 같다.

자신의 부족함을 느꼈을 때, 좌절하는 사람과 계속 나아가는 사람이 있을텐데, 계속 나아가는 사람이 되기로 마음을 먹었으니 계속 탐구하고 코드를 쓰고 더 공부하는 것 말고 없다.

좋은 코드를 지향하고 계속해서 고민하고 가치관을 쌓아나가자.


03. 클라이밍과 프로그래밍

클라이밍 강습을 처음 받았을 때, 강사 분께서 하셨던 말씀을 감명깊게 들은 기억이 있다.


출처: https://www.reddit.com/r/learnart/comments/1zizip/a_graph_i_made_describing_the_learning_process_in/
해당 그림은 예술과 관련된 분야인데, 구글 검색에서 가장 비슷한 그래프라서 가져와봤다.

해당 강사님 왈,

클라이밍을 함에 있어, 아무리 열심히해도 '아 왜 나는 안되지?', '대체 내 실력은 언제 늘어나는거지?' 싶은 순간이 있는데 그 과정은 당연한 과정이다. 하지만, 계속해서 고민하고 벽에 붙다보면, 어느 순간 실력이 급상승함을 느끼는 구간이 있을 것이다. 해당 순간을 맞이하는 지점은 사람마다 다르고 속도도 다르지만, 언젠가는 마주칠 지점이라는 것은 확실한 사실이다.

정확한 워딩은 잘 기억안나지만, 생각나는 대로 풀어쓰면 저런 느낌이었다.
내가 인생을 살면서 느꼈던 배움 중 하나와 가치관이 매우 맞닿아있어 감명깊게 들었던 기억이 있다.

고등학교 때 대입을 준비하면서도, 대학교때 학점을 딴다고 열심히 노력하는 중에도 항상 '특이점' 이라는게 존재한다고 생각했다. 내가 아무리 못풀고 힘들어해도 어느 순간 그 단어가 외워지고, 이해가 되는 순간이 존재한다. 몇번 곱씹어 읽고 계속 생각하다보면 그 특이점을 마주치거나, 어느 순간 되돌아보면 특이점을 지나쳐와 있었다.

위에 올린 사진에서 노란 원으로 표시된 부분이 내가 생각하는 그 '특이점' 같은 부분인데, 항상 이것을 생각하면서 나는 언젠가 될거라는 믿음을 가지고 공부를 했던 것 같다.

프로그래밍을 업으로 삼기 시작한 후에도, 매일같이 끊임 없이 '대체 이게 뭔가', '왜 나는 이걸 이해 못하는가' 하는 자괴감에 빠져있었다. 그래도 지금까지 계속해서 포기하지 않고, 걸어왔는데, 지금 돌아보면 나는 꽤나 많은 특이점을 지나쳐 왔다고 생각한다.

부트캠프 내에서 많은 사람들에게 지식을 전파하는 순간에 많이 느낀다. 또, 많은 사람들이 그 특이점을 마주칠 때도 많이 마주한다.
스프링 시큐리티와 JWT에 대해 나에게 질문한 동료분께서, '다른 글을 읽어도 도저히 이해가 안됐는데, 설명 듣고 혈이 뚫린 것 같이 이해가 됐어요' 라는 말을 들은 적이 있는데, 나로서도 감사한 일이고, 그 분에게도 작은 특이점을 넘은 순간이라고 생각한다.

특이점을 마주칠 때 깨달을 수도 있지만, 대부분의 경우 이미 지나온 길을 되돌아 볼때 여러 특이점을 넘어 왔음을 깨닫고는 한다. 지금 당장 대체 특이점이 언제 오는지 입벌리고 있기 보다는, 그냥 계속 걸어 나가면 언젠가 뒤돌아 봤을 때 얼마나 높이 올라와 있는지 깨닫는 순간이 온다는 것을 기억하고 앞으로 나아가야겠다.

지금도 너무 넓은 바다에서 헤엄치고 있는 기분이 들지만, 언젠가는 특이점을 만나고 쉬어갈 수 있을 만큼 여유를 느끼는 지점이 있지 않을까 생각한다.


04. 이번 주의 한 문단

궁즉변 변즉통 통즉구

profile
코드 중심보다는 느낀점과 생각, 흐름, 가치관을 중심으로 업로드합니다!

2개의 댓글

comment-user-thumbnail
2023년 1월 17일

므찝니다 므찝니다!!

1개의 답글