(펌)프로그래머 지망생 위한 단편 조언 (개발자 소양과 이유)

(펌)프로그래머 지망생 위한 단편 조언 (개발자 소양과 이유)


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



#이 붙은 파란 글씨는 원래 글이고, 제 의견은 --> 뒤에 남깁니다.


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


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


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

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

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


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


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

하지만, 영어만 잘하는 개발자는 쓸모 없습니다. 


--> 공감 가는 말인데, 이런 글을 읽는 취준생들은 토익 800이 먼저라고들 생각함.


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

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


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


프로그래머 지망생 개발자[Programmer 소양] 이쁘게 코딩하려면


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

간혹 학교에서 가르치는 것은 실무에서는 별 쓸모 없다는 식으로 말하는 사람들이 있는데 다 헛소리입니다. 괜히 학점 따려고 교양과목 찾아다니지 말고 선택 전공과목들 다 수강해 보시기 바랍니다.


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


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

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


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

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

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


--> 공감. 그런 사람들 볼 때마다 많이 안타까움.


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

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


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


프로그래머 영어 전공 공부[Programmer 소양] 이쁘게 코딩하려면


# 저는 대학교 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++ 은 으뜸입니다.


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


개발자 형님 단편 조언[Programmer 소양] 이쁘게 코딩하려면


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

대부분의 온라인 게임은 c++ 로 개발됩니다.


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


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

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


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


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

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


--> 오오 이런 생각하는 사람들과 함께 일하면 즐거울 듯.


컴퓨터구조 개발자 지망생[Programmer 소양] 이쁘게 코딩하려면


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

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


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

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


물론, 이 글을 쓰고 있는 나는 능력이 별로라 힘들겠지만...


(펌)프로그래머 지망생 위한 단편 조언 (개발자 소양과 이유)

댓글(8)

  • 러버덕
    2017.02.04 20:06

    글 잘 읽었습니다~ 저도 옳지 않은 방법으로 오래도록 코딩해도 민폐일 뿐이라는 말에는 동감하는데요, 학생으로서 어떤 게 옳게 프로그래밍하는 것인지 모르겠는데 도움이 되는 자료를 알 수 있을까요?

    • 2017.02.07 09:45 신고

      저는 신입 시절에 "읽기 좋은 코드가 좋은 코드다"라는 책을 읽었어요.

      당시 회사 상사분들이 시키기도 했었는데 좋은 경험이었씁니다.

  • YJ
    2017.02.12 01:15

    좋은 글 잘 읽었습니다. 감사합니다 ㅎㅎ
    궁금한 점이 하나 있는데 프로그래밍 경험으로 테트리스는 비추라고 해 주시며 네트워크나 그래픽쪽을 추천한다고 하셨는데..
    혹시 네트워크 분야의 프로그램 예시로 어떤걸 말씀하신건지 여쭈어봐도 될까요?

    • 2017.02.12 09:01 신고

      기본적인 네트워크죠. 동기/비동기, TCP/UDP 등

    • YJ
      2017.02.21 01:29

      답변 감사합니다.
      개학 전에 해봐야겠네요 ㅎㅎ

  • 자바
    2017.04.12 17:10

    안녕하세요. 입문자인데요...여쭙고 싶은게 있습니다.
    1. 공장자동화, 자동제어, 하드웨어제어 등등 C, C++, C# 으로 프로그램 개발해서 쓰는 분야들 있잖아요. 취업사이트에서 c++ c# 으로 검색하면 나오는 회사들에서 하는일들이요. 미래에는 이런 업무들이 c,c++,c# 기반 응용소프트웨어가 아니라, java 기반 웹 프로그래밍으로 언어가 바뀔수도 있을까요?
    2. 위의 분야의 일을 하고싶어서 c++ c#을 중점적으로 공부하려고생각중입니다. 코어 c++로 만들고 이외의 부분이나 ui는 c#으로 만든다고도 하는데(규모가 클때 그렇겠죠? 작으면 c++도 안쓰고 c#만 쓰기도 하는지?) 그럼 mfc나 c언어용 win32 api는 굳이 배울필요없나요?
    3. tcp/ip 기본서랑 자료구조/알고리즘 도 공부해야하나요? 업무에 어느정도 활용되고 어느정도까지 알아야하나요.
    4. 리눅스배워야하는지 궁금합니다.

    • 2017.04.12 18:22 신고

      1. 바뀐다해도 규모는 작을 겁니다. 특히 반도체 장비쪽은 가능성 0%고 저나 님이 늙어서 저 세상 가는 시기가 되어도 계속 MFC일겁니다.

      2. 회사마다 달라서 뭐라 할 말이 없네요. 요즘 추세만 보면 C#은 맞는 거 같아요. 그리고 님 말씀도 맞고요. 회사마다 달라요.

      3. tcp 등 네트워크는 무조건 알고 있는게 좋습니다. 써먹을 때가 많거든요. 그리고 입사 지원할 회사의 폭도 넓어집니다.

      자료구조나 알고리즘은 왜 배우냐면, 그냥 그것만 알고 있으라는 게 아니라, 기본적인 컴퓨터 공학적 지식을 집대성한 것이라 보셔야 돼요. 따로 공부하는 걸 추천하는 편이지만, 일단, 코딩 이쁘게 하는 걸 먼저 챙겼으면 좋겠네요.

      4. 글쎄요... 이것도 회사랑 사람마다 상황이 다른지라 뭐라 할 말이 없네요.
      제 경우엔 회사에서 해야할 일이 생겼기에, 회사에서 공부하며 일했습니다.

      음... 이제 입문자라면, 폭넓게 지식을 받아들일 수 있다는 것을 어필하세요.

    • 자바
      2017.04.12 19:23

      답변감사합니다~ 도움되었습니다.
      좋은하루되세요^^

Designed by JB FACTORY