해당 개발자가 게임 개발자 이므로 게임쪽으로 초점이 맞춰저 있을 수 있음.
Hard Skils
- Basic Knowledge (언어, OS)
- Understanding for product (제품에 대한 이해)
- Development Cycle (개발 사이클)
- 1~5 years of development (초급개발자)
- Associate Software Engineer
- Software Engineer
- 혼자 스스로 공부하는 것
※ Basic Knowledge
- 수학, 물리
- 프로그래밍 언어
- 알고리즘, 자료구조, 디자인 패턴
- 데이터 베이스, 네트워크
- OS
- Tools (Visual Studio 등등)
- 최신기술
※ Understanding for product
상품에 대한 이해
개발자들이 그냥 개발만한다. 개발만 하지 사용자 입장에서 어떻게하면 더 편리하게 쓸 수 있을지 고민하지 않는다.
개발만 할게 아니라 항상 사용자 입장에서 생각해봐야 된다.
※ Development Cycle
- 요구사항 분석
- 디자인 & 모델링
- 개발
- 테스트/출시
- 피드백/업데이트
- 최소한 각각의 싸이클이 1:1의 기간을 가져야 된다[ex)개발이 1달이면 나머지 싸이클을 모두 한달씩은 해야된다.]
- 개발의 큰 흐름을 보면서 프로세스를 항상 잘 생각하고 내가 하고 있는 부분이 어느부분인지 항상 확인해보면서 개발해야 된다.
- 싸이클을 빨리돌리는게 정답이지 이 싸이클을 무시하면 안된다.
- 앉아서 열심히 코딩만 하는것은 굉장히 위험한 일!
Soft Skils
- Project Management
- Team Management
- Process(Agile,Zero-bug)
- 6~10 years of development (중급, 고급개발자)
- Software Engineer
- Senior Software Engineer
- 회사에서 일하면서 경험하는 것.
※ Project Management
제품을 만드는 과정을 관리한다
- Why, What, How (왜만드나, 무엇을 만드나, 어떻게 만드나)
- Triple Constraints (3가지 제약)
- Cost(Resources)
- Time(Schedule)
- Scope(Quality)
Time과 Cost를 관리를 잘해야 Scope(품질)을 잘 뽑아낼 수 있다.
※ Team Management
사람관리
사람마다 각자의 역할을 정확히 알고 협력을 할 때 좋은 제품이 나올 수 있기 때문에 사람 관리가 중요하다.
사람은 관리하는게 아니라 사람이 잘 할 수 있도록 이끄는 것이다. 앞에서 이끌고 옆에서 도와주는게 중요하다.
※ Process(Agile, Zero-bug)
개발방법론
전체 시스템을 보호해 주고 팀원의 실패에도 프로젝트를 보호해 줄 수 있다. 그러므로 개발방법론이 중요하다. -> 안전성을 높혀준다.
Business Skills
- HR System (인사시스템)
- Business Management (사업관리)
- Vision/Goals/Culture (회사철학)
- 10+@ years of development
- Lead Software Engineer
- Technical Director, VP of Technology, CTO, CEO
- 이부분은 먼미래의 이야기 같지만 관심을 꾸준히 두고 조금씩 알아두자, 개발과 팀 말고 회사를 생각할 수 있는 단계가 오면 관심이 없던 사람과 조금이라고 관심을 가지고 있던 사람과의 차이는 크다.
- 주변사람에게 배우거나 책을 보고 배우거나 등등 꾸준한 관심이 필요하다.
※ HR System
인사시스템에 관심을 두자
팀원을 어떻게 관리할지, 인재들이 어떻게 찾아오게 할지
직원 평가방법, 직원 교육방법, 인사 채용, 보상방법등을 고민해보는것이 중요하다.
※ Business Management
사업관리 시스템에 관심을 두자
회사관리, 매출관리 등등
※ Vision/Goals/Culture
비전 : 최종 목표
골 : 비전을 이루기 위한 중간중간의 세부목표
문화 : 회사의 문화 [ex) 재밌게 일하자, 글로벌하게 생각하자, 항상 발전하는 사람이 되자 등등]
비전과 골을 생각해보고 비전을 이루기 위한 골을 정하자.
그리고 회사의 문화를 생각해보고 그 집단의 정체성을 확고히 하자.
끝마치며....
- 세상에 대한 호기심을 가져야 된다. 엔지니어는 손이 굳고 머리가 굳어서 끝나는게 아니라 호기심이 죽을때 끝난다. 계속해서 오픈마인드로 새로운 사람도 만나고 새로운 것을 시도해보면서 자신을 갈고 닦아야 된다. 그래야 계속 성장한다.
- 재능과 노력이 중요하다. 새는 나무가지가 부러질지 안부러질지 고민하지 않고 가지에 올라간다. 왜나하면 부러지면 다시 날라가면 되니까. 소프트웨어 엔지니어 또한 마찬가지 이다. 내가 실력이 있다면 프로젝트가 망하던가 회사가 망해도 다른 회사로 갈 수 있다. 즉 실력이 날개와 같기 때문에 실력이 있어야 어디든 날아갈 수 있다.
- 엔지니어는 개발 기술 외에도 많은 스킬이 필요하다. 커뮤니케이션스킬이나 인사관리 등이다. 인정받는 개발자가 되려면 개발 기술 외에도 관심을 두고 자신을 꾸준히 발전시켜 나가자
- 내가 사장이라면? 이라는 생각을 항상 해보자. 상관없어 보이지만 항상 생각해보면서 비지니스 스킬에 대한 감을 키우자, 미래를 위해
- 세상은 배운자와 배우지 않는자로 나눠진다. 배우는 사람은 조금씩 조금씩 이뤄낸다. 하지만 배우지 않는 사람은 아무것도 이뤄니지 못한다.
지속적으로 배워나가자! 지속적으로 발전해나가자!
'플밍 is 뭔들 > 관련글&리뷰' 카테고리의 다른 글
좋은코드 작성법 (0) | 2017.01.19 |
---|---|
나쁜 프로그래머가 되는 18가지 방법 (0) | 2017.01.19 |
[프로그래머 삶] 개발자는 왜 야근을 해서 소중한 시간을 버리는가? (0) | 2017.01.19 |