54
선린 인터넷 고등학교 특강 “My Way, Your Way“ [부제 : 개발자가 되기 위한 방법] 옥찬호 Nexon Korea, Microsoft MVP [email protected]

My Way, Your Way

  • Upload
    -

  • View
    272

  • Download
    4

Embed Size (px)

Citation preview

선린 인터넷 고등학교 특강

“My Way, Your Way“[부제 : 개발자가되기위한방법]

옥찬호Nexon Korea, Microsoft MVP

[email protected]

소개• 옥찬호 (Chris Ohk)

• Nexon Korea Game Programmer

• Microsoft VSDT MVP(Visual Studio and Development Technologies)

• 페이스북 그룹 C++ Korea 대표

• IT 전문서 집필 및 번역 다수• 게임샐러드로 코드한 줄없이게임만들기 (2013)

• 유니티 Shader와 Effect 제작 (2014)

• 2D 게임 프로그래밍 (2014)

• 러스트 핵심 노트 (2017)

• 모던 C++ 입문 (2017)

시작하기 전에… 선린 인터넷 고등학교 특강My Way, Your Way

• 제가개발자가 된계기와 지금까지 어떻게 살아왔는지를 이야기합니다.

• 그리고 개발자가 되기 위해 어떤 일들을 했는지 이야기합니다.

• 제 생각이 정답이라고할 수는 없습니다. 다양한 생각이 있을 수 있습니다.

PPT에서는 제가 겪었던 경험과갖고 있는 생각을 토대로 이야기합니다.

• 여러분이 개발자가 되기위해서는 어떻게 해야 될까요?

• 겨울 방학을 보람차게 보낼 수 있는 방법은?

• 질문은 언제나환영합니다.

My Way 선린 인터넷 고등학교 특강My Way, Your Way

My Way 선린 인터넷 고등학교 특강My Way, Your Way

My Way 선린 인터넷 고등학교 특강My Way, Your Way

My Way 선린 인터넷 고등학교 특강My Way, Your Way

My Way 선린 인터넷 고등학교 특강My Way, Your Way

My Way 선린 인터넷 고등학교 특강My Way, Your Way

My Way 선린 인터넷 고등학교 특강My Way, Your Way

My Way 선린 인터넷 고등학교 특강My Way, Your Way

My Way 선린 인터넷 고등학교 특강My Way, Your Way

My Way 선린 인터넷 고등학교 특강My Way, Your Way

My Way 선린 인터넷 고등학교 특강My Way, Your Way

My Way 선린 인터넷 고등학교 특강My Way, Your Way

My Way 선린 인터넷 고등학교 특강My Way, Your Way

My Way 선린 인터넷 고등학교 특강My Way, Your Way

My Way 선린 인터넷 고등학교 특강My Way, Your Way

My Way 선린 인터넷 고등학교 특강My Way, Your Way

My Way 선린 인터넷 고등학교 특강My Way, Your Way

My Way 선린 인터넷 고등학교 특강My Way, Your Way

My Way 선린 인터넷 고등학교 특강My Way, Your Way

My Way 선린 인터넷 고등학교 특강My Way, Your Way

My Way 선린 인터넷 고등학교 특강My Way, Your Way

My Way 선린 인터넷 고등학교 특강My Way, Your Way

My Way 선린 인터넷 고등학교 특강My Way, Your Way

My Way 선린 인터넷 고등학교 특강My Way, Your Way

My Way 선린 인터넷 고등학교 특강My Way, Your Way

My Way 선린 인터넷 고등학교 특강My Way, Your Way

My Way 선린 인터넷 고등학교 특강My Way, Your Way

Your Way 선린 인터넷 고등학교 특강My Way, Your Way

• 이제 여러분의 이야기를 해보려고합니다.

• 나의 진로는 개발자인가?

• 나의 진로는 (어떤) 개발자인가?

• 나의 진로는 (무엇을하는) (어떤) 개발자인가?

• 나의 진로는 (어느 회사에서) (무엇을하는) (어떤) 개발자인가?

• 나의 진로는 (어느 회사에서) (무엇을하는) (어떤) 개발자인데,

(어떤 지식을 배워야할까)?

• 나의 진로는 (어느 회사에서) (무엇을하는) (어떤) 개발자인데,

(어떤 지식을 배워야 하고), (어떤 경험을 하면 좋을까)?

Your Way 선린 인터넷 고등학교 특강My Way, Your Way

• 결국은 기승전치킨!?

Your Way 선린 인터넷 고등학교 특강My Way, Your Way

• 프로그래머는 치킨집을 차릴 수 있는가?(https://docs.com/user272240/3010)

Your Way 선린 인터넷 고등학교 특강My Way, Your Way

• 나의 진로는 개발자인가?

• 무언가를개발하는게 즐거워야 어렵고 힘든과정을 이겨낼 수 있다.

• 개발하는게 즐겁지않다면, 다른 진로를 고려해 보는 것도 방법이다.

• 본인 스스로가개발자라는 직업이 적성에맞는지 생각해 보길 바란다.

Your Way 선린 인터넷 고등학교 특강My Way, Your Way

• 나의 진로는 (어떤) 개발자인가?

• 웹개발자

• 모바일 개발자

• 시스템 개발자

• 서버 개발자

• 게임 개발자

• 보안 개발자

• 데이터 엔지니어

• ...

Your Way 선린 인터넷 고등학교 특강My Way, Your Way

• 나의 진로는 (어떤) 개발자인가?

• 프로그래밍언어 선택

• 어떤 언어인지는 중요하지 않다.

• 하나의 언어를잘 아는게 중요하다.

• 하나의 언어를잘 알고 있다면,

다른 언어도 비교적 쉽게 배울 수 있다.

• 메모리를 수동으로 관리하는 언어 하나 (C/C++ 등),

메모리를 자동으로 관리하는 언어 하나 (C#/Python 등)를 배워두면 좋다.

• https://fossbytes.com/how-to-pick-your-first-programming-

language-4-different-ways/

Your Way 선린 인터넷 고등학교 특강My Way, Your Way

• 나의 진로는 (어떤) 개발자인가?

• 어떤 개발자가 될 지 정하지 못했다고 해서 걱정할 필요는 없다.

• 이번 겨울 방학이 다양한개발을탐색하기 좋은 시기!

• 가장재미있었던 분야, 적성에맞다고 생각한분야가 정해질 때까지 여러 분야를

조금씩 다양하게 경험해 보기 바란다. 정하는 데 오랜 시간이 걸려도 좋다.

• 일찍 시작했다고해서 반드시잘하는게 아니며,

늦게 시작했다고해서 반드시 뒤쳐지는 게 아니다.

1년 만에 남들이 이룬 몇 년의 성과를한번에 이뤄낼 수 있는 게 개발 분야!

Your Way 선린 인터넷 고등학교 특강My Way, Your Way

• 나의 진로는 (어느 회사에서) (무엇을 하는) (어떤) 개발자인가?

• 실제로 회사에서 어떤 일을 하는지 궁금하다면, 채용 정보를확인하라.

Your Way 선린 인터넷 고등학교 특강My Way, Your Way

• 나의 진로는 (어느 회사에서) (무엇을 하는) (어떤) 개발자인가?

• 실제로 회사에서 어떤 일을 하는지 궁금하다면, 채용 정보를확인하라.

Your Way 선린 인터넷 고등학교 특강My Way, Your Way

• 나의 진로는 (어느 회사에서) (무엇을 하는) (어떤) 개발자인가?

• 실제로 회사에서 어떤 일을 하는지 궁금하다면, 채용 정보를확인하라.

Your Way 선린 인터넷 고등학교 특강My Way, Your Way

• 나의 진로는 (어느 회사에서) (무엇을 하는) (어떤) 개발자인데,

(어떤 지식을 배워야할까)?

• 회사의채용 정보에서 필요한 지식을확인할 수 있다.

Your Way 선린 인터넷 고등학교 특강My Way, Your Way

• 나의 진로는 (어느 회사에서) (무엇을 하는) (어떤) 개발자인데,

(어떤 지식을 배워야할까)?

• 필요한 지식을 정리해 놓은 사이트도 있다.

• 웹 개발자 로드맵

https://github.com/kamranahmedse/developer-roadmap

• 게임 개발자 로드맵

https://github.com/utilForever/game-developer-roadmap

• 모바일 개발자 로드맵

https://github.com/godrm/mobile-developer-roadmap

Your Way 선린 인터넷 고등학교 특강My Way, Your Way

• 나의 진로는 (어느 회사에서) (무엇을 하는) (어떤) 개발자인데,

(어떤 지식을 배워야 하고), (어떤 경험을 하면 좋을까)?

• Git 사용 방법 익히기

• 프로젝트 협업 경험 해보기

• 포트폴리오 작성하기

• 블로그에기술관련 글 써보기

• 알고리즘 문제 풀어보기

• 스터디에참여해보기

Your Way 선린 인터넷 고등학교 특강My Way, Your Way

• Git 사용 방법 익히기

• 버전관리 시스템은 소스코드의 중요한변화들을기록하는 행위

• 어떤 문제가 발생했을 때 문제의 맥락을파악할 수 있도록 도와주고,

변화에 실패 했을 때과거의상태로 쉽게 돌아갈 수 있게 해줌

• 학교에서협업할때사용할 뿐만아니라, 회사에서도 널리 사용

• https://opentutorials.org/course/1492

• https://backlog.com/git-tutorial/kr/

• http://rogerdudler.github.io/git-guide/index.ko.html

• http://learnbranch.urigit.com/

Your Way 선린 인터넷 고등학교 특강My Way, Your Way

• 프로젝트 협업 경험 해보기

• 개발 실력을향상시킬 수 있는 가장빠른 방법

• 다른 사람과의역할분담을 통해협업, 커뮤니케이션을 익힐 수 있음

• Github, GitLab, Trello 등 다양한협업 도구를사용할 기회

• https://github.com/utilForever/CubbyFlow

• https://github.com/MineScroll/Cubby

• https://github.com/doyubkim/fluid-engine-dev

• https://github.com/Hearthstonepp/Hearthstonepp

• https://github.com/CppKorea/CppCoreGuidelines

Your Way 선린 인터넷 고등학교 특강My Way, Your Way

• 포트폴리오 작성하기

• 다른 사람에게 내가갖고 있는 기술을 보여줄 수 있는 최고의 방법

• 포트폴리오에 따라 회사에서 여러분을 뽑을 수도, 뽑지 않을 수도 있다.

• 배운 지식으로 다양한 프로그램을만들어서 포트폴리오를만들어 보자.

Your Way 선린 인터넷 고등학교 특강My Way, Your Way

• 블로그에 기술 관련 글 써보기

• 본인이 공부하면서, 또는 프로그램을만들면서 겪었던 경험을 정리해서 써 보자.

• 영어로 된 기술 블로그 글을 번역해서 작성해도 좋다. (단, 저자의 허락을 받을 것!)

• 특히, 본인이 어떤 문제를 해결하기위해삽질했던과정을 정리하면 좋다.

(이런 지식은 다른 곳에서 쉽게 찾을 수 없으며, 온전히 본인의 지식이 된다.)

• 책이나 사이트의 내용을 복사, 붙여넣기만하지말고,

지식을 온전히 자기의 것으로 만들려는노력을 병행해야한다.

• https://github.com/utilForever/ModernCpp/blob/master/Articles/

The%20Four%20Polymorphisms%20in%20C%2B%2B.md

Your Way 선린 인터넷 고등학교 특강My Way, Your Way

• 알고리즘 문제 풀어보기

• 요즘 대학교 입시나회사에서알고리즘 문제를 풀게 하는 경우가많다.

• 최소 하나의 프로그래밍언어, 그리고 자료 구조와 알고리즘 지식이 필요하다.

• 방학을 이용해 친구들과함께알고리즘 문제를 풀어보는 것도 좋다.

• https://www.acmicpc.net/

• https://algospot.com/

• http://codeforces.com/

• http://www.topcoder.com/

• https://www.hackerrank.com/contests

Your Way 선린 인터넷 고등학교 특강My Way, Your Way

• 스터디에참여 해보기

• 혼자서 공부하는 게 어렵다면, 여럿이 뭉쳐 헤쳐나갈 수 있다.

• 학교를벗어나면, 정말로 다양한 주제의 스터디가 있다.

• 스터디에는 현업 개발자도참가하기때문에 실무와 관련된 지식도 얻을 수 있다.

• 비용이 약간 들 수도 있지만, 본인의참가의지에 따라 가치는 무궁무진 해진다.

• https://github.com/CppKorea/CppConcurrencyInAction

• https://github.com/CppKorea/DesignPatternStudy

• https://github.com/CppKorea/OptimizedCppStudy

Your Way 선린 인터넷 고등학교 특강My Way, Your Way

• (+1) 큰 프로젝트를 어떻게 만들지잘 모르겠다면…

• Github나 GitLab에 있는 오픈 소스 프로젝트를 기반으로 똑같이만들어 보기

• Github나 GitLab에 있는 다양한 오픈 소스 프로젝트를 찾아보며

무슨 프로젝트를 만들지 생각해 보기

• 프로젝트의 라이선스 확인하기 (중요!, 잘 모르겠다면 원작자에게 문의하기)

• 프로젝트를 실행해 보고, 구조를 파악하기

• 처음부터 똑같이 만들어 보기

• 다 만들었으면, 나만의 무언가를 추가해 발전시켜 보기

• 나만의 무언가를 추가했다면, 포트폴리오로 활용 가능

Your Way 선린 인터넷 고등학교 특강My Way, Your Way

• (+1) 큰 프로젝트를 어떻게 만들지잘 모르겠다면…

Your Way 선린 인터넷 고등학교 특강My Way, Your Way

• (+1) 큰 프로젝트를 어떻게 만들지잘 모르겠다면…

Nothing is impossible, just we all are too weak.

감사합니다[email protected]

http://github.com/utilForever

질문환영합니다!