프로그래머 지망생 위한 단편 조언 : 개발자 기본기 소양과 자질

소양(素養) : '평소 닦아 놓은 학문이나 지식'




좋은 글이 있어서 남겨봅니다.



#이 붙은 파란 글씨는 원래 글이고, 제 의견은 --> 뒤에 남깁니다. 기본기, 실무, 자질에 대한 글이므로 정독하는 게 좋다고 생각해요.

Post subject - 개발자 지망생을 위한 단편적인 조언

보통 개발자 사이트에 이런 지망생이나 학생들 (간혹 중고등학생들도) 이 조언을 구하는 글을 올린 걸 볼 때마다 어떤 조언을 해 주어야 하나 고민을 해 보지만 딱히 좋은 말이 떠오르지 않습니다. 지금도 역시 마찬가지지만, 그냥 프로그래머를 꿈꾸는 이들을 위한 단편적인 조언을 적어보도록 하겠습니다.


# 프로그래머에게 영어는 기본은 되어야 합니다.

최소한 msdn 문서를 보고 이해를 할 수 있을 정도는 되어야 합니다. 저도 영문 문서보다는 한글 문서를 좋아합니다만, 한글 문서가 없으면 시간을 들여서 영어 문서를 읽을 정도는 되어야 합니다.


사실 컴퓨터 전공 서적의 영어 수준이라는 것은 중고등학교 때 열심히 공부한 정도면 다 독해 가능할 정도의 쉬운 영어입니다.


--> 공감 가는 말인데, 이런 글을 읽는 취준생들은 토익 800을 먼저 떠올린다는 게 슬픈 현실.


# 영어도 잘하는 개발자는 스스로 할 수 있는 일이 무척 많고 몸값도 비쌉니다.

하지만, 영어만 잘하는 개발자는 쓸모없습니다. (참고 : 요즘 C++ 개발자 연봉 - 한국 프로그래머 취업 시 기대 월급)


--> 공감 가는 말인데, 이런 글을 읽는 취준생들은 토익 800이 먼저라고들 생각함. 기본기, 실무, 자질보단 영어가 우선이라 ...


아 유 시리어스만 기억하자아 유 시리어스만 기억하자



# 제가 아는 한 개발자 뽑을 때 영어 실력 따지는 곳은 별로 없습니다. 왜냐고요?

제대로 된 프로그래머는 귀한 존재거든요.


--> 공감. 제대로 된 개발자라면 회사에서 돈 줘가며 영어 공부 따로 시킴.


# 전공이 전산 쪽이시라면 복학 후 전공 공부 열심히 하시기 바랍니다.

간혹 학교에서 가르치는 것은 실무에서는 별 쓸모 없다는 식으로 말하는 사람들이 있는데 다 헛소리입니다. 괜히 학점 따려고 교양과목 찾아다니지 말고 선택 전공과목들 다 수강해 보시기 바랍니다. (참고 : [학점 백분위 환산] 컴공 복수전공을 해도 중요한 3점대)


--> 공감. 컴퓨터 구조가 개발자에겐 쓸모없다고 주장하는 사람들이 있는데, 코딩 권고안을 보면 컴퓨터 구조를 알아야 이해가 되는 것들이 있음.

# 저는 다행히 군에 있을 때 컴퓨터를 만지게 되어서 말년에 컴퓨터에 터보씨 깔아놓고

제대 며칠 남았는지 보여주는 프로그램이나 짜고 있었습니다. 아. 나중에는 AI 오목 프로그램도 짜고 그랬었고요.


--> 상황을 이야기하시는 거 같은데, 이것도 공감됨. 어떤 상황이든 본인 의지가 중요함.


# 간혹 프로그래밍 언어를 공부할 때 처음에 뭘 공부해야 할지 모르겠다는 사람들이 있습니다.

처음에는 간단한 목표를 정해놓고 프로그램을 짜 보시기를 권해드립니다. 그렇게 말했는데도 자신이 뭘 짜야 하는지 잘 모르겠다는 사람들이 있습니다. 그런 사람들은 아예 생각이 없는 사람이거나 나중에 영원히 남이 시키는 프로그램만 짜는 사람이 될지도 모릅니다.


--> 공감. 그런 사람들 볼 때마다 많이 안타까움. 역시 기본기, 실무, 자질이 뒤따라야 하는데 좀 안타깝죠.


# 게임 종류는 처음 프로그램을 짤 때 만드는 사람도 재미있으므로 도전하기 좋은 주제입니다.

제 기억에 남는 제가 최초로 만든 제대로 된 프로그램은 테트리스였습니다. 테트리스 정도면 초보 프로그래머가 도전하기 제일 좋은 주제인듯합니다. 


--> 초보의 기준이 사람마다 조금은 다르겠지만, 테트리스 비추. 오히려 네트워크나 그래픽 쪽에 시간을 투자하라 권하고 싶음.




# 저는 대학교 1학년 때 처음 학교 선배들의 스터디로 C 언어를 배웠고 그 이후로 꾸준히 프로그래밍을

해왔지만 처음으로 "아 이게 포인터구나!" 라고 깨닫게 된 건 무려 5년이 지난 후 였습니다.


--> 어떤 말인지 이해가 됨. 단순히 응용해서 사용하는 것과 원리를 깨닫는 건 다른 의미.


# 시간이 흘러 이제 C언어는 좀 아는체하는 수준이 되었지만, 아직도 C++ 은 어디 가서 아는 체도 못 합니다.

제가 본 C 언어 공부의 최고봉은 전웅님의 책[링크]이었습니다만.. 초보자에게 입문서로 권할 만한 책은 아닙니다.

"이 정도면 나는 c 를 마스터했다" 라고 자부심(자만심)을 가질 때 한번 읽어보시길 권합니다.


--> 누구나 저런 책은 갖고 있지 않을까? 개발자들끼리 공유하면 좋을 듯.

# C/C++ 은 하드한 언어입니다. 보통 프로그래머는 C 1년, C++ 1년, Windows API/MFC 1년을

공부해야 윈도우 프로그램을 짤 수 있는 기초가 된다고 합니다. (저는 더 걸렸습니다.) 다른 웹과 관련된 언어들이 학원에서 3개월 과정으로 가르치는 것과 비교하면 정말 시간이 오래 걸립니다. 하지만 시간이 지나고 나면 그 긴 과정이 아깝지 않은 언어가 C/C++ 입니다. 마치 무협지에서 말하는 정공과 마공의 차이라고나 할까요 ㅎㅎ


--> 요즘 느끼는 것이지만, 학원에서 C++을 가르치지 않는지 이해가 됨. 심지어 교육 기관에서도 자바는 있으나 C++은 없음. 기본기, 실무, 자질은 강사에게도 필요함.


# 간혹 c/c++ 을 유행이 지난 언어 취급을 하고

시대에 뒤떨어진 느린 개발언어라고 말하는 사람들이 있습니다. 이는 "웹"을 기반으로 하는 개발 환경에서는 어느 정도 맞는 말일지도 모릅니다. 하지만 아무리 시간이 흘러도 네이티브 코드를 생산해 내는 프로그래밍 언어는 필요한 분야가 있고 그중 c/c++ 은 으뜸입니다.


--> 이것도 공감. 내가 학교 다닐 때 딱 저 생각을 했었는데




# 특히나 게임 분야를 생각하신다면 c++ 은 필수입니다.

대부분의 온라인 게임은 c++ 로 개발됩니다. (참고 : JAVA, C, C++, C# 언어 선택 고민하는 신입과 경력자분에게)


--> 순수 C++은 아니겠으나 C++ 기반이 많으니 맞는 말.


# 글을 잘 쓰는 방법은 다독, 다작, 다상량 입니다. 프로그래밍도 똑같다고 생각합니다.

책값 아끼지 말고 이것저것 좋다는 책 많이 사서 보고, 이것저것 많이 짜보고, 많이 생각하다 보면 점점 더 좋은 프로그램을 짜게 될 겁니다.


--> 이건 동의하지 않음. 옳지 않은 방법으로 오래도록 코딩해봐야 소용이 없다는 게 내 지론. 전 회사에서 겪어봤기에 장담함. 옳지 않은 방법으로 오래도록 코딩하면 민폐임.

# 프로그래머는 매력적인 직업입니다.

출근해서 종일 모니터만 쳐다보고 코딩하는 작업은 적성에 맞지 않는 사람에게는 지옥과 비슷할지 모르지만, 내가 만든 프로그램을 ???만 명이 쓸 때의 쾌감은 나름 짜릿합니다. 


--> 오오 이런 생각하는 사람들과 함께 일하면 즐거울 듯. 기본기, 실무, 자질을 떠나 성공한 내 모습을 꿈꾸는 건 또 다른 이야기임.


# 개발자는 RPG의 "전사"와 비슷하다고 생각합니다.

제대로 된 프로그램을 만들기 위해서는 협동 플레이가 필수이지만, 전사는 다른 직업과 다르게 솔플이 가능합니다. 요즘 스마트폰이 대세가 되면서 앱개발이 프로그래머들 사이에서 유행이 되고 있고, 그중 일부는 대박을 터트리기도 했습니다. 다른 어떤 직업이 이런 꿈을 꿀 수 있겠습니까. 


--> 맞는 말씀. 요즘 보면 개발자 개인의 능력에 대해 많이 따지는 회사가 늘어가는 것 같은데, 시간이 지날수록 이런 부분이 더 확대되리라 생각함.

개발자 수요가 늘어날수록, 총알을 두둑하게 챙긴 회사가 늘어날수록, 좋은 개발자는 더 좋은 대우를 받을 수 있다는 생각이 듬.




이 글은 주로 신입 개발자 분들이 읽으실텐데, 아래 다른 글도 함께 읽어보며 훌륭한 Programmer, Engineer로 성장하는 밑거름이 되었으면 좋습니다.


관련 글

신입 개발자 취업 전에 생각할 것들 3개, 주니어 실력보다 선택

31살, 30대 신입 프로그래머 IT 도전은 미친 짓일까?

신입 프로그래머 28살 29살 30살 취업 가능할까, IT 도전


댓글

Designed by JB FACTORY