한빛출판네트워크

IT/모바일

더 나은 프로그래머 되는 법

지금 바로 실천할 수 있는 선배 개발자의 39가지 노하우 / 국내 개발자 8인 인터뷰 수록

한빛미디어

번역서

판매중

더 나은 프로그래머 되는 법
좋아요: 3

합계 : 27,000

  • [저자] 피트 구들리프

    프로그래머이자 소프트웨어 개발 칼럼니스트이고, 음악가이며 작가다. 소프트웨어 업계에서 그는 특정 영역에 머무르지 않는다. OS 개발부터 오디오 코덱, 멀티미디어 애플리케이션, 임베디드 펌웨어, iOS 애플리케이션 개발, 데스크톱 애플리케이션 개발에 이르기까지 그의 손이 닿지 않은 곳이 드물다. ‘더 나은 프로그래머 되기’라는 칼럼을 매거진에 기고하고 있고, 다양한 소프트웨어 개발 서적의 저술에 참가했으며, 정기적으로 소프트웨어 개발 주제에 대한 발표를 진행 중이다.

    [역자] 최원재

    서울대학교에서 기계설계항공공학부를 졸업한 뒤, CJ올리브네트웍스에서 일하고 있다. 웹 애플리케이션부터 자바 서버 애플리케이션, 피처폰 애플리케이션, 윈도우 음악 스트리밍 애플리케이션, 대다수 스마트폰 OS 애플리케이션 등을 개발했었다. 이후 기술자 조직 관리, 디지털 전략 수립 등의 업무를 수행하며 다양한 분야에 관심을 두고 있다. 모든 IT 엔지니어들의 성장을 기원한다.

     

    [역자] 강전희

    컴퓨터공학과 인공지능을 공부했으며, 게임 회사를 거쳐 현재 티빙에 재직 중이다. AI, 빅데이터, 정보 보안, 온갖 Gadget과 업무 자동화 등에 관심이 많다. 국내 최초로 MCN 사업인 DIA TV를 런칭한 경험을 바탕으로 사업 개발, 광고 영업, 광고 데이터 분석을 해왔으며 현재 클라우드 엔지니어로 일하고 있다. 국내 FinOps 문화 정책과 클라우드 기술 공유를 위해 노력하고 있다.

    [역자] 안재덕

    과거 CJ ENM, CJ올리브네트웍스 소속으로 오픈 API와 WEB 서비스, 기업용 ERP, 병원용 애플리케이션, 안드로이드 애플리케이션을 개발했다. 현재는 인터파크트리플 소속으로 라이브커머스 서비스, 티켓팅 서비스의 백엔드 개발의 리더로 업무를 진행하고 있다. 항상 새로운 언어와 환경에 최적화된 개발자가 되기를 희망한다.

    [역자] 남윤화

     

    한국항공대학교에서 전자 및 항공전자공학 심화 과정을 전공했다. CJ올리브네트웍스에서 웹 개발을 하고 있다. 평소 프런트엔드, 백엔드, 인터페이스에 관심이 많으며 여전히 여러 분야에서 깊게 발 밑 땅을 파고 있다.

     

    • 이 책은 좀 특별합니다. 

      더 나은 프로그래머 가 되려면, 개발 Skill을 늘려야 할까요? 다양한 언어를 잘 다루어야 할까요? 

      조금 연차가 쌓이고, 경험이 많아지고 요즘 ai를 통해서 코드 생성 및 활용도가 높은 상황에서

      우리는 어떻게 접근해야 좋은 프로그래머가 되는지 고민이 되는 시점이라고 생각합니다.

       

      이 책은 그런 부분에서 개발서적 중에서 좀 특별하게 다가오는 책입니다.

       

      이 책을 먼저 리뷰하신 베타리뷰어의 글을 보면, 특별한 멘트들이 적혀있습니다.

       

      "어떠한 것들을 갖추고 배워야 하는지 알려주는 멘토 같은 책"
      "프로그래머의 심리에 대해 깊숙이 다루는 몇 안되는 책"

       

      심리라는 부분에 대해서 매우 새로웠습니다.

      일반적인 개발가이드 및 온보딩, 신입개발자들에 대한 가이드 책등은 많이 있습니다.

      이책은 어떠한 부분이 그렇게 다가오는지 살펴보려고 합니다.

       

       

       

       

      ■ 책의 구성

      · 총 5개의 Chapter로 구성되어 있습니다.

      [1부 | you.write(code);]

      [2부 | 연습을 통해 완벽해진다]

      [3부 | 개인적인 일로 받아들이기]

      [4부 | 일 끝내기]

      [5부 | 사람의 일]

       

      각 항목별로 개별적으로 구분되어져 있기 때문에, 각각 관심있는 부분부터 읽어보시도 무방합니다.

      목차를 보시면 3부, 4부, 5부의 목차를 보면 기본에 출간된 책과 다른 느낌을 받으실 수 있습니다.

      특히 5부의 내용은 베타리뷰의 의견처럼 심리에 대한 부분을 다루고 있어서 특별하게 생각됩니다.

       

      ■ 1부 | you.write(code);

      기본적으로 코드에 대한 부분을 설명합니다.

      코드 작성, 읽기, 설계, 견고한 코드에 대한 부분을 설명합니다.

       

      · 어떻게 보면, 당연한 사항인데 평소에 고민을 안해보면 놓칠수 있는 부분이 좋았습니다.

      주석에 대한 부분이 있는데, 처음에는 보기 좋은데, 나중에 관련 소스를 변경하게 된다면, 불편함을 가질수 있는 부분입니다.

       

       

      생각해보면 해당 주석은 처음에는 귀엽고, 보기 좋지만, 나중에 주석을 추가하게 되나면, 맨 뒤에 * 을 맞추는 불편함이 추가적으로 필요해서

      반대로 생각하면 안좋은 불편함을 가지게 됩니다.

       

      · 명명 (이름짖기)

      개발하면서 제일 어려운 부분이 이름짖는 부분입니다. 클래스, 변수, 메소드 등등 

      특히 우리가 알고 있는 영어 단어들이 한정적이기 때문에 다양성이 부족하게 됩니다. 또 보통 한번 사용하게 되는 이름을 반복적으로

      사용하는 경우가 많은데, 우리는 기준이 필요하고 그러한 기준을 세울수 있다면 앞으로의 개발자로써 좋은 프로그램의 밑바탕이 됩니다.

       

      · 다양한 기준

      코드 줄여 개선하기 : 이거는 글만 보면 모두 당연하게 생각하지 않을까? 

      테스트 하기 : 무조건 하는 것인 필요하다고 생각한다. 하지만 테스트를 언제 해야 할지, 어떻게 하는게 좋을지 기준이 있는가?

      기술적인 부채 등등 다양한 관점으로 코드를 작성할때, 도움이 많은 생각을 하게 됩니다.

       

       

      ■ 2부 | 연습을 통해 완벽해진다

      코딩 업무에 대한 건전한 태도와 접근 방법을 살펴보고, 더 나은 코드를 고안하는데 도움이 되는 기법을 전반적으로 설명합니다.

      14장 소프트웨어 개발이란
      15장 규칙 가지고 놀기
      16장 간결하게 하기
      17장 머리 쓰기
      18장 변하지 않는 것은 없다
      19장 코드 재사용 사례
      20장 효과적인 버전 관리
      21장 골키퍼 있다고 골 안 들어가랴
      22장 프리징된 코드의 신기한 사례
      23장 제발 저를 출시해주세요
       

       

      설명되어지는 부분은 기술적인 부분 보다는 조금 이론적인 부분 및 접근법에 대해서 언급을 합니다.

      이러한 이론적인 부분을 설명하는 방식을 약간 에세이, 기고글처럼 풀어나가는 기법이 인상에 깊습니다.

      다시 한번 어떻게 접근해야 할지 생각할수 있는 요소가 많습니다.

       

       

      ■ 3부 | 개인적인 일로 받아들이기

      효율적으로 배우는 방법, 도덕적으로 행동하는 방법, 자극적인 도전을 찾아내는 방법, 번아웃을 피하는 방법, 육체적으로 건강해지는 방법등을 살펴봅니다.

       

      3부의 내용을 읽어보고, 특별한 것이 없고 "나는 잘하고 있는데..." 라고 생각이 들고

      책에서 언급하는 사항중에 많은 부분이 당연하다고 생각이 들면 좋은 프로그래머로 성장을 하고 있다고 생각하면 될것 같습니다.

       

      · 세부적으로 하나하나에 대해서 실행 아이템에 대해서 구체적인 요소들이 설명되어 지는 부분이 많이서 

      조금 더 구체적으로 기준을 세우는데 도움이 됩니다.

       

       

       

       

      ■ 4부 | 일 끝내기

      목표에서 벗어나거나, 일정을 지연시키지 않고 정해진 시간 안에 업무를 완수하는 방법에 대해서 알아봅니다.

       

      누구나 궁극적으로 업무를 빨리 마치고, 그리고 그 업무는 원하는 요구사항을 잘 수행하고 오류없이 동작되기를 원합니다.

      그리고 정해진 시간에 마무리 하여서, 여유를 가지고 싶습니다.

       

      · ‘더 열심히’보다는 ‘더 현명하게’

      너무 와닿는 멘트입니다. 열심히 도 좋지만, 현명하게 라는 단어가 더 선호하는 단어입니다.

       

      해당 내용은 다른 분야에서도 적용해도 되는 내용입니다.

      이러한 부분은 경험이 있는 분들도 있고, 개인차가 있다고 생각이 듭니다.

      책을 통해서 생각에 대한 Remind되는 점을 느낄수 있습니다.

      - 해야 하는 것만 해라.

      - 우선순위를 설정하라

      - 정말 필요한 것은 무엇인가

      - 문제를 미루고 쌓아두지 말라

      - 자동화하라

      - 작고 간결하게 유지하라

      등등 많은 부분이 있다 이러한 당연한 이야기 이지만, 실제 우리는 어떻게 기준을 잡고 접근하는지 살펴볼수 있는 부분이다.

       

       

      ■ 5부 | 사람의 일

      다른사람과 협업하는 방법에 대해서 소개한다.

       

      34장 사람의 힘
      35장 생각이 중요하다
      36장 말하기!
      37장 선언문
      38장 코드 찬가
      39장 태도가 핵심이다

       

      5부애서 나오는 내용입니다.

      코드적인 부분이 없지만, 이러한 부분에 대해서 고민을 하고 자신만의 올바른 기준이 있어야지

      더 나은 프로그래머가 되는 소양이라고 생각하는 좋은 내용입니다.

      단순히 코드적으로만 동작되는 소스작업이 좋은 프로그래머가 아니라는 생각을 가지게 합니다.

      여러사람이 함께 모여서 하나의 목적을 가진 개발 SW제품이 나오기 때문입니다.

       

      추가로 이 책의 가장 큰 장점은 각 항목마다 있는, "생각해보기" 부분이라고 생각이 듭니다.

      각 질문마다 가만히 나 자신에게 질문하고, 어떠한 답변을 할수 있을지 생각을 해본다면,

      다양한 생각들이 정리가 되고, 어떠한 것이 나의 머리속에 기준으로 잡고 있는지 생각해볼수 있는 경험을 

      하실수 있습니다.

       

       

       

       

    • 한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.

       

      Intro

      2024년 두 번째 기술책이다. 최근 다양한 책들을 접하고 프로젝트도 하고 있기에 시간이 부족하여 완독이 어려워지고 있다. 그럼에도 불구하고 이 책은 읽기 쉬울 것 같기도 하고 '더 나은 프로그래머가 되기 위해서는 어떤 걸 더 해야 할까?'라는 궁금증이 생겨 읽게 됐다.

      Book Review

      반성하게 되는 책

      이 책은 프로그래머로서 어떻게 성장해야 하는지에 대해 다루고 있다. 책을 읽으면서 나는 이런 부분을 놓쳤구나, 이런 부분을 더 신경 써야겠다는 생각이 들었다. 책을 읽으면서 반성하게 되는 부분이 많았다. '나는 코드에 신경을 쓰고 있는가?', '내가 쓴 코드를 다시 보는가?', '테스트 코드를 작성하는 것이 중요한가?' 등. 이런 부분들을 다시 한 번 생각해보게 되었다.

      선배가 알려주는 책

      책을 읽으면서 선배 프로그래머가 하나하나 알려주는 느낌이 들었다. 프로그래머로서 어떻게 생각하고 행동해야 하는지 등의 노하우. 그런 노하우를 배운 느낌이 들었다. 나는 분명히 지금 회사에 다니고 있지도 않고 선배도 없는데 선배가 생긴 듯한 느낌. 책에서도 '마치며' 부분에 '생각해보기'가 있는데 거기에 적힌 질문 외에도 생각해볼 만한 것들이 많았다. 나중에 기회가 된다면 다른 사람들과 이 책으로 간단하게 스터디를 해보고 싶을 정도이다.

      대상 독자

      프로그래머로서 성장하고 싶은 사람이라면 읽어보면 좋을 것 같다. 특히 신입, 주니어가 읽으면 좋은 책이지 않을까 싶다. 학생도 좋다. 나도 학생이니까. 이 책을 읽으면서 반성하고 더 나은 프로그래머로 성장하고 싶은 사람이라면 추천한다.

    • 더 나은 프로그래머 되는 법의 저자인 피드 구들리프는 단순 코드 작성법 뿐 아니라 협업 기술 등 전반적인 성장이 필요하다고 제안합니다.

      이런 필요를 채우기 위해 이 책을 발간하게 되었는데요.

      책은 개발에 관심 있는 독자라면 누구에게나 도움이 되도록 구성되어 있습니다.



      경험이 많은 시니어 개발자도 책을 통해 새로운 인사이트를 얻을 수 있고요.

      신입 개발자는 팀 일원으로서 팀에 기여하기 위해 어떤 것들을 갖추고 배워야 하는지 알려주는 책입니다.



      이 책은 각 장마다 독립적인 주제를 다루기 때문에 필요에 따라 원하는 부분을 선택해서 읽으시면 되도록 구성이 되어 있습니다.

      책은 5개의 큰 이야기 줄기를 갖고 있는데요.


      1부에서는 코드에 대한 이야기로 코드 작성 시 중요한 기법과 함게 가장 훌륭한 코드를 작성하는 방법에 대해 설명해 줍니다. 

      아무래도 신입 개발자가 선호하는 부분일 것 같은데요.




      2부에서는 코딩 업무에 대한 태도와 방법을 소개하고 더 나은 코드를 고안하는데 필요한 기법을 설명해 줍니다.


      3부에서는 코더 개인의 이야기를 담았는데요. 꼭 필요한 내용으로 채워집니다. 효율적으로 배우는 방법, 도덕적으로 행동하는 방법, 자극적인 도전을 찾아내는 방법, 번아웃을 피하는 방법, 육체적으로 건강해지는 방법입니다.

      ?
      4부는 프로젝트를 정해진 시간 안에 완수하는 방법을 설명하고요.

      마지막 5부에서는 소프트웨어 업계에 있는 다른 사람들과의 협업하는 방법에 대해 소개합니다.




      부록에는 국내 개발자 8인의 이야기가 담겨있습니다.

      한국을 대표하는 개발자들이 중요하게 여기는 것이 뭔지 궁금하지 않으세요.

    • "한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

       

      어쩌다 보니 바쁘단 핑계로 서평을 몇번 건너 뛰어서 이번엔 시간 좀 되겠지 했는데...

      왠걸? 정신없는 와중에 거의 마감일이 다 되어서야 책을 열어 보게 되었다.

       

      책 표지에 이렇게 적혀 있다. "지금 바로 실천할 수 있는 선배 개발자의 39가지 노하우"

      내가...올해...20년 차던가....뭐 중간중간 좀 놀긴 했지만....어쩌면 이젠 선배의 선배가 되어도 이상하지 않을....

       

      개인적으로 이 책은 여러가지를 생각하게 해 주는 것 같다.

       

      먼저 지금 내가 선배로서 같이 일을 하는 후배 개발자들에게 어떤 얘기를 해 줄수 있을까? 라는 관점이다.

      지금도 틈틈히 회사에서 또는 강의실에서 현역에게, 학생들에게 다양한 얘기를 해주고 있기는 하다.

      주로 내가 경험담을 가지고 이런 저런 얘기를 해주는데 내용을 정리 하거나 정형화 해서 해 주는 얘기가 아니다 보니 아무래도 부족하다는 느낌이 들 때가 많다.

      그리고 경험하지 못한것에 대한 얘기는 결국 이론적인 설명에 불과해서 전달이 잘 안되는 듯 하다는 느낌이 들때도 많다.

      그런 의미에서 이 책은 선배 역할을 잘 해줄 수 있는 그런 책인 듯 하다.

       

      처음 시작 하는, 그래서 모든것이 의문이고 두렵기만한 신입에게 책은 학교에서 배워왔을 코드를 다루는 것 부터 시작한다.

      그리고 그 코드에 대한 기본적인 내용이 책의 1/3 정도를 차지 한다.

      그만큼 처음 시작 하는 개발자를 위해 많은 배려를 하는 책이란 생각이 든다.

       

      그 다음은 내가 수업때 학생들에게 자주 해 주는 말중에 하나와 비슷한 맥락인듯 하다.

      "몰라서 어려운게 아니라 알고 있지만 익숙하지 않아서 어려워 보이는거야"

      "계속 하다 보면 익숙해 지고 그러면 더이상 어렵지 않을거야, 대신 귀찮아 지지..."

      실습할때 학생들이 어려워 하면 이런 애기를 자주 해준다.

      연습...특히 생각 하는 방법에 대한 연습...

      파트2는 그런 내용으로 이야기를 풀어 가고 있다.

       

      파트3도 수업때 종종 하는 얘기랑 이어 지는것 같다.

      "안타깝지만 우린 계속 공부해야해..."

      새로운것이 나올때 마다 어떻게 하면 좋은지 물어오는 학생들에게 주로 해주는 대답이다.

      개발자의 길을 택한 이상 어쩔수 없이 또는 좋아서(믿거나 말거나?)..뭐 여러가지 이유로 공부를 놓진 않은듯 하다.

      아직 계속 공부 해야 한다는걸 받아 들이기 힘든 후배들에게 책은 잘 설명 하려고 노력하고 있다.

      (이건 뭐...어떻게 해도...즐겁게 받아 들이기가....)

       

      그 다음은 일을 잘 마무리 하기 위해 필요 한 것들을 이야기 하고 있다.

      특히 개발은 그 특이성 때문에 정말 깔끔하게 끝! 하고 정리 하는게 모호할 때가 많은것 같다.

      그런 경우를 만들지 않기 위해 어떻게 해야 하는지 설명하고 있다.

      특히 일을 어렵게 하는 경우가 종종 있는데 그러지 않기 위해서 어떻게 해야 할지도 이야기 하고 있다.

      나도 어디선가 들은 말인데 종종 "개발자는 게을러야 해" 라는 얘기를 한다.

      정말 게을러야 한다는게 아니라 충분히 생각하고 코드를 작성해서 효율성을 높이라는 의미에서 해주는 말이다.

      여기선 그런 내용들을 다루고 있다.

       

      마지막은 사람에 관한 이야기를 하고 있다.

      결국 사람이 필요로 하는걸 사람이 만들고, 혼자 할 수 없으니 여럿이 함께 하는것이니,

      일을 잘 하기 위해서는 의사소통이 매우 중요하다 할 수 있다.

      마지막은 그런 사람과 사람사이의 의사소통에 대한 내용을 다루고 있다.

       

      이 책은 이제 막 개발자로서 시작하는 사람들에게 많은 도움을 줄 수 있을것이다.

      그리고 그런 사람들에게 조언을 해주고 싶은 선배 개발자들의 혀끝에서 맴도는 말을 대신 해 주는 역할도 할수 있을것 같다.

      설명이 구체적이고 각 챕터마다 마무리 정리내용을 넣어 두어서 쉽게 읽히면서도 생각해 볼 수 있게 해준다.

      또 꽤 오래 일한 사람들에게는...구체적으로 설명하기 힘들지만 몸에 배어있는 것들을 글자로 다시 정리해볼 수 있는 기회를 만들어 주기도 하는 책인 것 같다.

       

      오래전 퇴근후에 같이 소주 한잔 하며 이런 저런 얘기를 해주던 선배들이 생각나는 밤이다.

    • [북리뷰-IT] 더 나은 프로그래머 되는 법 (한빛미디어, 2024)

       

      저는 은행 IT 부서에서 20년 이상 개발자로 일하며 다양한 프로젝트를 진행해 온 경험을 가지고 있습니다. 

      끊임없는 변화와 발전을 추구하며 전문성을 다져왔고, 현재는 은행 코어뱅킹 시스템의 핵심 개발을 담당하고 있습니다.

       

      이번에 한빛미디어에서 출판된 "더 나은 프로그래머 되는 법"이라는 책을 읽을 수 있었던 소중한 기회를 얻었고,

      현재의 나를 다시 한번 리마인드하며 놓치고 있던 부분들을 채워주는 좋은 계기가 되었습니다.

       

      이 책은 Pete Goodliffe의 원서 "Becoming a Better Programmer"의 개정판으로,

      15년 경력을 가진 개발자가 다양한 분야에서 쌓은  풍부한 경험과 지식을 바탕으로 실용적인 조언들이 가득 담겨 있습니다.

       

      [북리뷰-IT] 더 나은 프로그래머 되는 법 (한빛미디어, 2024)

       

       

      책의 주요 내용

      "더 나은 프로그래머 되는 법"은 개발자로써 바로 실천할 수 있는 39가지 노하우를 크게 5파트로 소개하고 있고,

      구글, 마이크로소프트, 토스 등 국내 개발자 8인의 이야기도 수록되어 있습니다.

       

      각 장은 간단하고 완결된 하나의 주제를 다루므로, 원하는 장부터 선택해서 읽어도 전혀 무리가 없습니다.

      또한 프로그래머가 개발하면서 겪을 수 있는 다양한 주제를 다루고 있고, 나아가야 할 방향을 제시하고 있어 큰 도움을 얻을 수 있습니다.

      각 장별로 생각나는 몇가지를 적어봅니다.

       

      PART 1 you.write(code)

       

      • 1장 코드에 신경 쓰기
        • 좋은 코드를 작성하려면 코드에 신경을 써야하고, 훌륭한 프로그래머가 되려면 시간과 노력을 투자해야 합니다.
        • 다른 동료들이 쉽게 파악하고 이해할 수 있도록 의도가 드러나는 코드를 작성해야 하며, 유지보수가 가능하고 정확해야 합니다.
      • 2장 정돈된 코드 유지하기
        • 자신만의 코드 레이아웃을 만드는 올바른 방법을 익혀야 합니다.
        • 불필요한 아스키 아트는 동료의 유지보수를 힘들게 합니다.
        • 깔끔하게 코딩을 하고 싶다면, 먼저 생각부터 깔끔하게 정리해야 합니다.
        • 기능 변경과 모양 변경을 동시에 하지 말아야 합니다. 
      • 3장 코드 적게 쓰기
        • 중복된 코드는 공통 함수로 만들고, 일부 다른것이 있다면 매개변수를 달리해서 사용해야 합니다.
        • 공통 라이브러리의 사용은 코드 작성 시간을 절약해줄 뿐만 아니라 잠재적 결점으로부터 작성자를 보호해줍니다.
        • 주석 처리로 코드를 제거하지말고, 확실하게 지우세요. 형상관리로 언제든지 복원가능하니까요.
        • 변수의 선언 부분과 정의 부분을 같은 위치에 써야, 코드 이해에 대한 노력을 최소화 합니다.
      • 4장 코드 줄여 개선하기
        • 코드 리뷰 과정에서 코드를 줄이고 개선할 수 있는 부분을 적극적으로 찾아야 합니다. 코드 중복을 제거하고, 불필요한 조건 분기문을 줄이며, 코드를 단순화해야 합니다.
        • 미래에 필요할지도 모르는 기능이라도 코드를 제거하는 것이 안전합니다.
      • 5장 코드베이스의 망령
        • 오래된 코드를 다시 살펴보는 것은 코딩 기술 등을 향상시키는데 도움을 줍니다.
        • 프레임워크나 RDBMS등 개발환경이나 라이브러리가 버전업 됨에 따라 기존 코딩을 단순화 할 수 있습니다.
      • 6장 경로 탐색하기
        • 코드를 파악하는 가장 좋은 방법은 이미 코드를 파악하고 있는 사람의 도움을 얻는 것입니다.
        • 시스템의 실제 구조는 이상적 설계와 다를 수 있습니다. 문서가 아닌 코드를 믿으세요.
        • 코드를 배우는 가장 좋은 방법은 수정해보는 것입니다. 그런 다음 실수를 통해 배우세요.
      • 7장 똥통에서 뒹굴기
        • 나쁜 코드를 수정하는 데 시간과 노력을 들여야 하는지 신중하게 판단하세요. 지금 그대로 놔두는게 실리적일 수도 있습니다.
        • 수정으로 인해 기존 기능에 문제가 생기지 않음을 보장할 수 있는 모든 수단을 사용해야 합니다. 충분히 세심하게 검토하고 검증해야 합니다.
      • 8장 오류 무시하지 않기
        • 코드에서 발생할 수 있는 모든 오류를 무시하면 안됩니다. 은행 시스템에서 발생하는 오류는 심각한 결과를 초래할 수 있기 때문에 모든 오류를 철저하게 해결해야 합니다. 오류 로그를 분석하고, 오류 재현 시나리오를 작성하고, 오류를 근본적으로 해결해야 합니다. 자꾸 미루다 보면 처리하기 어려워집니다.
      • 9장 예상하지 못한 것을 예상하기
        • 코드 작성 시 가능한 모든 코드 경로를 고려해야 합니다. 나중에 오류나 장애시 대응하려 하지 마세요. 그렇게 할 일을 미루다 보면, 이후 그와 같은 경로 자체가 있음을 잊어버리게 되고 코드는 버그로 가득 찰 것입니다.
      • 10장 버그 사냥하기
        • 테스트하지 않은 코드는 버그의 번식지나 다름없습니다. 테스트는 표백제 역할을 합니다.
        • 은행 시스템은 완벽한 시스템이 아니기 때문에 버그를 찾아 해결하는 능력이 중요합니다. 테스트를 철저히 하고, 코드 리뷰를 통해 버그를 찾고, 정적 분석 도구를 활용하여 버그를 예방해야 합니다.
      • 11장 테스트하기
        • 코드를 작성하면서 테스트를 같이 작성해야 합니다. 테스트 작성을 미루면 그만큼 테스트 효과가 줄어듭니다.
        • 높은 신뢰성을 확보하기 위해 테스트가 필수적입니다. 단위 테스트, 통합 테스트, 시스템 테스트 등 다양한 수준의 테스트를 수행하고, 테스트 자동화 도구를 활용하여 테스트 효율성을 높여야 합니다.
      • 12장 복잡도 다루기
        • 복잡도는 블롭(소프트웨어 컴포넌트)과 라인(컴포넌트 사이의 연결)에서 비롯되기는 하지만, 대부분 기과한 소프트웨어를 만든 사람이 원인입니다. 설계 패턴을 적절하게 활용하고, 코드 모듈화를 통해 시스템 복잡도를 줄여야 합니다.
      • 13장 두 개의 시스템에 대한 이야기
        • 나쁜 구조로 인한 문제는 코드 내부에 한정되지 않습니다. 외부와도 연계되어 개개인과 팀,업무 처리 과정, 일정 산정 모두에 악영향을 미칩니다.
        • 소프트웨어 구조는 불변의 것이 아닙니다. 필요하다면 변경하고, 변경 가능하게 만들려면 구조를 간결하게 유지해야 합니다. 간결성을 빼앗는 변화에 저항하세요.
        • 요구 사항을 파악하기 전까지 구조 설계를 하지 마세요. 추측하지 마세요.

       

       

      PART 2 연습을 통해 완벽해진다

       

      • 14장 소프트웨어 개발이란
        • 좋은 소프트웨어 개발은 머리속에 떠오른 첫 번째 코드를 뱉어내는 카우보이식 코딩이 아니다. 신중하고, 심사숙고하며, 정확한 노력의 산물이다.
        • 좋은 프로그래머는 자신이 모든 것을 알지 못한다는 점을 인정하고 겸손한 자세로 일해야 한다.
      • 15장 규칙 가지고 놀기
        • 은행 시스템은 규정과 컴플라이언스를 준수해야 하기 때문에 개발 프로세스에서 규칙을 준수하는 것이 중요합니다. 코딩 규칙, 문서화 규칙, 테스트 규칙 등을 준수하고, 규칙 위반 사항을 발견하면 개선해야 합니다.
        • 모호하게 구두로 전해지는 팀의 규칙에 의존하지 마세요. 무언의 규칙을 명백하게 만들고 코딩 문화를 다스려야 합니다.
      • 16장 간결하게 하기
        • 간결한 코드는 설계하는 데 많은 노력이 필요합니다. 다만 간결한 코드가 곧 과도하게 단순한 코드를 의미하지는 않습니다.
        • 딱 필요한 만큼의 코드만 작성하세요. 무엇이든 추가하는 것은 복잡함이 되고 짐이 될 것입니다.
      • 17장 머리 쓰기
        • 실수를 인정하고 코딩에 있어서의 잘못된 결정을 인정하세요. 그로부터 배우면 됩니다.
        • 용기를 가지고 머리를 사용하세요. 코드를 비판하고 개선할 방법을 결정할 권리가 자신에게 주어졌을을 깨달아야 합니다.
      • 18장 변하지 않는 것은 없다
        • 은행 시스템은 기술 변화에 따라 지속적으로 업데이트되어야 합니다. 새로운 기술을 배우고, 최신 트렌드를 파악하고, 시스템을 개선하기 위한 노력을 지속해야 합니다.
        • 코드 수정에 필요한 것은 무모함이 아니라 용기와 기술입니다.
        • '좋은 코드'는 자신의 책임입니다. 당신에게는 변화와 개선을 일으킬 수 있는 힘이 있습니다.
        • 때때로 광범위하게 코드를 수정하는 것보다는, 자주 조금씩 검증할 수 있는 수정을 하는 편이 더 낫습니다.
        • 자동화된 테스트는 코드 수정에 대한 확신을 심어줄 수 있는 귀중한 안전 도구입니다.
      • 19장 코드 재사용 사례
        • '복사/붙여넣기' 코딩은 지양하세요. 복제된 코드(복제된 버그)로부터 고통받지 말고, 로직을 공통 함수와 공통 라이브러리에 넣으세요.
        • 주의 깊게 조사하지 않은 채 인터넷에서 찾은 코드를 프로젝트에 복사하는 일이 없도록 하세요.
        • 다른 사람의 코드를 무시하지 마세요. 자신의 것보다 이미 존재하는 라이브러리를 사용하는 편이 나을 수도 있습니다.
      • 20장 효과적인 버전 관리
        • 버전 관리 도구를 반드시 사용해야 합니다. 버전관리 도구야 말로 개발의 중추입니다. Git, SVN 등 버전 관리 시스템을 활용하고, 버전 관리 규칙을 준수하며, 코드 변경 사항을 명확하게 기록해야 합니다.
        • 버전 관리 도구에 소프트웨어 프로젝트를 구성하는 모든 파일을 저장해야 하나, 불필요한 파일은 포함하지 마세요.
      • 21장 골키퍼 있다고 골 안 들어가랴
        • 팀간의 의사소통이 건전하지 않으면 코드도 건전해지지 않습니다.
        • QA 배포 버전을 신중하게 만들지 않는 것은 테스터들을 존중하지 않는 것입니다.
        • QA의 오류보고서를 개인적으로 받아들이지 마세요. 개인적 모욕이 아닙니다.
        • 좋은 소프트웨어를 만들려면 QA팀과 건전한 관계를 조성해야 합니다. 품질은 모두의 책임입니다.
      • 22장 프리징된 코드의 신기한 사례
        • '코드 프리징'은 애매한 용어입니다. 아무리 코드가 변하지 않길 바라지만 코드는 반드시 변경되기 마련이니까요.
        • 유일하고 참된 '코드 프리징'은 납득할 만한 출시가 이루어진 시점을 가르킵니다. 이는 곧 코드에 더 이상의 변경이 가해지지 않게 된 시점입니다.
      • 23장 제발 저를 출시해주세요
        • 소프트웨어는 항상 새로운 체크아웃에서 빌드해야 합니다. 기존에 사용하던 빌드의 일부분을 재사용하는 일이 절대 없도록 해야합니다.
        • 최종 결과물을 테스트하지 않았다면 출시해서는 안됩니다.
        • 은행 시스템은 엄격한 출시 프로세스를 거쳐야 합니다. 출시 전 테스트를 철저히 수행하고, 출시 일정을 계획하고, 출시 후 시스템을 모니터링해야 합니다.

           

      PART 3 개인적인 일로 받아들이기
       

      • 24장 배움을 사랑하며 살기
        • 은행 IT 개발자는 지속적인 학습을 통해 전문성을 발전시켜야 합니다. 새로운 기술을 배우고, 개발 관련 서적을 읽고, 컨퍼런스에 참여하여 지식을 쌓아야 합니다. 배움을 즐기는 것을 배워라!
        • 목적을 가지고 자신만의 지식 포트폴리오를 관리하세요.
        • 어떤 주제를 잘 배우기 위해 남에게 가르쳐보세요.
      • 25장 테스트 주도 개발자
        • 자신의 머리로 코드에 항상 집중하고, 어이없고 위험성 높은 오류를 파하도록 해야합니다.
        • 은행 시스템 개발에서 테스트 주도 개발(TDD)은 중요한 방법론입니다. TDD를 통해 테스트 케이스를 먼저 작성하고, 테스트 케이스를 통과하는 코드를 개발하여 코드 품질을 높일 수 있습니다.
      • 26장 도전 즐기기
        • 새로운 기술에 도전하고, 어려운 문제를 해결하고, 끊임없이 노력하여 전문성을 발전시켜야 합니다.
        • 다른 플랫폼이나 패러다임을 무시하지 마세요. 자신이 알고 있는 것을 다시 작성하도록 노력하고 다른 플랫폼이나 다른 종류의 프로그래밍 언어를 사랑하세요. 결과를 비교하고 차이를 확인해보세요. 
      • 27장 부진 피하기
        • 기술 향상을 위해 시간과 노력을 투자하세요. 가치 있는 투자이고 보답을 받게 될 것입니다.
        • 지속적인 동기 부여를 유지해야 합니다. 목표를 설정하고, 성과를 평가하고, 긍정적인 태도를 유지하여 지속적인 성장을 이끌어낼 수 있습니다.
      • 28장 윤리적인 프로그래머
        • 읽을 수 없거나 불필요하게 '뛰어난' 코드를 작성하는 방법으로 자신이 없어서는 안 될 사람이라는 것을 부각시키지 마세요. 
        • 대접 받고 싶은 대로 대접하세요.
        • 피곤에 절은 프로그래머는 누구에게도 쓸모가 없습니다. 초과 작업을 하지 마세요. 자신의 한계를 인정하세요.
      • 29장 언어에 대한 사랑
        • 훌륭한 프로그래머들은 다양한 언어와 방법론을 알고 있는 만큼 문제 해결의 범위가 넓습니다. 이는 좋은 코드를 작성하는데 도움이 됩니다.
        • 자신의 언어를 사랑하고, 즐길 수 있는 언어로 작업하세요.
        • 하루아침에 언어를 마스터하려 하지 말고, 작업하는 동안 좌절하지 마세요.
      • 30장 프로그래머의 자세
        • 자신을 돌보며, 일하면서 좋은 자세를 유지하세요.

           

      PART 4  일 끝내기

       

      • 31장 '더 열심히'보다는 '더 현명하게'
        • 직접 만들기보다는 이미 있는 코드를 현명하게 재사용하세요. 더 중요한 일에 시간을 투자하세요.
        • 우선순위가 가장 높은 일에 집중하세요. 가장 긴급한 작업 혹은 가장 가치가 높은 작업은 무엇입니까?
        • 특정 작업을 자주 해야 할 경우 컴퓨터가 대신하도록 스크립트를 자동화하세요.
        • 개발자는 효율적인 업무 방식을 가지고 일해야 합니다. 시간 관리, 우선순위 설정, 집중력 향상 등을 통해 업무 효율성을 높여야 합니다.
      • 32장 끝나야 끝나는 것
        • 커다란 작업을 더 작고 잘 아는 일로 나누세요. 더 정확하게 진행 상황을 판단할 수 있습니다.
        • 필요 이상으로 많은 작업을 수행하지 마세요. '완료' 상태까지만 작업하세요. 그런 뒤에는 중지하세요.
      • 33장 교훈 얻기
        • 문제에 직면했을 때, 이를 해결하기 위한 한가지 이상의 접근법을 고려해야 합니다. 그런 다음 작업에 착수해야 합니다.
        • 개발 프로젝트에서 발생하는 문제와 실패로부터 교훈을 얻어야 합니다. 실수를 분석하고, 개선점을 찾고, 다음 프로젝트에 반영해야 합니다.

       

       

      PART 5  사람의 일
       

      • 34장 사람의 힘
        • 훌륭한 프로그래머들 주변에 의도적으로 머물으세요. 전문가(키맨)이 누군인지 항상 파악하고 있어야 합니다.
      • 35장 생각이 중요하다
        • 다른 사람이 코드를 읽고 품평하리라는 것을 알고 나면 좋은 코드를 짜고 싶은 마음이 더 커집니다.
      • 36장 말하기!
        • 코드는 다른 사람들과의 의사소통입니다. 명백하고 애매모호함이 없어야만 다른 사람들이 코드를 유지보수 할 수 있습니다.
        • 더 많은 주석을 단다고 반드시 코드가 더 나아지는 것은 아닙니다. 의사소통에 충실한 코드는 추가적인 주석이 필요 없습니다.
        • 적절한 사람들과 적절한 단어를 사용하도록 신경써야합니다.
      • 37장 선언문
        • 개발 방법론, 최신 경향, 선언문, 유행에 대해 알아두고, 납득할 만한 개발 선언문을 지지하되, 맹목적으로 따르거나 독단적으로 다루지 마세요.
      • 38장 코드 찬가
        • 보통, 소프트웨어 개발과 관련해 까다로운 부분은 기술적인 측면에 있지 않고, 결국 사람이 문제입니다.
      • 39장 태도가 핵심이다
        • 당신의 태도가 당신이 프로그래머로서 얼마나 나아갈 수 있는지를 결정합니다. 더 나은 프로그래머가 되고 싶다면 더 나은 태도를 목표로 하세요.
        • 어려움에도 굴하지 않고, 도전을 두려워하지 않고, 끊임없이 노력하여 목표를 달성해야 합니다.

       

       

      책의 장점 및 특징

       

      1. 다양한 주제의 커버리지

      코드 작성부터 자기 관리, 협업 방법, 업무 처리에 이르기까지 개발자로서의 삶을 풍부하게 만들어주는 실용적인 조언들로 가득합니다. 이로 인해 독자는 다양한 주제에 대한 깊이 있는 이해를 얻을 수 있습니다.

      2. 현업에서의 경험 공유

      현업에서 활약하는 국내 개발자 8인의 인터뷰를 통해 그들의 경험담과 함께 현실적인 조언도 얻을 수 있습니다.

      이는 독자에게 실제 개발 환경에서의 경험을 공유하고, 그들이 겪은 문제와 해결책에 대해 배울 수 있는 기회를 제공합니다.

      3. 저자의 전문성

      저자 Pete Goodliffe는 프로그래머이자 소프트웨어 개발 칼럼니스트, 음악가, 그리고 작가로서 다양한 경험을 바탕으로 이 책을 저술하였습니다. 그의 경험은 OS 개발부터 오디오 코덱, 멀티미디어 애플리케이션, 임베디드 펌웨어, iOS 애플리케이션 개발, 데스크톱 애플리케이션 개발에 이르기까지 다양하며, 이러한 경험을 바탕으로 '더 나은 프로그래머 되기'라는 칼럼을 매거진에 기고하고 있습니다.

      4. 독립적인 장 구성

      이 책의 각 장은 독립적인 주제를 다루므로, 독자는 필요와 관심에 따라 원하는 부분을 선택적으로 읽을 수 있습니다. 이는 독자가 자신의 필요에 따라 책을 읽을 수 있게 해주며, 특정 주제에 대해 깊이 있게 공부할 수 있는 기회를 제공합니다.

      특히, 각 장을 읽을 때 '생각해보기'와 '연습해보기'를 대충 훑어보거나 그냥 넘어가지 말고,

      본래의 내용을 넘어 더 깊이 생각해보고, 자신의 경험과 주제를 엮어낸다면, 우리도 훌륭한 프로그래머가 될 수 있을 꺼라 봅니다. ^^

       

      [북리뷰-IT] 더 나은 프로그래머 되는 법 (한빛미디어, 2024) - 생각해보기, 연습해보기


      이 책은 개발자의 성장과 발전을 위한 필수 도서로, 모든 개발자에게 꼭 추천하고 싶습니다. 

      이 책을 통해 개발자로서의 여정이 더욱 풍요롭고 성공적이길 바랍니다.

      이 책을 읽고 나면 '더 나은 프로그래머'가 되는 길을 찾을 수 있을 것입니다.

      이 책을 읽는 모든 개발자에게 행운이 함께하기를 바랍니다.

      더 높은 수준의 전문성과 역량을 갖춘 프로그래머로 성장하세요 ^^ 

       

       

      "한빛미디어 서평단 <나는리뷰어다> 활동을 위해서 책을 제공 받아 작성된 서평입니다."

       

       

      #북리뷰  #책  #도서리뷰  #서평  #더나은프로그래머되는법  #프로그래밍  #코드리뷰  #자기관리  #협업방법  #업무처리  #개발자의삶  #소프트웨어개발  #개발노하우  #개발자성장  #PeteGoodliffe  #한빛미디어  #OReillyMedia  #프로그래밍서적  #코드작성  #프로그래밍스킬  #개발자경험  #개발자인터뷰  #개발자조언  #프로그래밍학습

    •  

       

      프로그래머라면 누구나 "어떻게 하면 더 나은 프로그래머가 될 수 있을까?"라는 질문을 한 번쯤 해보았을 것입니다.
      『더 나은 프로그래머 되는 법』은 이 질문에 대한 실질적인 답변을 제공하는 책입니다.

      IT 시장은 빠르게 변하고 있으며, 이에 따라 개발자들의 성장 욕구와 고민도 함께 증가하고 있습니다.
      이 책은 15년 경력의 선배 개발자가 전하는 39가지 노하우를 통해, 더 나은 프로그래머로 성장할 수 있는 구체적인 방법을 제시합니다.
      또한, 구글, 마이크로소프트, 토스 등에서 활약 중인 국내 개발자 8인의 인터뷰가 수록되어 있어 현실적이고 구체적인 조언을 얻을 수 있습니다.

      저자 피트 구들리프는 이 책을 통해 개발자로서의 기술적 역량뿐만 아니라, 프로그래머로서의 태도와 접근법, 그리고 인간적인 면모까지 성장하기를 바랍니다.
      코드를 잘 작성하는 것만이 아니라, 올바른 윤리와 태도를 지니고, 팀원들과 원활히 소통하며, 지속적으로 배우고 성장하는 것이 중요하다고 강조합니다.
      이러한 종합적인 접근을 통해 더 나은 프로그래머로 거듭날 수 있기를 바라는 마음이 담겨 있습니다.

      이 책은 독자가 각 장에서 배운 내용을 복습하고 깊이 생각해볼 수 있도록 돕습니다.
      총 5부로 구성되어 있으며, 각 부는 프로그래머로서 고민해볼 만한 주제를 심도 있게 다룹니다.
      각 장의 마무리 단계에서 질문을 던져 독자가 자신의 경험을 바탕으로 배운 내용을 다시 한번 되돌아보게 합니다.


      | 자신의 경험을 바탕으로 각 장에서 배운 내용을 깊이 생각해보기
      각 장마다 독자가 자신의 경험을 돌아보고, 배운 내용을 더 깊이 생각해볼 수 있도록 유도합니다.
      이를 통해 독자는 책에서 얻은 지식을 자신의 경험과 연결 지어, 보다 실질적인 이해와 성장을 이끌어낼 수 있습니다.


      | 더 나은 프로그래머가 되기 위해 현업에 바로 적용 가능한 간단한 테스트 제공
      각 장에서는 더 나은 프로그래머가 되기 위해 현업에서 바로 적용할 수 있는 간단한 테스트를 제공합니다.
      이 테스트들은 독자가 실제로 배운 내용을 어떻게 활용할 수 있는지 점검하고, 바로 실천해볼 수 있는 기회를 제공합니다.

      | 이해를 돕기 위해 다양한 은유와 재치있는 그림 제공
      이 책은 독자의 이해를 돕기 위해 다양한 은유와 재치있는 그림을 활용합니다.
      이를 통해 복잡한 개념도 쉽게 이해할 수 있으며, 재미있게 학습할 수 있습니다.
      이러한 시각적 요소들은 독자의 기억에 오래 남아, 실질적인 학습 효과를 극대화합니다.

      이 책의 특별 부록으로, 국내에서 활약 중인 개발자 8인의 인터뷰가 포함되어 있습니다.
      이들은 구글, 마이크로소프트, 토스 등 다양한 기업에서 활동 중인 전문가들로, 그들의 경험과 조언을 통해 더 나은 개발자로 성장하는 데 큰 도움을 받을 수 있습니다.


      모로 가도 서울만 가도 되고, 조금 늦더라도 원하는 방향으로 갈 수 있는 여러 가지 방법을 모색하면 되지요. 
      _ 이 책의 마지막 페이지 中 주요 문장


      실용적인 조언과 구체적인 방법론
      이 책은 단순한 이론서가 아닙니다. 저자의 15년 경력에서 비롯된 실질적인 조언과 구체적인 방법론을 통해, 현업에서 바로 적용할 수 있는 유용한 내용을 제공합니다.
      코드 작성, 자기 관리, 협업 방법 등 개발자로서 필요한 모든 주제를 다루고 있어, 개발자의 삶을 더 풍부하게 만들어줍니다.

      다양한 경험담과 현실적인 조언
      국내 개발자 8인의 인터뷰가 포함되어 있어, 각자의 다양한 경험담과 현실적인 조언을 들을 수 있습니다.
      이를 통해 독자가 더욱 구체적이고 현실적인 문제 해결 방법을 배우는 데 큰 도움이 됩니다.

      누구에게나 유익한 책
      이 책은 신입 개발자부터 경험 많은 개발자, 그리고 취미로 개발을 공부하는 일반인까지 누구에게나 유익한 내용을 담고 있습니다.
      빠르게 변하는 IT 시장 속에서 더 나은 개발자가 되고자 하는 모든 이들에게 큰 도움이 될 것입니다.


      『더 나은 프로그래머 되는 법』을 통해 더 높은 수준의 전문성과 역량을 갖춘 프로그래머로 성장하시길 바랍니다.
      이 책을 통해 더 나은 프로그래머로서의 길을 열어보세요!

      본 포스팅은 한빛미디어 <나는 리뷰어다>  활동을 위해서 책을 제공받아 작성된 서평입니다. ​ 

    • 어떻게 하면 더 나은 프로그래머가 될수 있을까?를 고민하다 이 책을 선택했다면,

      단지 그 고민과 생각만으로도 더 나은 프로그래머가 되기 위한 준비는 끝났습니다. 

      이제 이 책을 읽고 깨달은 내용을 적용하기만 한다면 더 나은 프로그래머에 한걸음 더 가까워져있을 것입니다.

       


       

      이제 막 사회에 뛰어는 사회초년생이거나,

      업무를 하면서 자괴감에 빠지는 신입이거나,

      '내가 지금 잘하고 있는게 맞는건가?' 싶은 주니어이거나, 

      업무에 치여 성장에 대한 리프레쉬가 필요한 시니어이거나 

      앞으로 어떻게 더 성장해야할까 고민하는 모든 개발자들에게 굉장히 유용한 책입니다.

       

      이 책은 단순히 코드 스킬향상으로 좋은 프로그래머가 되는것 뿐만 아니라

      알잘딱깔쎈 하게 일하는 방식과 마인드 세팅, 그리고 의사소통까지

      더 나은 개발자가 되기 위해 한번쯤은 고민해봤을법한 유익한 내용들을 담고 있습니다.

       

      저도 신입때 일하던 모습들이 스쳐지나가면서 공감되는 부분들도 많았는데요.

      아직도 깨지고 부딪히며 배우고 있지만, 이 책을 덕분에 더 일찍 깨달은 것이 많았습니다.

      지난 실수들이 떠오르면서 지금의 나와 비교해보니 '나 꽤나 많이 성장했구나'를 느꼈고, 

      이럴땐 이렇게 일해야겠구나 하면서 '앞으로 주니어로서 성장할게 많구나'도 느꼈습니다. 

       

      심지어 중간중간 한줄요약 부분과 생각해보기, 적용해보기 부분이 있는데요.

      바로 업무에 적용해 볼수 있는 액션 아이템이 많아서 유익함이 두배로 느껴졌습니다. 

      심지어 매 챕터마다 마무리 되는 유머러스한 이미지들은 피식 웃음짓게 만들기도 한답니다.

       

      때로는 뼈때리는 직설적인 조언으로, 때로는 그래도 괜찮다는 따뜻한 위로로 선배같은 역할을 해주는 책입니다.  

      주변에 나와 같은 길을 먼저 앞서간 선배가 없다면 이 책이 그 역할을 대신 해줄 것 같아요. 

       

      책의 목차는 아래와 같이 구성되어 있습니다. 각 챕터마다 읽었던 내용을 링크해두었습니다.

      저처럼 주변에 개발자 선배를 찾기 어려워 고민이 많으신 분들에게 추천드리며 . 

      각 챕터의 제목마다 직접 읽고 깨달은 내용을 링크해두었습니다! 

       

      1. you.write(code);

      첫 챕터를 읽고나선 당장이라도 내 코드를 뜯어고치고 싶었다...

      특히 기능 변경 과 모양 변경을 다른 커밋으로 두라는 이야가 인상깊었다.

      같은 커밋으로 처리하다가 모양 변경 때문에 기능이 제대로 동작하지 않은 경험을 했기 때문이다.

      그밖에 코드를 정리는 법과 TDD기반 개발을 위해 테스트를 잘하는 법이 굉장히 유용했다. 

       

      2. 연습을 통해 완벽해진다

      두번째 챕터는 개발에 대한 마인드에 대한 내용이다. 

      코드 내부구조 수정을 할때 늘 잘못될지도 모른다는 두려움이 때문에 수정을 안한다는 내용이 너무 공감되었다. 

      용감한 수정이 필요하다. 그러기 위해서 자동화된 테스트코드가 두려움을 줄여줄수 있다니..! 

       

      3.개인적인 일로 받아들이기

      세번재 챕터는 개발이라는 '일'에 대한 내용이다. 

      특히 훌륭한 프로그래머는 안전지대를 주의해야하는데, 나는 그러지 못한것 같아서 반성하기도 했다. 

      그리고 이런 나를 위해 안전지대 밖으로 밀어내고 변화시킬 수 있는 방법까지 제안해준다.

       

      4. 일 끝내기 

      네번째 챕터는 개인적으로 하이라이트다. 현명하게 일하는 방법에 대한 내용으로 굉장히 유익했다.

      내가 신입때부터 일해왔던 방식을 돌이켜보면서 직접 혼나가며 경험하고 깨우쳤던 내용들이 모두 있다.

      이제 막 사회에 발을 뛰어든 사회초년생이나 신입 개발자가 미리 알고 있다면 분명 일잘하는 알잘딱깔쎈 뉴비가 될수 있을것이다! 

       

      5. 사람의 일

      다섯번째 챕터는 사람과 의사소통에 대한 내용이다. 

      개인적으로 의사소통을 잘하는 사람은 배려심이 좋은 사람이라고 생각한다. 그만큼 상대방의 이해수준과 기술적인 수준까지 고려해서 말을 전달하는건 쉽지 않은 일이다. 그래서 결국 태도가 중요하다건 말하기 입이 아플 정도이다.  

       

      부록. 국내 개발자 8인의 이야기

      마지막으로 부록으로 국내 개발자 8인의 이야기가 담겨있다. 

      이 업계에서 최소 10년이상 몸 담고 있으신 분들의 경험과 그들이 생각하는 더 나은 프로그래머에 대한 생각이 담겨있다. 

      공통적으로 꾸준함이 중요하다는 이야기가 있었다. 억지로 꾸준히 하려고 하는건 어려운데, 그냥 하고싶고 재미있는건 꾸준히 된다는 말이 굉장히 공감이 되었다. 생각해보니 나도 그냥 하다보니 어느샌가 꾸준히 하고 있는것 처럼 말이다.

       

    • "훌륭한 프로그래머 되는 법"의 저자가 쓴 "더 나은 프로그래머 되는 법. Becoming a Better Programmer" 이라는 책은 11년차 개발자가 된 현시점에서도 공감이 많이 되는 부분이 많다.

       

       

      더 나은 사람이 되어야하는 것처럼 더 나은 프로그래머가 되어야하는 이유는 분명하다.

       

      "프로그래머를 장인, 건축가, 예술가로 생각하기 때문이다. 무언가를 창조하는 사람은 보다 더 나은 방향을 고민하고 적용해야한다. 누군가를 위한 창조는 그 누군가를 바라봐야한다."

      나의 생각

       

      이 책을 보면서 가장 웃겼던 포인트는 바로 이 그림이였다. 과거의 최선이 현재의 최선이 아닌 것처럼 주니어때 만든 코드를 내가 다시 고치면서 "왜 이렇게 만들었지?"라는 반문을 스스로 하게 되더라.

       

      책의 구성은 코드베이스부터 시작해서 코딩에 대한 태도와 접근 방법, 개인적인 부분의 내용 그리고 업무 일정 그리고 협업에 대한 이야기까지 전반적인 이야기를 다루고 있다.

      프로그래머가 단순히 코딩만 하는 존재라고 생각하지 않는데, 그런 포인트들을 요소요소 다 다루고 있어서 "더 나은 프로그래머"라는 지향점을 잘 나타내고 있다고 생각이 들더라.

       

       

      "더 열심히"보다는 "더 현명하게" 라는 소주제처럼 그 말을 나는 10년 넘게 들었다. 그 이야기를 팀장으로써 팀 막내에게 이야기하고 있다. 열심히보다는 잘! 현명하게! 라는 말이 쉽지만 실제로 하기엔 쉽지 않다.

      혼자 고민하고 부딪치는 부분과 함께 일하는 부분까지 다양한 부분에서 인터렉션 해야하는 프로그래머의 삶은 생각보다 쉽지 않다. 오늘도 이렇게 책을 읽고 후기를 적으면서 내 스스로 강점은 키워나가고 약점은 완화시켜야할 포인트를 찾아간다.

       

       

      소프트웨어 개발은 내가 좋아하는 예술과도 유사성을 가지고 있는데.. 저 말이 너무 와닿았다. ^^

       

       

      개발만 한다고 전부가 아니라 해당 기능이 잘 동작하는지, 기존 기능과 영향이 없는지 영향도까지 전부 고려가 필요하고 정상적인 값, 비정상적인 값까지 넣어보고 다양한 케이스를 고려한 단위테스트부터 통합테스트까지 진행이 필요하다.

      집을 건축할때도 단순히 짓는게 아니라 자재에 대한 검사도 필요하고 철근이 안 들어갔는지 감리도 필요한 것처럼 개발 또한 다양한 관점에서 고민이 필요하고 개발이 진행되어야 한다.

       

       

      이것도 정말 중요한 말인데, "Keep It Simple, Stupid!" 단순하게 하는 게 정말 중요하다.

      변수 하나도 단순하게, 코드도 단순하게 그리고 알기 쉽게! 이게 어려운 일이지만 이런 부분을 지향해야한다. 그래야 보다 더 나은 생산성을 가져다 준다.

      개발을 하게 되면 남이 만든 코드를 처음에는 많이 보고 수정하게 된다. 연차와 경험이 쌓이면서 처음부터 본인이 개발을 전담으로 맡아서 하는 파트가 생기고 그게 점차 늘어나게 된다. 그 과정에서 코드를 잘 설계해놓아야 다른 사람의 시간도 절약시킬 수 있다.

       

       

      자세까지 신경쓰는 저자의 생각에 박수가 저절로 나왔다. 일을 10년간 하면서 거북목이 심화되어 승모근이 매번 힘들어하고 요근래에 몸이 안 좋아서 정형외과 물리치료를 꾸준히 받았다. 지금도 필라테스를 하고 있지만 운동과 함께 제일 중요한건 자세가 아닐까 싶다. 오래 건강하게 꾸준히 일하기 위해선 역시 평소에 잘해야한다!

       

       

      마지막 책의 내용중에선 국내 개발자 8인의 이야기가 인상 깊었다. 해외 유명 빅테크부터 시작해서 국내 테크 업계까지 백엔드부터 프론트엔드 등 다양한 개발자들의 진솔한 이야기를 부록으로 담아냈다.

      "지금 바로 실천할 수 있는 선배 개발자의 39가지 노하우"라는 책의 부제목처럼 이 책이 담아낸 내용은 내공이 있는 개발자의 여러 경험과 노하우가 아닐까 싶다. 다만 그걸 주니어때는 이해를 못하지만 어느정도 경력이 쌓이면 자신만의 습관 때문에 비효율적, 비생산적인 부분이 있을 수 있다.

      사람은 익숙해지면 그것을 고치지 않는다는 말이 있지만 개발자, 프로그래머는 더 나은 방향으로 업무에 임해야하고 그것을 바탕으로 조금 더 나은 프로그램, 제품, 서비스를 만들어야한다고 생각한다.

      더 나은, 더 좋은, 더 많이 사용하는, 더 가치 있는 개발자가 되고 싶다. 꼭~~

      "한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

    • 30년 커리어를 놓고 봤을때 이제 3~4년차 정도인 짧은 나의 경력을 돌이켜보면 배움을 사랑하진 않았지만 도전은 즐겼었던 것 같다. 그 덕분에 어떻게든 밥은 먹으면서 살고있다. 책을 읽고난 후 생각해보건데 “도전은 즐겼기에 이 정도까지는 왔구나”라는 것이 “나”라는 사람의 한계였던 부분인 듯 싶다. 그렇기에 지금까지야 나름의 노력을 통해 어떻게든 버텨왔다면 앞으로는 이 책에서 말하는 “배움을 사랑하는 태도”와 “태도가 핵심이다”라는 부분을 잘 견지해야겠다.

    • 프로그래밍 기법은 프로그래머의 성향에 따라 다양하게 나타나는데요.

      좋은 프로그래밍이란 간결하고 후임자가 잘 알아볼 수 있게 코딩하는 것입니다.

      프로그래밍에 대한 노하우는 본인의 경쟁력과도 같은 것이라서 잘 노출하지 않는데, 좋은 프로그래머가 되는 방법을 지난 오랜 기간의 경력을 기반으로 서술해간 점이 좋았습니다.

      프로그래밍을 이제 시작하는 사람부터 지금의 프로그래머에겐 본인의 프로그래밍을 해 나가는데 되돌아 보는데 유익한 책으로 소개해 드립니다.

  • 내용이 없습니다.
  • 내용이 없습니다.
닫기

해당 상품을 장바구니에 담았습니다.
장바구니로 이동하시겠습니까?