본문 바로가기
독서

개발자로 살아남기

by 윤꽁참감 2022. 6. 15.
반응형

http://www.yes24.com/Product/Goods/105645204

 

개발자로 살아남기 - YES24

평생 개발자를 꿈꾼다면 30년 커리어패스를 설계하자실리콘밸리와 우리나라에서 30년간 TOP 개발자로 활약한 저자의 커리어패스 인사이트를 공개한다. 저자가 제안하는 ‘성장하는 30년 커리어

www.yes24.com

1. 엔지니어 역량

게임에 필요한 직군 : 아티스트, 기획자, 소프트웨어 개발자

게임아티스트 : 콘셉트 아티스트, 3D 아티스트, UI아티스트

기획자 : 콘테츠 기획자, 시스템 기획자, UI기획자

개발자 : 게임 자체 구현, 시스템과 네트워크 구성, 데이터베이스, 클라우드

 

개발에 대한 기본지식

분야 상세지식
자료구조 스택, 힙
알고리즘 회귀 호출, 인덱스, 정렬, 이진검색
운영체제 프로세스, 스레드, 뮤텍스, 세마포어
디자인 패턴 MVC 아키텍처
프로그래밍 언어 네이티브 코드, 콜 바이 밸류, 콜 바이 레퍼런스
경험 간단한 텍스트 기반 게임 만들어보기

도구를 사랑하지 마라

- 기술은 발전하기에 개발 도구도 바뀐다. 6개월 주기로 새로운 기술과 도구를 확인하고 공부하는 시간을 갖자.

새로 취업한 회사에서 사장되는 기술로 개발하려고 할 때

- 5년 이상 유지할 서비스라면 최대한 미래를 고려해 선택하고

- 1년 미만 혹은 유지보수 목적이라면 기존의 기술을 쓰자.

한 가지를 깊게 파서 잘하는 i자형 인재가 각광받던 시절이 있었으나, 지금은 적어도 하나는 깊게 나머지는 골고루 아는  T형 또는 두가지에서 전문성이 있어야 하는 U자형 인재를 원한다.

 

2. 매니지먼트 역량

주니어 개발자로 입사하면 처음에는 주어진 일을 하며, 개발 방법과 개발 주기를 배운다.

연차가 높아질수록 프로젝트 관리하는 방법, 직원을 관리하는 방법, 좋은 프로세스를 설정하는 방법 을 고민한다.

 

프로젝트 관리 : 비용(리소스/인력), 시간(출시일), 제품 범위 관리

 

매니지먼트 5가지 기본 스킬

- 소통 : 소통이 원활하게

- 협업 : 혼자서 하지 말고 일을 주고 받으며 함께

- 긍정적인 자세 : 긍정적으로

- 프로 의식 : 자신의 일이라고 생각하여 최선을 다하는 자세

- 리더십 : 프로젝트 리딩, 사람 관리 능력, 기술을 결정하는 능력

 

작은 일에 목숨 걸지 말라. 하지만 중요한 일도 물러서면 호구다.

 

문제가 발생하기에 우리가 할 일이 있다. 재발되지 않도록 해결하는 것이 중요하다.

- 우산을 들고 다니면 비가 와도 위기가 아니다. 위기 관리를 하자.

 

모든 버그를 고치려 하지마라. 우선순위에 의해 결정하고 중요도가 낮고 해결 가능성도 낮은 문제는 무시하자.

 

초보 개발자는 시키는 일을 잘하고, 중급 개발자는 시키지 않아도 일을 잘하고, 고급 개발자는 남에게 시키는 일을 잘하면 된다.

 

3. 비즈니스 역량

아마존은 소프트웨어 엔지니어 등급을 1 ~ 8로 나눈다.

블리자드는 어시스턴트, 어소시언트, 소프트웨어, 시니어, 리드 등으로 나눈다.

 

더 높은 직급을 원한다면 개발만 해서는 안된다.

- 비즈니스 전체 그림을 봐야한다.

- 매출은 어디서 나오는지, 매출을 어떻게 내는지, 비즈니스가 사회에 어떻게 기여하는지 등을 알아야 한다.

- 최근에는 환경적인지, 사회에 도움이 되는지, 회사의 지배 구조는 좋은지에 대한  ESG에 관심이 높아지도 있다.

- 회사의 역량, 전략, 작전, 재정, 마케팅을 파악하고 있어야한다.

- 30년 개발자가 되고 싶다면 MBA 같은 곳에서(꼭 가라는 것은 아니다.) 경제경영 공부를 해야 한다.

 

초기 스타트업 투자성 평가 항목

사업성 : 이미 시장에 존재 하는지, 제품이 시장과 잘 맞는지

혁신성 : 다른 회사와 다른 특별한 점이 있는지, 특허, 기획, 기술, 속도 등을 본다. 진입장벽이 있어야 한다.

개발 역량 : 개발자들에게 역량이 있고, 프로세스가 잘 만들어져 있는지

글로벌 확장성 : 세계 무대로 확장해도 통할 비즈니스인지

 

채용이 되기 위해선 개발 능력이 당락을 좌우한다.

- 채용되기에 충분할 정도로 실력을 닦아야 한다. 공부하고 반복하고 경험해라.

 

개발자는 어떤 자리, 어떤 회사를 목표로 해서는 안된다.

- 어떤 사람이 돼야겠다. 무엇을 해야겠다. 를 목표로 삼아야 한다.

 

이력서는 지원하는 회사에 맞게 최적화해야 한다.

- 왜 그 회사에 가고싶은지, 회사는 왜 나를 뽑아야 하는지, 이 회사에서 무엇을 하고 싶은지

- 그동안 해온일과 지원하는 회사를 매칭시켜야 한다.

 

코딩 테스트는 기초 지식과 연결된다.

- 코딩 테스트는 점점 어려워지는 추세라 따로 준비를 해야 한다.

 

인터뷰는 기술 인터뷰와 문화 인터뷰로 나눠진다.

 

역량이 없는 상태에서 취업 성공은 위험하다. 실패하더라도 역량을 키우는 실패가 낫다.

- 역량이 있으면 다시 시도할 수 있으나 역량 없이 이룬 성공은 우연이다. 우연은 반복되지 않는다.

- 입사 후에는 실력을 보여야 살아남는다.

- 개발 역량을 키워라.

- 동작하게 만들고, 제대로 만들고, 빠르게 작동하게 만들어라.

- 대충 만들고, 정리해서 깨끗하게 만들고 최적화 해라.

 

대부분 면접에서 협업 능력, 기술 능력, 학습 능력, 지원 동기를 묻는다.

- 지원 동기를 묻는 질문은 중요하다. 직전 직장과 비슷한 곳에 지원한다면 사람 때문이라고 생각하기 때문.

- 비슷한 곳에 이직한다면 모범 답안은 이직할 회사의 서비스나 기술에 흥미를 보이는 것이다.

 

소프트웨어 개발자로 성공하는 3요소는 재능, 노력, 기회이다.

 

전 세계 인구의 10% 정도만이 뚜렷한 목표를 가지고 산다.

- 그 중 10%만이 계획을 세운다.

- 다시 그 중 10%만이 실천을 한다.

- 목표를 세우고 계획을 세우고 실천을 해라. 후에 스스로와 주변의 평가를 받아라.

 

시간을 확보한다는 것은 몰입할 수 있는 시간을 확보한다는 것이다.

- 몰입의 관건은 환경 확보이다.

- 몰입에 걸리는 시간, 몰입이 잘 되는 환경(아침, 밤, 조명, 음악 등) 확인

- 사람은 멀티태스킹을 할 수 없는 존재이다. 멀티태스킹은 몰입을 방해하는 존재이다.

 

사용한 시간을 꼭 측정하자.

- 중요한 일에 사용한 시간이 어떤 것인지 측정하자.

- 나만 할 수 있는일, 남이 할 수 있는 일을 내가 한 것은 아닌지 화인하자.

- 중요하지 않은 일인데 나만 할 수 있는 일이라고 해서 꼭 해야 하는 것은 아니다.

 

수치화를 해야 문제를 해결할 수 있다.

- 문제가 있다면 나 자신을 점검해라.

- 내가 잘하고 있는지, 내 시간을 잘 쓰고 있는지 확인해라.

 

*같은 일을 같은 방식으로 하면서 다른 결과를 기대하는 것은 미친 짓이다. - 아인슈타인

* 목표 세우기 - 계획 세우기 - 실천하기 - 측정하기

 

휴식을 취해야 생산성이 늘어난다.

- 일이 끝났기 때문에 쉬는 게 아니고 일을 끝내기 위해 쉬어야 한다.

- 인생은 마라톤이다.

 

얼마나 오래 공부해야 하나요 ?

- 주제당 6개월은 공부해야 한다.

- 다른 사람을 가르칠 수 있는 정도로 공부해야 한다.

- 실무자를 만나서 얘기를 나눠봐라. 어떤 기술을 쓰는지, 유행은 무엇인지, 어떻게 공부해야 하는지.

- 여럿이 하는 공부는 효과적이다.

 

* 스스로 커리어 패스를 설계 할 수 있어야 한다.

* 5년 후 질문을 생각하자

- 이 회사는 5년을 갈 것인가 ?

- 나는 5년 후에도 이 회사에서 일하고 있을 것인가 ?

- 5년 후에 내가 이 회사에 아직 있다면, 나는 무슨 일을 하고 있을 것인가 ?

'독서' 카테고리의 다른 글

코딩 진로  (0) 2022.06.18
게임으로 익히는 코딩 알고리즘  (0) 2022.06.16
유니티로 게임을 만드는 10가지 방법  (0) 2022.05.28
유니티 게임 AI 프로그래밍  (0) 2022.05.28
유니티 애니메이션 에센셜  (0) 2022.05.28

댓글