게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
프로그래머로 연봉 1억 만들기
게시물ID : computer_85577짧은주소 복사하기
작성자 : 나는살고싶음
추천 : 16
조회수 : 10213회
댓글수 : 7개
등록시간 : 2013/04/24 22:08:05

안녕하세요. ^^

 

자랑글이 될까봐서 조금은 조심스럽습니다.

아마 여기에 이미 연봉이 의미없을 정도의 분들도 있으실거고요.

이렇게 사람이 많은 커뮤니티에서 연봉 1억이 큰 자랑은 아닐것 같습니다.

하지만 평균이상은 되어 보입니다.

 

저는 30세 프로그래머이구요.

22살에 학교 다니다가 알바로 취직을 시작해서 군대도 병역 특례로 다녀와서 경력을 많이 쌓았습니다.

학교는 시간이 안나서 자퇴..ㅜ.ㅡ

아침에 영어 학원 다니시는 분이나 야간 대학 다니시는분들 정말 존경 스럽습니다..ㅠ.ㅜ.

 

제 글의 대상은 컴퓨터 전공을 하는 대학생입니다.

여러길이 있겠지만 제가 걸었던 길을 이야기 해드리고 그 길에 적성이 맞다면 참고하셨으면 해서 입니다.

 

참고로 저는 응용프로그램 개발자입니다.

주로 윈도우용 프로그램을 개발하고 있고요.

SI 쪽일을 하고 있습니다.

 

아마 우리나라에서 응용프로그램을 하시면 SI쪽에 종사 하실 일이 많을 것입니다.

SI는 누군가가 무언가를 만들어 달라고 하면 그것을 만들어주는 일입니다.

가끔 영업상 제안부터 하기도 하죠.

 

위는 사설이구요..^^

 

1. 어떤 프로그래머가 되던 씨언어를 공부 하자.

제가 회사를 다니면서 느낀것은 웹프로그래머던 JAVA던 머던 간에 꼭 씨언어가 발목 잡는 경우가 생기게 됩니다.

다들 생각하기에 씨언어가 어렵다고 생각하시는데. 아닙니다.

장담컨데 5일 이상 하루에 5시간 이상만 공부해도 씨언어 포인터 이해 다 됩니다.

씨언어로 링크드 리스트 만들수 있으면 포인터거진 다 이해 됩니다.

(링크드 리스트 소팅 하고 2진탐색하는것 만들어 보세요. 연습 됩니다.)

씨언어 문법만 다 깨우쳐도 이후에 씨언어 때문에 프로잭트 진행이 안되는 경우는 없습니다.

MFC던 기타 라이브러리던 사용해야 할때 배울수 있습니다.

그런데 대학교때 씨언어를 해두지 않으면 처음부터 손들어 버립니다.

 

씨언어 그리 어려운 공부거리가 아닙니다.

사회 생활하다 보면 훨씬더 어려운것들이 많이 있습니다.

극복하는것도 연습니다.

 

2. 선형대수는 필수 대학 미적분학정도는 해두자.

이건 의견이 다양 합니다.

웹이나 시스템프로그래밍 쪽은 저도 안해봐서 모르겠습니다.

SI는 필수 입니다.

간단하게 UI를 개발해도 선형대수가 쓰이는 경우는 많이 있습니다.

대학 미적분학 정도 하면 보통 수식은 대체로 이해가 되고 모르더라도 공부를 할 엄두를 낼 수 있습니다.

행렬과 벡터는 아는것과 모르는것 엄청난 차이가 납니다

여유가 되면 수치해석도 공부해야 합니다.

유효숫자 이슈는 정말 중요 합니다.

논리 적인 버그의 주범입니다

(1/3) * 3 != 1 입니다.

 

3d 엔진 개발할꺼면 선형대수, 미적분학, 수치해석은 한글만큼 깨우쳐야 합니다.

 

3. 컴퓨터 이론은 정통 하진 않아도 한번쯤 정독 하여 이해 하자.

경력이 쌓이다 보면 동기적인 환경에서 디버깅은 매우 쉽습니다.

보통은 비동기적인 상황에서 디버깅으로 고생을 하는데요.

저는 디버깅을 매우 잘하는 편입니다.

처음 사수로 부터 디버깅할때 당연히 원인이 아닐것 같은것도 테스트를 하는 버릇을 기른것도 크지만.

컴퓨터 이론을 공부한것도 매우 큰도움이 되었습니다.

보통 아르바이트로 디버깅을 하러 가면 비동기 상황에서 주 메모리와 CPU간에 컨택스트 스위칭 시 생기는 버그가 많이 있습니다.

이런한 이슈를 모르면 절대 못잡습니다.

보통 "아... 운영체제가 이상해.." 이러죠..;;

 

4. 디자인 페턴에 목숨걸지 말자.

디자인 페턴은 학생때 필요성을 못느낍니다.

프로잭트가 커지고 한번 삽질 하면 스스로 필요성을 느끼고.

그때 공부하면 재미 있습니다.

그냥 그런것이 있구나 정도만 하고.

다른 기초 공부에 추자하는것이 좋아보입니다.

 

씨언어 공부하다보면 문법연습하고 싶을때가 있습니다.

씨언어를 더 알고 싶을때.

모던 디자인 페턴이라는 책 구입하세요. 빨간색.

페턴이 중요한것이 아니라 씨언어를 더 잘알 수 있습니다.

(참고로 저는 GOF?? 표지도 본적 없습니다. )

 

5. 회사에 취직했는데 1년 이상 유지보수 업무만 한다면 다시 생각 해보자.

자신이 1년 이상 유지보수만 하고있다면, 둘중 하나일것 같습니다.

회사에 유지보수 팀과 신규 개발팀이 있다면 자신의 실력이 안되어서 신규 개발팀에 못들어 가는경우

회사가 유지보수 일만 있는경우.

유지보수 1년 정도는 배울것이 많이 있겠지만. 그 이상 전념 하면 안됩니다.

논란이 많겠지만 회사의 이익보다는 자신의 발전을 생각해야 합니다.

만약 전자라면 공부를 해서 신규 개발팀에 들어가거나 다른 신규 개발을 하고 있는 회사로 들어가시고.

후자시면 회사 사정을 약간보고 이직을 권해드리고 싶습니다.

계속해서 난이도를 높여 일을 해야합니다.

자신의 개발하고 있으면서 "나 노가다 하고 있어" 느껴지면 그것을 오래 하고 있으면 안됩니다.

특히나 20대에 그러면 안됩니다.

 

6. 툴이나 라이브러리 보단 기본을 튼튼히 하자.

IT 분야가 정말 쉴틈없이 바뀌고 추가 되고 합니다.

참따라가기 벅차죠..^^

하지만 그렇게 바뀌고 휘청거려도 변하지 않는것은 기본입니다.

대학교때는 그러한것을 해야한다고 생각합니다.

어떤 툴이나 엔진이 유행한다고 그것을 공부하는것도 얻을것이 많이 있습니다.

저 또한 최근에 Unity3d 열심히 공부했구요.

저같은 경우는 얻는 것이 많이 있습니다.

엔진을 만들때 구조를 배우죠.

 

제가 만든 3d 엔진은 오프잭트 중심이었습니다.

그려지기 위한것이 었죠.

하지면 최근의 엔진은 변환 행렬 중심입니다.

OSG도 마찬가지고요.

이것 같이 제가 프로잭트에 사용하지 않아도 기타 다른 툴이나 라이브러리들을 배웁니다.

이것들은 몇년후에 없어 지겠죠.

하지만 프래임웍은 훨씬 더 오래 갈것입니다.

그런 의미에서 저는 툴을 공부하지만 학생분들은 이것보다 더 효율적으로 실력을 늘릴수 있는 것들이 많이 있죠.

학생분들은 이미 개발된것을 보면서 먼가 깨닳음을 얻기가 힘들 것입니다.

아무것도 안하는것보다는 먼가 무지 재미있게 열정을 가지고 하는것은 매우 좋은것 같습니다.^^

하지만 이러한 툴보다 OpenGL을 공부하고 선형대수나 기초 학문에 투자하는것이 더 효과적이지 않을까 하는 의견입니다.

 

기초를 튼튼히 해두면 새로운 툴을 접하여도 어짜피 사람이 만든것이라 다 뻔합니다.

저는 Unity3d를 책한권없이 공부했습니다.

2-3일 이것저것 연습하고, 바로 제가 만들고자 하는것을 만들었습니다.

저는 자신 있게 Unity3d 할수 있다고 이야기 할 수 있습니다.

키넥트 연동하는것도 만들었구요. (단순히 공부 취미에서)

이럴수 있었던것은 기존에 3d엔진 관련 지식이 있어서 입니다.

선형대수의 이해와 요즘 3d엔진의 프래임웍을 알고 있기 때문이죠.

힘들었던것은 오히려 자바 스크립트였죠.

이때 처음 한것이라...;

 

제가 말하고자 하는것은 기초를 공부하자 입니다.

툴과 라이브러리는 회사에서 필요 할때 공부 해도 늦지 않습니다.

회사에서도 그것을 다알고 오길 바라지는 않습니다.

얼마나 빨리 적응하냐가 이슈죠.

 

7. 멀티플레이어가 되자.

중소기업에서 빛을 낼수 있는 하나의 팁은 멀티 플레이어가 되는것 입니다.

저 같은경우 주가를 높인 시점이 몇가지가 있지만 3d엔진 개발자에서 네트웍개발자가 되었을때 입니다.

 

회사는 참애메 합니다.

네트워크 개발자는 한 프로잭트 하면 필요 없는데.. 데리고 있어야 하나??

3d엔진 개발자 한 프로잭트 하면 필요 없는데 데리고 있어야 하나??

저둘의 조합을 완성하면 회사는 참좋아 합니다.

이때 부턴 연봉 협상의 주도권을 가지게 되고.

보통 PM역할을 하게 됩니다.

IT에 나이 그런것 없습니다.

잘하는 사람이 PM입니다.

인도에서도 유일하게 카스트가 무시되는 직업이 IT업종이라 들었습니다.

 

8. 코딩은 꼭 깨끗하게 문서 작성하듯이 하자.

코딩은 일단 무조건 깨뜻하게 해야합니다.

네이밍 규칙 내어쓰기 그런것은 회사에서 쓰는 방식에 따라야 합니다.

그런것 말고도 쓸대 없는 주석은 지우고

테스트 코드도 다시 안볼것이면 지우고

TRACE문도 안볼것이면 지우고.

씨++의 경우 헤더파일에 함수명 위에 꼭 이게 머하는 함수인지 인자로 머가 들어가는지 꼭써야 합니다.

안그러면 이후에 소스문서 만들때 고생합니다.

 

저의 경험상.

기초에 충실하고 MFC, OpenGL, Direct3d, IOCP 만 정통해도 이력서 쓸일이 없습니다.

프로잭트 진행하다보면 여기 회사 저기 회사 인맥이 만들어 지고 자신이 알려집니다.

어느순간 보면 명절에 여기 저기 사장님으로 부터 안부 카톡이 오는것을 경험 할것입니다.

좋은 아르바이트도 많이 들어 오고요.

 

꼭 수학공부를 프로그래밍 만큼 공부하세요.

회사에 취직했다면 영어 공부도 슬슬 하세요.

영어가 적성이 맞다면 대학교때 다 했을것 이고.

안맞는 다면 회화과외 받으세요.

35만원이면 집에 와서 일주일에 2두시간씩 두번 해줍니다..;;

영어는 가능하면 꾸준하게 해두세요.

요즘 기술 문서 번역책이 잘 없습니다.;;;

잘안팔리고 자주 바뀌니 번역 안하는듯 합니다.

또한 모든 툴, 라이브러리경우 개발사서 만들어준 문서 매우 좋은데 영어 입니다.

저는 언제 부턴가 책 안삽니다.

구글에 검색하면 잘나오고 관련 문서 PDF 파일도 많이 있습니다.

그거면 충분 합니다.

 

대학때 수학 공부 씨언어 공부 열심히 하시면

사회에서 프로잭트 받았는데 이것때문에 못하겠는데 소리 안나옵니다.

그렇게 프로잭트로 경력을 쌓아가면 기회는 옵니다.

기회를 잡는것은 실력입니다.

 

아.. 그리고 프로잭트 한다고 여자친구 버리지마세요.

프로잭트 끝나면 생각나는건 전 여자친구 뿐입니다....

전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호