개발서적읽기
-
소프트웨어 장인 :: 8장 길고 긴 여정개발서적읽기/소프트웨어 장인 2023. 6. 22. 19:18
목표를 편하게 달성할 수는 없다 이번 장에서는 소프트웨어 장인으로서 커리어를 관리하는 자세를 이야기한다. 편안하고 익숙한 상태에서 벗어나 나를 발전시키고 배울 수 있는 기회를 지속적으로 찾아야만 한다는 것을 깨달았다. 이번 장의 위 문장이 인상깊었다. 어떤 목표를 달성하기 위해선 '나를 불편하게 하는 것'에 익숙해져야 하는 것 같다. 편한 방식으로는 목표를 달성할 수가 없다. 그것이 가능했다면 모든 사람들이 목표를 쉽게 이룰 수 있었을 것이고, 목표를 이루는 것이 더 이상 특별한 가치가 아니었을 것이다. '나를 불편하게 하는 것'에 능숙해진다면 어떠한 목표라도 달성할 수 있을 것이다. 훌륭한 커리어를 만들기 위해선 나를 불편하게 해야 한다. 작은 목표를 자주 달성해 보자. 그리고 나를 불편하게 하는 연습..
-
소프트웨어 장인 :: 7장 기술적 실행 관례개발서적읽기/소프트웨어 장인 2023. 6. 22. 00:25
기술적 실행 관례의 적용 이번 장에서는 '소프트웨어 장인으로서, 최선의 기술, 도구, 절차, 방법론 그리고 TDD나 페어 프로그래밍 같은 기술적 실행 관례를 올바르게 선택할 수 있는 능력을 가져야 함'을 말한다. 보통 기술적 실행 관례는 소프트웨어를 더 긍정적으로 관리하기 위해 등장한다. 그렇지만 꼭 기술적 실행 관례들을 적용해야만 하는 것은 아니다. 모든 것은 상황에 맞아야 그 의미가 있는 법이다. 소프트웨어 개발자 경험이 적은 사람은 시야가 좁은 경우가 많기 때문에 새로운 기술적 실행 관례를 맹신하여 그것을 당장 실무에 적용하고 싶어 할 수 있다. 그렇지만 현재의 관례가 더 나을 수도 있음을 알아야 한다. 기술적 실행 관례를 적용하기 위해서 필요한 자세 일단 지금이 특정 기술적 실행 관례를 적용해야..
-
소프트웨어 장인 :: 6장 동작하는 소프트웨어개발서적읽기/소프트웨어 장인 2023. 6. 21. 01:37
소프트웨어는 주기적인 관리가 필요하다 4장, 5장에 이어서 이번 장에서도 소프트웨어 장인이 지녀야 하는 태도를 설명한다. 유지 보수가 원활한 소프트웨어는 주기적인 관리를 필요로 한다. 소프트웨어를 구현할 때 단순히 동작하는 것을 목표로 설정하면 안 된다. 소프트웨어가 '잘' 동작하는 것을 목표로 설정해야 한다. 만약 그렇지 못했다면, 구현 후에라도 잘 동작하도록 리팩토링해야 한다. 현실과 원칙 사이에서 균형을 잘 잡아야 한다. 테스트 코드 운용 및 관리의 필요성 소프트웨어의 주기적인 관리 리스트 중에는 '테스트 코드를 잘 관리하기'가 있다. 테스트 코드를 잘 관리하여 운용하고 있다면 동료들의 소중한 시간을 아낄 수 있다. 예를 들어보자. 코드를 생성하거나 수정한 다음 dev 서버에 배포하기 전에 lo..
-
소프트웨어 장인 :: 5장 영웅, 선의 그리고 프로페셔널리즘개발서적읽기/소프트웨어 장인 2023. 6. 10. 18:50
우리는 '아니오'라고 말할 수 있어야 한다 이번 장에서는 4장에 이어서 소프트웨어 장인이 지녀야 하는 태도를 설명한다. 사실 이 책을 좀 오해했던 것 같다. 1~4장에서는 프로 정신을 강조하면서 모든 것에 적극적이고 최선을 다하라는 내용이 많았는데, 머리로는 공감됐지만 몸으론 공감하기가 쉽지 않았다. 좋은 말이긴 한데, 한정된 시간에 그것을 실천하기는 어려울 것 같아서 '현실과는 약간 동떨어진, 상위 1%의 개발자를 위한 책인가?' 싶었다. 그런데 이번 장을 읽고는 이 생각이 오해였다는 것을 깨달았다. 이번 장에서 이야기하는 '아니오'는 '과도한 업무 지시를 거부하는 것'을 의미한다. 상용화 수준에 미달되는 저품질의 소프트웨어가 될 수 밖에 없다면 주어진 조건들을 거부했어야 했다 책에 나오는 위 문장을 ..
-
소프트웨어 장인 :: 4장 소프트웨어 장인의 태도개발서적읽기/소프트웨어 장인 2023. 6. 6. 13:39
커리어와 관련하여 남탓하지 말기 내 커리어의 주인공은 나다. 내 커리어의 성장은 내 책임이다. 내 커리어는 내가 가꿔야 한다. 간혹 어떤 회사에서 일하는 것이 나에게 별로 도움이 되지 않는다는 불만이 생길 수 있다. 그러면 다른 곳으로 이직을 하면 된다. 혹은 그 회사에서 일하는 것이 나에게 도움이 되도록 고객(고용주)에게 건의를 하면 된다. 그런데 이도 저도 아니고 그저 불만만 늘어놓는 것은, 냉정한 말일 수 있겠지만, 본인은 그런 회사에 어울리는 근로자이자 장인까지는 못 되는 개발자인 것이다. 해야 할 것은 하고 요구할 것은 요구하고 아닌 것은 아니라고 말하는 책임 있는 프로의 모습이 바로 장인의 모습이다. 환경에 의존하지 말고 스스로에게 의존하자. 자기 계발하기(페어 프로그래밍) 이 책에는 '소프트..
-
소프트웨어 장인 :: 3장 소프트웨어 장인정신개발서적읽기/소프트웨어 장인 2023. 6. 1. 07:57
'소프트웨어 장인 정신'의 등장 1장에서는 it 산업의 변화와 그것에 알맞은 소프트웨어 개발자의 태도를 설명했고 2장에서는 그 태도를 잘 발휘하기 위한 업무 방식인 애자일에 대해 설명했다. 애자일을 잘 실천하고 활용할 수 있으려면 업무적인 능력과 책임감이 뛰어나야 한다. 업무적인 능력과 책임감이 뛰어난 사람을 장인이라고 칭한다. 이번 장에서는 애자일을 잘 실천하고 활용할 수 있는 '소프트웨어 장인의 정의'에 대해 이야기한다. 소프트웨어 장인 정신은 간단히 말하면 프로 정신이라고 할 수 있다. 고객(고용주)의 요구에 일정한 수준의 결과물을 만들어 내고 스스로 더 발전하고자 한다면 그 사람을 프로라고 칭할 수 있을 것이다. 개발자 유난과의 거리두기를 그만 둬도 될 것 같다. 평소 개발자라고 유난(?) 떠는 ..
-
소프트웨어 장인 :: 2장 애자일개발서적읽기/소프트웨어 장인 2023. 5. 29. 14:14
애자일(agile)의 사전적 의미 애자일이라는 단어가 특정한 업무 방식을 정의하기 위해 탄생한 단어인 줄 알고 있었다. 하지만 애자일은 원래 존재하던 단어였고, 특정한 업무 방식을 잘 설명하는 단어이기 때문에 차용되었을 뿐이었다. 이 책을 읽어보면서 애자일의 사전적 의미를 찾아봤는데, 이 의미를 이해하고 있다면 애자일 방법론을 더 정확하고 깊이 이해할 수 있을 것이다. 애자일 방법론은 '서비스를 유연하고 빠르게 변화시키는 업무 방법론' 나름대로 애자일의 정의를 내려봤다. 소프트웨어 장인 :: 1장 21세기의 소프트웨어 개발에서 '기업들은 변화에 유연해야 했고 시장 상황에 맞춰 기민하게 조직을 바꾸기 시작했다.'라고 했었는데, 이러한 변화에 맞춰서 업무 방식도 '유연하고 빠른 서비스의 변화'에 초점이 맞춰..
-
소프트웨어 장인 :: 1장 21세기의 소프트웨어 개발개발서적읽기/소프트웨어 장인 2023. 5. 20. 20:05
이 책을 읽게 된 이유 아마 3년 전쯤으로 기억하는데, 한창 이직 준비할 때 많은 개발 서적들을 사서 공부했었다. 이번 '소프트웨어 장인'이라는 책은 그 서적들 중 하나였다. 그런데 당시 읽었던 내용들이 하나도 기억나지 않는다. 워낙 여러 책을 정신없이 보느라 제대로 보질 못했기 때문인 것 같다. 또한 당시에는 개발 경험이 적어서 책 내용에 대해 크게 공감하지 못했던 것 같기도 하다. 더군다나 당시에 재직했던 회사의 조직 구조는 이 책에서 중요하게 다루는 '애자일 조직'과는 거리가 멀었기 때문에, 머리로는 읽었지만 몸으로는 읽지 못했기 때문이 아니었을까 싶다. 그러던 중 주변의 친한 개발자분들이 이 책을 같이 읽어보자고 하셔서 다시 읽어보게 됐다. 이 책 말고도 여러 다른 후보 책들이 있었고 나도 다른 ..