전체 글
이규원님의 현실 세상의 TDD 깊은 곳, 2편 : 환경 변화와 적응력
테스트 주도 개발의 깊은 곳 2편이다. 📖 원본이 궁금하면 이규원 님의 TDD 수강하는 걸 추천드립니다. 👍 The RED : 이규원의 현실 세상의 TDD : 안정감을 주는 코드 작성 방법 | 패스트캠퍼스 그동안 우리나라에는 TDD를 제대로 다루는 책도 강의도 없었죠. 그래서 제가 개발 현장에서 활용하는 TDD를 정확하게 알려드리고자 강의를 만들었습니다. 이제 TDD에 대한 잘못된 인식은 버리고, ' fastcampus.co.kr 개체 지향 (Object-oriented) 다형성 (Polymorphism) 개방-폐쇄 원칙 (Open-closed principle) 소프트웨어 엔티티(클래스, 모듈, 함수 등)는 확장에 열리고 수정에 닫혀야 한다. 다형적(Polymorphism) 개방-폐쇄 원칙 Testab..
이규원님의 현실 세상의 TDD 깊은 곳, 1편 : 인터페이스와 구현
테스트 주도 개발의 깊은 곳 1편이다. 언급되는 내용에 내 생각도 덧붙이는거라 📖 원본이 궁금하면 이규원 님의 TDD 수강하는 걸 추천드립니다. 👍 The RED : 이규원의 현실 세상의 TDD : 안정감을 주는 코드 작성 방법 | 패스트캠퍼스 그동안 우리나라에는 TDD를 제대로 다루는 책도 강의도 없었죠. 그래서 제가 개발 현장에서 활용하는 TDD를 정확하게 알려드리고자 강의를 만들었습니다. 이제 TDD에 대한 잘못된 인식은 버리고, ' fastcampus.co.kr 추상화 MIT 교수 John Vogel Guttag에 따르면 추상화는 주어진 맥락에 관련된 정보들을 남기고 동시에 주어진 맥락과 관련 없는 정보들을 잊어버리는 과정이다. -> 개발을 하다보면 추상화에 대한 많은 이야기를 접할 수 있다. 객..
[CHAPTER 16] 소프트웨어 장인으로서의 커리어 (마지막 챕터)
드디어 기나긴 여정의 마지막이다. 이번 챕터는 이전까지의 모든 주제를 총망라하는 포괄적인 주제다. 소프트웨어 개발자는 멋진 직업이다. 주변을 둘러보자. 오늘날 생산되는 거의 모든 것들이 소프트웨어의 뒷받침으로 가능하다. 언제나 우리 주변에는 소프트웨어의 흔적이 가득하다. 매일 손에서 뗄 수 없는 스마트폰부터 시작하여 매일 먹는 음식까지 모두가 소프트웨어의 도움을 받아 관리되고 이동되어 우리의 앞까지 오게 된다. 차가운 맥주를 마시거나 TV에서 수백 개의 채널을 볼 수 있는 것 또한 소프트웨어 덕분이다. 어떻게 우리의 일을 자랑스럽게 생각하지 않을 수 있을까? 어떻게 우리의 일을 그저 출퇴근하는 생계수단으로만 치부할 수 있나? 소프트웨어 개발자들은 우리가 살고 있는 세상이 진화해 나가는데 꼭 필요한 존재다..
[CHAPTER 15] 실용주의 장인정신
좋은 품질이 되기까지 오랜 시간이 걸린다는 고정관념이 있다. 시작부터 저자의 말이다. 이전까지의 이야기를 몰라도 개발 경험이 있다면 좋은 품질이 대충 무엇인지 알 수가 있다. 나도 여러번의 비현실적인 일정 속에서 품질을 신경 쓸 수가 없었고, 좋은 품질이란 시간이 필요해야겠다는 관념이 있었는데 저자는 고정관념이라 표현한다. 안타깝게도 대부분 저급 품질의 싸고 빨리 만들 수 있는 코드를 선택하는 상황이 현실이다. 누구나 흔하게 접할 수 있는 상황이다. 이런 상황에 저자는 다음과 같이 말한다. '고품질은 고비용'이라는 것이 편견임을 설명한다. 시간이 필요하지 않더라도 코드의 품질을 유지할 수 있다는 저자의 말이다. 품질은 선택사항이 아니다 비용이나 시장 타이밍 같은 트레이드 오프같은 문제만 없다면 누구든 품..
5월 2주차 회고
스톱워치는 어떤가? 지난주도 스톱워치로 진행했다. 스톱워치를 시간을 체크하다보니 이전보다 좀 더 딴짓을 안하게 되었다. 지난 주 시작시간~종료시간의 기간의 총합은 2455분으로 거의 41시간이고 공부에 체크한 시간은 1937분으로 32시간 17분이 나왔다. 비율로 치면 3.74 : 1 로 이전과 비슷한 성적이 되었다. 지난 주에 무엇을? 주로 소프트웨어 장인 후반부를 리뷰했다. 챕터10, 소프트웨어 장인 면접하기 챕터11, 잘못된 면접 방식 챕터12, 낮은 사기의 대가 챕터13, 배움의 문화 챕터14, 기술적 변화의 실행 매번 이 책을 리뷰하면서 느끼는 거지만 내용이 너무 좋다 3년간 경험이 있다보니 한장 한장 와닿는게 너무나 다르다. 책의 내용에 공감이 되다보니 같이 감정이입이 될 때도 있고, 저자가 ..
[CHAPTER 14] 기술적 변화의 실행
새로운 기술적 실행 관례나 도구를 도입하거나 그러한 것들에 대한 태도를 바꾸려 할 때 상사나 관리자를 설득하는 것보다 실무 개발자들을 설득하기가 훨씬 어려운 편이다. 시작부터 저자가 말하는 내용이다. 변화를 시도하기 위해선 같은 실무 개발자를 설득하는 게 더 어렵다고 한다. 기술 변화를 시도할 때 발생하는 회의론과 새로운 아이디어에 좀 더 열린 태도를 갖도록 설득하는 방법을 살펴본다. 변화를 반대하는 다양한 회의론과 그런 실무 개발자들을 설득하는 방법을 알려주는 게 이번 챕터의 내용이다. 회의론의 종류 새로운 문화, 실행관례, 도구, 절차를 도입할 때 가장 먼저 어떤 반발에 부딪힐지 미리 파악해야 한다. 테렌스 라이언은 그의 저서 [기술적 변화 추진하기]에서 회의론의 종류 를 다음과 같이 정리했다. - ..
[CHAPTER 13] 배움의 문화
구성원들이 동기가 부여되어 있지 않거나 자신의 일 자체에 별 관심이 없으면 그 어떤 변화도 효과적으로 일으킬 수 없다. ... 관리자들은 상황을 얼마든지 더 악화시킬 수 있다. 개발자들이 새로운 규칙을 준수하도록 업무 고과나 보너스를 연계시키는 것이다. 이전 챕터와 이어지는 내용이다. 관리자가 잘못된 방법으로 변화를 이끄려 한다면 더 안 좋은 상황이 될 거라 말한다. 이 장에서는 배움의 문화를 만들기 위해 개발자들이 할 수 있는 여러 활동들에 대해 살펴본다. 잘못된 방향으로 동기 부여하기 어느 유명한 투자 은행에서 회사에 일을 맡겼다. 고객사의 요구사항은 매우 특정적이었다. "우리의 레거시 코드 베이스에 단위 테스트를 역을 끼워 맞춰줄..." 작업을 고객사가 아닌 우리 회사의 사무실에서 하기를 바랐다. ..
[CHAPTER 12] 낮은 사기의 대가
개발자들의 낮은 사기는 소프트웨어 프로젝트 실패이 주된 이유 중 하나다. 애자일 절차들과 애자일 실행 원칙들을 기반으로 개발하고 있다고 전제한다. 이번에는 애자일이 실행되고 있는 상황에서 낮은 사기로 발생하는 사례를 다룬다. 애자일 행오버 : 낮은 사기 거의 대부분의 회사들이 나름대로 애자일 전환을 경험했다. 애자일로 전환하고 몇 년 후, 예외 없이 제품 개발 역량이 여전히 뒤떨어져 있다는 것을 깨닫고 있다. 이 깨달음을 애자일 행오버라고 부른다. 애자일로 전환되었고 몇년이 지났으면 구성원 모두가 변화에 발 빠르게 대응하지 않을까? 왜 개발 역량이 떨어진다고 할까... 애자일 행오버에 빠진 회사들의 흔한 문제는 사기가 낮다는 것이다. 개발자들이 불평할 때가 많아지고... 관리자들이 실제로 뭘 해야하는지 ..