목차
1. LGT 데이터서비스 파트 근무중
2. 금융계통 전산 파트 근무중
3. IT 개발자로 근무중
4. LG CNS 근무중
5. 증권사 전사 파트 근무중
6. 미국에서 게임서버 개발자로 근무중
7. LG 계열사 전산 파트 근무중
2. 금융계통 전산 파트 근무중
3. IT 개발자로 근무중
4. LG CNS 근무중
5. 증권사 전사 파트 근무중
6. 미국에서 게임서버 개발자로 근무중
7. LG 계열사 전산 파트 근무중
본문내용
이해하시기 바랍니다.
1. 시작하기 전에
요즘 온라인 게임 산업이 급성장함에 따라 많은 개발자들이 게임 개발에 뛰어들고 있습니다. 하지만 저의 경우는 학교 졸업 후에 특별히 게임 개발자로 시작하지 않았습니다. 물론 그 때는 온라인 게임의 열풍이 불기 전이었지요. 모든 소프트웨어 개발에 있어 제가 말씀드리고 싶은 것은 탄탄한 기본기 입니다. 즉, 자료구조, 알고리즘, 운영체제, 공업 수학 등에 관한 깊고 다양한 지식과 실제 코딩을 통한 연습입니다. 제가 말하는 것은 단순히 리포트 제출이나 시험을 잘 보기 위해 암기하는 수준을 의미하는 것이 아닙니다. 알고리즘이나 자료구조에나오는 Linked list나 sorting algorithm은 구세대 구닥다리 같지만 아직도 개발자들이 코딩에서 가장 많이 하는 것들 중에 하나입니다.
어떤 문제가 주어졌을 때 가장 효율적인 자료구조와 알고리즘을 찾거나 생각해 내는 능력 즉 problem solving은 개발자의 가장 중요한 요소입니다. 일단 기본적인 지식을 습득한 후에 현재 시장에 나와 있는 제품들이 어떻게 구현되었는지 이해하는 것도 좋은 방법입니다. 예를 들면, 운영체제를 배우며 가장 쉽게 볼 수 있는 Microsoft Windows OS를 분석해보는 것 등입니다. 물론 개발자로서는 C/C++/C#/Java와 같은 언어를 잘 사용하는 것은 기본입니다.
2. 게임개발자에게 필요한 스킬은?
아직까지 게임 개발에 가장 많이 사용되는 언어는 C/C++입니다. 간혹 서버 쪽에 Java혹은 PHP, Perl과 같은 스크립트 언어를 사용하기도 합니다. 그리고 대부분의 게임 클라이언트와 서버가 Windows에서 실행되고 있으므로 Win32 API를 이용한 윈도우즈 프로그래밍 지식도 기본으로 요구됩니다.
게임 개발자도 요즘은 매우 세분화 되어 있습니다. 예를드면 저와 같은 서버 개발자, 게임 컨텐트와 AI(인공지능)을 코딩하는 컨텐트 개발자, 그래픽 개발자 등입니다. 각각의 역할에 따라 습득해야할 스킬은 조금씩 다릅니다.
Server programmer:
client -server 프로그램 개발 능력.
TCP/IP를 사용한 소켓 프로그래밍.
IOCP(윈도우즈의 IO Completion Port)를 사용한 asynchronous 프로그래밍.
멀티 쓰레드 프로그래밍(thread synchronization, memory menagement, thread pool 등)
서비스 프로그램 개발 능력. (윈도우즈의 경우 Windows service프로그램)
데이터 베이스 프로그래밍 (SQL, ODBC, ADO등에 관한 지식)
Content programmer:
스크립트 언어 사용능력. Ruby가 게임 프로그램에 많이 사용됩니다.
AI 프로그래밍. (Path finding and collision algorithm, AI agent and object programming)
Graphics programming:
3D그래픽 알고리즘에 대한 기본적인 이해. (수학에 대한 이해. 특히 Matrix operation)
Direct X 프로그래밍
Photoshop, 3D MAX, Granny와 같은 tool 사용 능력
* 참고로 \"Game Programming Gems\" 시리즈 책을 보면 제가 열거한 모든 것들이 대한 예들이 들어 있습니다.
하지만 처음부터 모든 것이 준비된 프로그래머는 없습니다. 그리고 게임 프로그래머가 되려고 처음부터 게임 회사에 들어갈 필요도 없습니다. 게임을 좋아하고 위해 열거한 기술에대해 끊임 없이 공부한다면 게임프로그래머가 될 수 있습니다. 필요한 정보는 이미 인터넷에 널려 있고 좋은 책들도 많이 나와 있습니다. 공개된 게임소스도 찾을 수 있습니다.
3. 성공적인 프로그래머가 되려면
아시다시피 모든 컴퓨터 전공자가 프로그래머가 되지는 않습니다. 다른 많은 관련 직업도 많습니다. 하지만 프로그래머가 되기로 마음을 먹었다면 최고의 프로그래머가 되려고 노력해야하며 그게 그리 쉽지는 않습니다. 우선 저는 프로가 되려고 노력하라고 말하고 싶습니다. 똑같은 과제가 주어져도 훌륭한 프로그래머는 단시간에 보다 효율적인 방법을 사용해서 개발합니다. 모든 문제나 과제에 있어 프로는 대충 돌아가게 만들고 끝나지 않습니다. 다른 누가 만든 것보다 잘 만들려고 노력합니다.
프로그래머라는 직업이 갈수록 세분화 되어가고 이제는 휘귀하지도 않습니다. 미국에서도 인도나 중국의 값싼 프로그래머들을 손쉽게 이용할 수 있습니다. 새로운 기술은 계속 나오고 그것을
1. 시작하기 전에
요즘 온라인 게임 산업이 급성장함에 따라 많은 개발자들이 게임 개발에 뛰어들고 있습니다. 하지만 저의 경우는 학교 졸업 후에 특별히 게임 개발자로 시작하지 않았습니다. 물론 그 때는 온라인 게임의 열풍이 불기 전이었지요. 모든 소프트웨어 개발에 있어 제가 말씀드리고 싶은 것은 탄탄한 기본기 입니다. 즉, 자료구조, 알고리즘, 운영체제, 공업 수학 등에 관한 깊고 다양한 지식과 실제 코딩을 통한 연습입니다. 제가 말하는 것은 단순히 리포트 제출이나 시험을 잘 보기 위해 암기하는 수준을 의미하는 것이 아닙니다. 알고리즘이나 자료구조에나오는 Linked list나 sorting algorithm은 구세대 구닥다리 같지만 아직도 개발자들이 코딩에서 가장 많이 하는 것들 중에 하나입니다.
어떤 문제가 주어졌을 때 가장 효율적인 자료구조와 알고리즘을 찾거나 생각해 내는 능력 즉 problem solving은 개발자의 가장 중요한 요소입니다. 일단 기본적인 지식을 습득한 후에 현재 시장에 나와 있는 제품들이 어떻게 구현되었는지 이해하는 것도 좋은 방법입니다. 예를 들면, 운영체제를 배우며 가장 쉽게 볼 수 있는 Microsoft Windows OS를 분석해보는 것 등입니다. 물론 개발자로서는 C/C++/C#/Java와 같은 언어를 잘 사용하는 것은 기본입니다.
2. 게임개발자에게 필요한 스킬은?
아직까지 게임 개발에 가장 많이 사용되는 언어는 C/C++입니다. 간혹 서버 쪽에 Java혹은 PHP, Perl과 같은 스크립트 언어를 사용하기도 합니다. 그리고 대부분의 게임 클라이언트와 서버가 Windows에서 실행되고 있으므로 Win32 API를 이용한 윈도우즈 프로그래밍 지식도 기본으로 요구됩니다.
게임 개발자도 요즘은 매우 세분화 되어 있습니다. 예를드면 저와 같은 서버 개발자, 게임 컨텐트와 AI(인공지능)을 코딩하는 컨텐트 개발자, 그래픽 개발자 등입니다. 각각의 역할에 따라 습득해야할 스킬은 조금씩 다릅니다.
Server programmer:
client -server 프로그램 개발 능력.
TCP/IP를 사용한 소켓 프로그래밍.
IOCP(윈도우즈의 IO Completion Port)를 사용한 asynchronous 프로그래밍.
멀티 쓰레드 프로그래밍(thread synchronization, memory menagement, thread pool 등)
서비스 프로그램 개발 능력. (윈도우즈의 경우 Windows service프로그램)
데이터 베이스 프로그래밍 (SQL, ODBC, ADO등에 관한 지식)
Content programmer:
스크립트 언어 사용능력. Ruby가 게임 프로그램에 많이 사용됩니다.
AI 프로그래밍. (Path finding and collision algorithm, AI agent and object programming)
Graphics programming:
3D그래픽 알고리즘에 대한 기본적인 이해. (수학에 대한 이해. 특히 Matrix operation)
Direct X 프로그래밍
Photoshop, 3D MAX, Granny와 같은 tool 사용 능력
* 참고로 \"Game Programming Gems\" 시리즈 책을 보면 제가 열거한 모든 것들이 대한 예들이 들어 있습니다.
하지만 처음부터 모든 것이 준비된 프로그래머는 없습니다. 그리고 게임 프로그래머가 되려고 처음부터 게임 회사에 들어갈 필요도 없습니다. 게임을 좋아하고 위해 열거한 기술에대해 끊임 없이 공부한다면 게임프로그래머가 될 수 있습니다. 필요한 정보는 이미 인터넷에 널려 있고 좋은 책들도 많이 나와 있습니다. 공개된 게임소스도 찾을 수 있습니다.
3. 성공적인 프로그래머가 되려면
아시다시피 모든 컴퓨터 전공자가 프로그래머가 되지는 않습니다. 다른 많은 관련 직업도 많습니다. 하지만 프로그래머가 되기로 마음을 먹었다면 최고의 프로그래머가 되려고 노력해야하며 그게 그리 쉽지는 않습니다. 우선 저는 프로가 되려고 노력하라고 말하고 싶습니다. 똑같은 과제가 주어져도 훌륭한 프로그래머는 단시간에 보다 효율적인 방법을 사용해서 개발합니다. 모든 문제나 과제에 있어 프로는 대충 돌아가게 만들고 끝나지 않습니다. 다른 누가 만든 것보다 잘 만들려고 노력합니다.
프로그래머라는 직업이 갈수록 세분화 되어가고 이제는 휘귀하지도 않습니다. 미국에서도 인도나 중국의 값싼 프로그래머들을 손쉽게 이용할 수 있습니다. 새로운 기술은 계속 나오고 그것을
소개글