안녕하세요.
1. 책 선택 이유
오래된 책이긴 한데, 프로그래머의 삶으로 궁금하기도 하고, 어떤 것에 후회하고 어떤 것을 추천하는지 궁금하기도 해서 읽어 보았습니다.
개발자로서 조언해 준다면 감사히 받아들이고, 인생도 소스코드처럼 수정과 보완하며 만들어 가야 하지 않을까 합니다.
2. 간략한 내용 소개
벤츠 탈 것인가, 커피 탈 것인가? 그 차이는 기술력이 아니라 업무력!
미래의 사업가 ? CEO를 꿈꾸는 프로그래머를 위한 천금 같은 조언들
저자는 프로그래머에게 필요한 덕목으로 기술력 외에 회사원으로서의 각종 업무력을 강조한다. 떠도는 이야기나 누군가의 성공담이 아닌 자신이 직접 겪어왔던 경험을 바탕으로 조언한다. 왜 프로그래머에게 소통력, 영업력, 협상력이 필요한지, 왜 프로그램은 기술만으로는 돌아가지 않는지, 부드럽지만 명쾌하게 강조하고 있다. 대학시절 아르바이트로 시작한 프로그래밍으로 입사하여 관리자가 되고 대표이사가 되기까지 저자가 경험한 교훈들이 고개를 끄덕이게 만든다.
- yes24 소개 내용 중
3. 책 속 내용과 생각
서문 2 – “사양서를 기초로 코딩을 할 경우든 고객의 요구를 실현하는 경우든 처음부터 '무엇을 만들고 싶은가?'를 이해하지 못하면 아무 소용이 없습니다. 즉, 가장 중요한 것은 '이해력'입니다.”
서문 4 - "프로그래머라고 다 같은 프로그래머가 아닌 것처럼 프로그래밍 경력 또한 언제나 같은 결과를 가져오지는 않습니다. ... 그 차이는 기술력이 아니라 업무력입니다."
-> 프로그래머서 중요하게 갖춰야 할 중요한 능력 중 2가지를 서문에서 이야기하고 있다. 말 그대로 개발능력만 보통 생각하지만, 현실은 조금 다르다는 것을 말해주고 있다.
p34 -"의뢰한 고객은 깔끔한 구조로 완성하는 것보다 '높은 응용성을 갖춘' 프로그램을 선호합니다. 그 때문에 애써 완성한 깔끔한 구주도, 거듭되는 사양추가와 변경으로 인해 점점 무너지곤 합니다. 업무적인 프로그램은 처음부터 어느 정도 유연하게 만들어야 환영받습니다."
-> 이전이나 지금이나 현실에서 개발하다 보면 경험하는 것이라 생각된다. 변경사항이 많아서 유연하게 기획하고, 요구사항도 좀 더 명확하게 하는 것이 중요하다고 느낀다.
p88 - "자기만족으로 일을 해서는 안 된다. 판매자, 사용자까지 확실히 만족할 수 있어야 진짜다"
p89 - "기획자, 개발자, 판매자, 사용자 등 모두가 만족하는 제품 개발이 진정한 목표가 되어야 합니다."
-> 개발자 실수 중 하나이기도 한데, "이 정도면 완벽해." 혹은 "아직 아니야" 스스로 평가하게 되는데, 100% 모두를 만족시킬 수는 없겠지만, 진정한 제품 개발 목표로 한 번쯤 생각해 볼 필요가 있다.
p120 - "지식으로 경쟁하지 말고 '지금까지 쌓아온 지식으로 무엇을 성취했는가?' 더욱 중요하다는 말입니다. ... '나는 이만큼 해왔으니까'라는 마음의 버팀목이 있다면 '이런 것도 모릅니까?'라는 말에 신경 쓰지 않고 '잘 가르쳐주십시오'라고 답할 수 있게 됩니다.
-> 개발자들도 은근 자존심이 있어, 모른다고 잘 말하지 못하는 경향이 있다. 가끔 AI(GPT)처럼 뻔뻔함이 있어야 하지 않을까 생각도 들지만, 자존심을 버리고 배우는 자세가 어느 업종이든 필요할 것이라 생각 든다.
p190 - "이왕 하기로 했다면 자기만족에 그치지 말고 세상에 도움을 줄 수 있는 제품을 만들어 다양하게 사용되면 좋겠다고 생각할 것입니다. 저는 그것이 기술자의 진정한 보람이라고 생각합니다."
-> 개발도 그렇고 인생도 그렇고 어디에 만족을 할 것인지 생각하게 된다. 저자 말처럼 이왕 개발한다면 자기만족이 아니라 세상에 도움이 되는 제품을 만들자라고 생각하면 어떨까 한다. 개인적으로도 사람들에게 도움 되는 개발자를 꿈꾸고 있다.
p211 - "저희 회사의 경우 저를 포함한 다른 멤버들은 기본적으로 '자신이 만들고 싶은 것을 제작하는 일은 취미와 같다'라고 생각합니다. 제품의 기본 부분이 완성되는 단계까지는 진짜 취미같이 개발을 합니다."
-> 개인적으로 추구하는 일하는 방식도 유사하다. 일이라고 생각하는 것이 아니라, 즐기는 취미 같은 일로 즐겁게 하는 것이 중요하다고 생각한다. 단, 현실은 경제와 밀접한 관계가 있기 때문에 이상과 다를 수 있으니 잘 타협하는 것이 필요하다.
p289 - " '만들기만 하면 된다'가 아니라 '널리 사용되도록 한다'는 식으로 사고방식을 전환해야 합니다. '소스코드가 깔끔하다'든가 '구조가 훌륭하다' 같은 차원이 아닙니다. '유저의 과제를 해결할 수 있는가 없는가'가 중요합니다."
-> 저자가 지속적으로 이야기하는 부분이기도 한 것 같다. 나쁜 의미가 아니라 일본느낌이 살짝 나는 듯하다. 그냥 만드는 것(자기만족)이 아니라, 만드는 것으로 끝이 아니라고 생각하라는 느낌. 우리나라 예를 들면 장인정신이 있어야 한다 라는 의미가 되지 않을까 한다.
p298 - "프로그래머의 자신 있는 분야란 자신 있는 프로그래밍 언어를 의미하는 것이 아니다. 많은 프로그래머들이 '자신 있는 분야로 삼았던 기술이 쇠퇴하면 어떻게 하나'하고 걱정하곤 합니다. 저는 꼭 그렇게 생각할 필요 없다고 봅니다.'
-> 개발자들 역시 특정 언어를 잘 사용하는 사람을 채용하고 있다. 그러나 최근에는 더 많은 항목들을 보고 있지만, 만약 그 기술들이 쇠퇴한다면... 저자가 말하는 것처럼 현재 AI로 인해 많은 개발자들의 수요가 줄어들었다. 프로그래머라는 한 분야만 볼 필요는 없을 것이라 생각한다. 남들이 잘 못하는, 자신 있는 분야라면 프로그래밍 언어가 아니어도 괜찮다고 생각한다.
4. 전반적인 후기
작은 주제별 내용이 짧고 핵심만 이야기하고 있습니다. 각 주제는 블로그 글 한편을 읽어가는 느낌입니다. 저자가 20분 정도 블로그 글쓰기에 투자한다는 것처럼 빠르게 전개하고 결론을 이야기합니다.
저자는 전문 개발자로 시작하지 않았지만, 독학으로 개발자가 된 경우이지만, 개발에 자신감이 있다고 느껴졌습니다. 사실 개발 요청을 보면 일단 제외할 부분 먼저 보일 텐데, 척척 처리하고 사장이 된 후에도 프로그래밍을 수행하고 있다니 대단하다고 생각된다. 인터넷을 검색해 보니 이 업체가 아직 운영되고 있었습니다.
시간이 조금 지난 내용이라 넓은 부분에서 개발자로, AI 관련 이야기보다는 개발자로서 자신이 개발한 프로그램을 중심으로 겪게 된 이야기와 사업화까지 가야 하는 이야기를 해주고 있습니다.
신입이라면 처음부터 보면서 개발을 하면서 맞이하게 될 큰 그림을 볼 것이라고 생각되며, 경력 개발자가 본다면 필요한 부분을 찾아 전후로 보면 어떨까 합니다. 순수 개발만 하는 것이 아니라 프로그래머로서 개발만 필요하다는 것보다 이후 무엇이 필요한가, 무엇을 해야 할 것인가 조언을 해줍니다.
마지막으로 개발자 저자하는 이야기 중 한 가지를 남기고 마무리하겠습니다.
"이제 프로그래머도 소통력, 업무력, 사업력을 키워야 평생 멋지게 살아남을 수 있다!"
이번에 얻어가는 최소한 얻어가고 자하는 것으로 "프로그램 언어에만 치우치지 말고, 세상에 유익한 프로그램을 즐겁게 개발해 보자"로 정하였습니다.
감사합니다.