여기 눈팅을 요새 하고 있는데 좀 충격인게, 기초가 안되어 있는 조언자들이 너무 많은 것 같음.
적어도 Computer science 기초는 탄탄한 것을 전제로 얘기를 해야 하는데 게임 웹서버 짜는데 C++ 드립치고 앉았고(드립이었겠지?)
1. 일단 CS 전공 필수 과목은 제대로 공부하고 다른거 해라.
자료구조, 알고리즘, OS, 컴퓨터 구조, 컴파일러, 컴퓨터 네트워크, Database, 소프트웨어 공학
위 과목들을 존나게 잘할 필요는 없으나 학교에서 배우는 수준에서 뭘 모르고 있다면 여기부터 출발해서 다시 공부해라. 취미로는 상관없는데 프로로써 일하는데 학부 과목도 안뗐으면 쪽팔린거다.
2. 자기가 어떤 언어로 밥벌어 살려면 spec은 보고 얘기해라.
니가 java를 쓴다면 jvm spec이나 java spec 정도는 알아야 한다.
C/C++을 쓴다면 TCPL, TC++PL이나 ISO 표준안 정도는 봐야 한다.
Web front end를 한다면 HTML, CSS, Ecmascript 스펙은 보고 얘기해라.
이걸 다 봐야 한다는건 아닌데, 적어도 필요한 부분을 찾아 볼 정도는 되어야 한다. 스펙 모르는 놈들이 언어 책쓰고 이런거 볼 때마다 극혐이다.
스펙을 봐야 하는 이유는 스펙의 모든 사항을 다 외워야 하기 때문이 아니고, 스펙에서 공식적으로 사용하는 단어를 알아야 한다. C++한다는 놈이 vtable이 뭔지 RTTI가 뭔지도 모르면 문제가 있는거다. 스펙 안읽었으면 걍 그 언어 할 줄 안다고 말하지 마라.
3. 진짜 어떤 것에 대해 궁금하면 해당 전문가를 찾아가라.
여기서 제일 웃겼던 것이 교수를 좀 무시하는 분위기가 있던데, 실무는 교수의 영역이 원래 아니다. 그 분야가 교수의 영역이지. 해당 분야에 대해선 학교 교수한테 찾아가서 물어보면 답을 해주거나 혹은 답을 해줄 수 있는 사람을 추천해 줄 거다. 이론에 관련해선 교수한테 물어봐라.
커리어에 대해서 물어볼게 있다면 디씨 같은 데도 좋지만 Linkedin 들어가서 네가 가고 싶은 회사 검색해서 나오는 사람들한테 메일 보내라. 혹은 네 분야에서 유명한 conference 연사 목록 중에서 찾아서 메일 써라. 답을 못받을 수도 있는데, 병신같이 답 받는 것 보다는 몇번 메일 써서 답을 제대로 받는게 훨씬 좋다.
그리고 개발자 커뮤니티 모임 나가서 물어봐라. 한국의 현실이나 앞으로 커리어에 대해서 많이 알려준다. 맛있는 것도 사준다.
참고.
난 딱 언어 하나 배우고 이제 어떤거 해볼까요, 하는 학생들에게 추천하고 싶은 책이 있다.
바로, 해리 J.W. 퍼시벌의 "클린 코드를 위한 테스트 주도 개발" 이라는 책이다. 이 책은 To-do list를 만들면서 TDD를 수련할 수 있게 도와주는 책이다. 결과물도 내볼 수 있고 기초적으로 체계적 개발을 해볼 수 있다. 하면서 재미를 느끼고 Agile, XP에 대한 것도 읽어보고 해라. 오래 일하려면 재밌게 일해야 하고 생산성 있게 일해야 하는데 그에 대한 통찰을 얻을 수 있다.
프갤에 오신걸 환영해요!
에릭마이어도 자바스펙 기괴해서 못읽겠다고 때려쳤는데...? 단어에 익숙해지는게 목적이면 영문위키와 해외커뮤니티를 들락날락하는게 더 효율적이지 않을까 싶은데
수학처럼 바텀업으로 배우는 것도 괜찮지만 컴퓨터과학만큼 자신이 풀고싶은 문제부터 선정하고 그거부터 푸는 방식으로 탑다운으로 배우기 적합한 학문도 없다고 생각
답은 [Java]로 [어플개발]이다.
C배웠으면 콘솔게임. 포인터와 구조체에 자신이 생겼으면 [SDL]
@cc: 스펙이 아닌 곳에서 "이해가 쉬운" 방식으로 습득해서 틀리는 경우 꽤 있다. 아마 에릭마이어도 스펙을 못읽겠다고 때려칠지언정 필요한 경우엔 읽을 수 있는 능력을 갖췄을 것이라고 기대한다. 스펙이 새로 나왔을 때 스펙만 보고도 내가 새로 배워야 할 것이 뭔지 알 수 있어야지 다른 사람보다 앞서나가는거다.
그리고 top-down이든 bottom-up이든 상관없는데 결론적으로 프로로 일할 땐 다 알아야 한다. 과정에 대한 얘기는 자기가 맞는 방식으로 하는게지. 나도 top-down 으로 공부했음
@@: 감사합니다. 디씨는 반말이 예의라고 주워들어서 반말로 썼습니다.
참고로 내 글은 프로페셔널 개발자를 위한 글이고, 취미로 하는 사람에겐 해당하지 않는다. 밥벌이 할 것에 대해서는 정확히 알아야 한다고 생각한다. 개발자는 리스크 관리를 위한 유닛이므로, 자신이 작성한 코드가 동작하는 것을 제대로 예상할 수 있어야 한다.
여기 그런거 신경써야 할 수준의 프로가 없음