어떤 질문지의 답변문서
By SeukWon Kang
어쩌다 쓰게된 질문지의 답변을 적다보니 재밌어서 (허락을 얻은후) 블로그에도 공유해봅니다.
1. 자기 소개를 해주세요. – 경력이어도 좋고 그냥 자신이 생각하는 자기 얘기여도 좋습니다.
** **
프로그래밍이란걸 시작한지 30년이 좀 넘은 낡은 프로그래머로
유부남 - SINK 족 ( single income no kid ) 이며
돈많이 벌어서 은퇴해서 프로그램 짜며 여생을 보내고 싶어하는 사람 입니다.
** **
2. 지금 무슨 일을 하고 계신가요?
조그마한 게임 회사(40명정도?) 에서 모바일 게임 서버 개발을 하고 있습니다.
linux 위에서 go 언어를 사용하고 있습니다.
** **
3. 하고 계신 일을 위해 어떤 지식과 경험, 기술이 필요한가요?
** **
-
프로그래밍을 하기 위해 필요한 지식 스킬
-
-
고교 수준의 수학 - 기하 , 통계, 확률 , 벡터, 행렬 ,
-
대학 수준의 수학 : 수치해석 , 이산 수학 , 부울 대수
-
- 영어
- 영어 문서를 읽고 이해 할수 있어야 한다.
-
전산학 기본 스킬 - 학교에서 배우는 4과목 CA OS DS PL + network, database
-
프로그래밍 스킬 - 사용 하려는 언어를 이해하고 잘 write 하는 스킬
-
-
영어를 예로 들면
-
ABC 를 안다. - 학원에서 가르치는 수준
-
동사 명사 등 품사를 이해 한다.
-
문장의 5형태를 안다. - 초짜들이 나 프로그램 좀 짜는데 하고 생각 하는 수준 ^^
-
- programming language 의 spec 을 이해 하는 수준
-
단어와 숙어를 익힌다.
-
-
표준 라이브러리 를 이해 하고 사용 가능
-
여기 까지가 아마추어
-
전산 전공의 대졸이 이수준이면 꽤 훌륭한 편
-
-
영어를 사용하는 사회의 문화/예절을 익힌다.
-
-
동시대의 정보
-
시대의 트렌드, 유행
-
고급 개발 자의 시작
-
-
영어 문학/예술 을 이해 한다.
-
- 농담과 비유 , 인용을 할 수 있는 수준
-
영어권의 역사/전통을 안다.
-
- 과거의 이해를 바탕으로 현 상황이된 이유를 안다.
-
-
-
project management skill
-
-
집단으로 목적을 위해 비즈니스를 진행하기 위한 스킬
-
job 스케줄링
-
co-working
-
회의를 하는 스킬
-
문서를 읽고 쓰는 스킬
-
토론과 의논을 통해 결정과정에 도달할수 있는 스킬
-
-
S/W 개발자에게 필요한 스킬
-
-
software engineering skil
-
개발 관련 툴 들을 이해하고 사용하는 스킬
-
- IDE, OS 사용, network 설정,
-
version control
-
- patch , contribute , merge , branch
-
issue tracking , bug tracking
-
continuous integration
-
TDD
-
pair programming
-
agile programming
-
optimizing / analysis
-
benchmark
-
refactoring
-
-
서버 프로그래머에게 필요한 스킬
-
-
protocol 을 설계 이해 하고 구현
-
-
http 1.1, 2.0
-
tcp/ip
-
udp
-
quic
-
custom
-
Ethernet , mac , NAT, ….
-
-
dbms, nosql 을 이해하고 다루는 스킬
-
persistent data 를 관리 하는 스킬
-
error를 handling하고 recover 하는 프로그래밍
-
long running 환경을 이해하고 개발하는 스킬
-
memory management : leak 잡기,
-
stack trace , memory dump를 분석 이해 하는 스킬
-
-
게임 서버 프로그래머에게 필요한 스킬
-
-
게임에 대한 이해
-
게임 시스템의 이해
-
게임의 분석
-
기획서를 읽고 프로그램으로 설계 하는 스킬
-
- 상황에 따라선 역 제안을 할수 있어야 한다.
-
-
모바일 게임 서버 프로그래머 에게 필요한 스킬
-
-
모바일 장비에 대한 이해
-
모바일 네트웍 환경에 대한 이해
-
모바일 인증의 이해
-
모바일 서비스 플랫폼 및 빌링의 이해 - 구글, 페이스북, 애플
-
** **
4. 처음 IT 업계에 발을 들이게 된 계기는 무엇이었나요?
제일 좋아하고 또 잘할 수 있는 분야라고 생각했기 때문입니다.
** **
5. 처음 컴퓨터를 만지게 된 때는 언제였고 어떤 기종, 어떤 프로그래밍 언어를 사용하셨나요?
1983?4 년경 아버지가 가져 오신 apple ][+ (복제품) 이 첫 만남이었습니다.
아직 정보가 부족하던 시절이라 apple soft basic , 6502 assembly 을 사용했습니다.
** **
6. 컴퓨터를 알게 된 게 인생에 도움이 되었는지요? 현재 일에 만족하고 계신지요?
-
인생에 도움이 되었나요? 잘 모르겠고 몰랐을 인생을 상상할수 없네요.
-
현재 일에 만족하나요? 역시 잘 모르겠고 그냥 그러려니 하고 생각합니다.
** **
7. 일반 사람들도 컴퓨터를 알아야 한다고 생각하시나요? 안다면 얼마나 알 필요가 있다고 생각하시는지요?
** **
“컴퓨터를 안다” 가 너무 애매함.
** **
예를 들어
자동차를 안다. 라고 하면
-
운전할줄 안다.
-
여러 자동차를 구별할 수 있다
-
많은 자동차를 타보았다.
-
교통 법규와 예절을 안다.
-
자동차 정비를 할수 있다
-
자동차를 만들수 있다.
같은 문제라고 생각합니다.
** **
전동 드릴을 쓸줄 알아야 할까?
전기 인두기 , 테스터는 ?
패션을 알아야 할까? 그럼 옷 수선은?
요리를 할줄 알아야 할까? 그럼 농사일은?
** **
8. 컴퓨터를 하고 싶은 사람이 있다면 무엇부터 하라고 말씀해주시겠습니까?
** **
일단 제대로 국어를 읽고 쓰고 듣고 말할줄 알아야 한다. ( 농담이 아니라 진짜로 )
** **
그리고 영어 , 수학 ^^
** **
프로그래밍은 엄연히 “언어" 를 다루는 엔지니어링입니다.
** **
9. 현재 컴퓨터가 얼마나 우리 생활에 영향을 미치고 있다고 생각하시나요? 그리고 미래는?
** **
컴퓨터 의 1차적 영향은 완료후 끝나가고 있고
** **
content 제작 및 향유를 위한 툴 ( 게임 , VR , AR )
data 분석을 위한 툴 ( big data )
지적 존재가 되기위한 툴 ( AI !!!!! )
등 2차 3차 단계로 들어 갔다고 봄.
** **
미래는 극히 일부의 전문가들만이 이해하고 다루는 분야가 될것이라고 생각합니다.
크레인을 다루듯이
탱크의 엔진을 설계하듯이.
우주선의 발사대를 만들 듯이.
원전을 설계하고 건설하듯이.
** **
10. 가장 사랑하는 사람 – 연인, 배우자, 자식, 형제 – 에게 컴퓨터 업계에 발을 들이라고 권하고 싶으십니까? 그만큼 좋은 직업이라고 생각하시나요?^^
아뇨!!
하지만 다른 추천 할만한 것도 생각 나지 않네요.
다만 들여야 하는 노력/공부의 양에 비해 얻을수 있는 대우가 낮다고 봅니다.