🕊️ 백엔드 개발자 로드맵

요즘 백엔드 기술 관련하여 도움이 될 만한 무료 리소스들은 넘쳐납니다. 그러나 가장 중요한 것은, 무엇을 할 것인가 입니다. 백엔드 개발자가 되기 위하여 필요한 요구사항들과 기술 목록을 가져왔습니다. 만약 이 개념들이 친숙해진다면, 이 분야에 있어서 유망한 경력을 가질 수 있을 겁니다. 📌 인터넷 - HTTP, domain, hosting 등 CS(Computer Science) 분야는, 기본적인 인터넷 기능에 정통해야 합니다. 📌 프론트엔드 - HTML, CSS, JavaScript 기초 클라이언트 측이 어떻게 작동 하는지 알지 못한다면, 서버측의 복잡한 세부 사항을 배울 수 없습니다. 📌 운영체제 - kernel, program execution, interrupts, signals, direct memory access, models 등 운영체제는 응용 프로그램의 실행을 제어하고 컴퓨터가 작동할 수 있도록 사용자와 하드웨어 사이의 인터페이스 역할을 합니다. 📌 자료구조와 알고리즘 - stack, queue, linked list, tree, graph, hashing, sorting & searching 이 개념들에 대해 전문가가 될 필요는 없습니다. 그러나 알고 있으면 도움이 됩니다. 📌 프로그래밍 언어 - Python, PHP, Ruby, C#, Java, JavaScript 📌 버전 컨트롤 - Github, Git 코드의 변경사항을 추적하고 관리하는 도구입니다. 📌 프레임워크 - Spring Boot, Node.js, Django 등 📌 데이터베이스 - NoSQL, RDBMS 📌 API 서로 다른 프로그램 간의 연결을 구성하여 보다 원활한 UX를 만듭니다. 📌 데이터베이스 캐싱 캐싱은 동일한 데이터에 반복해서 접근해야 하거나 많은 연산이 필요한 일일때, 결과를 빠르게 얻고자 가까운 곳에 적용하는 것을 뜻합니다. 📌 테스팅 - 단위 테스트, 통합 테스트, 기능 테스트 📌 웹 보안 - HTTPS, SSL, CORS, OWASP, hash 알고리즘 서버에 보안 프로토콜을 구축할 때 유용한 개념입니다. 📌 CI/CD 지속적 통합, 지속적 배포. 코드 변경사항을 신속하고 안정적으로 배포할 수 있습니다. 또한 대량의 로그를 생성하고 수동 작업을 줄입니다. 📌 컨테이너화 코드를 실행하는 데 필요한 라이브러리 등을 함께 묶을 수 있습니다. 📌 웹 서버 - Apache, Nginx, HTTP caching 등 🐣 면접에도 유용한 개념들 입니다.

Backend Developer Roadmap

Medium

Backend Developer Roadmap

 • 

조회 5,055

<📍백엔드 개발자 로드맵> 백엔드 개발 공부, 어디서부터 시작해야 할지 막막하신가요? 백엔드 개발자가 알아야 할 기본적인 정보가 나열되어 있는 로드맵을 공유드립니다! 각 토픽을 클릭하시면 상세 정보가 나와있는 링크로 이동합니다. 백엔드 개발에 주로 사용되는 Java, Python 전용 로드맵도 있으니 참고해 주세요. - Java 로드맵: https://roadmap.sh/java - Python 로드맵: https://roadmap.sh/python 📔 함께 읽어보면 좋은 글 - 프론트엔드 vs 백엔드 vs 풀스택 개발: https://brunch.co.kr/@jihyun-um/38 - 프론트엔드 로드맵: https://careerly.co.kr/comments/62133

Backend Developer Roadmap: Learn to become a modern backend developer

roadmap.sh

Backend Developer Roadmap: Learn to become a modern backend developer

 • 

조회 2,801

🤏 백엔드 개발에 도움되는 학습 도서 📚

많은 분들께서 긱뉴스에서 공개한 무료 학습 자료를 공유해주셨는데요, 저는 그중에서 백엔드 개발에 도움되는 도서는 어떤게 있을지 골라보았습니다. 제가 하고있는 업무와 연관이 있는 도서들을 골라본거라 모든 백엔드 개발자가 반드시 배워야 한다는 아니지만, 적어도 배워두면 써먹을 수 있다는 수준으로 이해해 주세요 🙏 ✔️ Java (https://github.com/EbookFoundation/free-programming-books/blob/main/books/free-programming-books-ko.md#java) Java 는 현재 매우 인기있는 백엔드 개발 언어입니다. 특히 대량의 트래픽을 대응하거나 다양한 솔루션과의 연계를 위해 많은 회사에서 Java 를 사용하고 있습니다. 점프 투 자바는 이런 Java 의 기초적인 내용을 학습하기 좋은 도서로 저도 많은 도움을 받았던 도서입니다. ✔️ Git (https://github.com/EbookFoundation/free-programming-books/blob/main/books/free-programming-books-ko.md#git) 이건 사실 백엔드 개발자 뿐만 아니라 모든 분야의 개발자들이 필수로 배워야 하는 항목입니다. 제가 신입일때는 SVN 이라는 버전관리 툴을 썼습니다만 오픈소스의 활성화와 다양한 편의 기능으로 현재는 Git 을 쓰는게 대세인거로 보입니다.(아마 몇몇 분들은 SVN 이 뭔지도 모르시겠죠?😂) 코드 및 버전 관리, 협업을 위해서는 반드시 배워야하는 툴입니다. ✔️ Go (https://github.com/EbookFoundation/free-programming-books/blob/main/books/free-programming-books-ko.md#go) 제가 진행하는 업무 환경에서 반드시 필요한건 아니지만, 몇몇 유명한 오픈소스에서 쓰고 있고 간단한 웹서버를 만들기에 좋습니다.(자체적으로 지원하는 라이브러리를 통해 몇줄의 코드로 웹서버를 띄울수 있는걸 보고 매우 놀랐습니다) 특히나 고루틴의 경우 코루틴과 마찬가지로 비동기 프로그래밍에 유용한 도구이기 때문에 잘 사용하면 매우 효과적인 비동기 처리를 해보실 수 있습니다. ✔️ 리눅스 서버를 다루는 기술 (https://web.archive.org/web/20220107111504/https://thebook.io/006718/) 윈도우 서버와 같은 특별한 환경이 요구되는 상황이 아니라면 백엔드 어플리케이션은 리눅스 환경에서 운영하는게 대부분입니다. 따라서 어플리케이션의 운영 및 관리, 장애대응 등을 위해서는 어느정도 리눅스를 능숙하게 다루실 줄 알아야 합니다. ✔️ Operation System(https://github.com/EbookFoundation/free-programming-books/blob/main/books/free-programming-books-ko.md#operation-system) 어플리케이션이 건물이라면 Operation System 은 땅과 같은 존재죠. 그렇기에 어플리케이션이나 솔루션은 Operation System 에 영향을 크게 받을수 밖에 없고 어플리케이션을 잘 운영하기 위해서는 어느정도 Operation System 에 대한 이해가 필요합니다. ✔️ Python (https://github.com/EbookFoundation/free-programming-books/blob/main/books/free-programming-books-ko.md#python) 말이 필요없는 유명한 Language 중 하나죠. 인터프리터 언어라서 성능은 Java 에 비해 조금 떨어질수는 있지만 Java 에 비해 문법이 쉽고 간단한 스트립트나 툴을 개발할 수 있는 장점이 있습니다. 꼭 백엔드 어플리케이션으로 개발을 안하더라도 운영에 필요한 스크립트나 테스트 도구 등으로 활용할 수 있어 배워두면 유용한 언어입니다. ✔️ Springboot (https://github.com/EbookFoundation/free-programming-books/blob/main/books/free-programming-books-ko.md#springboot) Java 나 Kotlin 으로 웹서버를 개발한다면 빠질 수 없는 Framework 죠. Netty 나 Vert.x 의 등장으로 비동기 논블록킹 웹서버 개발을 위해 Spring 을 떠나야 하나 고민을 했었는데 이를 Spring Webflux 로 멋지게 대응하여 비동기 논블록킹 서버도 구현이 가능한 Framework 입니다.(심지어 netty 는 webflux 에서 사용이 가능하죠) 앞일은 어떻게 될지 모르겠지만 Springboot 기반 어플리케이션이 사라지기는 쉽지 않아 보이기에 Java 나 Kotlin 개발자라면 반드시 배워야 합니다. ✔️ Elasticsearch (https://github.com/EbookFoundation/free-programming-books/blob/main/books/free-programming-books-ko.md#elastic) 반드시 배워야 하는 솔루션은 아니지만 혹시나 검색기능이나 prometheus 나 grafana 등과 같은 모니터링 도구를 사용할 때 쓰기 좋은 솔루션입니다. 특히나 김종민님께서 정리해주신 가이드북은 자세한 설명과 예제가 있어 따라해보기 좋습니다.

 • 

조회 25,404

개발자(직무별, 기술별) 커리어 로드맵 추천

슬슬 내년 공부 계획 세우셔야죠? 😉 이미 알만한 사람들은 다 알고 있는 Roadmap 사이트를 참고해보세요! Role based로 Frontend, Backend, DevOps, Android, DBA, Blockchain, QA, Software Architect, Flutter 등이 있고, Skill Based로 Computer Science부터 React, Vue, Go, Java, GraphQL, Python 등 다양한 로드맵이 있어요! 시각화되어 순서대로 따라가며 보기도 좋아요! 내가 지나쳤거나, 부족했던 부분 보충할 2023년 계획 세워봐요! 👨🏻‍💻📚

Developer Roadmaps

roadmap.sh

Developer Roadmaps

 • 

조회 3,371

[개발자의 공부법] 뭘 공부해야 되지?

뒤처지기는 무섭고 일단 Coursera와 Udemy에서 핫한 온라인 코스가 30% 세일해서 등록해야 할 것 같아서 합니다. 막상 등록하니까 흥미는 없고 도대체 어디에 써먹을 대도 없고 안 써먹어서 까먹고... 악순환의 반복이 시작됩니다. 학생 시절에는 공부할 게 산더미 같던데 막상 개발자가 되니 도대체 뭘 공부해야 할지 모르겠더라고요. 주니어 시절 했던 아주 나쁜 이 공부법을 스스로 고치면서 나름 도움 되었던 "개발자의 공부법"에 대해 이야기해봅니다. 1️⃣ 시스템 디자인 공부 시스템 디자인 공부는 어느 개발 직종에 있더라도 필수이다. 알고리즘과 달리 대학 전공 수업에서 배울 수 없고, 배운다고 해도 학생 시절에는 제대로 써먹을 곳이 없다. 따라서 업무와 경력을 통해 얻어야만 하는 필수 스킬이다. 문제는 시스템 디자인 공부는 몇 개월 열심히 하면 느는 것이 아니다. 대부분 경험과 실무를 통해서 배워야지만 는다. 개발자 1년 차부터 차차 시스템 디자인 업무를 해본 사람과 아닌 사람의 실력 차이가 해가 지날수록 많이 나게 된다. 더욱더 큰 문제는 주니어 시절부터 미리 하지 않으면 나중에 이직이 어려워질 수 있다. 이직은 연봉을 두 배로 올리거나, 건강하지 못한 조직에서 벗어날 수 있는 아주 중요한 방법인데, 시스템 디자인을 못 하면 한 직장에 갇혀버릴 수 있다. 많은 시니어+ 직급의 면접은 시스템 디자인을 잘해야 통과할 수 있으며, 코딩 면접을 잘 통과해도 시스템 디자인을 잘하지 못할 때 본인의 현 직급 이하로 강등될 수 있다. 시스템 디자인 공부는 흥미와 상관없이 1년 차부터 관련 도서를 읽어 보며 업무를 통해 배우는 것이 아주 큰 도움 된다. 2️⃣ 업무와 관련된 키워드 10개 찾아내기 개발 관련 폭넓은 지식을 가지는 것은 상당히 중요하다. 하지만 처음부터 폭넓은 지식을 얻고 나면 막상 써먹을 곳이 없었던 것 같다. 책과 유튜브를 통해 공부해도 사용하지 않으면 쉽게 까먹게 되는 것이 개발 지식이다. 개발 직업군은 전문 분야에 따라 습득해야 하는 스킬이 상당히 다르다. 예를 들면 프런트 엔드와 Distributed Systems 백엔드 엔지니어가 가지고 있어야 할 스킬은 많이 다르다. 따라서 본인의 현재 업무에 관련된 키워드 10가지를 찾아내자 (예: kubernetes). 키워드 10개를 스스로 찾아본 후에는 매니저나 멘토 그리고 직장 동료와 간단하게 이야기해보고 1위부터 10위 순위를 정해보자. 탑 5 키워드 관련 도서를 검색해보고 읽거나 유튜브 동영상을 찾아보자. 3️⃣ 멘토의 중요성 멘토에게 개발자 성장기에 도움 되는 주제를 3가지 물어본다. 업무 관련된 지식이 성장 그리고 본인이 도달하고픈 큰 목표에 도움 되지 않을 수 있다. 예를 들면 백엔드 개발자가 프론트 엔드로 전향하기를 원하거나 다른 직업군으로 이직을 희망한다면, 업무 관련 공부는 길게보면 도움 되지 않는다. 내가 그랬다. 분산 시스템을 한 번도 공부해보지 않았던 내게 이 분야로 이직하려면 필요한 기초 지식을 습득해야 했다. 인터넷에 검색해도 정보량이 상당해서 멘토에게 물어봤다. 1,2명에게 물어보는 것보다 되도록 많은 이들에게 물어보고 추천해준 주제 관련 도서나 전자책을 읽어봤다. 4️⃣ 목표를 정하자 "일단 뭐라도 하자"라는 목표는 결국 3일을 못 가게 만든다. 실제로 내가 Coursera나 EdX 또는 Udemy에서 "일단 이 수업 들어보자"라는 목표를 정해 놓고 일주일도 못 가고 포기했던 기억이 있다. 공부하려면 목표가 필요한 것 같다. 목표는 최대한 구체적으로 데드라인까지 적는 것이 좋은 것 같다. 아니면 새해 목표처럼 세워도 된다. 예를 들면 한 달에 적어도 distributed system이나 system design 관련 테크 도서 한 권 읽기, 2022년 6월까지 distributed system Youtube Channel x,y,z playlists 모두 시청하기 등등. 5️⃣ 내가 자주 사용하는 공부 아이디어 찾는 요소 - https://www.reddit.com/r/cscareerquestions/ - https://www.teamblind.com - 회사 내 북클럽, 리딩 리스트 - 직장 동료와 하는 커피챗 🪴 함께 읽으면 좋은 글: 개발자 멘토들에게 들은 뻐때리는 조언들 + 무료 템플릿 https://careerly.co.kr/comments/67097 개발자가 읽어야 할 시스템 설계 책 - 데이터 중심 애플리케이션 설계 https://careerly.co.kr/comments/67004 시스템 디자인 면접 책 추천 https://careerly.co.kr/comments/54566 알고리즘, 시스템 디자인 면접 완벽 준비 팁 + 무료 템플릿 https://careerly.co.kr/comments/67099 주니어 개발자 시절 멘토에게 들은 뼈때리는 조언들 https://careerly.co.kr/comments/57052 좋은 멘토는 어떻게 찾아요? https://careerly.co.kr/comments/57391

[개발자의 공부법] 뭘 공부해야 되지?

Velog

[개발자의 공부법] 뭘 공부해야 되지?

 • 

조회 29,005

개알못인 당신이 웹개발을 시작한다면 (1)

오래전에 썼던 연재글입니다만, 여전히 유효한 부분도 많고, 이 시대에 맞게 정정할 부분이 있다면, 언급하고 싶어서 묵은 글을 꺼내왔습니다. 주변에 웹개발자가 되고 싶은 분이 있어서 썼던 글인데 꽤 반응이 좋았었어요. 2022년 말인 지금 시점에서 보자면, 그리고, 지금의 제 생각으로 정정하자면 해당 글에서 이렇게 정정하고 싶습니다. 보완(1) - 프론트엔드 기초 학습을 마쳤다면 React를 공부합니다. 당시 꽤 대중적이었던 Angular는 이제 결국 언급도 되지 않는 것 같구요, Vue는 여전히 React랑 쌍두마차인 것 같습니다. 다만, 국내 (프론트엔드) 취업 시장에서는 결국 리액트가 압도적인 상황이기 때문에, Vue보다 React를 공부하는 것이 유리할 것 같습니다. 보완(2) - 웹개발을 공부하는 입장에서 자바는 눈길도 주지 않는 것이 효과적이겠습니다만, 그래도 백엔드 개발자 취업을 고려한다면, Java도 선택해서 공부해볼 만 합니다. 아무래도 백엔드 개발자로서 취업에 가장 유리한 언어이니까요. 다만 본인이 프론트 개발자가 되겠다면(또는 개발자 취업에 목적이 없다면), 굳이 자바를 할 필요는 없겠습니다. 파이썬이나 node.js로 학습해 봅시다. 나머지는 아직 유효한 내용이 많은 것 같고, 제 생각도 변함이 없는 상황 같습니다. 총 5편의 글이었는데요, 차례로, 2022 업데이트를 공유하도록 하겠습니다.

개알못인 당신이 웹개발을 시작한다면 (1)

Medium

개알못인 당신이 웹개발을 시작한다면 (1)

 • 

조회 10,787