컴퓨터공학과과에서 프로그래밍을 배우면서 게임 개발에 관심이 생겼습니다. 그래서, 혼자서 Unity를 독학도 해보고, 전공 과목과 졸업 작품으로 팀 혹은 개인으로 게임을 만들어 보고자 시도해보았습니다. 하지만, 전문적이고 체계적으로 게임을 만드는 방법을 학습하지 못 하여 수 많은 버그와 완성도가 낮은 게임이 만들어졌습니다. 그러한 상황 속에서 시간이 흘러 학교에서의 마지막 학기가 끝나고 졸업(24년 08월 졸업 예정)을 눈 앞에 둔 시점에서 방황을 하던 중 게임서버(Node) 트랙 부트 캠프를 발견하게 되었습니다. 이번 게임서버(Node) 트랙을 통해 게임 서버와 관련된 기술을 습득하고, 나아가 게임 서버 개발자로 취직하고 싶습니다.
내가 이해한 개발자는 어떤 역할을 하는 사람인가요?
제일 먼저 떠오르는 개발자란, 어떤 프로그램으로부터 사용자가 하고자 하는 행위를 만들어 가는 직업이라 생각합니다. 또한, 사용자가 어떠한 행위를 수행할 때 이질감과 문제가 생기지 않도록 예외처리 및 테스트를 진행하여야 하는 직업이라 생각합니다. 깊게 생각했을 경우 Client와 Server 간의 통신, Data 관리, 운영체제 개발 등 가시적이지 않은 부분에서도 개발 및 유지 보수를 하는 직업이라고 생각합니다.
개발을 경험해보셨나요? 해보셨다면 어떤 경험을 하셨는지를 작성해주시고, 아니라면 개발에 대해 찾아본 것을 작성해주세요.
Unity의 Photon Pun2를 이용해 팀원들과 Fall Guys 모작을 만들어 본 경험이 있습니다. 하지만 SOLID 원칙과 같은 디자인 패턴을 배우지 않은 상황에서 개발을 진행하여 멀티 플레이의 동기화 문제에서 많은 오류가 발생했고, 유지 보수 및 확장성이 결여된 결과물이 만들어졌습니다. 또한, 졸업 작품으로 혼자서 3D FPS 좀비 디팬스 게임을 만들어보고자 시도해보았습니다. 하지만, 위의 사례와 마찬가지로 디자인 패턴을 배우지 않은 상태라 유지 보수 및 확장성이 결여 됐고 오브젝트 풀링 방식에서 문제가 생겨 좀비 리스폰에 문제가 생겨났습니다.
개발자의 역할을 수행하는 데에 있어 나의 강점과 연관된 부분은 무엇이라고 생각하나요? 혹은 보완, 개선하고 싶은 개인 역량이 있나요 ?
강점은 아직 두두러지는 부분이 없다고 생각합니다...
보완, 개선하고 싶은 개인 역량으로는 C, C++, C#, Java 같은 기본 프로그래밍 언어에는 자신이 있지만, DataBase, Javascripts, HTML + CSS 등의 언어에 약한 모습을 보여 이번 기회에 개선하고 싶고, Node.js를 배워본 경험이 없어 이번 기회를 바탕으로 사용 방법을 완벽하게 다룰 수 있게 학습하고 싶습니다. 또한, 체계적인 프로그래밍을 바탕으로 유지 보수 및 확장성을 가진 결과물을 만들어보고 싶습니다.
아직 GitHub를 제외한 다양한 협력 도구를 사용해 본 경험이 없기 때문에 협력 도구를 능숙하게 다루지 못 하고 있습니다.
과거 혹은 현재의 업무와 연관 지어도 좋습니다. ‘능력’을 기준으로 고민해주세요.
본 코스 수료 후, 어떤 개발자로 성장하고 싶나요?
기본 프로그래밍 문법 뿐만 아니라 실제 사용되는 분야의 프로그래밍 언어 사용 능력이 크게 향상된 개발자가 되고 싶습니다. 또한, 프로그램을 체계적으로 설계하고 작성하여 유지 보수 및 확장성 있는 결과물을 만들 줄 아는 개발자가 되고 싶습니다. 마지막으로 다양한 협력 도구를 능숙하게 다룰 줄 아는 개발자가 되고 싶습니다.
그 외에 개발 트랙에 기대하는 것이 있다면 자유롭게 작성해 주세요.
컴퓨터공학과를 전공했지만, 아직 부족한 부분이 굉장히 많습니다... 제가 뒤쳐지지 않고, 포기하지 않게 잘 지도해주셨으면 합니다... 감사합니다