본문 바로가기
SW

커리어 스킬 (The Complete Software Developer's Career Guide) - 5부 : 경력 발전시키기 (58 ~ 60장 + 부록) (끝)

by 라꾸스떼(YR) 2019. 12. 31.
반응형

[58장] 사이드 프로젝트

꿈과 목표 사이에는 큰 차이가 있다. 꿈은 좇는 것이고 목표는 행동해서 실현하는 것이다.

그만두는 대신 견뎌보기로 했다. 그날부터 무슨 일이든 마무리했다. <p697>

 

[사이드 프로젝트는 항상 해야 한다]

프로젝트로 대단한 수익을 올린 건 아니지만 그 덕에 내 경력 발전에 큰 도움이 되는 다양한 기술을 배웠다. 그리고 무엇보다 값진 수확은 내 프로그래밍 능력에 자신감을 갖게 된 것이었다. 새로운 기술을 배우고 알던 기술을 연습할 기회를 준다. 각 프로젝트는 큰 경제적 성공을 거둘 가능성을 품고 있다. 본인이 더 성장하고 더 많이 배울수록 그 확률은 높아진다. 자신의 경력을 발전시키고 싶은 모든 소프트웨어 개발자는 늘 사이드 프로젝트를 하고 있어야 한다. <p700>

 

[사이드 프로젝트 고르기]

목표가 되려면 구체적인 내용이 있어야 한다. 무엇을 할 것인지 알아내고 시작해야 한다. 아주 쉽게 완료할 수 있다고 생각하는 아주 간단한 사이드 프로젝트로 시작하라. 사람은 누구나 자신에게 쉽게 거짓말하기 때문이다. 사람들은 자기 자신과의 약속을 지키지 않는 데 익숙해서 스스로를 믿지 못한다. 작은 약속을 하고 그 약속을 지키는 것이다. 야망을 덜어내고 아주 작은 사이드 프로젝트를 시작하라. 확실히 마무리 할 자신이 있는 것으로 골라라. <p700>

 

[적어도 두 가지 효과를 내라]

나는 다목적을 아주 좋아한다. 멀티태스킹은 정말 싫어한다. 멀티태스킹은 하기 어려울 뿐 아니라 전체적인 생산성만 떨어뜨린다. 다목적이란 말 그대로다. 한 가지 일을 해서 하나 이상의 목적을 달성하는 걸 가리킨다. 아주 작은 프로젝트를 하더라도 최대한 많은 목적을 달성할 방법을 생각하라. <p702>

 

[시작하기]

무슨 일이든 시작하기 전에 어떤 일을 할 것이고 최종 목표는 무엇인지 계획을 세워두어야 한다.

- 목표 혹은 '완료'의 기준

- 마감

- 체계 혹은 프로젝트 작업 시간 정하기

그 프로젝트를 위해 매일 혹은 매주 얼마의 시간을 쓸 것인지 명확히 정의한다. 정의한 시간이 정확히 언제인가를 정의한다(달력에 표시). 작업 진도와 해야 할 일을 추적할 수 있는 절차를 정의 한다.

최종 목표부터 설정하라. 프로젝트의 성공적인 완료를 가늠할 최소 기능 세트나 기준을 정의하라. 마감을 정하라. 공격적으로 하되 과하지 않게 주의하라. 사이드 프로젝트 진행을 위한 체계와 일정이 필요하다. <p704>

 

[꾸준히 하라]

사이드 프로젝트 작업 일정을 정했으면 어떤 어려움이 있어도 그 일정을 지켜야 한다. 내가 거둔 성공은 모두 일관성 덕분에 가능했다. 사이드 프로젝트를 잘 마무리하고 싶다면 꾸준해지는 법을 배워라. <p706>

 

[마무리하라]

무슨 일이든 마무리하는 습관을 기르는 게 좋다. 어떤 프로젝트든지 아무리 마음에 들지 않아도 시작했으면 마무리하라. 그 프로젝트 때문에 죽을 것만 같아도 지켜라.

모든 문제를 풀어야 하는 건 아니다. 최선의 대안을 선택하고 그에 따른 결과를 수용할 수밖에 없는 때도 있다. 아무것도 안 하는 것보다 그게 낫다는 걸 알면 된다. <p707>

 

[사이드 프로젝트로 수익 올리기]

어떤 사이드 프로젝트에 착수하든지 거기에서 수익을 올릴 방법이 있는지 생각해보라. 큰 금액이 아니어도 괜찮다. 시작할 때부터 수익을 올릴 방법을 고민하라. 하지만 현실적으로 생각하라. 사이드 프로젝트로 큰돈을 벌긴 어렵다. <p708>

 

[당장 시작하라!]

자유 시간을 포기하고 열심히 해야 하는 일인 만큼 진짜 혜택을 얻을 방법도 생각해두도록 하라. <p709>

 

[59장] 추천 도서

[훌륭한 코드 작성하기]

코드 컴플리트2, 클린 코드, 클린 소프트웨어

 

[개발 기본 소양 갖추기]

GoF의 디자인 패턴, Testing Computer Software, Introduction to Algorithms, 엔터프라이즈 애플리케이션 아키텍처 패턴

 

[기존 코드 다루기]

리팩토링, 레거시 코드 활용 전략, 패턴을 활용한 리팩토링

 

[더 훌륭한 개발자 되기]

소프트 스킬, 실용주의 프로그래머, 프로그래머 열정을 말하다

 

[인간으로서 성장하기]

인간관계로, 생각하는 그대로, 성취심리, 열정은 쓰레기다

 

[깊이 들어가기]

코드:하드웨어와 소프트웨어에 숨어있는 언어, 컴퓨터 프로그램의 구조와 해석, 코딩 인터뷰 완전 분석, The Art of Computer Programming 1~4, Compilers:Principles, Techniques, and Tools

 

[재미있는 책]

-

 

[인내와 동기부여에 관한 책]

-

 

[꾸준히 읽어라]

꼭 좋은 책을 선별해서 읽어라. 마지막으로 배운 것을 실천하라. <p723>

 

[60장] 마치며

[마지막 부탁]

-

 

[부록] 개발자로 살아가기

[김요한 - '좋은 개발자'의 정의]

-

 

[이동욱 - 내 첫 번째 이직: SI 회사에서 서비스 회사로]

-

 

[이승민 - 5년 차 개발자의 첫 이직 이야기]

-

 

[한정수 - 체대생이 개발자가 되기까지]

-

반응형

댓글