최근 근황

오랜만에 글을 쓰는 거 같다..
최근 근황은 뭐 계속 회사 생활의 반복이다.. 눈깜짝하니 입사한지도 1년이 어느새 훌쩍넘었다. 뭔가 해보고 싶은게 많은데, 회사 다니면서 출퇴근 시간도 길고, 내가 체력도 안좋고 부지런한 편도 아니라서 진짜 회사만 다니기 벅찼던 것 같다.
그래도 나름 뭔가 해보려고 최근에 2가지 활동을 했었다.     그중에 하나는 컨트리뷰톤이다. 작년이나 올해 초까지만해도 오픈소스 활동을 했었는데, 회사다니면서 자연스레 멈추게 되었다. 다시 한번 오픈소스 활동을 시작하기 위한 계기를 삼으려고 컨트리뷰톤이라는 프로그램에 참여하여 uftrace 라는 C/C++ function tracing 툴 프로젝트에서 활동을 했다. 현재는 컨트리뷰톤 활동은 끝났고, 이번 달 말에 폐회식?시상식? 이 있을 예정이다.     또 하나는 블록체인 스터디이다. 반년전쯤부터인가 블록체인쪽에 관심이 생겨서 한번 공부를 해보려고 스터디를 하게 되었다. 스터디는 현재 진행형이다.
회사를 다니면서 이렇게 2가지 활동을 동시에 했다. 이 활동들에 내가 투자하려고 했던 시간/에너지 양이 대략 있었는데, 막상 해보니 실제로 투자한 시간은 내 예상의 20% 도 안되는 것 같다. 신규 기능개발로 인해 회사 일이 최근에 바쁘기도 했고, 생각보다 내가 시간과 자기관리를 제대로 못했다. 시간투자를 많이 못한게 아쉽긴 한데, 일단 뭐라도 해본 것에 의의를...
아 그리고, 최근에 우리 팀 우리 파트 채용공고를 새로 냈다. 기존의 채용 공고가 너무 모호하고 매력이 떨어진다고 생각해서 내가 건의를 해서 채용공고의 내용을 바꿔봤다.

채용공고 보기/숨기기
모집부분 - C++ 기반 공용 모듈 개선 및 개발 - C++ 기반 엔진 모듈 개선 및 개발 담당업무 - 사내 C++ 공용 라이브러리 개선 및 개발 - C++ 기반 악성코드 탐지/치료 엔진 개선 및 개발 - 코드 품질 및 개발 프로세스 개선 자격요건 - C++ 활용에 자신 있는 분 - 능동적이고 적극적으로 업무를 수행하시는 분 우대요건 …

소프트웨어 장인 (The Software Craftsman) 리뷰

별점 : ★★★★
한줄평 : 더 나은 소프트웨어 개발자가 되고자 노력하는 모든 이들의 필독서. 소프트웨어 장인의 길로 안내하는 이념서.

번역 : http://book.naver.com/bookdb/book_detail.nhn?bid=9585753
원서 : https://www.amazon.com/Software-Craftsman-Professionalism-Pragmatism-Robert/dp/0134052501

이 책은 Robert C. Martin Series 5권 중에 하나로서, "소프트웨어 장인정신" 에 대한 책이다. (저자는 밥아저씨가 아니라 다른 분이지만, 마틴 시리즈로 분류되고 있다..)
소프트웨어 장인정신은 마스터가 되어가는 긴 여정이다. 소프트웨어 장인정신은 소프트웨어 개발자 스스로가 선택한 커리어에 책임감을 가지고, 지속적으로 새로운 도구와 기술을 익히며 발전하겠다는 마음가짐이다. 소프트웨어 장인정신은 책임감, 프로페셔널리즘, 실용주의 그리고 소프트웨어 개발자로서의 자부심을 의미한다.
위는 이 책의 저자가 말하는 소프트웨어 장인정신의 정의이다. 아래는 이 책을 읽고 생각하면서 내가 이해하고 받아들인 "소프트웨어 장인정신" 에 대한 내용이다. (개인적인 생각이 포함되어 있다.)

    소프트웨어 장인정신이란, 다른 것은 무시하고 단순히 아름다운 코드만을 추구하는 것이 아니다. 철저히 프로페셔널리즘과 실용주의에 입각하고, 비지니스적인 가치를 첫째로 추구한다. 다만, 비지니스 가치를 극대화시키고 고객을 만족시키며 끊임없이 추가되고 변경되는 요구사항에 대응하기 위해서는, 결국에 높은 수준의 소프트웨어 품질을 성취해야한다.
    소프트웨어 장인은 비합리적인 것들과 잘못된 의사결정에 대항하며, 회사와 비지니스 가치를 위해 올바른 실행 관례를 배우고 실천하며 널리 퍼뜨린다. 그러한 실행 관례로서, 책의 저자는 애자일, XP, TDD 등을 들고 있다. 하지만, 이러한 것들은 상황과 시대가 바뀜으로서 달라질 수 있는 것으로서, 그 것이 소프트웨어 장인정신을 대표하는 건 아니다.
    소프트웨어 장인은 단순히 밥벌이로서 일을 대하는 게 아니라 자신의 일에 대해 자부심, 열정, 그리고 철학을 가지고 있다. 주인의식과 책임감을 가지고 주어진 일을 가장 단순한 방법으로 해결한다. 현실과 경험에 안주하지 않고, 끊임없이 공부하고 발전하고 고민하며 소통한다.

이 책에는 코드나 무거운 기술에 대한 내용이 등장하는 것이 아니기 때문에, 출퇴근 길에 버스, 지하철에서 가볍게 읽기 좋다. 그럼에도 불구하고 내용이 마냥 가벼운 것은 아니다. 이 책은 매우 이념이 짙은 책이다. 분명히 이 책을 읽으면 누구든지 느끼는 바가 있을 것이고, 그 것이 분명 소프트웨어 개발자 커리어에 영감을 줄 것이라고 생각한다.

번역서의 경우, 번역이 매우 잘됐다. 내가 태어나서 읽어본 번역서중에 가장 번역이 잘 된 책중에 하나이다.
책의 단점에 대해 말하자면, 내용이 너무 반복적이고 장황한 측면이 있다. (비슷한 내용과 말이 반복되는 느낌이 있다.)

아무튼 종합적으로 볼 때, 매우 괜찮은 책이였고 이 포스팅을 읽는 여러분들께 꼭 추천하고 싶다.

마지막으로, 책의 구절 중 하나를 인용하면서 포스팅을 마무리하고자 한다.
일을 어떻게 했느냐는 일을 해낸 것 만큼이나 중요하다.

댓글

  1. J. B. Rainsberger 버전의 단순한 설계를 위한 네 가지 원칙

    1. 모든 테스트의 통과
    2. 중복의 최소화
    3. 명료성의 최대화
    4. 구성요소의 최소화

    답글삭제

댓글 쓰기

이 블로그의 인기 게시물

[Effective C++ 3판] Chapter 1. C++에 왔으면 C++의 법을 따릅시다. (항목 1~4)

개발다운 개발에 대해...

최근 근황