앞으로의 백엔드 공부 계획 (feat. 백엔드 공부법)

LeeSeungEun·2023년 6월 1일
0

1. 백엔드 공부 계획

  • 아직은 JAVA 언어 공부에 집중하고 있어서, 넓게는 생각하지 못하였고 추후 하나씩 더 추가하여 백엔드 개발자가 되기 위해 노력 할 것이다 !

A. JAVA 언어 공부

  • 자바의 정석 교재 구매 및 정독
  • 백준/프로그래머스 코딩테스트 준비

B. 데이터베이스 공부

  • SQLD 자격증 취득
    • 데이터 모델링: 논리적 데이터 모델과 물리적 데이터 모델링 기법을 이해하고 적용하는 능력을 평가한다.
    • SQL 프로그래밍: SQL 문법과 기능을 이해하고, 쿼리 작성과 최적화, 데이터 조작 및 제어, 뷰와 인덱스 관리 등에 대한 이해를 평가한다.
    • 데이터베이스 구축 및 운영: 데이터베이스 설치와 구성, 데이터베이스 객체 관리, 트랜잭션 관리, 백업 및 복구 등에 대한 지식과 능력을 평가한다.

C. 프로젝트 진행

  • 프로젝트 아이디어 도출:
    먼저, 어떤 종류의 개인 프로젝트를 진행할지 결정해야 한다. 백엔드 개발 관련된 주제, 관심사, 문제를 해결하거나 혁신적인 아이디어 등을 고려한다. 주제를 선정할 때는 실용적이고 구현 가능한 범위 내에 있는지 확인해야 한다.

  • 요구사항 정의:
    프로젝트의 목표와 요구사항을 명확히 정의해야 한다. 어떤 기능을 구현할 것인지, 어떤 데이터를 다룰 것인지 등을 포함시켜야 한다. 이를 통해 프로젝트의 범위를 제한하고 목표를 더욱 명확히 이해할 수 있다.

  • 기술 스택 선택:
    백엔드 개발에 필요한 기술 스택을 선택해야 한다. 프로그래밍 언어, 웹 개발 프레임워크, 데이터베이스 등을 고려해야 한다. 선택한 기술 스택은 개인 프로젝트에서 사용될 도구와 기술을 결정하는 데 도움이 된다.

  • 프로젝트 계획:
    프로젝트를 단계별로 계획해야 한다. 주요 기능, 구현할 모듈, 일정 등을 나열하고 우선순위를 설정한다. 이를 통해 프로젝트를 체계적으로 진행할 수 있고, 일정을 관리하며 목표를 달성할 수 있다.

  • 구현 및 테스트:
    프로젝트를 실제로 구현한다. 계획한 기능과 모듈을 개발하고, 테스트하여 버그를 찾고 수정해야 한다. 개발 중에는 주기적으로 기능을 테스트하고 문제가 발생하면 디버깅하며 개선해야 한다.

  • 배포 및 유지보수:
    개발이 완료되면 프로젝트를 배포한다. 웹 호스팅, 서버 구축 등 필요한 환경을 설정하고 프로젝트를 온라인으로 공개한다. 이후 유지보수를 위해 사용자 피드백을 수집하고 버그를 수정하는 등 프로젝트를 지속적으로 관리한다.

  • 포트폴리오에 추가:
    완료된 개인 프로젝트를 포트폴리오에 추가한다. 프로젝트의 목표, 기능, 사용된 기술 등을 설명하는 문서를 작성하고, 소스 코드를 깃허브(GitHub)나 기타 코드 호스팅 플랫폼에 업로드한다.

  • 지속적인 학습과 개선:
    프로젝트를 진행하면서 새로운 기술과 도구를 습득하고, 개발 경험을 통해 발전해 나간다. 프로젝트의 단점이나 개선 가능한 부분을 인식하고, 지속적인 학습과 개선을 통해 더 나은 백엔드 개발자로 성장할 수 있다.

2. 백엔드 교육 커리큘럼

  • 과목1. 자료구조/ 알고리즘 / 컴퓨터공학
    • 필수 역량 : 문제 해결 능력, 효율성
    • 학습 목표 : 가장 기본적이면서도 회사에서는 Computer Science 지식을 갖춘 인재를 원하는 만큼 중요한 과목이다. 특정 프레임워크나 라이브러리의 특화된 사람도 물론 필요하지만 개발의 트렌드는 계속 변하고, 문제는 계속해서 발전되기 때문에 문제 해결력이 특히 더 중요하다고 할 수 있다. 따라서 새로운 기술을 빠르게 습득하고 활용할 수 있는 기본기가 되는 자료구조와 알고리즘, 컴퓨터공학 지식을 학습해야 한다.
    • 세부 과목
      • 1-1. 자료구조 / 알고리즘 이론과 실습
      • 1-2. 컴퓨터 구조 이해
      • 1-3. 운영체제
      • 1-4. 코딩테스트 모의고사
      • 1-5. 컴퓨터공학 모의고사
  • 과목2. Java와 데이터베이스 이해
    • 필수 역량 : 데이터베이스 기본 문법, **JSP**, **Daynamic Web Project**, 문제 해결 능력
    • 학습 목표 : 모든 비즈지스 서비스의 영구적인 저장 근간이 되는 데이터베이스에 대한 기본 개념과 데이터를 처리하는 언어(DDL, DML, DCL)을 학습하여 데이터 처리에 대한 이해와 학습을 목표로 한다. 또한, 백엔드 언어의 기본이 되는 자바를 통한 서블릿 페이지를 통해서 다이나믹 웹 프로젝트를 생성하고 이를 통하여 데이터베이스를 핸들링을 할 수 있는 기본 개념을 학습한다. 이는, 스프링 프레임워크를 통한 데이터 처리 학습으로 가기 이전에 JSP를 통한 데이터 처리를 통해서 웹의 기본 운영 매커니즘을 이해할 수 있다.
    • 세부 과목
      • 2-1. Java 의 이해
      • 2-2. 객체 지향 / 라이브러리 활용
      • 2-3. 데이터베이스
      • 2-4. Git / Github 관리
  • 과목3. Spring 프레임워크 이해
    • 필수 역량 : Spring / Spring Boot 에 대한 이해, 코드 구현 능력, 도메인 분석 능력
    • 학습 목표 : 백엔드 개발자 취업준비생이 목표로 하는이커머스, 금융 등 4개의 도메인에 대한 프로젝트를 A to Z 까지 직접 실습하는 것을 목표로 한다. 대용량 처리 / 보안 등 도메인별로 주요 특성을 기반으로 한 실습 프로젝트를 진행하여 Spring 프레임워크에 대해 완벽하게 이해할 수 있다.
    • 세부 과목
      • 3-1. 스프링 프레임워크
      • 3-2. Spring Boot 기반 웹 프로젝트
      • 3-3. 카카오페이 개발자에게 배우는 계좌 시스템
      • 3-4. 네이버 출신 개발자에게 배우는 날씨 일기 프로젝트
      • 3-5. 카카오뱅크 개발자에게 배우는 주식 배당 프로젝트
      • 3-6. 국내 최대 이커머스 기업 출신 개발자에게 배우는 이커머스 프로젝트
  • 과목4. 실전 개발 설계와 프로젝트 구현*
    • 필수 역량 : Java / Spring 에 대한 이해, 코드 구현 능력
    • 학습 목표 : 좋은 코드를 짜는 것은 개발자로서 꼭 필요한 자질이다. 하지만 실무에 가까운 코드를 짜기란 취준생으로서 어렵다. 본 과목에서는 스터디원들과 멘토들의 코드리뷰 스터디를 통해 실무에 가까운 코드를 짜볼 수 있고 나아가 프로젝트 설계에 대한 리뷰 또한 경험해볼수 있다. 또한 코드리뷰를 경험해봄으로서 회사에서 진행하는 협업에 대해 간접적으로 체험해볼수 있다. 궁극적으로는 코드리뷰를 통해 짧은 시간내에 보다 성장하여 포트폴리오에 제출할수 있는 프로젝트를 완성해보는 것이 목표이다.
    • 세부 과목
      • 4-1. 실전 프로젝트를 위한 좋은 코드 작성법
      • 4-2. Spring Boot / JPA 문제 풀이 100제
      • 4-3. AWS를 이용한 CI/CD
      • 4-4. 성능 테스트와 모니터링
      • 4-5. 개인 프로젝트를 통한 코드 리뷰
      • 4-6. 팀 프로젝트를 통한 배포 가능한 웹 서비스 완성
  • 과목5. 커뮤니케이션과 소프트 스킬
    • 필수 역량 : 커뮤니케이션, 협업 , 리팩토링 , 클린 코딩
    • 학습 목표 : 어느 회사를 가더라도 혼자서 개발을 하는 곳은 없다. 지금까지 개발 실력에 초점을 맞춰 학습해왔다면 이와 더불어 이제는 실무에서 가장 중요한 “커뮤니케이션”을 위한 학습을 진행한다. “잘 하는 개발자”가 되는 것도 중요하지만, “같이 일 하고 싶은 개발자” 가 되어야 어느 회사에 지원하더라도 눈에 띄는 지원자가 될 수 있다.
    • 세부 과목
      • 5-1. 팀 프로젝트를 통한 커뮤니케이션 스킬
      • 5-2. Spring 이론과 실습 - 기술 심화 및 응용
      • 5-3. 개발자의 이력서/ 자기소개서 작성
      • 5-4. 기술 면접 모의고사
      • 5-5. 합격 면접의 기술

0개의 댓글