본문 바로가기

독서록6

함께 자라기 : 애자일로 가는 길 (2) 수십 년 동안 전문가가 안 되는 비결 전문성 형성에서 타당성과 피드백의 중요성 타당성 조건이 필요하다 = 인과관계와 규칙성이 존재해야 한다 피드백 조건이 필요하다 = 자신이 내린 직관적 판단에 대해 빨리 피드백 박고 이를 통해 학습할 기회가 주어져야 한다 타당성과 피드백이 부족한 직업군은 전문성이 떨어진다’ 타당성과 피드백 높이기 타당성을 높이려면 → 변수 제한하고 실험하며 규칙성, 인과관계 찾기 피드백을 높이려면 → 동료, 상사, 고객에게 직접 피드백 구하기 당신이 제자리걸음인 이유 의도적 수련의 필수조건, 적절한 난이도 몰입을 할 때 최고 수준의 집중력을 보이고 퍼포먼스, 학습 능력이 최대치가 된다. 지금 나의 상태가 어떤지 살피는 “알아차림”이 꼭 필요하다. = 메타인지 전략 의도적 수련의 일상적 .. 2022. 11. 2.
애자일 마스터 (2) 4. 크게보기 프로젝트가 달성하고자 하는 목표가 무엇인지, 왜 이 소프트웨어를 개발하려고 하는 지 명확히 이해할 수 있다. 4.1 우리는 왜 여기 모였나요 ? 프로젝트가 성공하기 위해서는 왜 그것을 개발하는 지 이해해야 한다. 4.2 엘리베이터 피치 만들기 엘리베이터 피치 ⇒ 마치 엘리베이터를 타는 시간인 20초 ~ 3분 사이에 핵심을 전달하는 것을 말한다. ( 짧은 시간 안에 핵심을 피력하는 방식 ) 4.3 제품광고를 직접 디자인해보자 제품의 광고를 제작해봄으로써, 제품이 고객에게 끌릴만한 점이 무엇인지, 이 제품만이 가진 남다른 기능은 무엇인지 생각하게 해 줄 것이다. 4.4 NOT 리스트를 작성하라. 어떤 것이 프로젝트 범위에 포함되는 지, 포함되지 않는 지 알 수 있다. NOT 리스트가 가져다주는.. 2022. 11. 1.
읽기 좋은 코드가 좋은 코드다 (2) 4장. 미학 읽기 편한 소스코드를 위한 세 가지 원리 코드를 읽는 사람이 이미 친숙한, 일관성 있는 레이아웃 사용하기 비슷한 코드는 서로 비슷해 보이게 만들기 서로 연관된 코드는 하나의 블록으로 만들기 일관성과 간결성을 위해 줄 바꿈을 재정렬하기 같은 작업을 하는 함수는 줄바꿈과 정렬로 일관성 있는 모양새를 가지도록 해야 한다. 메소드를 활용하여 불규칙성을 정리하라 중복되는 지저분한 부분을 함수화하라! 코드를 미학적으로 개선하는 작업은 코드 구조를 개선하는 결과를 낳는다! 의미있는 순서를 선택하고 일관성 있게 사용하라 서로간에 영향을 끼치지 않는 코드의 경우 의미 있는 순서로 일관성있게 나열하라 개인적인 스타일 대 일관성 올바른 스타일보다 일관성 있는 스타일이 더 중요하다 스타일을 선택할 때 실질적인 영.. 2022. 10. 31.
함께 자라기 : 애자일로 가는 길 (1) 당신은 몇 년 차? 강한 놈이 오래 가는 게 아니라, 오래 가는 놈이 강한 거더라. - 장필호 에서 소프트웨어 기술자의 등급은 기술자격보다 ‘경험’, ‘경력’이라는 요소가 결정적이다. 하지만 사실, 경력과 업무수행 능력은 깊은 상관성이 없다. (ex. 10년차와 2년차) 따라서 채용할때는 경력을 경계하고 구조화된 인터뷰와, 작업 샘플 테스트, 짧은 기간 동안 실제 일을 해보게 하는 것이 훨씬 좋다. 앞으로는 소프트웨어 개발에서 점차 경력 연수를 중시하는 문화가 사라질 것이다. 1만시간의 법칙은 그냥 경력과 시간의 얘기가 아니다. 1만 시간의 법칙을 만든 안데쉬 에릭손에 따르면 1만 시간은 ‘자신의 기량을 향상시킬 목적으로 반복적으로 한 수련’(의도적 수련)의 시간을 의미합니다. 업무를 하면서 의도적 수련.. 2022. 10. 24.
애자일 마스터 (1) 1. 애자일의 핵심 → 매주 꼬박꼬박 가치를 전달하기 위해선 어떻게 해야할까? 에 대한 답을 얻어야 함 정말 중요한 것은 제대로 작동하는 소프트웨어를 정기적으로 고객에게 전달하는 것 1.1 매주 가치 전달하기 매주 가치를 전달한다는 것은 고객에게 전달한 소프트웨어가 잘 작동해서 사용할 수 있어야한다는 의미를 내포 1. 큰 문제들을 작은 문제들로 세분화하라 2. 가장 중요한 것에 먼저 집중하고, 다른 것들은 다 잊어버려라 3. 소프트웨어가 제대로 작동하는지 확인하고 또 확인하라 4. 피드백을 구하라 5. 필요하다면 계획을 바꾸라 6. 책임감을 가져라 1.2 어떻게 애자일로 계획을 세울까? 마스터 스토리 리스트 프로젝트 기간 동안 해야할 일을 담은 목록 여기에 고객은 소프트웨어에 추가하고 싶은 모든 기능(사.. 2022. 10. 23.
읽기 좋은 코드가 좋은 코드다 (1) 1장. 코드는 이해하기 쉬워야 한다 가독성의 기본 정리 코드는 다른 사람이 그것을 이해하는 데 들이는 시간을 최소화하는 방식으로 작성되어야 한다. 분량이 적으면 항상 더 좋은가 ? 아니다. 적은 분량은 좋은 목표이긴 하지만, 이해를 위한 시간을 최소화하는 게 더 좋은 목표다. 우리는 다른 사람이 내 코드를 읽고 이해하기 쉬운지 상상해본적 없기 때문에 추가적인 시간과 노력이 든다. 하지만 꼭 필요하다 2장. 이름에 정보 담기 특정한 단어 고르기 get(x) → FetchPage(o), Size(x) → Height(o) 등 재치 있는 이름보다 명확하고 간결한 이름이 더 좋다. 보편적인 이름 피하기 tmp, retval, foo (x) 이렇게 무의미한 이름이 아니라, 개체의 값이나 목적을 정확하게 설명하는 .. 2022. 10. 20.