Skip to main content

경력 발전시키기

48. 좋은 평판 쌓기#

  • 정말 뛰어난 개발자가 되고 싶다면, 좋은 평판을 구축해야합니다.
  • 브랜딩을 통해서 내가 찾아가는 것이 아닌, 사람들이 찾아오게 되었다.
  • '유명'해져서 얻는 혜택
    • 돈은 평판에서 온다.
  • 스타일 + 본질
    • 자신을 홍보하고 마케팅하는 것을 반대하는 소프트웨어 개발자가 많다.
    • 자신을 홍보하고 마케팅하고 브랜딩을 만드는 걸 나쁘게 보아서는 안된다.
    • 세계 최고의 프로그래머라 해도 자기 방에만 틀어박혀서 그 누구와도 소통하지 않는다면 아무 의미가 없습니다.
    • 중간 정도의 실력에 높은 명성을 얻는 게 높은 실력에 아무 명성도 없는 것보다 낫습니다.
  • 개인 브랜드 만들기
    • 무엇으로 유명해지고 싶은지를 정해야한다.
    • 브랜딩은 자신이 어떤 사람이고 어떤 일을 하는지 명확하고 단순하고 간결한 메시지를 만드는데 시작됩니다.
    • 메시지가 브랜드의 첫 번째 요소, 시각적인 요소는 두 번째, 세번째 요소는 일관성입니다.
  • '유명'해지는 방법
    • 반복 노출을 하지 못하면 브랜드라고 할 수 없습니다.
    • 체계를 활용하여 큰 수확을 올려야 합니다.
    • 오랜 시간에 걸쳐 일관성 있게 진행하면 시간이 지남에 따라 '유명'해집니다.
    • 블로그 개설, 다른 사람의 블로그에 글 기고, 책 쓰기, 잡지 기사 쓰기, 다른 사람들이 운영하는 팟캐스트에 등장, 팟캐스트 개설, 유튜브 채널 만들기, SNS에서 활발히 활동하기, 코드 캠프에서 강연하기, 개발자 콘퍼런스에서 강연하기, 유명한 오픈 소스 프로젝트 만들기 등등
  • 가치 제공하기
    • 이러한 활동의 가장 중요한 원칙은 가치를 무료로 제공할 수록 좋습니다.
    • 주변에 있으면 혜택을 보는 것 같아서 자꾸 함께 어울리고 싶은 사람이 되어야 합니다.
  • 시간이 든다
    • 하룻밤 사이에 성과를 볼 수 없습니다.
    • 프로그래밍을 막 배우기 시작했더라도 무언가 알려줄 수 있는 것이 있습니다.
    • 끈기 있게 노력하면 결국은 목적지에 도달합니다.

49. 인맥과 커뮤니티#

  • 인맥 만들기라는 대부분은 잘못된 방법으로 사용됩니다.
  • 인맥을 만드는 잘못된 방법
    • 많은 소프트웨어 개발자는 필요할 때 인맥에 대해 고민하기 시작합니다. 다만, 이는 서로에게 최악입니다.
    • 가치를 취하려면 투자부터 해야합니다.
    • 최대한 많은 사람을 만나서 최대한 많이 명함을 나눠주는 건 인맥을 만드는 좋은 방법이 아닙니다.
  • 인맥을 만드는 좋은 방법
    • 인맥을 만들기위해서는 내가 가치를 제공해야 합니다.
    • 좋은 인맥을 만들고 싶다면 좋은 인간관계를 맺어야 합니다.
    • 자신이 상대에게 무엇을 해줄 수 있을지에 초점을 맞추고 대화를 진행합니다.
    • 능동적으로 활동하고, 어울리고 싶은 사람이 되어야합니다.
    • 어떤 사람이든 시간을 들여서 제대로 대화를 나눠야 합니다.
  • 인맥을 만들 장소
    • 자신이 관심을 가지고 있는 주제에 관심이 있는 사람을 찾는 것입니다.
    • Meetup.com 등의 사이트나 콘퍼런스, 코드 캠프도 인맥을 만들 좋은 장소입니다.
    • 강연 등에서 강연자에게 가서 좋은 발표에 대해 감사 인사와 함께 강연에 대해 몇 마디 칭찬의 말을 건네는 것이 중요합니다.
    • 친목 도모를 위해 진행하는 행사에 최대한 많이 참여하는 것도 좋은 방법입니다.
    • 다만, 술을 피하는 것이 좋은 방법입니다.
  • 커뮤니티 만들기
    • 직접 커뮤니티나 행사를 만드는 것은 좋은 방법입니다.
    • 저녁 식사 자리를 마련하여 자신이 만나보고 싶은 사람들을 모으는 사람들을 초대합니다.
    • 다른 사람이 만든 행사에 자원봉사자로 참여하는 것도 생각하는 것도 좋은 방법입니다.
  • 인맥 만들기는 어렵지 않습니다.
    • 넒은 인맥을 구축하려면 시간이 듭니다.

50. 최신 기술 따라잡기#

  • 새로운 기술은 항상 등장하고, 언제든 따라잡을 수도 있습니다.
  • 무계획도 계획?
    • 계획이 없으면, 행운은 찾아오지 않습니다.
    • 지키고 따를 수 있는 진짜 계획이 필요합니다. (상세 계획)
    • 경력을 발전시키고 최신 기술을 따라잡을 계획이 필요합니다.
  • 블로그 구독
    • 하루에 몇분 정도, 새로운 정보를 아는 것이 중요합니다.
    • 다른 사람들의 블로그를 통해 프로그래밍 세계에서 어떤 새로운 일이 일어났는지 그 중 어떤 것이 중요한지 통찰을 얻을 수 있습니다.
  • 책 읽기
    • 자신에게 가장 큰 도움이 되는 책, 영구적 가치를 지닌 책을 고를 줄 알아야 합니다.
    • 하고 있는 업무도 좋고, 소프트웨어 개발 방법론, 디자인 패턴, 아키텍처에 대한 책도 언제나 좋은 책입니다.
  • 새로운 기술 선택하기
    • 늘 새로운 것을 배워야 합니다.
    • 언제나 다음에 무엇을 배울지 공부해야합니다.
    • 시간 낭비 없이 가치 있는 내용이 담긴 책을 꾸준히 읽을 수 있습니다.
    • 절대 사용할 일 없는 기술은 배우지 않습니다.
    • 여러 달에 걸쳐, 사용할 일 없는 프로그래밍 언어를 배우는 것은 경력을 발전시키거나 목표를 이루는데 별 도움이 되지 않습니다.
  • 빠르게 배우기
    • 더 잘 배울 방법, 더 빠르게 배울 방법을 알게되면 도움이 됩니다.
    • 빠르게 학습하는 체계를 통해 많은 기술을 빠르게 습득해야합니다. (소프트스킬 참조)
    • 빠르게 학습할 체계를 배우거나 혹은 만들어야합니다.
  • 행사 참여하기
    • 행사 참여 또한 도움되는 방법입니다.
    • 강연에 등장하는 기술 시연이나 코드 예제를 보면 내용이 빠르게 파악됩니다.
  • 뉴스 읽기
    • 일반적인 뉴스는 영향이 없는 경우가 많다.
    • 기술 관련 뉴스는 중요하다.
    • 다만, 시간을낭비할 확률이 높으므로 들일 시간을 정하는 것이 중요합니다.
  • 부지런히 코딩하기
    • 사이드 프로젝트를 쉬면 안됩니다.
    • 사이드 프로젝트를 진행할 때는 마무리 지을 수 있을 정도로 작은 규모로 계획하는 것이 중요합니다.
  • 적절한 긴장감 유지하기
    • 현재 업무 환경이나 직장이 아무리 안전하다고 느끼더라도 적절한 긴장감을 유지하는 것이 중요합니다.

51. 제너럴리스트 vs 스페셜리스트#

  • 정답은 둘다 되어야합니다.
  • 전문성의 힘
    • 예를 들어, 살인이라는 누명을 썼을 때 나에게 가장 필요한 것은 살인죄 변호에 특화된 변호사를 반드시 골라야 할 것입니다.
    • 경우에 따라 전문성이 매우 중요한 경우가 있으며, 개인 뿐만이 아니라 회사도 전문성을 드러내는 것이 큰 도움이 됩니다.
  • 넓은 지식 기반을 갖춰야만 전문가가 될 수 있습니다.
    • 분야에 대한 일반적인 지식을 넓게 갖추지 못한 상태로 훌륭한 전문가가 된다는 것은 어불성설에 가깝습니다.
    • 모든 전문가가 좋은 제너럴리스트를 의미하지는 않으나, 대부분은 그렇습니다.
  • T자형 인재가 되는 것이 중요합니다.
    • 적어도 한 영역에 있어서만큼은 깊이 있는 지식을 쌓는 것이 중요합니다.
    • 그 이후, 자신의 지식의 전변을 넓혀나가는 것이 중요합니다.
  • 하지만 어디서나 제너럴리스트를 찾습니다.
    • 재너럴리스트보다 그 자리에 꼭 필요한 기술을 갖춘 인재, 그 회사에서 쓰는 프레임워크나 기술의 전문가를 고용할 확률이 높습니다.
    • 제너럴리스트를 구한다는 말은 뭐든 빠르게 배울 인재, 적응력이 뛰어난 인재를 원한다는 의미입니다.
    • 원하는 것은 다재다능하고 유연한 인재입니다.
  • 우리는 제너럴리스트가 될 수 없는 세상에 살고 있다.
    • 소프트웨어 개발 분야와 기술 분야는 너무 넓고 너무 빠르게 변화합니다.
    • 당당하게 자칭 제너럴리스트라고 할 수 있는 수준으로 세상에 존재하는 온갖 지식을 익히는 것은 불가능합니다.
  • 만약 전문 영역을 잘못 선택한다면?
    • 다른 영역으로 바꾸면 되며, 별일이 아닙니다.
    • 밀접한 연관이 있는 다른 분야의 전문가로 전향하면 됩니다.
    • 무엇이든 선택하고 결과를 지켜보는 것이 아무것도 하지 않는 것보다 낫습니다.
  • 그래서 어떻게 해야할까요?
    • 전문가 될 영역을 골라야 합니다.
    • 한 영역을 선택하고 이를 바탕으로 개인 브랜드를 구축한 후 깊이 파고들어야합니다.
    • 너무 넓은 영역을 선택하기보다는 지나칠 정도로 좁고 구체적인 영역을 고르는 것이 낫습니다.
    • 소프트웨어 개발에 관한 일반적인 지식을 최대한 넓게 쌓는 것도 게을리하면 안됩니다.

52. 강연과 콘퍼런스#

  • 콘퍼런스는 인맥을 만들 기회 뿐만 아니라, 해당 분야에서 가장 앞서 나가는 프로그래머들에게 무언가 배울 수 있는 기회도 됩니다.
  • 소프트웨어 개발 콘퍼런스에 강연자로 서는 방법을 알려주는 것이 장의 목표입니다.
  • 콘퍼런스에 참석하기
    • 경력을 발전시키고 싶다면, 매해 적어도 하나 이상의 소프트웨어 개발 콘퍼런스에 참석해야합니다.
  • 하지만 콘퍼런스는 비쌉니다.
    • 콘퍼런스 참석 비용을 지원해주는 회사도 있으니, 이를 잘 설득하는 것도 방법입니다.
    • 콘퍼런스에서 배운 내용을 바탕으로 팀원 전체를 교육하겠다고 제안하는 것도 좋은 방법입니다.
    • 강연자가 되는 것도 고려해보는 것도 좋습니다. 강연자가 되면 참가비가 무료일 뿐 아니라, 교통비도 지원이 됩니다.
  • 콘퍼런스에서 할 일
    • 콘퍼런스 일정을 살펴보고 자신만의 의제를 선정하는 것이 중요합니다.
    • 하루 정도 미리 가거나 콘퍼런스 사전 행사에 참석하는 것, 아니면 아예 콘퍼런스를 직접 주최하는 것도 고려해야 합니다.
    • 콘퍼런스에 있는 동안, 최대한 많은 사람을 만나서 이야기를 나누는 것이 중요합니다.
  • 강연
    • 소프트웨어 개발자라면 누구나 한 번쯤은 강연을 해봐야하며, 이를 통해 명성을 얻을 수 있습니다.
    • 일단 노출된 사람들에게는 더욱 강한 영향력을 미칩니다. 매체의 특성상 그렇습니다.
    • 소프트웨어 개발자 중에는 매해 다양한 소프트웨어 개발 몬퍼런스에서 강연을 하며, 시간당 수백만 달러를 받는 사람이 여럿있습니다.
    • 강연은 경력을 발전시키는 동시에 저렴한 비용으로 여행까지 할 수 있는 좋은 기회가 됩니다.
  • 강연 입문하기
    • 누구나 소프트웨어 개발 콘퍼런스에서 강연을 할 수 있는 것은 안됩니다.
    • 작게 시작하면 되고, 경험부터 쌓는 것이 중요합니다.
    • 잘하기 위해서는 많은 노력이 필요합니다.
    • 직장에서의 몇번의 발표 이후는 코드 캠프나 사용자 그룹에서 발표자로 지원해보는 것이 중요합니다.
    • 많은 연습을 한 이후에는 소프트웨어 개발 콘퍼런스에 지원해볼 차례이나, 사실 대부분은 인맥이 중요합니다. 즉, 인맥을 만들고 좋은 평판을 쌓아야 합니다.
    • 지원할 때, 소규모 행사에서 강연한 모습을 녹화한 동영상을 요약본과 함께 제출하는 방법도 좋은 방법입니다.
  • 무대 공포증 극복하기
    • 시간과 경험이 답입니다.
    • 자꾸 무대에 서봐야합니다.
    • 용기는 두려워도 행동하는 것이지 두려움이 없는 것이 아닙니다. 망쳐도 좋다는 마음으로 용기를 내야합니다.
  • 몇 가지 실용적인 팁
    • 최소 다섯 번은 도전해야합니다.
    • 강연을 할 때는 적어도 10분 먼저 도착합니다.
    • 연습하고 또 연습합니다.
  • 강연과 슬라이드 준비하기
    • 강연에서는 한 가지 큰 아이디어를 기반으로 하는 몇 가지 요점만 전달합니다.
    • 최대한 단순하게 만들어야 합니다.
    • 강연자가 하는 말이 재미없다고 느끼는 관객에서 무언가를 가르치는 것은 불가능합니다.
  • 보수를 받으며 강연하기
    • 어느정도 경험과 명성이 충분하고 성과가 내기 시작된다면, 보수를 받으며 강연하는 날도 옵니다.
    • 강연을 한 번 하려면 실제로 꽤 많은 시간과 노력을 들여야 합니다.
    • 강연비를 받고 싶은 사람이라면 무료 강연을 자주 하거나 콘퍼런스에 너무 자주 지원하는 것은 좋지 않습니다.
    • 강연을 전문적으로 할 생각이라면, 대부분의 무료 강연 요청은 거절하고 튼튼한 명성을 쌓아서 처음부터 강연비를 받는 것이 좋습니다.
  • 해보기
    • 삶의 변화나 개선을 위해 노력하지 않는 사람에게 그런 일은 일어나지 않습니다.

53. 블로그 만들기#

  • 블로그를 통해 새로운 기회와 일자리 제안도 얻을 수 있습니다.
  • 블로그가 여전히 최고의 선택인 이유
    • 소프트웨어 개발자에게는 좋은 선택이라고 생각합니다.
    • 진입 장벽이 낮고 효과가 좋습니다.
    • 자신을 홍보하는 광고판이라고 볼 수 있습니다.
    • 꾸준하게 글을 쓰면 다른 사람이 이해할 수 있는 방식으로 내 생각을 명확히 정리하는 방법을 배울 수 있습니다.
  • 블로그를 만드는 방법
    • 블로그 만들 빠에 포스트를 작성하는 것이 낫습니다.
    • 블로그를 새로 만들 때는 고유 도메인을 등록해서 같이 사용하는 것이 좋습니다.
  • 테마 정하기
    • 블로그의 주제를 정하는 것이 좋습니다.
    • 블로그 테마를 아주 작은 영역에 집중하는 것이 좋습니다.
    • 좁은 테마에 집중하는 것이 좋습니다.
  • 블로그 운영하기
    • 첫째, 무슨 내용을 쓸 건지 정한 상태에서 글을 쓰기 시작해야 합니다. 불필요한 시간을 줄일 수 있습니다.
    • 둘째, 사전 조사가 필요하다면 미리 조사를 해두는 것이 좋습니다.
    • 셋째, 글을 쓰기 전에 개요부터 잡아야합니다.
  • 일관성의 힘
    • 블로그를 성공적으로 운영하는 데 가장 중요한 것은 일관성입니다.
    • 각 포스트를 발행할 정확한 시간과 날짜, 그 포스트를 작성할 정확한 시간과 날짜를 캘린더에 넣어둬야 합니다.
    • 장기적으로 볼 때 다른 어떤 요소보다 일관성이 중요합니다.
  • 트래픽 높이기
    • 꾸준히 글을 늘리면 트래픽이 증가합니다.
    • 블로그에 오는 트래픽 대부분은 보통 검색엔진에서 옵니다.
    • 사람들이 공유하고 링크를 걸고 싶을 정도로 좋은 콘텐츠를 만드는 것이 중요합니다.
    • 훌륭한 포스트가 적어도 몇개는 되어야 합니다.
    • 높은 수준의 포스트를 오랜 시간에 걸쳐 일관성 있게 자주 쓰는 것이 가장 좋은 방법입니다.
  • 자신의 목소리 찾기
    • 개성이 느껴지지 않는 글은 재미가 없습니다.
    • 독특한 목소리를 찾고, 재밌게 할 수 있으면 더 좋습니다.
    • 목소리가 그 사람을 대표하므로 글을 통해 자신의 개성을 드러내는 것을 망설이지 않아야 합니다.
  • 꾸준히 쓰기
    • 가장 중요한 것은 꾸준히 쓰는 것입니다.
    • 어쨌든 쓰고, 계속 씁니다.

54. 프리랜서와 창업#

  • 프리랜서의 환상 대부분은 현실과 다릅니다.
  • 가고 싶은 길이라고 확신하는가?
    • 자유를 누구나 누릴 수 있는 것이 아닙니다. 그리고 비용은 싸지 않습니다.
      • 꿈을 실현하려면 많은 일을 해야합니다.
      • 불편하다고 느끼는 일을 해야합니다.
      • 거절에 익숙해져야하고 때로는 큰 위험을 감수해야합니다.
    • 너무 많은 자유는 자신을 망가뜨립니다.
    • 스스로 만든 규칙을 잘 지켜야합니다.
  • 프리랜서란?
    • 진짜 프리랜서는 여러 고객을 위해 일합니다.
  • 프리랜서가 되는 법
    • 다른 사람을 위해 너무 오래 일하면 동물원에 같힌 사자 같은 느낌이 들 수 있습니다.
    • 어려운 방법은 거절에 둔감해지기 위해, 영업 기술을 갈고 닦기 위해 밖으로 나가서 뛰어다니는 것입니다.
    • 어떤 서비스를 제공할지 뿐만 아니라, 어떤 결과를 낼지 이야기해야 합니다.
  • 쉬운 방법도 있다고 하지 않았나요?
    • 쉬운 방법은 고객이 찾아오게 하는 것입니다.
    • 좋은 평판 쌓기, 블로그 운영하기 등이 좋은 방법 중 하나입니다.
  • 청구할 금액을 정하는 방법
    • 시작한 사람은 거의 무료에 가까운 적은 금액을 받는 것이 좋습니다.
    • 초보자는 돈 벌 생각은 접어두는 것이 좋습니다.
    • 적자가 났을지라도 그 대신의 소중한 경험이 중요합니다.
    • 브랜딩과 평판이 중요합니다.
    • 어느 정도 유명해지면, 시장이 감당할 수 있는 금액이라면 얼마를 불러도 좋습니다.
    • 높은 보수를 줄 용의가 있는 고객을 확인해보면, 고객이 무엇보다 평판을 중요시합니다.
    • 보수는 시간에 따라 계산하는 방법과 가치 기반의 방법이 있습니다.
  • 사업 시작하기
    • 수익성이 있는 사업을 만들어서 성공적으로 관리하는 부분이 어렵습니다.
    • 소프트웨어 관련 사업은 수익성도 좋은 편입니다.
  • 완벽을 추구하지 말기
    • 대부분의 사업은 실패합니다.
    • 수익이라 할 정도의 돈을 벌어들이기전에는 법인이나 회계를 고민할 필요가 없습니다. 즉, 그 이후에 고민해도 됩니다.
  • 직장을 그만두지 마라
    • 직장을 그만두면 압박이 엄청 커집니다.
    • 직장에 다녀온 후 밤이나 주말을 희생할 생각이 없다면 사업가의 재질은 없는 것입니다.
    • 매우 힘든 여정이므로, 제대로 준비를 해야합니다.
    • 사업은 부업으로 시작해야합니다.
  • 잠재 고객부터 확보하기
    • 제품 제작에 돌입하기 전에, 잠재 고객을 확보해야합니다.
    • 아무 관계가 없는 사람에게 물건을 판다는 것은 어렵습니다.
    • 잠재 고객을 확보하면 크게 유리해집니다. 성공을 보장할 장치를 마련해두는 것입니다.
  • 판매하는 법을 배워라
    • 대부분의 성공한 기업가는 모두 무언가를 파는 능력이 뛰어난 사람입니다.
    • 판매는 인생에서 가장 큰 두려움인 거절을 직면해야 하기 때문에 어렵습니다.
    • 카피라이팅에 관한 책을 참고하는 것은 좋은 생각입니다.
    • 단지 팔아보는 것이 중요합니다.
  • 도움을 받아라
    • 마스터마인드 그룹이란 서로 다른 기술을 가지고 다른 분야에서 일하는 사람들이 비슷한 목표를 가지고 정기적으로 만다서 서로의 성공을 돕는 모임을 가리킵니다.
    • 다른 사람의 도움을 받을 줄 아는 것은 필수입니다.
    • 사업은 롤러코스터와 같습니다.
  • 어렵지만 견딜 만한 가치가 있다.
    • 사업을 한다는 것은 멋진 일입니다.
    • 다른 사람들의 삶에 긍정적인 영향을 주는 의미 있는 것을 만들었다는 사실이 중요합니다.

55. 진로#

  • 어떤 길을 선택하느냐에 따라 소프트웨어 개발 경력의 종착역이 결정됩니다.
  • 소프트웨어 개발자 유형 세가지
    • 직업 개발자 (흔함)
    • 프래린서 (용병)
    • 안트러프로그래머 (프로그래머/사업가 하이브리드)
  • 직업 개발자 선택지
    • 웹 개발
    • 모바일
    • 데스크톱
    • 비디오 게임
    • 임베디드 시스템
    • 데이터 사이언스
    • 툴과 엔터프라이즈
    • 클라우드
    • 자동화
  • 유리 천장 너머로
    • 유리 천장이란 승진이나 연봉 인상에 존재하는 현실적 한계를 의미합니다.
    • 일할 시간에 비례해서 보수를 받기 때문입니다.
  • 관리직? 기술직?
    • MS, 애플, IBM, 구글, 페이스북, HP 등의 거대 기업은 유리 천장도 높습니다.
    • 회사마다 기술직이나 비기술직에 대해 각기 나름의 트랙을 설정해두므로 회사에 따라 직함이나 직급은 다릅니다.
  • 자신이 어디로 향하는지 항상 생각하기
    • 무엇을 선택하든 몬인이 결정하고 계획을 세우는 것이 중요합니다.

56. 고용의 안정성과 보장#

  • 세상에 고용 보장은 존재하지 않습니다.
  • 모든 일이 잘 풀리지는 않습니다.
  • 불편한 상태로 지내야 하는 것에 익숙해져야 합니다.
  • 불안정하지만 괜찮습니다.
    • 세상은 과거로 절대 되돌아 가지 않습니다.
    • 과거처럼 사는 것처럼 행동하는 개발자가 되면 안됩니다.
  • 지식을 꽁꽁 감춘다고 해서 고용이 보장되지 않습니다.
    • 그중 최악이 자신의 지식을 꽁꽁 감추는 행위입니다.
    • 자신을 얼마나 중요하게 생각하든, 자신이얼마나 대단한 '비밀'을 알고 있든 세상은 잘 돌아갑니다.
    • 엉터리 방법으로 회사를 인질로 잡더라도, 나중에는 회사는 탈출할 것입니다.
  • 반대로 하라
    • 자신을 불필요한 존재로 만들기 위해 노력하면 높은 수준의 고용 보장을 약속받을 수 있습니다.
    • 자신의 자리를 불필요하게 만든 사람이야말로 가치있는 인재입니다.
    • 소프트웨어 개발자 한명으로 할 수 있는 일은 그렇게 많지 않습니다.
  • 안정성을 능력으로 대체하라
    • 지식을 쌓아 쌓은 지식을 무료로 다른 이들에 공유함으로써 더욱 가치있는 인재로 인정받는 방법을 써야합니다.
    • 고용 보장이나 안정성의 필요를 느끼지 못할 정도로 자신의 실력을 키우는 것이 중요합니다.
    • 오늘날의 고용 보장이나 안정성이라는 말은 환상에 불과합니다.
  • 자신의 안전망은 스스로 만들어라
    • 유사시를 대비한 3~6개월 정도의 생활비를 안전망으로 준비해두면 고용 보장이나 안정성에 대한 고민이 크게 줄어듭니다.
    • 그 달 벌어서 그 달 살고 있으면 자신을 '몰리는 상황'에 내몰고 있는 상태입니다.
    • 쓸 수 있는 모든 방법을 동원해 적어도 수입의 10%는 저축하면서 예비비를 모아야 합니다.
    • 항상 내 수입보다 훨씬 적은 돈을 쓰면, 업무에 자신감을 가지고 일을 할 수 있습니다.
  • 불확실성을 받아들여라
    • 불확실성을 피하지 말고 받아들여야 합니다.
    • 개인의 삶의 질은 그가 받아들일 수 있는 불확실성의 양과 정비례합니다.
    • 나에게 나쁜 일이 일어나지 않도록 방어해야 합니다.
    • 전체적인 삶의 질을 떨어뜨리고 있습니다.
    • 돈을 얼마나 벌든 얼마나 좋은 직장에 다니든 자신이 가진 것을 지키기 위해 얼마의 노력을 기울이든 항상 위험 요소는 있기 마련입니다.
    • 자신이 통제할 수 없는 영역을 통제하려 들지 않고 어떤 일이 일어나든 받아들일 마음의 준비를 해두면 삶이 더 즐거워집니다.

57. 교육과 자격증#

  • 교육과 자격증에 많은 시간과 돈을 쓰고도 아무것도 얻지 못할 수도 있습니다.
  • 자격증이 가치가 있을까?
    • 돈과 시간을 자격증 취득에 들일 가치가 있는가?
    • 많은 자격증을 얻어도 이게 유용한 것을 배운 기억은 크게 없으며, 구직에도 큰 도움이 되지 않습니다.
  • 그렇다면 왜 자격증을 취득해야 하는 거죠?
    • 자격증만으로 좋은 일자리를 구할 수는 없지만, 지원을 할 때는 도움이 됩니다.
    • 경험이 많지 않거나 학위가 없을 때도 자격증은 도움이 됩니다.
    • 해당 분야에 대해 조금 더 전문가다운 면모를 드러낼 때도 도움이 됩니다.
    • 자격증은 연봉 인상과 승진을 요구할 좋은 근거가 됩니다.
  • 자격증을 취득하는 방법
    • 자격증을 취득하면 그 자격증 시험을 보는 방법에 대해 배울 수 있습니다.
    • 자격증은 그 시험을 치를 능력이 어느 정도인지 평가한다를 의미합니다.
    • 자격증 시험 대비용 책보다 그 시험의 실제 연습 문제를 공부하는 것이 더 효과적입니다.
    • 연습 문제를 푸는 것으로 시험 준비가 다 된다는 뜻은 아닙니다.
  • 교육은요?
    • 좋은 교육은 학습 속도를 크게 높여주어서 새로운 기술을 빠르고 능숙하게 쓸 수 있게 해주며, 나쁜 교육은 그냥 시간과 돈만 낭비하고 끝납니다.
    • 독학에 비해 훨씬 짧은 기간 내에 많은 양의 정보와 경험을 흡수할 수 있게 해주는 교육이 가장 가치가 있는 교육입니다.
    • 지름길로 인도할 교육을 찾아야합니다.
    • 인생 전반에 도움이 될 소프트웨어 개발 외적인 부분에 대한 교육과정도 찾아보는 것이 좋습니다.
  • 교육의 유형
    • 매우 저렴한 가격에 들을 수 있는 온라인 교육 프로그램이 많습니다.
    • 룰루럴 사이트를 활용하는 것도 좋습니다.
    • 오프라인 교육은 상호작용이 강화되고, 완전히 몰입할 수 있다는 큰 장점이 있습니다.
    • 자신이 배우려고 하는 것에 완전히 몰입하고 집중하게 해줍니다.
  • 교육 효과 최대화하기
    • 자신이 받은 교육의 효과를 최대화하려면 토니 로빈스의 말대로 '최선을 다해야' 합니다.
    • 교육의 효과는 자신이 투자한 만큼 납니다.
    • 첫째, 참여할 교육을 신중히 골라야 합니다.
    • 둘째, 미리 계획을 세워야 합니다.
    • 마지막, 최선을 다하기
  • 회사에서 교육비 지원받기
    • 회사에서 교육비를 받는 방법은 투자를 능가하는 이익을 창출해야합니다.
    • 비싼 오프라인 교육의 참가비와 교통비를 회사에서 지원받고 싶다면 조금 더 전략적으로 접근할 필요가 있습니다.
    • 회사가 더 큰 수익을 올릴 방법은 크게 세가지가 있습니다.
      • 고객 수 늘리기
      • 각 고객에게서 발생하는 가치 높이기
      • 고객에게 제품이나 서비스를 제공하는 데 비용 주이기
  • 강사 되기
    • 소프트웨어 개발자로서 경력을 쌓아 특정 분야의 전문가로 인정을 받는 사람이라면 강사가 되어서 경력을 발전시키고 꽤 괜찮은 수익도 올릴 수 있습니다.
    • 콘퍼런스에서 워크숍을 여는 것도 좋은 방법입니다.
  • 얼마나 노력하느냐가 중요합니다.

58. 사이드 프로젝트#

  • 사이드 프로젝트를 안하는 개발자는 없습니다.
  • 꿈과 목표 사이에는 큰 차이가 있으며, 꿈은 쫓는 것이고 목표는 행동해서 실현하는 것입니다,.
  • 사이드 프로젝트를 많이 진행하지만, 그렇다고 늘 최선을 다한 것은 아닙니다.
  • 끝을 낸 사이드 프로젝트가 경력과 삶에 더 큰 영향을 미칩니다.
  • 사이드 프로젝트는 항상 해야합니다.
    • 프로젝트로 대단한 수익을 올리는 것은 아니지만, 경력 발전에 큰 도움이 되는 다양한 기술을 배울 수 있습니다.
    • 사이드 프로젝트 하나가, 회사에 몇년간 단녀야 배울 수 있는 경험을 줍니다.
    • 사이드 프로젝트는 복권입니다.
  • 사이드 프로젝트 고르기
    • 목표가 되려면 구체적인 내용이 있어야 합니다.
    • 사람은 누구나 자신에게 쉽게 거짓말 합니다.
    • 첫 번째 사이드 프로젝트는 기존 제품 복제가 좋습니다.
  • 적어도 두 가지 효과를 내라
    • 아주 최대한 많은 목적을 달성할 방법을 생각해야 합니다.
  • 시작하기
    • 최종 목표부터 설정하기
    • 마감을 정하기
    • 체계와 일정을 설정하기
    • 성공적인 프로젝트는 체계를 가지고 있습니다.
  • 꾸준히 하기
    • 사이드 프로젝트 작업 일정을 정했으면 어떤 어려움이 있어도 그 일정을지켜야 합니다.
  • 마무리하기
    • 시작해서 끝을 보지 못한 일이 누구에게나 있습니다.
    • 어떤 프로젝트든지 아무리 마음에 들지 않아도 시작하면 마무리해야 합니다. 그 프로젝트 때문에 죽을 것만 같아도 지켜야 합니다.
  • 사이드 프로젝트로 수익 올리기
    • 어떤 사이드 프로젝트에 착수하거든 거기에서 수익을 올릴 방법이 있는지 생각해봐야 합니다.
    • 사이드 프로젝트로는 큰 돈을 벌기 어렵습니다.
  • 당장 시작하기
    • 작게 시작하고 일정을 지켜서 마무리하면 문제가 없습니다.

59. 추천 도서#

  • 책은 대부분의 성공에 직접적인 도움이 됩니다.
  • 훌륭한 코드 작성하기
    • 코드 컴플리트 2: 더 나은 소프트웨어 구현을 위한 실무 지침서
    • 클린 코드: 애자일 소프트웨어 장인 정신
    • 클린 소프트웨어
  • 개발 기본 소양 갖추기
    • GoF의 디자인 패턴
    • Testing Computer Software
    • Intruction to Algorithms
    • 엔터프라이즈 애플리케이션 아키텍처 패턴
  • 기존 코드 다루기
    • 리팩토링
    • 레거시 코드 활용 전략
    • 패턴을 활용한 리팩토링
  • 더 훌륭한 개발자 되기
    • 소프트 스킬
    • 실용주의 프로그래머
    • 프로그래머, 열정을 말하다
  • 인간으로서 성장하기
    • 인간관계론
    • 생각하는 그래로
    • 성취심리
    • 열정은 쓰레기다
  • 깊이 들어가기
    • 코드: 하드웨어와 소프트웨어에 숨어 있는 언어
    • 컴퓨터 프로그램의 구조와 해석
    • 코딩 인터뷰 완전 분석
    • The Art of Computer Programming
    • Compilers: Principles, Techniques, and Tools
  • 재밌는 책
    • 괴텔, 에셔, 바흐
    • Magic 2.0 Series
    • 마션
    • 스노 크래시
  • 인내와 동기부여에 관한 책
    • The Obstacle Is the Way
    • 10배의 법칙
    • Be Obsessed or be Average
    • 최고의 나를 꺼내라
  • 꾸준히 읽기
    • 독서가 습관이 아니라면 꼭 습관으로 만들어라
    • 좋은 책을 선별해서 읽어라
    • 가능하면 오디오 북을 활용하라
    • 배운 것을 실천하라

60. 마치며#

  • 이 책을 읽은 많은 책중에 한 권으로 남게 하면 안된다.
  • 무엇을 해야할지 아는 것과 어떤 결과가 나올지 아는 건 완전히 다른 문제입니다.

이 지식을 공유하기를...


부록.#

좋은 개발자의 정의#

  • 좋은 개발자 === 끊임없이 공부하는 개발자
  • 좋은 개발자 === 협업을 잘하는 개발자
  • 좋은 개발자 === 소프트 스킬을 갖춘 개발자
Last updated on