August 18, 2022
최근에 ”함께 자라기” 읽다가 개발 공부를 하면서 내가 경험했던 일들이 기억이 나서 생각이 많아졌다. 그리고 지나간 일을 되돌이켜 보면서 내가 그동안 변하려고 노력한것, 그리고 내가 앞으로 해야하는 것들에 대해서 정리해보려고 한다.
요즘 어떻게 하면 질문을 잘 할 수 있을까 고민을 많이 한다. 누군가에게 질문을 할 때도 최대한 정리해서 말하는 습관을 들이려고 하고 있다. 어떻게 정리해서 말하면 답장을 하는 사람의 입장에서 질문의 내용을 빨리 이해할 수 있을까 생각한다. 개인적인 생각이지만 질문에 대답을 하는 것도 있고, 질문을 이해하는데 힘들기까지 한다면, 상대방이 아무리 한가해도 반가워하지 않을 것 같다는 생각이다. 물론 아닌 사람도 있겠지만… 이 부분은 개인적인 나의 노력일 뿐이다.
요즘같이 공부를 하는 동료들과 서로 질문을 주고받는 일이 잦아지고, 의사소통하는 시간이 많아졌다. 나는 여태 내 의사소통 능력에 문제가 없다고 생각했지만 ”함께 자라기” 책을 읽고 ”더 좋게 말할 수 있었을 텐데..”라고 느낀점이 많았다. 여태까지 동료가 모르는 것을 나에게 질문을 했을 때, 답을 알려주거나, 설명하는 것에만 집중했다. 문제를 공감해 주거나, 이해하려는 대화를 하려고 하지 않았다.
함께 자라기 책에서는 아래처럼 예시를 들고 있었다. 물론 사수와 부사 수의 입장이기도 하고, 첫 번째 실제로 이렇게 대화하는 사람이 있나? 싶을 정도로 극단적이지만 예시로 나와있었다.
해당 글을 읽고 나는 동료의 문제를 공감하고 같이 고민해 줄 수 있는 사람이 되고 싶었다. 지금은 실제로 실천하려고 노력하면서, 효과가 있는 것을 느끼고 있다. 요즘 자주 소통하는 준영 님과의 대화도 더 긍정적으로 변하는 것 같고, 정말로 뭔가 말로는 표현할 수 없는? 느낌적인 느낌이다…
요즘 내가 학습하던 방식도 많이 바뀌었다. 예전에는 정말 넓게 많은 것을 알아야 해! 느낌이었다면 지금은 하나를 공부하더라도 제대로 공부하는 마인드로 공부에 임하고 있다. 예전에 나에게 많은 도움을 줬던 형이 해주던 말이 몇 개 있는데, 아직도 기억에 남는다.
개발 공부에 지름길은 없다. 제대로 가는 게 가장 빠른 길이다.
처음에는 이 말이 나에겐 그렇게 와닿지는 않았지만, 시간이 흐를수록 정말 좋은 말씀을 해주셨다고 느꼈다. 위 사진에서는 야구를 예로 들었지만, 내가 공부하는 프런트엔드는 끊임없이 새로운 기술들이 등장하고 있다. 여기서 내가 생각하는 새로운 기술이란 것들은 기존에 것을 더 좋게, 편하게 발전시킨 것이다. 그렇기 때문에 결국 기초, 동작 원리만 알고 있다면 새로운 기술을 터득하는 데에 아무 거리낌이 없다는 것이다.
과거에 나는 프로젝트를 하면서 어떻게든 악착같이 빠르게 프로젝트를 완성시키려고 잘 알지도 못하는 기술 스택들을 공부해서 사용했다. 그 기술들이 어떤 원리로 동작하는지 전혀 모르고 말이다. 단순히 사용방법만 알면 되는 거지라는 생각으로 공부했다. 이것은 잘못된 공부 방법이었다. 뛰어난 개발자는 나무를 베는데 8시간이 주어지면, 7시간을 베는 도구를 연구하는 데 사용해서 전기톱으로 5분 만에 모든 나무를 자르고, 초보 개발자는 무딘 도끼로 나무를 8시간을 벤다고 한다. 나는 누가봐도 후자에 해당되는 개발자였기에 내 자신이 너무나 부끄러웠다. 그리고 다시는 이렇게 공부하지 않겠다고 다짐했다.
초급 개발자가 망치만 사용할 줄 안다면, 땅을 파는데에도 망치를 쓸 것입니다.
또한 요즘 블로그 글을 자주 읽는데, 유명한 분의 블로그 글을 보다가 가끔씩 하나하나 차근차근 공부하다 보면 결국 하나의 퍼즐 조각처럼 맞춰진다는 글을 본 적이 있다. 나도 최근에 자바스크립트 코어에 대해서 깊게 공부해 보면서 내가 공부했던 this, 실행 컨텍스트, 프로토타입, 호스팅 같은 기본적인 것들이 다 연관성이 있는 것을 알게 되었다. 그리고 자바스크립트 코드가 어떻게 동작하는지 퍼즐처럼 맞춰지는 깨달음을 얻은 적이 있었다. 물론 그분의 깨달음에 비해서 내 깨달음은 작고 초라하지만, 앞으로도 기초부터 제대로 공부해야겠다고 다짐하고 또 다짐했다.
도망친 곳에 낙원은 없다.
사진만 봐도 눈물이 나온다… 어디를 가든 이겨내지 못하고 도망간다면 똑같은 고통일 뿐이다. 내가 생각하기에 가슴에 박히는 띵언이다. 공부를 제쳐두고 신나게 놀 때마다 이 문장이 생각난다. 그럴 때마다 어지러운 마음을 가라앉히고 다시금 공부에 집중할 수 있게 해준다. (물론 노는 것이 나쁜 것은 아니다!!)
요즘은 학습을 할 때 책을 자주 읽는 편이다. 내가 읽는 책들마다 전부 기술 서적들이다. 왜 그런지 봤더니 내가 공부하고 싶은 책이나, 주변에서 추천받은 책들을 위주로 읽다 보니 기술서적이 아닌 책은 ”함께 자라기” 밖에 없다… 워낙에 어릴 때 책을 많이 읽던 편이 아니라서 나의 궁금증을 유발하는 기술서적이 아닌 책은 우선순위가 아래로 내려간 것 같다.
최근에는 실전 리액트 프로그래밍 책을 보고 있는데, 정말 재미있게 읽고 있다. 물론 2019년에 나온 책이라 React 스펙이 많이 변했다고 하지만, 읽으면서 이만한 책이 없다고 느낀다. 하나하나 예제로 되어있어서 직접 쳐보면서 공부하기에도 편하고 책을 쓴 사람의 노력이 담겨있는 책이다. 읽으면서 다른 사람의 노력의 결과물을 삽질 없이 책으로 흡수할 수 있다는 게 뭔가 죄송스럽기도 하고, 감사하기도 하다.
그래서 앞으로는 개발 서적 말고도 다른 책들을 접해보려고 한다. 예전에 읽으려고 사놓고 책장에 고이 모셔둔 책들을 꺼내야겠다… 근데 막상 꺼내도 아직 못 읽은 개발 서적들을 읽고 읽을 것 같다.
최근 들어 열심히 알고리즘을 풀기 시작했다. 그전에는 프로그래머스로 알고리즘을 풀었다면 이제는 더 많은 문제들을 풀어보고 싶어서 백준에서 Node.js로 풀고 있다.
6월부터 하루에 2문제를 목표로 풀었던 문제를 표에 정리하고 있다. 블로그를 살펴보다가 이렇게 알고리즘을 정리하시는 분들 발견하고 시작했다. 확실히 내가 아는 것과 모르는 문제를 구분할 수 있고, 복습하기도 좋아서 하길 잘한 것 같다는 생각이다. 물론 목표는 하루 2문제고, 다른 공부에 쫓겨 하루에 1문제만 풀거나 복습만 하는 경우도 있지만, 포기하지 않고 꾸준히 하는 것을 목표로 삼고 있다.
알고리즘을 풀면서 느낀 거지만 뭔가 재미있기도 하면서 접근하기 어려운 문제를 만나는 만큼 힘든 것도 없다. 알고리즘을 잘하는 분들의 글을 보면, 30분 고민하고 1시간 풀고 안되면 답을 보라는 글이 많았다. 결국 문제는 돌고 돌기 때문에 그런 것 같지만, 문제를 풀다가 그만두면 똥 싸다 끊은 기분이라 포기하기가 쉽지 않다. ㅋㅋㅋㅋ 가끔 문제에 3시간씩 쓰다 보면 정말 그만 풀어야하나 생각이 들때도 많았지만, 그래도 어느새 백준 100문제를 푼 것을 보니 뿌듯하기도 하다..
한동안 매일매일 TIL을 열심히 작성했었다. 계속 써온 글들을 보면 뿌듯하기도 하고, 그때는 그랬구나.. 하고 자신을 되돌아보게 된다. TIL을 처음 작성했을 때는 새롭게 알게 된 것이 많아서 적을게 많은 것이 고민이었다. 하지만 점점 시간이 흐를수록 적을 내용도 적어지고, 어느새 하루 일과를 적는 일기가 되어버렸다. 물론 없던 일을 쥐어짜낸다면 적을 것이 생기겠지만, 굳이 그러고 싶지는 않았다.
그래서 차라리 정리해서 블로그에 아티클로 남기려고 하고 있다. 요즘에는 그날 공부한 것이나 새롭게 알게 된 내용을 노션에 정리한다. 노션에 정리를 하다 보면 새롭게 알게 되는 부분과, 사람들에게 공유하고 싶은 키워드가 생길 때마다 공부하고 정리해서 블로그에 아티클로 옮기고 있다.
블로그 글을 쓸 때마다 남들 블로그처럼 재미있게, 참신하게 쓰고 싶지만, 쉽지가 않다. 글을 많이 안 써봐서 글솜씨가 많이 부족해서 그런 것 같다. 주변 사람들 말로는 글도 쓸수록 실력이 는다고 하는데, 언제쯤 잘 쓰게 되는 날이 올지는 모르겠지만, 앞으로도 계속 꾸준히 글을 쓰면서 블로그 활동을 해야겠다.