카테고리 없음

앞으로의 백엔드 공부계획(feat.현실적인 비전공자의 백엔드 공부법)

mejii 2024. 3. 29. 10:47

저는 비전공자이며 백엔드 공부는 처음이기에,

두서없는 점 참고바랍니다'ㅅ'..

(Feat. zero base)

 

백엔드 공부를 위해 제일 먼저 알아야 할 것은 바로

컴퓨터 공학 기초 이론이라고 한다.

백엔드를 이해하기 위해선 흔히 말하는 컴퓨터 공학 지식을 이해하고 있는 것이 중요하다.

컴퓨터 공학 지식은 코딩을 잘하기 위해 필요한 것이 아닌 문제가 생겼을 때 이 문제를 해결하기 위해

필요한 것이다.

컴퓨터 공학 지식에 더해 프로그래밍 기초, 데이터 구조 및 알고리즘, 데이터베이스, 서버 측 개발 등 기본기가 탄탄해야 한다.

프로그래밍 언어나 개발에 필요한 지식의 기본은 컴퓨터 공학, CS이다. 이런 기초 지식이 있어야 문제가 일어났을 때 트러블 슈팅에도 도움이 된다. 데이터베이스의 원리나 엔진, 네트워크, 알고리즘/자료구조 같은 기본 지식이 깔려 있어야

 Java, 스프링 등 언어를 제대로 배울 수 있다. 실제로 운영을 하다 보면 언어단에서의 문제보다 CS에서 문제가 잘 일어난다고 하는데.

이러한 기초 지식이 기반이 되어야 문제 상황에 대해 깊게 이해하고, 다양한 상황을 고려해 개발할 수 있는 개발자가 된다!

 

 

현재 나는 CS 공부 중에서 자료구조와 알고리즘 파트에 대해 공부 중이다.

하지만, 자료구조의 종류도 너무 많고, 코드의 이해도 잘되지 않는다.

(강의를 듣고 코드를 이해하기 위해 계속 디버깅하고 또 디버깅해 겨우 이해하는 수준)

그렇기에, 이해도 100%는 되지 않고, 현재 코드를 구현하기는 정말 사실 어렵다.

 

위와 같은 기본기를 갖췄다면 프로젝트를 통해 나의 전문성과 차별성을 돋보이게 만들어야 한다.

백엔드 개발자에게 포트폴리오는 이제 필수 항목이 되고 있기 때문에 내가 개발을 위해 어떤 경험을 했는지, 단순히 코딩으로 구현한 것이 아닌 개발을 해보며 맞닥뜨린 문제들, 문제 해결 경험, 깨달은 것들이 나타나게 구성해야 한다.

(이를 위해 틈틈히 블로그에 맞닥뜨린 문제와 깨달은 것들을 생생히 기록하고자 한다.)

 코딩테스트도 미리미리 준비해야 한다고 하는데, 코딩테스트 실력은 한순간에 바로 올라가는 것이 아니기 때문에

차근차근 쉬운 문제들부터 난이도를 올려가며 문제를 풀어나가는 것이 좋다고 한다.

라이브 코딩테스트를 통해 요구하는 기능을 제한된 시간 안에 구현하거나, 문제를 어떻게 해결하는지를 보게 되는데,

알고리즘 코딩테스트라고 하는 이 코딩테스트는 자료구조/알고리즘을 잘 이해하고 있어야 합니다. 결국 기본기를 말한다.

(자료구조 너무 어렵다! 하지만 또 중요하다고 한다.)

이 기본기는 초반에 탄탄하게 잘 갖춰놓는 것이 좋다고 한다. 기술 스택이나 프레임워크들은 빠르게 생겨나고 늘 변하지만,

CS나 알고리즘 등 기본기는 과거나 지금이나 변하지 않고 그대로 사용되는 개념!

 

제로베이스 백엔드 스쿨 커리큘럼

 

나는 비전공자이며, 학교에서 코딩을 한 적도 없는 정말 말그대로 첫 걸음마를 뗀 상태이다.

그렇기에, 내가 주도적으로 무엇이 필요하다! 이를 보충해야겠다는 계획이 제대로 생기지도 않고

구현도 되지 않기에,

제로베이스 백엔드 스쿨 커리큘럼에 맞추어,

먼저 Java 기본기 몰입학습을 충분히 시간을 가지고 꼼꼼히 해볼 것이다.

코드를 단순히 복사 붙여넣기하는 수준이지만,

결국 코드 모방(붙여넣기)하기로 부터 시작된다고 생각한다.

그리고 무엇보다 코딩에 익숙해지기 위해 시간을 투자할 것이다.

 

백엔드 공부를 시작하는 초반부터 시작하면 좋을 것이 하나 있다고 한다. 바로 기술면접 준비인.
기술 면접은 컴퓨터 공학 지식을 얼마나 알고 있는지 보기 위해서 치르는 면접이라고 할 수 있다.

기술 면접의 기본인 CS 지식은 개발자가 서비스를 개발하는 과정에 있어 비즈니스 로직을 생각해 내기 위해 필요하다.

하지만 이 CS 지식 워낙 과목도 많고 양이 방대해 관련 강의를 찾아 배우는 것이 어렵다.

따라서 사이트에 많이 나와있는 기술 면접 질문들을 찾아 질문에 대한 답을 하며 공부하는 것이 가장 효율적인 공부 방법이다.
기술 면접 질문에서 찾은 키워드를 구글링해서 최상단에 나오는 글, 가장 최근에 작성된 글을 읽은 후 개념을 정리하는 것인데,

이런 식으로 질문 선정 - 키워드 선정 - 개념 공부 - 정리의 순서로 진행하면 된다고 한다.

 

참고글:

https://zero-base.co.kr/event/media_insight_contents_BE_backend_study?gad_source=1&gclid=Cj0KCQjwqpSwBhClARIsADlZ_TkTtiaXvkCvBDdmPY1qYjE7ielnNWqLx5eFMlLBTTHn66WRGy6lExcaAh8pEALw_wcB