개발자가 갖추어야 할 9가지 기술
https://www.youtube.com/watch?v=fHyTA-UIcqs
개발자가 갖추어야 할 9가지 기술
Hard Skill
- Basic Knowledge (C++, OS) / 기초 지식들
- Understanding for product / 제품에 대한 이해
- Development Cycle / 개발 싸이클
1 | 1-5 years of development |
Basic Knowledge (C++, OS)
- Learn from school, workplace, by yourself / 학교, 직장에서 스스로 배워라.
- Mathematics, Physics / 수학, 물리
- Programming Language (C++, C#, Python) / 프로그래밍 언어
- Algorithm, Data Structure, Design Patterns / 알고리즘, 자료 구조, 디자인 패턴
- Graphics, Database, Networking, AI / 그래픽, 데이터베이스, 네트워크, 인공지능
- Game Engines (Unity) / 게임 엔진
- OS (Windows, Mac, iOS, Android) / 운영체제
- Tools (Source control, Visual Studio) / 도구들
Understanding for product
- Product Anaylysis / 제품 분석
- Power of Blizzard / 블리자드의 힘
- Everyone loves game / 모두가 게임을 사랑한다.
- Three types of restaurants / 3가지 식당
- Going for porfit / 돈을 벌기 위해
- Try to make customer happy / 고객을 행복하게 하기 위해
- Love cooking / 음색 만드는 것이 좋아서
Development Cycle
- Requirements & Analysis / 요구사항 분석
- Design & Modeling / 디자인 & 모델링
- Implementation / 구현
- Test/Release / 테스트, 배포
- Feedback/Update / 피드백, 업데이트
Soft Skills
- Project Management / 프로젝트 관리
- Team Management / 팀 관리
- Process (Agile, Zero-Bug) / 프로세스
1 | 6-10 years of development |
Project Management
- Why, What, How / 왜, 무엇을, 어떻게
- Triple Constrains / 3가지 제약사항
- Cost (Resources) / 비용 (자원)
- Time (Schedule) / 시간 (일정)
- Scope (Quality) / 범위 (질)
Team Management
- Froming, Storming, Norming, Performing
- Roles around the Team
- Product owner
- Producer, Artists, Designers, Engineers
- Engineering Team Lead
- Project lead, Technical lead, People Manager
- Clear role definition. Proper delegation
Process
- Better way to do it, Optimal way / 더 잘하는 방식, 최고의 방식
- Detect failure, Prevent failure / 실패 탐지, 실패 방지
- Project Management Process
- Waterfall, Agile/Scrum
- Development Process
- Developement Cycles, Code Review
- The Joel Test: 12 Steps
- Your Own Evolving Process / 나만의 프로세스 발전시키기
Process - PMMM
- Project Management Maturity Model
-
- Initial = Common Language
-
- Repeatable = Common Process
-
- Defined = Singular Methodology
-
- Managed = Benchmarking
-
- Optimized = Continuous Improvement
-
Business Skills
- HR System / 인사 시스템
- Business Management / 사업 관리
- Vision/Goals/Culture / 비전/목표/문화
1 | 10+ years of development |
HR System
- Hiring / 채용
- Performance Reviews / 평가
- Titles (Engineering) / 승진
- Rewards / 보상
- Education / 교육
- Benefits / 복지
Attract → Develop → Engage
(결합)
HR System - Performance Review
- Example : Software Engineer
- Productivity / 생산성
- Professionalism (Reliability) / 책임감
- Teamwork (Communication) / 협업
- Knowledge / 지식
- Functionality (No Defect) / 결함은 없는가
- Implementation (Good Code) / 코드는 깨끗한가
- Design & Architecture / 디자인 & 구조
롤 모델을 찾아서 비교한다.
HR System - Education
- Example : Learning & Development
- Books, Conferences / 책, 컨퍼런스
- Internal seminars, EDGs / 세미나
- College Programs, Tuition
- Side Projects, Mentoring
- Individual Development Plan
- Studio Summit, Lunch Groups
- Internal mobility (Hiring cross-teams) / 내부 인사 이동
Business Management
-
Leading People, Manage Business / 사람을 이끈다
-
Making money
- a certain way doing things you are comfortable doing and contributing to society / 사회에 도움이 된다.
-
ROI (Return over Investment)
-
Capability, Strategy, Tatics, Finance, Economics, Marketing, Sales, CS, Operations, Change
-
Balanced Scorecard
- Financial Perspective
- Customer Perspective
- Internal Process Perspective
- Learning and Growth Perspective
-
Customer
- The company’s customers
- The leadership
- The employees
Vision, Goals, and Culture
-
Vision and Goals for the company
-
Vision and Goals for the team
-
vision and Goals for you
-
Exampel: Blizzard Mission Statement
“Dedicated to creating the most epci entertainment experiences…ever.”
- Example: Blizzard Core Values
- Gameplay first
- Commit to quality
- Play nice; Play fair
- Embrace your inner geek
- Every voice matters
- Think globally
- Lead responsibly
- Learn & Grow
Software Development
- Hard Skill: Learn by Studying
- Basic Knowledge (C++, OS) / 기초 지식들
- Understanding for product / 제품에 대한 이해
- Development Cycle / 개발 싸이클
- Soft Skill: Learn by Experience
- Project Management / 프로젝트 관리
- Team Management / 팀 관리
- Process (Agile, Zero-Bug) / 프로세스
- Business Skill: Learn from People
- HR System / 인사 시스템
- Business Management / 사업 관리
- Vision/Goals/Culture / 비전/목표/문화
Q&A
- Hard Skills
- What to study: Everything
- Growth: Performance review, Endless curiosity / 조금이라도 발전, 끊임없는 호기심
- Soft Skills
- Successfult DeveloperL Talent, Practive, Chance
- How is it working in Blizzard: Experts & Collaborations
- Good Developer: Three stages(A, A+, B) / 시키는 일을 한다. 신뢰를 쌓는다.
- Business Skils
- How to learn business: Simulation & Communication
- Attitude to become CEO: Responsible for everything
- Base Skills
- Smart, Diligent, Good Will
- Communication Skill: Listen more, Win less
I don’t divide the world into the weak and the strong, or the successes and the failures, those who make it or those who don’t. I divide the world into learners and non-learners.
- Benjamin R. Barber
성장하고 있는 것이 중요하다.