개발자가 갖추어야 할 9가지 기술

개발자가 갖추어야 할 9가지 기술

https://www.youtube.com/watch?v=fHyTA-UIcqs

개발자가 갖추어야 할 9가지 기술

Hard Skill

  • Basic Knowledge (C++, OS) / 기초 지식들
  • Understanding for product / 제품에 대한 이해
  • Development Cycle / 개발 싸이클
1
2
3
1-5 years of development
- Associate Software Engineer / 초급 개발자
- Software Engineer / 중급 개발자

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
2
3
6-10 years of development
- Software Engineer / 중급 개발자
- Senior Software Engineer / 고급 개발자

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
      1. Initial = Common Language
      1. Repeatable = Common Process
      1. Defined = Singular Methodology
      1. Managed = Benchmarking
      1. Optimized = Continuous Improvement

Business Skills

  • HR System / 인사 시스템
  • Business Management / 사업 관리
  • Vision/Goals/Culture / 비전/목표/문화
1
2
3
10+ years of development
- Lead Software Engineer
- Techinical Director, VP of Technology, CTO, CEO

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

성장하고 있는 것이 중요하다.

참고

공유하기