소프트 스킬에서는 경력을 비롯한 소프트웨어 개발자의 생활 전반에 초점을 맞추었다면 이 커리스 스킬은 오로지 경력에 집중한다. 이 책은 경력에 따라 읽는 순서를 가이드한다.
- 이제 막 개발을 시작하는 입문자라면 소프트웨어 개발자로 입문하기 부터
- 이미 개발자로 일을 하고 몇 년간 코딩을 해온 사람이라면
- 자신의 빈틈을 채우기 위해 바로 소프트웨어 개발에 대해 알아야 할 것 혹은 개발자로 일하기부터 보는 것을 추천
- 경력을 발전시키는 데 관심이 많다면 바로
경력 발전시키기
부터 보는게 가장 합리적이다.
경력 발전시키기
자신에게 요구된 것 이상을 습관적으로 더 많이 해야만 발전할 수 있다.
최신 기술 따라잡기
신기술과 새로운 프로그래밍 언어를 전부 배워야 한다는 뜻은 아니며, 그건 불가능하다. 다만 최신 기술을 따라잡기 위해 노력해야 한다는 뜻이다.
블로그 구독하기
- 매일 아침 30분씩 여러 소프트웨어 개발 관련 블로그를 읽음
- 프로그래밍 세계에 등장하는 최신 기술을 따라잡기 위해
- 내가 직접 해야 할 일을 다른 사람이 어느 정도 도와주는 셈
책 읽기
- 기술 관련 서적을 적어도 한 권은 읽어야 함
- 자신에게 가장 큰 도움이 되는 책, 영구적 가치를 지닌 책을 고를 줄 알아야 함
- 소프트웨어 개발 방법론이나 디자인 패턴, 아키텍처에 대한 책도 언제나 좋은 선택
- 새로운 기술에 관한 책을 읽을 때는 단순히 읽는 데서 그치지 말고 경험을 통해 배워야 함
새로운 기술 선택하기
- 무엇을 배울 것인지 계획을 세울 것
- 현재 학습하는 주제를 마쳤을 때 다음 주제로 바로 넘어갈 수 있음
- 자신의 현재 기술 수준을 평가하고 앞으로 어떤 수준까지 이르고 싶은지 생각
- 다음에 배울 새로운 주제를 고르고 어떤 순서로 배울지 우선순위로 정하라
- 자신에게 가장 큰 도움이 될 기술, 프로그래밍 언어, 프레임워크를 정하고 배워야 할 것 목록에 적어두라
부지런히 코딩하기
- 사이드 프로젝트를 쉬면 안됨
- 계속 코딩해야 기술이 녹슬지 않음
- 사이드 프로젝트를 진행할 때는 마무리 지을 수 있을 정도로 작은 규모로 진행
- 시작한 프로젝트를 반드시 마무리하는 습관을 들인 것이 내가 태어나서 가장 잘한 일중 하나
- 뭐든 시작한 일은 마무리하는 사람이 되어라
- 그런 습관은 경력뿐 아니라 인생 전반에 큰 차이를 나타낼 것
제너럴리스트 vs. 스페셜리스트
- 제너럴리스트의 가치를 높이 산다고 말하는 많은 사람이 자신은 정말 그렇게 생각한다고 믿음
- 하지만 그런 사람도 필요한 순간에는 결국 전무가를 찾음
- 해당 분야에 대해 일반적인 지식을 넓게 갖추지 못한 상태로 훌륭한 전문가가 된다는 건 어불성설
T자형 인재가 되는 게 중요
- 자신의 분야에 대해 넓은 기본 지식을 갖추되 적어도 한 영역에 대해서는 깊이 있는 전문적 지식이나 기술을 갖춰야 함
- 소프트웨어 개발자라면 코딩, 알고리즘, 데이터 구조, 아키텍처, 프런트엔드, 백엔드, 데이터베이스 등에 정통하기 위해 노력해야 함
- 적어도 한 영역에 있어서만큼은 깊이 있는 지식을 쌓는 게 좋음
- 독보적으로 두각을 드러내서 자신의 가치를 더욱 높일 영역을 선택해야 함
- 개인 브랜드를 만들고 자신을 마케팅할 대 이런 전문성을 확용
만약 전문 영역을 잘못 선택한다면?
다른 영역으로 바꾸면 된다. 별일 아니다.
- 잘못 고를까 두려운 마음에 아무 영역도 고르지 못하는 소프트웨어 개발자가 많다
- 무엇이든 선택하고 결과를 지켜보라
- 아무것도 하지 않는 것보다 그게 훨씬 낫다
- 필요하면 언제든 방향을 전환하면 된다
- 일단 한 영역의 전문간가 된 후에 다른 영역의 전문가가 되는 건 훨씬 쉽게 느껴진다
- 다른 데서 활용할 수 없을 것 같은 기술이 알고 보면 다른 곳에서 유용하게 쓰이는 경우가 있어
- 그래서
깊이 파고드는 능력
을 키우는 건 그 자체만으로도 가치가 있음
그래서 어떻게 해야 하나요?
- 너무 넓은 영역을 선택하기 보다는 지나칠 정도로 좁고 구체적인 영역을 고르는게 좋음
- 최대한 좁은 범위를 설정하고 나중에 얼마든지 확장할 수 있음
- 소프트웨어 개발에 관한 일반적인 지식을 최대한 넓게 쌓는것도 게을리하지 말 것
- 좋은 코드를 작성하는 방법을 배울 것
사이드 프로젝트
내 인생과 경력을 돌이켜봤을 때 모든 게 극적으로 변한 한 순간,
변곡점이 하나 존재한다.
그 변곡점은 내가 사이드 프로젝트를 처음으로 마무리한 순간이었다.
사이드 프로젝트는 항상 해야 한다
- 사이드 프로젝트는 소프트웨어 개발자가 경력을 발전시킬 좋은 방법
- 새로운 기술을 배우고 알던 기술을 연습할 기회를 줌
- 새로운 영역에 도전해보면서 자신의 능력에 대한 자신감도 키울 수 있음
- 6개월짜리 사이드 프로젝트 하나가 9시부터 5시까지 근무하는 회사에 몇 년간 다녀야배울 수 있는 경험을 하게 해줌
사이드 프로젝트 고르기
- 처음에는 아주 작은 것에 도전
- 아주 쉽게 완료할 수 있다고 생각하는 아주 간단한 사이드 프로젝트로 시작
- 한두 주 혹은 길어도 한 달 정도면 마칠 수 있는 것을 선택
- 첫 번째 사이드 프로젝트로 클론 코딩을 추천
- 작고 쉬운 사이드 프로젝트를 완성해서 자신에 대한 신뢰가 굳건해지면 조금 더 욕심을 내도 좋음
시작하기
- 사실 무슨 일이든 시작하기 전에 어떤 일을 할 것이고 최종 목표는 무엇인지 계획을 세워두어야 함
- 목표 혹은 완료의 기준
- 마감
- 체계 혹은 프로젝트 작업 시간 정하기
꾸준히 하라
- 프로젝트를 완료하고 거기에서 이득을 취하기 위해 실제로 당신이 지켜할 아주 중요한 사항은 바로
일관성
- 마음이 내킬 떄만 해서는 안됨
- 마음이 내키지 않을 때가 너무 많기 때문
마무리하라
- 어떤 프로젝트든지 아무리 마음에 들지 않아도 시작했으면 마무리하라
- 그 프로젝트 때문에 죽을 것만 같아도 지켜라
- 99%센트 완성했어도 출시하지 못했다면 가치는 0%
- 완벽한 해결책을 찾지 못했다는 이유로, 막혔다고 손을 놓아버리는 것보다 어떻게든 강행해서 진전을 보는 게 거의 언제나 더 나음
좋은 평판 쌓기
- 정말 뛰어난 개발자가 되고 싶다면
- 자신의 경력을 한 단계 끌어 올리고 싶다면
- 자신을 마게팅하고 개인 브랜드를 만드는 방법을 배워서 좋은 평판을 구축해야 함
- 모두에게 닫혀 있던 기회의 문이 열릴 것
- 평판에 따라 보상이 달라짐
- 본인이 인맥, 일자리, 기횔를 따라다니지 않아도 평판이 좋으면 이런 것들이 저절로 따라옴
- 자신을 홍보하고 마케팅하고 브랜드를 만드는 걸 나쁘게 보아서는 안 됨
세계 최고의 프로그래머라 해도 자기 방에만 틀어박혀서 그 누구와도 소통하지 않는다면 아무 의미가 없다.
별다른 영향력을 갖지 못하기 떄문이다.
블로그를 시작하면서
- 심플 프로그래머라는 블로그를 시작
- 점점 더 많은 사람들이 블로그에 찾아오면서 흥미로운 일이 일어남
- 코드 캠프나 행사에서 나를 알거나 내 블로그를 아는 사람들이 나타남
- 인기 있는 팟캐스트에서 인터뷰 요청이 들어오기 시작
- 헤드헌터들이 스팸이나 다름없는 이메일 말고 제대로 된 일자리를 제안하는 이메일을 보내오기 시작
가치 제공하기
- 브랜딩을 위한 다양한 활동에는 한 가지 중요한 원칙이 있음
- 다른 사람들에게 가치를 제공하는 것
- 가치를 무료로 제공하면 더 좋고, 90%를 무료로 제공하고, 10%만 돈을 받는 전략을 세움
다른 사람들의 인생에 도움이 되는 게 최고의 마케팅
- 베푸는 사람으로 이름을 알리고
- 주변에 있으면 혜택을 보는 것 같아서 자꾸 함께 어울리고 싶은 느낌이 드는 사람이 되어라
- 다른 사람들이 원하는 것을 잘 얻도록 도와준다면 당신도 자신이 원하는 모든 것을 얻을 수 있을 것
시간이 든다
- 블로그를 시작하고 한 1년 정도 글을 쓰다가 아무 성과 없이 그만두면 문제
- 성공하고 싶다면 그보다 오래 버틸 각오가 되어 있어야 함
- 2~3년이 걸릴 수도, 5년이 걸릴 수도
- 끈기있게 노력하면 결국은 목적이에 도달할 것
출처 - 커리스 스킬 / 존 손메즈 지음 중 경력 발전 시키기에 대해 요약 정리한 내용입니다.
쿠팡 파트너스 활동을 통해 일정액의 커미션을 제공받을 수 있습니다.