4 분 소요

한동안 블로그 포스팅이 끊겼습니다.
이유는 3월에 이직 준비와 이사 등으로 2~3월간 시간적 여유가 없었습니다
포스팅할만한 소재는 많았지만, 포스팅으로 적을 시간이 너무 부족했습니다.
3월 말이 돼서야 이사도 끝나고 새로운 회사로 출근도 하였습니다.
이 독후감은 회사의 온 보딩 기간 동안 책을 주며 독후감을 작성하는 과제 중의 하나였습니다.
좋은 책이고 그간 1년간의 내가 개발자로서 어떤 경력을 가지면서 성장할지에 대한 고민에 좋은 조언이 적혀있는 책이라 이렇게 블로그 포스팅으로도 기술하여봅니다.
이하 독후감부터는 글 작성의 편리함을 위해 평어체로 작성하겠습니다.

프로그래머, 열정을 말하다 (The Passionate Programmer)

필자는 열정이란 단어를 좋아하지 않는다.
개발자를 하기 전 착취를 열정이란 이름으로 포장하여 아름답게 보이게 하는 산업에 종사해서 그런 것 같다.
(곧 어떤 분야 인지 알게 될 것이다)
그래서인지 이 책을 처음 받을때 제목에서 부터 거부감이 들었다.
그러나 책을 읽으면서 책에 쓰인 열정이 앞으로 어떻게 프로페셔널 하게 살 것인가에 대한 마인드셋이라는 것을 깨닫는 데에는 오래 걸리지 않았다.
추가로 만약 개발자나 어떠한 전문 직종에 입문하기 전의 단계에 있는 사람이라면 책을 적극 추천하고 싶다.
좀 더 개발자에 초점이 맞추어져 쓰인 책은 맞지만 전문적인 일을 하는 사람이라면 다 고민 해볼 만한 내용이다.
(적으면서 느낀 점은 요즘 전문적이지 않은 분야가 있나…? 그냥 다 읽는 것을 강추한다.)

책을 읽으며 크게 감명 깊었던 부분 2곳 정도를 말할 생각이다.
여러 내용이 있지만 내가 과거에 왜 개발자를 선택했는지, 현재는 어떠한 마인드로 개발자에 임하는지, 앞으로 어떠한 개발자가 되려 하는지에 가장 공감이 간 부분이라 생각하시면 편할 것이다.

자신의 달걀을 전부 다른 사람의 바구니에 넣지 말라

책내용중 일부
애플리케이션 개발 그룹을 관리하는 동안 한 번은 한 직원에게 이런 질문을 했다.
“경력과 관련해 뭘 하고 싶나요? 뭐가 되고 싶어요?”
다음과 같은 대답을 듣고 나는 엄청나게 실망했다.
“J2EE 아키텍트가 되고 싶습니다”
그래서 나는 이렇게 비꼬듯 되물었다.
“왜, 마이크로소프트 워드 설계자나 리얼플레이어 설치 기사가 되시죠?”

해당 목차의 핵심적인 내용은 한가지 기술만 파지 말고 기술을 깊게 공부해 어떤 기술에서든 통용되는 개념을 이해하라는 뜻으로 받아들여졌다.

이 부분이 가장 인상 깊었던 이유는 위에 말한 개발자를 하기 전 종사했던(사진작가) 분야에서 많이 느꼈던 부분이다.
이해를 위해 조금 더 개인적인 TMI를 말하자면 사진도 인물, 제품, 스냅, 스포츠, 광고 등등 여러 분야로 나누어진다.
저는 그 중 결혼식 사진작가였다. 스냅사진의 일종이라고 생각하면 편할 것이다. 사소한 불만들은 있었지만 활동하던 중 문제가 생겼다.
코로나가 터졌다. 수많은 결혼식이 취소되거나 연기되었고 당연히 프리랜서에 가까운 나는 일이 많이 줄었다. 일도 준 거지만 일하던 스튜디오에서 기존의 결혼식 스냅 분야를 줄이려고 했다.
여기까지만 들으면 뭐가 문제 있나 기존에 일하던 스튜디오에서 일하면 되지 않나? 라고 생각할 수가 있지만 문제는 내가 다양한 사진 분야에 일 할 수 있을 정도로 사진의 이해도가 높지 않았다는 것이다.
사진을 잘 찍으려면 빛에 대해 이해하여야 한다. 마치 개발을 잘하려면 기초 CS를 잘 이해야 하는 것과 같은 맥락이다.
나는 빛을 잘 이해하지 못한 사진작가였고 당연히 스튜디오의 변화에 대응하지 못하였다. (스튜디오는 인물사진과 프로필사진을 좀 더 주력으로 밀고 나가게 되었다.)
그 결과 밀려났다. 정확히는 스튜디오는 나를 더 고용할 이유가 없어졌다.

위 같은 일을 겪고 개발자의 길에 들어설 때는 기초적인 부분에 상당히 집중하고 싶고 지금도 그러하다.
운영체제에 관한 공부를 조금씩이라도 시작한 것이 도움이 된 적이 많았다. 회사 업무로 멀티스레드를 다루게 되었을 때 어떠한 점이 문제인지 쉽게 알게 해주었다.
기초 CS가 꼭 아니더라도 개발경력을 쌓으려고 노력할 때 자바에 한정 지어서 만을 생각하진 않았다.
왜 나의 코드는 테스트가 힘들까?, 왜 우리 팀은 같은 문제가 반복될까? 등의 문제를 좀 더 다루었던 거 같다.
나는 개발자이고 앞으로도 계속 개발자로 일할 생각이기에 전체적인 깊이를 생각하며 개발하고 싶다.
자바/스프링을 하다 파이선/장고로 가야 할 수도 있고 노드js/익스프레스로 가야 할 수도 있다 또는 자바/스프링만 하다가도 스프링MVC를 넘어 Webflux를 해야 할 때가 언젠가는 분명 올 것이기 때문에…

멘토가 되라

책내용중 일부
무엇인가를 정말 배우고 싶다면 그것을 다른 누군가에게 가르쳐 보라.
어떤 것에 대한 이해를 구체화 하는데 가장 좋은 방법은 다른 사람들이 이해할 수 있도록 그것을 표현 하는 것이다.
말을 한다는 것은 단순한 행동이지만 불분명한 사고를 다루는 데는 특효약이다.
인형 같은 물건과 애기하는 것은 소프트웨어개발에서 전승되어온 잘 알려진 문제 해결 수단 중 하나다.

이전 회사에서 업무 중 테스트코드 도입도 해보고 MyBatis-> JPA로 서서히 전환해보았다.
해당 업무를 하면서 알게 된 지식은 꼭 발표하였다.
발표 자료를 이력서에 첨부하고 그것을 바탕으로 좋은 이력서와 면접 시 질문 포인트를 만들려는 이유도 컸지만 당시 팀원들에게 발표하며 기술을 좀 더 내 것으로 만들려고 했던 이유도 있다.
발표하며 느낀 건 내가 잘 무심코 지나친 부분들을 더 상세히 알게 된다는 점이었다.
추가로 오키나 기타 개발 커뮤니티에서 자바 관련 질문들이 올라오면 꼭 읽어본다. (특히 JPA) 내가 몰랐던 문제를 질문한 사람은 문서를 확인하고 답변을 주기도 한다.
이유는 질문자는 내가 놓친 부분, 잘못 이해한 부분을 질문하기 때문이다. 또한 내가 문제라고 생각하지 않았던 부분에 질문이 들어온다.
내 실력을 위해서 그리고 책에서 강조한 나 자신을 브랜딩하라는 조언에 맞춰 지식공유자가 되고 싶은 생각이 크다.
아직은 실력이 부족하여 많은 지식을 전파 할 수는 없지만 언젠간 이 블로그가 혹은 내가 쓴 글이 좋은 글로 많은 지식을 전파할 수 있으면 좋겠다.

해당 위 두 목차 말고도 좋은 내용은 많았다.
‘가장 못하는 사람이 되어라.’ -> 못하는 것을 두려워하지 말고 나보다 더 뛰어난 사람들과 교류하고 소통하여 성장하라
‘연습,연습, 또 연습’ -> 우리는 하나의 전문 직종이다. 연주자가 공연 시간에만 연주한다면 훌륭한 연주자가 될 수 없다. 따로 노력하여 실력을 닦아서 자신을 증명하여야 한다. 등등 여러 내용이 많았다.
관통하는 핵심 내용은 이렇게 생각된다.

프로페셔널하게 일해야한다. 단순히 코드를 잘 짜는것이 개발자의 일의 전부는 아니다. 당신이 프로라면 소통하고 성장하며 가치를 증명하라.

댓글남기기