1. 자신이 아는 것과 모르는 것을 구분할 수 있어야한다 : 학습한 내용을 정리해서 공유(TIL 작성, TIL 작성을 주제별로 모으기, 영어 블로그 번역), 프로젝트를 직접 기획하여 코드를 작성(오픈소스 기여, 클론 코딩(해결 방식을 연구), 토이 프로젝트(무언가 불편함을 느끼고 이를 해결하기 위해 서비스를 만드는 것) 2. 너무 오래 고민하지 말자. 30분에서 1시간까지 고민해보고 해결이 안되면 다른 작업을 먼저 처리하자. 오랜 시간 같은 문제를 붙잡고 있으면 그 생각에 매몰되게 된다. 고민 이후 관련된 내용을 찾아 배운 후 다시 문제를 보면 새로운 시각으로 볼 수 있게될 것이다. 3. 요구사항을 수집하지 말고 채굴하라. ‘정말 이 기능이 필요할까?’,’다른 좋은 방법은 없을까?’ 항상 고민하고, 마지막에 개발을 시작하라. 요구사항을 명확하게 정하지 않으면 코드를 계속해서 뒤엎게 될 것이다. 4. 최대한 단순하게 구현하라. 단순한 방법으로 더 좋은 기능을 구현할 수 있다면 장기적인 관점에서 더 이롭다. 5. 빠르게 일하는 것은 생각보다 중요하다. 생산성 개선에 투자하라 (페어프로그래밍, 단축키 익히기) 6. 오픈소스를 통해 통찰을 얻자. 실력과 난이도가 어느 순간이 되면 공식문서나 블로그를 통해 수행할 수 없게 된다. 그러한 경우 좋은 설계와 디자인을 가진 오픈 소스를 보며 ‘통찰’을 얻자. 7. 블로그나 컨퍼런스를 통해 지식을 공유하자. 쉽게 얻은 지식은 쉽게 휘발되는 한편, 어렵게 얻은 지식은 오래 기억에 남는다. 8. 몰입하기 위한 요소 : 동기 부여(조직의 방향성과 내 방향성이 일치하는가), 적절한 난이도(난이도가 너무 쉽거나 높다면 이를 조절하자), 자율성(내가 하는 일을 스스로 선택할 수 있는가) 9. 이직은 많은 비용을 소모해야하지만 압축된 성장을 할 수 있다. 다양한 팀과 대화를 해보며 해결하려는 문제가 내가 관심 있는지, 채용에 진심인지, 일에만 집중할 수 있는 환경을 조성하는지 파악해보자.
다양한 실질적인 팁들을 얻었다. 한 번 이 글을 읽는다고 소화가 되지 않을 거 같다. 양이 상당하다. 주기적으로 이 책 페이지에 방문해서, 최소한 이 요약만이라도 읽어 ‘지금 내가 적용할 게 있을까?’ 생각해보자.