[BOOK] 개발자로 살아남기 – 박종천 지음
![[BOOK] 개발자로 살아남기](https://yujaewook.files.wordpress.com/2022/01/2022-01-05-18.15.53.jpg?w=300&h=300)
개발자로서 잘 먹고 잘 살려면, 끊임없이 공부하고 성장해야 합니다. 세상을 보고 책을 읽고 사람을 만나고 많은 활동을 해야지만 살아남을 수 있습니다. (p. 224)
커리어에 대한 고민은 늘 하고 있지만, 새해가 되니 현재 내가 하는 일과 앞으로의 방향에 대해 더 고민하게 되었다.
나와 비슷한 길을 걸어본 누군가의 조언이 있으면 좋겠다고 생각했을 때 이 책을 만났다.
SNS에서 ’30년차 개발자의 커리어 이야기’라고 소개되고, ‘한글과컴퓨터’에서 개발을 배웠다는 공통점이 책을 읽게 했다.
(한컴에 있다가 블리자드 근무하신 분이 있다는 이야기는 들었었는데 이 책의 저자였다,)
![[BOOK] 개발자로 살아남기 - 사수](https://yujaewook.files.wordpress.com/2022/01/2022-01-30-18.26.03.png?w=780)
코로나로 재택으로 근무하는 시간이 많아지고, 외부 교류가 쉽지 않은 요즘 다른 개발자들을 만나고 이야기를 나누는 것도 쉽지 않은 요즘이다.
10년 단위로 개발자가 무엇에 집중해야 하는지 잘 정리되어 있어 30년차 이하의 개발자들은 책을 통해 선배 개발자의 조언을 접할 수 있다.
향후 진로를 정하려면 본인이 지금 어디에 있는지, 앞으로 어디까지 갈 건지, 어떤 일을 하고 싶은지 스스로에게 질문하면서 정리해야 합니다. (p. 245)
- 처음 10년은 실력을 쌓으며 성장하는 시기, 다음 10년은 개발자를 리딩하며 일하는 시기, 마지막 10년은 한 발 물러서서 사람들을 돕고 서포트하는 시기입니다. (p. 9)
- 디렉터, 모든 일을 할 수는 있지만 아무 일도 하지 않고 대신 모든 일에 책임지는 사람. (p. 12)
- 좋은 사용자가 되어야 합니다. 다양한 제품들을 써보면 제품을 이해하고 시장도 이해할 수 있습니다. (p. 20)
- 소프트웨어는 컴퓨터 안에서 돌아가는 단순한 로직의 집합체가 아닙니다. 소프트웨어는 과학, 기술, 엔지니어링, 수학이 잘 융합된 STEM의 결정체입니다. (p. 27)
- 한 개발자가 여러 프로그래밍 언어를 사용할 줄 알아야 하는 폴리글락 프로그래밍 시대입니다. (p. 29)
- 프로그래밍 언어는 유행을 따르는 도구일 뿐입니다. (p. 31)
- 개발자는 평생 공부하는 직업입니다. (p. 31)
- 소프트웨어를 개발하면서 왜, 어떻게, 무엇을, 누가, 언제까지 출시해야 하는지를 종합적으로 고려해야합니다. (p. 34)
- 회사의 주인의식을 가질 필요는 없습니다. 대신 나의 주인의식을 가져보세요. (p. 34)
- 특정 언어나 도구와 사랑에 빠지면 안됩니다. (p. 35)
- 개발자의 도구는 역할과 프로젝트마다 달라져야 합니다. (p. 36)
- 공부는 할 때 해야 합니다. 개발 초기 10년에 공부하는 것과 중간 10년에 공부하는 것은 속도가 다릅니다. (p. 39)
- 세상은 배우는 자와 배우지 않는 자로 나뉜다. (p. 40)
- 좋은 제품을 디자인하려면 누가 사용하나, 사용자가 원하는 일은 무엇인가, 만드는 제품이 사용자가 원하는 바를 제공해주는가, 경쟁 제품은 어떤 접근을 하는가 등을 고려해야 합니다. (p. 42)
- 제품을 만들 때는 고객과 우리 제품 사이의 모든 여정이 설계되어 있어야 합니다. (p. 46)
- 제품 개발 초기 단계부터 데이터 수집 계획 및 설계를 제대로 마련하고, 수집한 데이터를 가공해 개발팀이 활용할 수 있게 해야 합니다. (p. 49)
- 개발은 좋은 제품 만들기가 목적입니다. 멋진 코드와 확장성 있는 아키텍처도 좋지만 기술은 좋은 제품을 만들어내야 의미가 있습니다. (p. 53)
- 애자일은 품질을 놓치지 않으면서도 기민한 개발을 지향합니다. (p. 57)
- 연차가 높아질수록 프로젝트를 관리하는 방법, 직원을 관리하는 방법, 좋은 프로세스를 설정하는 방법을 고민하며 성장합니다. (p. 71)
- 팀 존재 이유는 서로의 장점을 공유해서 극대화하고 약점을 보완해주는 것이므로, 서로가 강점과 약점을 알아야 합니다. (p. 74)
- 소통에서는 투명성과 개방성, 리더쉽에서는 인사이트가 중요합니다. (p. 77)
- 협업은 논쟁 테이블 위에서 벌어지는 관철과 양보의 줄다리기입니다. (p. 78)
- 10년 차 20년 차가 되어도 관리자 역할을 하지 않고, 본인의 역량과 능력을 활용해서 회사에 기여하는 일반 직원을 개인 기여자라고 부릅니다. (p. 80)
- 프로젝트 리드는 기술을 제외한 모든 것을 챙겨야 합니다. (p. 85)
- 개발 주기는 요구사항을 분석하고, 시스템 구조를 설계하고, 개발하고, 테스트와 출시하고, 피드백을 받아서 업데이트하는 전체 과정입니다. (p. 86)
- 시간을 아끼는최고의 방법은 낭비를 없애는 겁니다. (p. 90)
- 목표는 ‘문제 해결하기’, 계획은 ‘여러 해결책 마련하기’, 실행은 ‘일부 해결책을 골라서 행동하기’, 측정은 ‘문제가 해결됐는지 확인하기’입니다. (p. 94)
- 일단 동작하게만 만들어서 어떻게든 출시하겠다는 생각은 망하는 길입니다. 최대한 안정적인 기술로 확장 가능성과 유지 보수성 등을 고려해 만들어야 합니다. (p. 100)
- 테크니컬 리드는 모르는 일을 어떻게 하면 잘할 수 있을지 고민해야 합니다. (p. 101)
- 속도보다 방향이 중요하므로, 항상 올바른 방향으로 가고 있는지 점검해야 합니다. (p. 103)
- 성향이 같은 사람들끼리 팀을 구성하는 것은 좋지 않습니다. (p. 114)
- 관리자와 직원의 관계는 정확한 기대치를 알려주고, 결과가 나왔을 때 좋았던 점과 아쉬웠던 점을 알려주며 피드백을 주는 사이가 좋은 관계입니다. (p. 115)
- 관리자는 직원이 스스로의 성과, 행복, 성장을 확인하고, 뭔가 잘 안 되는 거 같아서, 아니면 더 잘하고 싶어서 관리자를 사용하게 해야 합니다. (p. 118)
- 성과와 성장이 연결되지 않으면, 현재의 성과는 지속될 수 없습니다. (p. 122)
- 뭔가를 해냈을 때, 업무 자존감이 높아질 때 직원은 행복을 느낍니다. (p. 123)
- 회사는 직원이 행복, 성장, 꿈을 생각할 수 있게 해줘야 합니다. (p. 125)
- 팀 훈으로 ‘행복, 학습, 목표’ 세 가지를 제시합니다. (p. 133)
- 정말 좋은 제품을 개발하는지, 좋은 기술을 쓰고 있는지, 좋은 사람과 일하는지, 괜찮은 프로세스가 있는지 항상 생각해야 합니다. (p. 136)
- 회사가 커질수록 프로세스를 통일시키는 일이 중요합니다. (p. 143)
- 미래가 있는 회사라면 돈을 잘 벌고, 고객을 만족시키고, 프로세스가 정립되어 있고, 교육해 직원과 회사를 성장시켜야 합니다. (p. 153)
- 회사가 가는 방향, 팀이 가는 방향, 개인이 가는 방향, 비전, 목표가 연결되어야 합니다. (p. 156)
- 문화는 미리 세워진 가치와 정책에 의해 결정되기 때문에, 먼저 비전과 가치가 결정이 되어야 그 뒤에 문화가 따라갑니다. (p. 158)
- 회사는 결국 구성원의 역량만큼 성장합니다. (p. 162)
- 좋은 프로세스라면 문제가 발생하지 않아야 하며 적합하고 효율적이어야 합니다. (p. 171)
- 회사마다 철학이 있겠지만, 저는 관리자라면 업무에서 1/3을 채용에 써야 한다고 생각합니다. (p. 176)
- ‘사람들을 유혹하라, 사람들을 계발해라, 사람들을 연결시켜라.’ 블리자드 채용팀의 철학입니다. (p. 179)
- 개발자는 어떤 자리, 어떤 회사를 목표로 해서는 안됩니다. ‘어떤 사람이 돼야겠다’, ‘무엇을 해야겠다’를 목표로 삼아야 합니다. (p. 181)
- 소프트웨어 개발자로 성공하는 3요소는 재능, 노력, 기회입니다. (p. 184)
- 좋은 직원을 채용하고 싶다면 좋은 문화를 갖추고, 급여를 많이 주고, 성장할 기회를 많이 주면 됩니다. (p. 186)
- 직원 100명일 때도 직원이 10,000명일 때를 생각하며 최고의 인재만을 채용하세요. (p. 188)
- 조금은 느리더라도 변화를 계속 만들고 변화에 유동적으로 방향을 맞춰야 탁월한 기술력이 빛을 발해 돈 되는 사업을 지속적으로 영위할 수 있습니다. (p. 193)
- 속도, J 커브, 데이터 주도적 이 세가지는 스타트업 조건인 동시에 스타트업 문화입니다. (p. 203)
- 회사의 하드웨어가 사람들이라면, 사람을 움직이게 하는 운영체제가 조직 문화입니다. (p. 203)
- 일을 어제처럼 하면 어제만큼의 성과만 나옵니다. 더 나은 성과를 만들려면 한계를 뛰어넘는 게 아니라 한계를 치워버려야 합니다. (p. 210)
- 모두가 얼라인먼트하면서도 다양성을 존중하되 한계를 정하지 않고 속도를 늦추지 않고 달려나가면서 스케일을 키울 수 있는 조직 문화를 만드는 데 노력을 기울이기 바랍니다. (p. 212)
- 다양한 일을 경험해볼 수 있는 문화를 만드세요. 그래야 큰 그림을 보게 됩니다. (p. 217)
- 개발자로서 잘 먹고 잘 살려면, 끊임없이 공부하고 성장해야 합니다. 세상을 보고 책을 읽고 사람을 만나고 많은 활동을 해야지만 살아남을 수 있습니다. (p. 224)
- 특히 개발, 소프트웨어, 서비스는 창조의 영역, 즉 창의성과 연결됩니다. 그래서 그냥 무조건 기계적으로 일하면, 창조 능력이 발현되지 못합니다. (p. 239)
- 개발자라는 본질에서 가장 중요한 건 기술과 창조의 융합입니다. (p. 262)
- 향후 진로를 정하려면 본인이 지금 어디에 있는지, 앞으로 어디까지 갈 건지, 어떤 일을 하고 싶은지 스스로에게 질문하면서 정리해야 합니다. (p. 245)
BOOK Comment 1-2-3
1. 10년차까지는 열심히 프로젝트를 수행하고 공부하며 스스로 성장하는 기간
2. 20년차까지는 개발팀, 프로젝트를 리딩하며 동료들과 함께 성장하는 기간
3. 이후에는 다른이들의 성장을 위해 서포트하는 기간
BOOK Underline 1-2-3
1. 개발은 좋은 제품 만들기가 목적입니다. 멋진 코드와 확장성 있는 아키텍처도 좋지만 기술은 좋은 제품을 만들어내야 의미가 있습니다.
2. 속도보다 방향이 중요하므로, 항상 올바른 방향으로 가고 있는지 점검해야 합니다.
3. 개발자는 어떤 자리, 어떤 회사를 목표로 해서는 안됩니다. ‘어떤 사람이 돼야겠다’, ‘무엇을 해야겠다’를 목표로 삼아야 합니다.