소프트웨어 장인
-
소프트웨어 장인 :: 16장 소프트웨어 장인으로서의 커리어개발서적읽기/소프트웨어 장인 2023. 8. 15. 09:37
소프트웨어 장인으로서 지녀야 할 태도와 커리어 방향 이번 장에서는 15장까지 이야기했던 것들을 종합한다. 역시 소프트웨어 장인에게는 '직무에 대한 열정'이 가장 중요하다는 것을 다시 한번 강조한다. 그리고 소프트웨어 장인은 자신의 커리어를 주체적으로 관리할 줄 알아야 한다. 이직이 필요한 이유는 매 시기마다 다르다. 어떤 때는 보상을 위해 어떤 때는 개인적인 시간을 위해 이직한다. 외부 요인에 의해 이유를 만들지 말고 주체적으로 판단해야 한다. 나에게 소프트웨어 개발이란 무엇일까? 309p~310p에는 소프트웨어 개발이 얼마나 숭고한 일인지를 설명한다. 소프트웨어가 바꾸는 세상을 설명하면서 다음 세대 개발자를 위해야 하고 소프트웨어 산업의 진흥을 위해야 한다고 하는데, 사실 크게 와닿지는 않았다. 마치 ..
-
소프트웨어 장인 :: 15장 실용주의 장인정신개발서적읽기/소프트웨어 장인 2023. 8. 14. 14:08
실용주의 실천의 필요성 이번 장에서는 소프트웨어 장인에게 실용주의가 얼마나 중요한지를 설명한다. 오버 엔지니어링을 지양하고 요구 사항들에 충실히 집중하는 핏(?) 엔지니어링을 지향해야 함을 어필한다. 나를 포함하여 많은 개발자들에게 일침을 놓는다. 개발자들은 종종 자신의 개발 실력을 뽐내고 싶거나 개인적인 뿌듯함(혹은 성취감)을 느끼기 위해 투머치하게 개발하곤 한다. 조직의 목표에 영향을 끼치지 않는다면야 이런 모습들은 큰 문제가 되지 않겠지만 현실은 문제가 되는 경우가 많다. 소프트웨어 프로젝트는 우리를 위한 것이 아니다 소프트웨어 프로젝트는 공동의 산물이다. 내 입맛대로 만들거나 수정하는 것을 지양해야 한다. 다른 시각과 다른 방식을 받아들일 줄 알아야 한다. 소프트웨어 개발 능력에 인성 능력도 포함..
-
소프트웨어 장인 :: 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
커리어와 관련하여 남탓하지 말기 내 커리어의 주인공은 나다. 내 커리어의 성장은 내 책임이다. 내 커리어는 내가 가꿔야 한다. 간혹 어떤 회사에서 일하는 것이 나에게 별로 도움이 되지 않는다는 불만이 생길 수 있다. 그러면 다른 곳으로 이직을 하면 된다. 혹은 그 회사에서 일하는 것이 나에게 도움이 되도록 고객(고용주)에게 건의를 하면 된다. 그런데 이도 저도 아니고 그저 불만만 늘어놓는 것은, 냉정한 말일 수 있겠지만, 본인은 그런 회사에 어울리는 근로자이자 장인까지는 못 되는 개발자인 것이다. 해야 할 것은 하고 요구할 것은 요구하고 아닌 것은 아니라고 말하는 책임 있는 프로의 모습이 바로 장인의 모습이다. 환경에 의존하지 말고 스스로에게 의존하자. 자기 계발하기(페어 프로그래밍) 이 책에는 '소프트..