2023년 회고
2023년은 새로운 시도를 해볼 수 있는 기회가 주어졌던 해였고, 동시에 내가 개발자로서 아직 한참 미숙하단 걸 깨닫고 동기부여를 할 수 있게 해준 한 해였다.
바쁘면서도 모르는 걸 알고 배워가는 기회가 많았는데 그냥 알아가는 게 아니라 몸에 익혀서 한 명의 어엿한 개발자로 될 수 있으면 해서 중요한 부분만 따로 기록한다.
개발자로서의 나
2023년 초는 새 회사로 이직하면서 환경설정과 내가 앞으로 동고동락할 코드와 인사하는 시기였다.
네이티브 앱이지만 하이브리드 앱인 부분도 많아서, 네이티브 앱만 주로 맡아왔던 내게 새로 주어진 코드들은 그 자체로 새로운 도전이었다.
그리고 하이브리드 앱 디버깅에 사용되는 툴들과 앰플리튜드 등 다른 마케팅 툴들의 사용법을 어찌어찌 알아가면서 적응하고, 틈틈이 들어오는 요구사항을 개발해서 배포했다.
또한 처음으로 QA를 거치는 앱 배포 프로세스를 경험했고, 지라를 처음 사용해봤다. 스토리 포인트니 스프린트가 어떻게 되니 처음 듣는 용어들에 정신 없었지만 모두 좋은 분들이셔서 업무 적응은 무리없이 스무스하게 진행됐다.
라고 느꼈던 깜찍한 시기가 있었다. 모든 게 의도한 대로 풀린다면 치트 쓴 게임이지, 인생은 항상 내 앞에 함정 구덩이를 파 놓거나 돌부리를 놔둬서 내가 똑바로 걷고 달릴 수 없게 만든다.
우당탕탕 천방지축이란 말이 어울릴 정도로 앞으로 자빠지고 뒤로 자빠져도 보면서 여러 이슈들과 에러를 만나고 해결했다. 노션에 매일 어떤 업무를 했는지 간단하게 적어두는데, 이 시기에 적었던 노션들을 보면 하나같이 가관이다.
이 과정에서 가끔 멘탈이 꺾인 적도 있는데 어른들 말씀하시길 다 경험이며 모두 나로 인해 벌어진 일들이니 내 팔자요 하면서 태연하게 받아들이려고 노력했다.
그리고 이 실수는 언젠가 반드시 도움이 된다. 고작해야 40도 안 된 나이인데 벌써 내 실수와 경험이 도움된다 아니다 여부는 알 수 없다. 그렇다면 도움이 된다고 믿는 게 마인드 컨트롤 면에서도 좋았다는 걸 아주 잘 깨달았다.
그리고 나는 개발자로서 최고의 덕목은 코드를 잘 작성하는, 속된 말로 코드만 잘 짜면 된다고 생각했다.
하지만 이것은 아주 틀려먹은 생각이었단 걸 깨달았다. 다른 파트의 개발자분들과 비개발직군인 분들과 어떻게 커뮤니케이션하느냐가 가장 중요하다고 생각했다. 특히 커뮤니케이션 과정에서 상대방이 무엇을 원하는지 정확히 파악하는 게 중요하다고 느꼈다.
내게 제시하는 요구사항이 무엇인지 정확히 알고, OS 차이로 구현이 불가능하거나 어려운 부분은 어떤 이유 때문에 어려우니 대안으로 어떤 걸 제안할 수 있어야 했다. 이것을 빠르게 파악하고 상대방이 이해할 수 있는 말로 정제해서 전달하는 과정이 참 어려웠다.
이게 가능하려면 대략 아래의 항목들을 몸에 익히고, 동시에 알고 있어야 한다고 생각한다.
- 상대방의 말을 경청하기
- 상대방한테 핵심을 간결하고 알기 쉽게 전달하기
- 안드로이드 플랫폼, 버전 별 차이에 대해 이해하기
개발자 경력이 짧은데다 어떤 개발자가 되어야 하는지에 대한 글도 읽지 않았던 나한테, 지금 다니는 회사는 방향을 잡아주었다. 정확히 말하면 이 회사의 다른 분들이 그런 것이지만, 아무튼 내가 어떻게 해야 좋은 개발자가 될 수 있는지 힌트를 얻었으니 인생에 있어서 아주 큰 수확이라고 볼 수 있었다.
남은 건 노력해서 결과로 만들어내는 것, 그 과정에서 몰랐던 것과 깨달은 것들을 익히고 어떻게 해야 더 좋은 모습이 될 수 있는지 고민하며 실행하는 것이다.
쉽지 않겠지만 어차피 인생 자체가 쉽지 않다. 끊임없이 노력하는 것 뿐이다.
독서
2023년은 여러 개발서적과 비개발서적을 읽을 수 있던 해였다. 2023년에 읽은 개발 서적은 아래와 같다.
- 코틀린 인 액션
- 이펙티브 코틀린
- 프로그래머의 뇌
- 좋은 코드, 나쁜 코드
- 핵심만 골라 배우는 젯팩 컴포즈
- 필독! 개발자 온보딩 가이드
- 육각형 개발자
- 코틀린 코루틴
- 유지보수 가능한 코딩의 기술 자바편
- 실용주의 프로그래머
- 읽기 좋은 코드가 좋은 코드다
- 심플 소프트웨어
- 커리어 스킬
- 클린 코더
- 테스트 주도 개발
- 그림으로 배우는 HTTP & Network Basic
- 함께 자라기
- 프로그래밍의 정석
업무로 바쁜 것도 있고, 2022년에 읽은 책을 다시 읽기도 하고, 천천히 정독하면서 읽는 맛을 알게 되면서 목표했던 개발 서적 30권 읽기는 절반 정도만 성공했다.
하지만 책의 문자들을 그냥 읽기만 하는 건 의미 없고 그 내용을 어떻게 해야 업무에 적용해서 더 유지보수하기 좋은 코드를 만드는 지가 중요하니, 올해 개발 서적 독파 목표는 10권으로 줄이고 읽었던 책을 반복해서 읽고 정리하는 시간을 가지려고 한다.
읽으면서 연습장에 마음 가는 부분을 필사하고 노션에 기록해 두는 습관도 들이니 원래도 재밌던 책 읽는 게 더 재밌어졌다.
비개발 서적은 아래와 같다. 밀리의 서재를 시작하게 되면서 출퇴근 길에 틈틈이 읽거나, 목에 칼이 들어와도 더 이상 개발 관련 내용은 쳐다도 보기 싫을 때 읽었다.
- 논어
- 소학
- 맹자
- 명상록
- 부자의 그릇
- 당신의 인생이 왜 힘들지 않아야 한다고 생각하십니까?
- 마흔에 읽는 쇼펜하우어
- 마흔에 읽는 니체
- 쇼펜하우어의 의지와 표상으로서의 세계
- 다산의 마지막 공부
- 다산의 마지막 습관
- 다산의 마지막 질문
- 오만과 편견
- 인간실격
어째선지 동양 고전과 철학 분야에 손이 갔다. 가장 큰 이유는 난 정말 나를 제대로 알고 있는가? 라는 질문에서 시작됐다. 그러나 짧은 가방끈으로는 알 길이 없으니, 의지할 곳은 책 뿐이었다.
특히 논어와 다산 3부작을 읽고 많은 도움을 얻었다. 옛 성현들도 나와 비슷한 고민을 했었고, 내가 생각지도 못한 부분에 대해 말해주기도 해서 나와 내 주변을 이루는 사람들, 환경에 대해 다시 생각해볼 수 있는 계기를 만들어줬다.
다산 3부작은 뭔 책인가 싶어서 다산의 마지막 공부부터 읽었는데, 한 권 읽고 보니 재밌기도 하고 깨달음을 얻는 느낌이 들어 다른 2권도 모두 읽었다. 문장만 놓고 보면 어려운데 해석과 다른 사례를 들어 설명하고, 마지막에 챕터를 마무리하는 글귀를 보며 생각 정리에 많은 시간을 들였다.
이렇게 독서를 하면서 1회독으로 끝내기엔 아쉬운 책이 너무 많다. 그런 책들은 아직 읽지 못한 책들을 마저 읽고, 나중에 시간이 날 때 다시 읽어보며 처음 읽었을 때 했던 생각과 다시 읽으며 드는 생각을 비교하면 좋을 듯하다. 그 때는 사람으로서든 개발자로서든 좀 더 성장해 있는 나일 테니 지금과 다른 시야를 갖고 있어서 좀 더 이해를 깊이 할 수 있지 않을까 하는 기대도 있다.
2024년에 목표로 잡은 개발 서적은 아래와 같다.
- 레거시 코드 활용 전략
- 헤드 퍼스트 디자인 패턴
- GOF의 디자인 패턴
- 디자인 패턴의 아름다움
- 객체 지향과 디자인 패턴
- 단위 테스트
- 리팩터링 2판
- 객체 지향의 사실과 오해
- 오브젝트
- 쏙쏙 들어오는 함수형 코딩
비개발 서적은 아래와 같다.
- 시경
- 장자-내편
- 이한우의 주역 : 입문
- 오십에 읽는 주역
- 대학·중용
- 강의
- 담론
- 이어령의 마지막 수업
- 사는 게 힘드냐고 니체가 물었다
- 마음
- 도련님
- 사양
- 설국
- 사는 게 고통일 때, 쇼펜하우어
어디까지나 목표일 뿐이고 중간에 더 읽고 싶어지는 책이 있으면 바뀔 수 있다.
올해 연말에 다시 회고할 때 어떤 책을 어떤 이유로 빼고 다른 책을 읽게 됐는지도 비교해보면 재밌을 듯하다.
일본소설들도 몇 권 읽어보려고 한다. 나츠메 소세키의 마음, 도련님, 사양과 카와바타 야스나리의 설국인데 한글로 읽어보고 원서도 구해서 읽을 계획이다. 장르는 가리지 않고 끌리는 대로 읽는 게 좋다고 생각하고, 뭣보다 재밌어서 소설도 목표에 넣었다.
식상한 말이지만 천 리 길도 한 걸음부터다. 불가능해 보이는 목표라도 한 발짝 내딛었다면 관성이 생겨 끝까지 밀어붙일 수 있는 힘이 생기고, 그 속에서 재미를 찾아내면 가속력은 더욱 붙게 마련이다. 2024년의 독서 목표와 다른 목표들도 어떻게든 이뤄 보겠다고 발버둥치기보다 기준을 세워 행동하고, 마음 가는 대로 읽으면서 생각하고 정리하려고 한다.
깡으로든 뭐든, 그냥 하자. 나를 죽이지 못하는 고통은 나를 강하게 해 줄 뿐이다.