제가 대학생때 했던 고민과 같네요:) 저도 학부시절 동안 프론트엔드와 네이티브를 경험해보고 백엔드로 진로를 결정했었는데, 그 과정에서 그럼 언어와, 이에 따라 달라지는 프레임워크는 어떤 장단점으로
제가 대학생때 했던 고민과 같네요:) 저도 학부시절 동안 프론트엔드와 네이티브를 경험해보고 백엔드로 진로를 결정했었는데, 그 과정에서 그럼 언어와, 이에 따라 달라지는 프레임워크는 어떤 장단점으로 구분해서 바라보고 어느 걸 선택해야 더 좋은 결과를 얻을까 고민했었어요! 결론부터 말하면 “하고싶은 걸로”입니다 ㅎ 저는 취업을 위해 코딩테스트를 준비하면서 파이썬에 익숙해져서 장고로 공부를 시작했고, 지금은 스프링을 사용해서 일하고 있어요. 지금 생각해보면 이렇게 달라진 이유는 숲을 볼 능력이 없어서 그랬던 것 같아요. 나무에만 초집중을 했던 거죠..ㅎㅎ 백엔드 엔지니어라는 것을 스스로 어떻게 정의하고 계신가요? 보통 프론트엔드와 대조하면서 “반대의 일”을 하는 정도로만 아는 경우가 있습니다. 프론트엔드 개발자도 마찬가지겠지만, 백엔드 개발자는 “문제 해결을 위한 모든 것”을 합니다. 단순히 CRUD 동작을 하는 Api를 서빙하는 일로 끝나지 않고 그 안에서 더 빠르게, 더 안전하게, 더 가용성있게 구련할 방법을 떠올립니다. 때문에 아키텍처와 디자인 패턴 및 알고리즘 등이 사용되고 학부때는 경험이 없던(할거라고 생각도 못했던) 메시지 큐를 배워서 도입하기도 하고, 알려진 SSO 인증 구현 방식을 뜯어보며 어떻게 사내 서비스에 적용할지 고민하기도 하죠. 이런 무수히 많은 나무들을 겪다보면 어느새 숲이 보입니다. 그리고 프레임워크, 그리고 언어라는 것은 개발자 입장에서 도구일 뿐이라는 걸 알게됩니다. 결국엔 내가 글을 쓰기로 했는데 연필로 쓸까 볼펜으로 쓸까 고민하는 것에 불과해요. 우선, 익숙한 것으로 글을 쓰세요. “일단 시작하라”는 말은 IT업계에서 특히 어울리는 표현이에요. 컴퓨터 하나만 있으면 어디서든 시작할 수 있는 업계에서 사소한 고민은 사치입니다. ㅎㅎ 스프링을 더 많이 쓴다던가, 파이썬이 다양하게 쓰인다던가, 이런 조언은 무의합니다. 우리는 문제해결을 하는 사람들이고 그 도구는 상황에 맞는 적절한 것을 선택합니다. 어느 하나를 정해두고 일을 시작해도 언젠가 내가 선택한 것이 레거시가 될 때, 다시 새로운 공부를 시작하게 될 겁니다. 개발에는 끝이 없고 만병통치약과 같은 하나의 완벽한 해답은 없습니다 :)