안녕하세요. 이 커리큘럼의 교육 과정에 참여해 주셔서 감사합니다!
앞으로 보시게 될 내용은 모두 초안입니다. 커리큘럼이 실제로 잘 동작하는지 검증하기 위해, 비공개로 교육을 진행하고 있습니다. 피드백을 받아 가공한 뒤, 블로그에 올리거나, 강의를 만들거나, 책을 집필할 계획을 가지고 있습니다.
때문에 빈 칸이나 초안으로 남겨둔 섹션도 군데군데 보이고, 설명이 착실하지 않고 미흡한 부분도 조금 있을 것입니다. 과정 중에 이해가 잘 안 되거나, 배우는 입장에서 더 나아 보이는 방향이 있다면 꼭 알려주세요.
이 시리즈는 프로그래밍의 시작부터, 고도화된 백엔드 시스템을 구성하기까지의 여정을 가이드합니다. 아주 초라하고 작지만 “동작하는” 프로그램을 만들고, 과제를 풀어나가며 시스템을 차근차근 개선해 나가는 형태입니다.
처음부터 대용량 트래픽을 감당할 수 있는 시스템을 구축하는 것은 매우 어렵습니다. 잘 나가는 서비스들도 가끔씩 서버가 터지는 것처럼요. 모든 서비스는 툭 치면 부러질 것만 같은 상태로 시작합니다. 중요한 것은 ‘다음 단계가 무엇인지’입니다. 게임처럼 도전 과제가 있다면, 학습에 있어 좋은 로드맵이 될 것이라고 생각합니다.
과제 형식이기 때문에 직접 찾아봐야 하는 일이 많습니다. 이렇게 인터넷을 떠돌아다니며 공부하는 것에 두려움이 있을 수 있지만, 사실 찾아보는 것 자체는 어려운 일이 아닙니다. 물론 검색 요령이 훈련되어야 하겠지만요. 가장 어려운 부분은 ‘다음으로 뭘 해야 하는지’입니다. 저는 책의 목차를 읽는 것을 좋아합니다. 저는 이 시리즈에서 마치, ‘백엔드 입문 책의 목차’와 같은 내용을 전하고자 합니다.
그래도 차근차근 해낼 수 있도록 글에서 최대한의 도움을 주고자 했습니다.
제가 백엔드 공부를 시작했던 2017년에는 인터넷에 자료가 별로 없었습니다. 공부하기가 참 까다로웠고, 이상한 시스템을 만들어 놓고도 매번 ‘잘 했다’고 생각했습니다. 실무 레벨에 들어가고 나서야, 제가 뭔가 크게 잘못하고 있었다는 걸 깨달았습니다.
‘내가 뭘 모르는지 모르는 상태’였습니다. 모두에게 이런 시절이 있습니다. 여기서 핀트를 정확하게 잡아서, 유의미한 공부를 하기 시작하는 게 정말 중요합니다. 그러나 당시의 저에게는 그런 길잡이가 없었기 때문에, 무엇이 중요한 지 오랫동안 몰랐습니다. 핵심에서 동떨어진 주제들을 공부하느라 시간을 낭비했습니다.
당장 간단한 웹서버 하나도 못 만드는데, 데이터베이스 Index에 대해서 알아보고 있다거나, 운영체제의 스케줄링이나 Tree의 순회를 이해할 수 없어서 온종일 머리를 싸맸던 적도 있습니다. 물론 이런 내용이 필요 없다는 건 아닙니다. 다만 그 때 당장 필요한 역량과 거리가 있었고, 수준에 안 맞는 주제를 공부하느라 용썼던 게 아쉽습니다.
현실감각을 느끼게 해주고, 학습의 주제를 던져주는 컨텐츠가 있으면 좋겠다고 생각했습니다. 신입 백엔드 개발자로 반년 즈음 일했던 2019년 까지도 그런 내용이 별로 없어서, 시리즈를 하나 기획했었습니다. 감사하게도 많은 분들이 좋아해 주셨던 백엔드가 이 정도는 해줘야 함 시리즈였습니다. 하지만 저에게는 그리 마음에 드는 컨텐츠가 아니었습니다. ‘이걸 읽고 이해할 정도면, 이 글을 읽을 필요가 없겠는데?’ 라는 생각이 들었습니다. 우매함의 봉우리 꼭대기에서 만든, 오만한 시리즈였다고 생각합니다.
바이럴을 타고 여러 곳에 퍼져나간 것에 비하면 너무 보잘 것 없는 내용입니다. 그렇게 시리즈 중단을 결정하게 되었습니다.