[Java로 실시간 겜서버 엔진 개발 가능? ㅇㅇ 가능]를 시청하고
[Java로 실시간 겜서버 엔진 개발 가능? ㅇㅇ 가능]를 시청하고
자기 전에 간단한 후기를 작성하려고 한다. 해당 영상의 내용을 작성하기 위함이 아니고 보고나서 든 생각을 적는다.
벼르고 벼르던 영상을 시청하였다. 취준할 때부터, 그리고 지금도 게임서버 제작에 많은 관심을 가지고 있다. 공연히 게임서버는 C++, C#으로 만드는 것으로 알고 있었고 나도 그렇게 공부하고 개발해왔다. 자바로 그것이 가능할지, C++, C#으로 만드는 과정과는 어떤 차이점이 있을지, 왜 이분들은 자바를 선택했는지 궁금하여 영상을 시청하였다.
영상을 다보고 느낀 결론은 이렇다.
지금 공부하는 나의 처지에서 C++을 쓰든 자바를 쓰든 그것은 별로 중요하지 않다. 중요한 것은 컨셉
이었다. DB, 네트워크 지식과 클라이언트-서버 구조, 소켓 프로그래밍, 게임 서버의 아키텍처적인 개념을 올바르게 이해하는 것과 프로그래밍 실력이었다. 툴
을 잘 사용하는 것도 중요하지만 그건 선순위의 것이 아니었다.
난 취준할 때 파이썬, C++을 가지고 주로 개발을 했었고 그때 쌓은 프로그래밍 실력과 지식으로 현재 일을 하고 있다. 근데 난 자바를 전혀 모르는데 현재 회사에서 자바로 개발을 하고 있는데, 최근 수행한 프로젝트를 진행하면서 개발 할 수록 스파게티 코드가 되어가고 있었다. 이것은 내가 자체 프레임워크 사용법이나 자바를 모르기 때문이 아니었다. 웹 개발의 구조와 MVC패턴, 클린하고 리팩토링하기 좋은 코드의 작성법 등의 몰이해 때문이었다. 다시 한 번 느낀 것은 언어는 도구일 뿐 진짜 중요한 것은 그 기저에 있는 컴퓨터 공학 기본 지식과 프로그래밍 실력이라는 것이었다. 난 그것이 부족하였다.
그러니까 결론은 지금 단계에서는 도구, 툴의 사용법에 너무 매몰되지 말고 내가 자신있고 좋아하고 익숙한 언어로 내가 공부하고자 하는 분야의 전반적인 ‘컨셉’을 우선적으로 이해하고, 프로그래밍의 근간이 되는 컴퓨터 공학의 기본지식들을 함양하고 프로그래밍 그 자체의 실력을 키우는데 당분간 정진하자는 것이다. 그것이 내가 생각하는 순서이고, 내가 생각하는 더 나은 소프트웨어 엔지니어가 되기 위한 길이다.