본문 바로가기

Daily Life/Company Life

[게임회사생활] 개발자 취준생 분들이 입사지원을 한다. 그치만...

반응형

일기 같은 느낌으로만 봐주세요~


 최근 내가 다니는 회사가 증원을 위해 사람을 모집하기 시작했다. 내가 한 모집 사이트를 관리하면서 면접도 보게 되었는데 (4개월 차 신입 사원에게.. 그것도 제일 막내인 나에게 이런 걸 시키시다니 ㅋㅋㅋ...) 모델러의 경우 포폴로 볼 수 있는게 많다. 자소서 같은 비언어적 표현 속에서도 그들의 성격을 어느정도 파악할 수 있었고, 어차피 회사의 신조가 일단 시키고 아니면 빠이빠이라 대화 잘되고 기초는 되어 보이면 바로 OK 하고 언제 일할거냐고 물어볼 수 있다.

 근데 개발자는 그런게 안된다. 애초에 개발자스러운? 마인드를 갖고 있는사람들은 비언어적이든 언어적이든 일상적인 대화가 잘 안된다. (그걸 느낀건 내가 일상에서도 잘 느끼고, 다른 개발자 분들을 봐도 그렇다. 성격이 쓸데없이 깐깐해져 버리고 생각이 많아서 대화가 잘 안되는 경우가 많다. 물론 케바케지만... 보편적인 듯) 그래서 소통능력을 최소한으로 보고 성격과 일을 잘할 수 있는지만 보려 했다. 그렇지만 이게 말이 쉽지.. 성격은 대화를 통해서 대충 파악한다 치지만 능력이 문제다. 포폴로 봐선 알 수가 없다. 은근 많은 지원자가 게임학과, 게임학원을 이수하고 거기서 제공해주는 커리큘럼을 통해 포폴을 작성해와서 다 똑같다. 딱히 차이점도 없으며, 아무리 잘해도 유니티의 기초적인 부분을  집약해서 간단한 게임 하나 만들어둔 정도. 물론 완성해두었단게 중요한거지만, 나는... 우리 보스는 개발자는 만들었단게 중요한게 아니라 생각한다. 

 내가 생각하는 (클라이언트) 개발자의 능력은 이렇다 생각한다.

1. 프로그래밍 언어를 작성하는 능력 -> 말 그대로 그냥 탑재하고 있어야한다. 이건 할 수 있냐고 물어보는 것도 참 실례다. 이 것도 제대로 못하면서 입사지원을 하는 것도 참 실례다.

2. 하드웨어(컴퓨터구조론) 적 기초 개념 -> 컴퓨터가 무엇으로 이루어져있고, 어떻게 작동하는지의 기초적인 개념은 있어야 한다 생각한다. 소프트웨어 개발자가 이런걸 왜 알아야 하냐고? 소프트웨어를 구동할 수 있도록 하는 것이 바로 하드웨어다. 이를 알아야 본인이 작성했을 때 심도 있는 에러나 예외가 발생하는 것을 방지, 회피 할 수 있고 발생하였을 경우 해결할 수 있어야 하는데 이런 개념을 모르는 분들이 너무 많다. 

3. 운영체제론적, 설계적 기초 개념 -> 사실 이 타이틀은 안 어울리는 것 같지만, 이번 항목에서 말하는 개념은 최소한 '프로그램과 프로세스', '프로세스와 스레드' 이들의 차이를 설명할 수 있어야 한다 생각한다. 자기가 무엇을 만들며 어떻게 만들 것이며 같은 시스템 설계적 느낌도 안갖고 있다면 어떻게 이 사람에게 내가 알기 힘들게 될 부분의 코딩을 맡길까.. 

4.네트워크 기초 개념 -> UDP/ TCP /HTTP / IP 정도의 기초적인 개념을 OSI 7 LAYER 기반으로 설명할 수 있었음 좋겠다. 클라이언트 개발자라고 네트워크 개념을 몰라선 곤란하다. 물론 개발 자체에선 잘 안쓸지도 모른다. 인정한다. 하지만,  그건 아래의 이유를 보면 어느정돈 공감될거라 생각한다.



-이유-

1번 항목을 공부하면서 네트워크에 대해서, 하드웨어에 대해서, 프로세스와 스레드, 네트워크에 대해서 언급이 안된 것이 있을까? 난 위의 항목을 전부 JAVA 언어 하나를 공부하면서 접하고 익히게 되었다. 그리고 이후 대학에서 (다들 말하는 지잡대에서) 조금 더 심도있는 전공서적을 보고 더 접하게 되었을 뿐이었다.



-따라서-

기초는 되어서 와주세요. 부탁드립니다! 




반응형