고객과 사용자의 차이를 아는 것
•
고객은 개발자들이 결국 만족시켜야할 대상이다. 사용자가 될 수도 사장이 될 수도 있다. 고객을 명확하게 인지하는 것이 중요하다.
•
사용자들의 피드백을 적절히 수용해서 인사이트를 얻는데 사용해야지 그들이 원하는대로 만들어야하는 것은 아니다.
•
마스터 브랜치에 대한 접근과 배포의 권한이 나에게 있는 이상 이곳의 선장은 나다. 운항 중인 배가 목적지까지 무사히 도착할 수 있도록 중심을 잡아야 할 책임이 나에게 있다.
취미개발자
•
내가 원해서 만드는 소프트웨어는 재밌다. 비즈니스에서 하는 개발과 집에서 하는 개발은 명백히 다르다.
•
취미로 개발을 시작한다면 끝을 보자. 웹서비스를 만든다면 출시해서 어떻게든 트래픽을 유입시켜보자.
•
단순히 공부하는 것이라면 블로그든 기술 공유든 해보자.
•
작은 성공을 맛보든 피드백을 받든 결과가 있어야 맺을 수 있고 그 결과에서 다시 시작할 수 있다.
•
결국 어떤 지점까지 도달했던 소수의 산출물이 나의 인생과 커리어에 가장 많은 도움이 되었다.
인터페이스를 중요시하라
•
인터페이스는 결국 서로 책임이나 역할이 다른 두 객체를 이어주는 매개체다.
•
코드수준에서 잘 구성된 인터페이스로 짜여진 코드들은 그자체로 코드가 명확하고 어떤 역할을 수행할는지 예상이 간다.
•
협업수준에서 인터페이스는 프론트와 백 사이의 명세서 정도가 있겠다. 백이 개발한 기능들을 적절히 추상화시켜 프론트가 알아야할 정보를 적절히 잘 제공하는 것은 매우 중요하다.
제안서를 써라
•
코드를 작성하기 전 자신이 구상하는 것을 글로 표현할 수 있는 사람이 된다면 어느 조직에 가나 인정받는 개발자가 될 것이다.
•
글을 쓴다는 것은 머릿속에 있는 생각을 정리한다는 의미인 동시에 그 생각의 가치를 가시화할 수 있는 좋은 방법이다.