5월, 2018의 게시물 표시

소프트웨어 장인 (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 등을 들고 있다. 하지만, 이러한 것들은 상황과 시대가 바뀜으로서 달라질 수 있는 것…

★★★ 네이버 블로그에서 왔습니다 ★★★

안녕하세요~ 새롭게 인사드립니다!

http://blog.naver.com/likeme96 에서 이사온 taeguk (전공체육) 입니다~

이유는 4가지 입니다!
구글 검색에 노출되는 빈도를 높이기 위해카테고리 기반이 아닌 태그 기반으로 포스팅을 하기 위해변화를 도모하기 위해포스팅 시간을 맘대로 바꿀 수 있음. (포스팅 마이그레이션 작업에 용이.) 기존 블로그에 있던 상당수 글들 (기술 포스팅 위주) 을 대부분 마이그레이션 해온 상태입니다! (100% 수동 작업... 한 5~6시간 걸렸어요... 너무 힘들었어요 ㅠㅜ)

새 마음 새 뜻으로... 잘 부탁드립니다!

이것이 직장인의 삶이구나

회사에 온지도 8개월이 넘었고, 병특을 시작한지도 반년이 넘었다.
회사 입사 지원 서류를 쓴게 엊그제 같은데,, 시간이 진짜 빨리 흐르는게 느껴진다.

아침에 일어나서 회사에 출근하면, 좀 만 지나면 점심시간이 되고, 또 눈 깜박하면 퇴근 시간이 된다.
그리고 집에 와서 저녁먹고 그러면 또 자야할 시간이 된다.
일주일에 이런 생활을 5일 반복한다.

회사 일 자체는 즐겁게 하고 있다. 기존 레거시 코드베이스에서 요구사항을 추출/개선해서 새롭게 코드를 재작성하고 있다.
아예 리포지토리부터 새롭게 파서, 프로젝트를 처음부터 정립해나가다보니 많은 것들을 도입하고 개선할 수 있다.
설계, 자동화된 테스트, 문서화, CI, 정적분석툴, 예외처리 등 다양한 부분들을 고민하면서 진행하고 있다.
나름 소프트웨어 장인 정신을 가지고 개발을 하기 위해 노력중이다..
학생때부터 나는 리펙토링, 코드깍기를 좋아했는데 그냥 아무생각없이 병특으로 들어온 회사에서도 내 흥미/적성에 맞게 일을 하게 되서 신기하고 감사하다.
무튼, 회사에 오고나서 실력은 많이 늘은 것 같고, 앞으로도 실력이 많이 늘꺼 같아서 좋다.

물론 아쉬운 점도 있다.
기존 레거시 코드베이스(프로젝트) 의 품질과 프로세스에 대해 실망감이 많았다.
테스트코드의 부재... 구조화되지 않은 요구사항... 당장은 돌아가지만 '찜찜한' 코드들... 스파게티처럼 꼬여있는 의존성...
이것들이 입사 후부터 지금까지 나에게 많은 스트레스를 안겨준다.
지금 내가 하고 있는 작업이 결국 이러한 소프트웨어 품질과 개발프로세스를 개선하기 위한 작업이다.
주인을 잃은 지 오래된 코드들에서 요구사항을 추출하는게 종종 지치고 의욕이 꺽기기도 하지만,,
전반적으로는 재밌게 하고있다...ㅎㅎ (조급함을 버려야만 한다...ㅜㅜ)

아무튼,, 이렇게 회사원의 삶을 살고 있다.. 슬슬 회사에 다니는 게 뻔하고 질린다..
이런 회사 생활을 나보고 평생 계속 해야한다고 하면... 흠... 회의감이 들꺼 같다.....
다행인것은 나는 지금 병특이고…