개발이 나에게 맞을까?
개발 분야 선택하기
개발자가 되기로 결심했다면, 무엇을 만드는 개발자가 되고 싶은가? 를 고민해보아야 한다. 다음은 해당 분야에서 사용되는 언어 중 주력 언어를 선정해야 한다. 어떤 개발을 하고 싶으냐에 따라 언어도 달라지고 앞으로의 개발 커리어 패스도 달라진다. 예컨대, 웹 개발자가 되고 싶다면 Java/Javascript, AI분야 또는 게임 분야에서는 Pyhton, 안드로이드는 Java/Kotlin , iOS 는 Objective-C/Swift언어를 타겟으로 공부해야 한다.
쉬운 이해를 위해 'Java 웹 개발자'로 진로를 정했다는 가정하에 예를 들어보자. 다음으로 정해야 할 것은 '웹 개발 내의 분야'이다. 웹 개발의 경우 프론트엔드/백엔드로 나누어 진다. 사실 나에게는 이 부분이 가장 어려웠다. 내가 어떤 개발에 맞을지는 나 스스로도 잘 몰랐기 때문이다. 가장 확실한 방법은 실전 프로젝트를 통해 직접 경험 해보는 것이다.
*프론트엔드 / 백엔드 란?
프론트엔드는 사용자에게 보여지는 화면 영역을 의미한다. 반면에 백엔드는 사용자에게 보여지지 않는 영역을 의미한다. 즉, 프론트엔드는 '클라이언트 개발', 백엔드는 '서버 개발'이라고 할 수 있지요. 백엔드 영역은 서버뿐만 아니라 운영체제, 데이터베이스, 네트워크 등 실제로 굉장히 방대하다. 때문에 시스템의 규모가 클수록 백엔드 내에서도 전문분야를 나누어 맡게 되는 경우가 많다.
나의 경우, 개인 웹사이트 구축 프로젝트를 통해 프론트/ 백엔드를 모두 경험 해 보았는데 화면단과 서버단을 개발하는 과정에서 화면단 개발에서 시간이 훨씬 오래 걸렸고 스트레스를 받았다. 백엔드의 경우 컴파일 시, 오류가 나면 바로 어떤 부분에 에러가 있는지 직관적으로 찾을 수 있는 반면에 화면단에서의 오류는 실제로 컴퓨터가 오류라고 인식을 하지 않는다. 예를 들어 화면은 비율이 정확히 맞아야 하는데 비율이 조금이라도 틀어지면 레이아웃 요소들이 제멋대로 위치하게 된다. 이 현상은 사실상 컴퓨터의 입장에서 오류는 아니다.
직접 어느 부분의 비율이 어떤 식으로 틀어졌는지 찾아내어 맞추어 가면서 코딩해야 한다. 이런 과정이 나에게는 고통스럽게 다가왔다. 하지만 누구에게는 내가 코딩하는 부분이 바로 화면단에서 눈으로 보여지기 때문에 이 과정이 오히려 보여지지 않는 백엔드보다 재미있다고 말하기도 했다.
이처럼 직접 경험을 해보고 나에게 흥미를 주는 분야가 무엇인지 판단하는게 가장 정확한 판단일 것이다.