[리뷰] 스트리트 코더

이론에는 없던, 실전 압축 개발 기술

Jinhwan Kim
6 min readNov 20, 2023

학교에서 졸업하고 난 뒤에 자주 듣게 된 단어 중 하나는 “전공자”로, ‘컴퓨터공학을 전공하진 않았지만 개발을 독학했다’와 같은 맥락에서 자주 쓰인다.

비단 학부만이 아니라, 요즘에는 “AI 대학원”의 방향에서 대학원으로도 전공자를 언급하는 것을 자주 듣게 된다.

도대체 “전공자”는 비전공자에 비해 어떤 것이 다른 것일까? 라고 하면 컴공을 애매하게 전공한 사람으로써 되돌아보면 크게 3가지라고 생각한다.

컴공커리큘럼
  • 프로그래밍 언어를 1~2주당 하나씩 찍먹해보는 “아주 약간의” 개발 경험
  • 컴퓨터 과학을 지탱하는 여러 이론들. (알고리즘, 데이터구조, 이산수학, OOP, 머신러닝, 컴퓨터구조 등)
  • 공식적인 커리큘럼에는 없지만, 가장 도움이 된 실전 잡기술로 에러 메세지 구글링, 디버그를 위해 스택오버플로우 뒤지는 방법

정도가 있겠다.

이러한 “전공자들의 경험”은 자스를 기반으로한 웹 개발과 파이썬을 기반으로 한 딥러닝이 대세인 요즘에는, 개발에 크게 도움이 되지 않는 경우도 있다.

심지어 사람에 따라서는 chatGPT나 잘 만들어진 IDE가 생산성에 더 효과적일 수도 있다.

연구가 그러하듯, 개발도 이론(학교)과 실전(회사)에는 적지 않은 차이가 있다.

예를 들면, 코드의 정상 작동을 “보장하기 위한” 테스트가 좋은 것은 모두가 알고 있을 것이다.

그러나 현실에서는 테스트 코드를 짜는 일정보다 (더 많은 버그를 만들어 낼 수 있는) 새로운 기능 구현이 더 우선순위가 높아지는 경우가 있다.

MSA와 모노리스, MVC를 시작으로 여러 디자인 패턴들, 0.1초를 개선하기 위한 리팩토링과 최적화 등…

수많은 시도에 따른 결과물들은 이론에서 다루지 않거나, 다루더라도 모범 사례 정도만 다뤄지지 “왜” 에 대한 맥락을 다루는 경우가 거의 없다.

개인적으로는 개발에 쓰이는 이론을 많이 아는 것보다, 이러한 “잡기술”들을 많이 알고 있는 것이 “시니어 개발자”에 더 가까운 이미지라고 생각한다.

잡기술 경험치를 쌓는 방법은 아래 정도가 알려져 있다.

  • 업무 중 사고를 치며 배운다. (끔찍하지만) 프로덕션 DB를 한번 날려본다면 DB의 접근 권한을 분리해야 한다는 것을 배울 수 있다.
  • 고수/시니어 개발자에게 “구전문학”으로 전수 받는다. 같은 조직, 팀에 있다면 베스트겠지만 여차하면 컨퍼런스나 세미나, 멘토링 같은 외부의 방법도 있다.
신뢰의 개발자상…

뭐가 되었던 직간접적 실수와 경험을 통해 배워야하고, 무엇보다 이런 실수를 “커버할 수 있는” 사람들과 함께 해야한다는 “인복”이 어마어마하게 중요하다. (평소에 착하게 살아두자)

그런데, 최근 “개발 잡기술”을 다루는 책이 출간되었다. 개인적으로는 순한 맛, 개발자 판 세이노의 가르침 정도라고 생각된다.

저자는 세다트 카파노글루(미디엄 링크)로 아래 특징들을 가지고 있다.

  • 독학으로 프로그래밍을 시작
  • HTML이 아닌 어셈블리에서부터 시작
  • 터키 출신으로 MS를 포함해 약 30년 정도의 개발 경력을 가짐
  • 현재는 “엑시 쇠즐”이라는 터키의 SNS 플랫폼 창업자
  • 무엇보다 신뢰의 개발자상…

책의 주된 내용은 이론, 안티패턴, 테스트, 리팩토링, 보안, 최적화, 버그 등 흥미가 가는 제목들로 구성되어 있고 (진심 목차라도 보길 추천한다) 내용 또한 흥미롭다.

또한 매끄럽게 번역되어서인지 다소 투박할 수 있는 내용들이지만 개발 업무를 하고 있다면 별 무리 없이 술술 읽을 수 있다.

아쉬운 점이라면 책에서 다루는 예시로 C# / Java를 사용하기 때문에 일부의 내용은 와닿지 않는 점도 있지만, 크게 지장이 될 정도는 아니다.

앞서 책의 내용이 “흥미롭다”고 했는데 대부분의 구성은 아래와 같다.

A의 예시로는 (책보면서 감탄했던 내용이다) If/Else 를 쓰지마라, 코드 주석을 작성하지 마라와 같은 내용이 있으며, 놀랍게도 내용은 꽤 합리적이다.

뿐만 아니라 애매한 개념들. 가령 테스트가 좋지만 구체적으로 어떻게 짜는것이 좋은 테스트인지. 와 같은 온라인에는 잘 나와 있지 않은 애매한 부분들도 경험에 근거하여 잘 다뤄주고 있다.

이 책에서 채감되는 유일한 단점은 가격이 아닐까 생각한다. 보통의 (얇은) IT 도서들은 2만원 언저리라고 생각하고 있었는데 이 책은 앞자리가 3으로 시작한다 ㅋㅋ

그러나 많은 인터넷 강의나, PDF 전자책들을 비교 대상으로 본다면, 담고 있는 내용을 고려하면 여전히 혜자인 가격이라고도 볼 수 있겠다.

읽었던 많은 IT 책들이 대부분 엔트리 ~ 주니어급에게 도움이 되겠다 라는 생각이 들었는데, 이 책은 중니어 혹은 물경력으로만 쌓인 고연차급 개발자 들에게 더 효과적일 것이라 생각한다.

개발 지식을 전반적으로 다루지만, 입문서처럼 자세한 설명으로 시작하기 보단, “이거 알지? 근데 이거 문제가 있다?” 의 톤으로 보이는 부분이 꽤 있기 때문에 “이거 알지?” 가 되는 사람들에게 도움이 될 수 있고, 오히려 뭐가 있는 지도 잘 모르는 사람에게는 그 자체로도 챌린징할 수 있는 것들이 있다.

저~중년차급 개발자들 모아서 스터디를 하기에도 충분히 좋은 책. 2023 애옹킴 권장도서에 입장~

길벗출판사의 개발자 리뷰어 활동을 위해 책을 제공받아 작성된 서평입니다

--

--