Intro
1년 간 공부를 진행하며 내가 어떤 방향이랑 맞을지에 대해서 생각을 많이 해보게 되었다. 웹, 게임, 앱 등 여러가지 개발자로 나뉠 수 있고, 그 안에서도 프론트, 백엔드 등 여러가지로 나뉘게 된다는 것을 알았다. 당연히 내가 적은 분야만이 있는 것이 아니라, 내가 알지 못하는 많은 분야들이 존재하고 그 분야로 나아가는 분들이 많다.
내가 어떤 분야를 선택해야 하는지에 대해서 많은 경험을 해보지는 못했지만, 42서울 과제중 Webserv, Transcendence라는 과제를 진행하며 프론트엔드보다는 백엔드쪽에 조금 더 관심이 가게 되었고, 어떠한 사이트를 만들어 보는 과정에서 데이터베이스 연동 및 데이터들을 관리하고 처리하는 과정에서 재미를 가장 크게 느꼈다고 생각해서 웹 백엔드쪽으로 진로를 정하게 되었다. 사실 이제 공부를 시작하는 과정에서 얼마나 많고 높은 산들이 존재하는지 다 알지 못하지만 열심히 해보고자 한다
백엔드 공부를 시작함에 있어서, 어떻게 공부를 시작해야 할 지 많은 고민을 가지게 되었다. 현재 많은 것을 최대한 경험해보고자 인터넷 강의도 듣고 있고, 작은 프로젝트에서도 게시글 관련 작업을 하는 파트를 맡아서 조금씩이나마 지식을 배워가고 있다. 밑에 쓰는 글 과정에서는 내가 백엔드 공부에 대해서 어떻게 진행할 것인지에 대한 혼자만의 생각을 정리해보고자 한다.
How
사실 백엔드를 공부해야지~ 라고 생각을 했음에도 내가 구글 검색창에 칠 수 있는 방법은 단순히 백엔드 로드맵, spring 사용법 등 단순한 검색만이 가능한 상태였다. 당연히 그 안에 많은 내용들이 있었지만 아무런 지식이 없는 나로서는 "이런건 나중에 직접 해보다가 궁금할 때 검색해보면 되겠지" 라는 생각으로 넘어가게 되었다.
그 후, 프로젝트에 참여할 기회가 되어 참여를 하게 되었고, 첫 백엔드 팀원들과의 회의 때 상당히 많은 충격을 받게 되었다. 그 이유는, 대부분의 이야기에서 내가 모르기 때문에 회의 때 한 마디도 꺼내지 못하고 듣기만 했기 때문이다. 당연히 더 많은 시간을 할애해서 진도를 따라가야 하는 입장에서 모르는 단어가 나오면 메모장에 전부 적고 하나하나씩 찾아보게 되었고 그 다음 회의부터는 조금씩이지만 이야기를 같이 나눌 수 있게 되었다.
즉, 검색을 했을 때 모르는 단어가 나온다면 일단 적어두고 찾아봐서 간단한 개념이라도 알아 둔 다음에, 이후에 내가 어떠한 작업을 할 때에 필요한 개념을 떠올릴 수 있게 되고, 이를 그 후 자세히 알아보고자 했다.
사실 시작한 지 1달 정도의 기간밖에 되지 않아서 추후 서술할 내용은 앞으로 내가 이렇게 변화를 하고 공부를 하면 좋겠다는 내용을 적고자 한다.
1. 설계를 최대한 꼼꼼하게 한다
- 42서울의 Transcendence라는 5인 팀과제를 진행함에 있어서, 5명 모두 프론트, 백 등에 대한 기본적인 지식이 부족한 상태에서 시작을 했다. 첫 회의 때의 느낌은, 일단 ~~한 방향으로 하다가 아닌 것 같으면 수정하자 라는 이야기를 했다. 이러한 내용의 회의 이후에 각자 공부를 하고 코드를 작성해서 추후 합치게 된 결과, 내가 생각해서 보내준 방식의 값을 프론트 측에서는 다르게 받아들이고, 프론트측에서는 내가 원하지 않는 값을 body 및 param으로 보내게 되어 다시 코드를 수정해서 맞추는 과정을 여러 번 반복해서 진행했다. 만약 처음에 단 3~4일의 시간이라도 기본적인 지식을 공부하고 request와 response를 맞추는 과정을 진행했더라면 더 좋은 결과가 있었을 것 같다.
2. 테스트코드를 잘 작성해본다.
- 사실 지금도 제대로 시도조차 못해본 방법이다. 하지만 실제로 TDD 라는 테스트 주도 개발을 통해서 테스트 코드를 먼저 작성한 후 이에 맞춰서 메인 코드를 작성하는 방법이 있다는 이야기를 들어보게 되었다. 또한 여러가지 글에서 테스트 코드에 대한 중요성들을 많이 이야기 하고 있어서, 이를 생활화해서 잘 사용해보면 좋겠다는 생각을 했다.
정말 공부를 시작하는 단계여서, 아직 생각할 수 있는 범위가 좁고 지식이 많지는 않지만 차근차근 정리해가며 이를 토대로 발전해나가는 내가 되고싶다.. 추후에 더 좋은 방법들이 생각나게 되면 점점 추가해보는 것이 목표이다.
'Back-End' 카테고리의 다른 글
[AWS] AWS, EC2, S3란 무엇일까? (0) | 2023.11.10 |
---|---|
[Java] Long? long? Wrapper Class에 대하여 (4) | 2023.11.09 |
[Spring] 스프링 DB 접근 기술 (0) | 2023.11.08 |
[Backend] 디자인패턴 - MVC패턴 (2) | 2023.10.09 |
[Backend] REST, REST API, RESTful (0) | 2023.10.08 |
댓글