파란하늘의 지식창고
Published 2020. 1. 19. 16:55
java backend developer roadmap Study/Java
반응형

추천하는 java backend developer roadmap 소개

자바 웹 서버 개발자(backend developer)가 되려는 사람에게 도움이 될까 싶어서 적어보는 글.

개발자 로드맵에 관련된 글은 참 많은데 그중에 괜찮은 글이 있어 짤막하게 소개하려고 한다.

https://javarevisited.blogspot.com/2019/10/the-java-developer-roadmap.html

 

The 2020 Java Developer RoadMap

A blog about Java, Programming, Algorithms, Data Structure, SQL, Linux, Database, Interview questions, and my personal experience.

javarevisited.blogspot.com

이 글이 맘에 든 이유는 광범위한 기술 범위를 소개하기보단 가장 많이 쓰이는 것들을 소개해서 범위를 최대한 줄여주었고 트렌디한 추세 소개에 치중하지 않아서 기본적인 학습에 대한 좋은 가이드가 된다고 생각을 하였기 때문이다.

이외에도 책 위주로 설명한 마인드맵인 개앞맵시(개발자 앞길에 맵핵 시전)도 추천한다. (특정 출판사 위주긴 하지만..)

https://www.mindmeister.com/ko/530652609/_?fullscreen=1

 

[개앞맵시] 백엔드 개발

개발자의 앞길에 맵햅 시전!- 백엔드(서버) 개발

www.mindmeister.com

개앞맵시의 경우 꽤 오래된 곳이지만 계속 업데이트되어왔고 분야별로 어떤 기술을 둘러봐야 할지를 쉽게 파악할 수 있어 좋다.

또한 백엔드, 프런트엔드, 모바일, 딥러닝, 운영 등 다양한 영역의 개발자 로드맵을 안내해준다.

이 글은 첫 번째 링크의 글을 간략하게 소개하는 글이다.

해당 글의 이미지나 자세한 내용을 가져오지 않았기 때문에 해당 링크에서 직접 내용을 파악하면 좋다.

 

보충 설명

해당 글의 로드맵에서 파란색 박스는 꼭 알아야 하는 지식, 빨간 박스는 알면 좋은 지식, 회색 박스는 긍정적인 지식으로 표시하여 우선순위를 파악할 수 있게 하였다.

좋은 설명이지만 처음 공부하려는 사람 입장에서 보면 거의 대부분이 파란색 박스 투성이라 너무나 알아야 할 것들이 많다.

파란색 박스 항목을 좀 더 줄이기 위해 보충 설명을 하려고 한다.

Learn the Basics

  1. Git
  2. Linux (처음 공부하는 사람은 window에서 개발 공부하면서 조금 천천히 알아도 된다.)
  3. Data Structure and Algorithms (mysql이나 mariadb같이 무료로 사용할 수 있는 DB 하나 익히면 된다.)
  4. Maven 또는 Gradle (로드맵 이미지엔 안 보이지만 이건 파란색 박스이다.)

General Programming Skills

이 부분에 열거된 것들은 너무 일반적인 지식에 대해서 꼭 알아야 한다고 설명을 하고 있는데 처음 공부할 때는 OOP에 대한 개념과 Servlet을 공부하고 여기 열거된 내용들은 모두 천천히 공부하는 게 좋을 것 같다.

Head First Object-Oriented Analysis & Design, Head First Servlets and JSP 같은 책 보면서 OOP에 대한 개념과 Servlet, filter, listener, request, response에 대한 개념을 알아두면 좋다.

Java

JDK

여기 밑의 항목들은 그냥 java 공부하면서 익힐 내용들이다.

당연히 공부해야 할 부분이다.

파란색 박스를 위주로 공부하면 된다.

심지어 Java가 이제 6개월 단위로 릴리즈 되면서 LTS 버전이 11까지 나온 상태기 때문에 릴리즈 이후 변경된 내용에 대해서도 계속 따라와야 한다. (LTS 아닌 버전은 현재 13까지 나왔다.)

Tools

IDES

글쓴이가 Eclipse를 사용하는지 Eclipse만 파란색 박스로 표시했다.

Eclipse, Intellij를 많이 쓰고 있고 이중 IntelliJ를 최근 개발자들이 많이 쓴다.

그리고 VisualStudioCode가 최근 프런트엔드 개발자들이 가장 많이 쓰는 IDE인데 Java도 무리 없이 사용이 가능하다.

매년 금액을 지불하고 쓸 용의가 있거나 코틀린을 쓴다면 IntelliJ를 권장하고 그 외의 경우 STS(Eclipse)를 권장한다.

Frameworks

SpringFramework를 공부해야 한다.

Spring Core의 DI and IOC, AOP가 빨간색 박스지만 개인적인 의견으론 이게 SpringFramework의 핵심 개념이기 때문에 파란색 박스로 본다.

API는 뭘 말하는 건지 모르겠는데 RestTemplate이나 WebClient를 말하는 거라면 빨간색 박스에 동의한다.

SpringFramework를 쓰기 편하게 해 주는 게 Spring Boot이다.

위에 말한 개념과 SpringFramework의 사용에 어느 정도 이해가 된다면 Spring Boot를 공부해야 한다.

이를 확장해서 환경 구축을 편하게 하기 위해 Spring Cloud가 있다. 다만 SpringFramework -> Spring Boot -> Spring Cloud 순으로 공부해야 하고 너무 양이 많기 때문에 Boot 까지만 파란색 박스이고 Cloud는 빨간색 박스라고 본다.

DB 연동은 JDBC -> Data JPA (Hibernate) & MyBatis를 공부하면 된다.

기타

Docker, Kubernetes는 개인적으로 각각 빨간색 박스, 회색 박스

꼭 알아야 할 필요는 없지만 Docker의 경우 알아두면 공부하기 편하고 Kubernetes는 굳이 공부하지 않아도 된다.

Desktop and Frontend

이건 자바 웹 개발자라면 공부하지 않아도 된다.

API Clients

Spring RestTemplate을 쓰면서 JacksonMapper를 쓰면 되므로 여기도 패스.

Testing

Junit5를 쓰면 되고 SpringFramework의 문서를 보면 된다.

https://docs.spring.io/spring/docs/5.2.3.RELEASE/spring-framework-reference/testing.html#testing

 

Testing

The classes in this example show the use of named hierarchy levels in order to merge the configuration for specific levels in a context hierarchy. BaseTests defines two levels in the hierarchy, parent and child. ExtendedTests extends BaseTests and instruct

docs.spring.io

Utility Libraries & i18n

추가적인 것들이니 둘 다 빨간색 박스로 본다.

정리

여기까지 설명한 것으로 해당 글의 파란색 박스 중 다수가 후 순위가 되었다.

결국 거의 다 공부하게 되지만 처음 공부하는 사람 입장에서 어떤 파란색 박스를 먼저 공부해야 할지 고민할 때 이 글이 도움이 되었으면 좋겠다.

반응형
profile

파란하늘의 지식창고

@Bluesky_

도움이 되었다면 광고를 클릭해주세요