흔히 취준생, 주니어 분들이 많이 고민하는 부분입니다.
이곳 저곳에서 "개발자는 기초가 중요하다!"라고 하지만, 기초라고 하는 것들이 너무나 다양하고 많습니다.
자료구조, 알고리즘, CS, 네트워크...
답변해주는 사람마다 "여기부터 여기까지가 기초다"라고 하는 부분이 모두 다르고,
아무리 공부를 해도 내가 모르는 것들을 아는 사람을 만나면 '저 사람은 정말 대단하다'라는 생각과 '아직도 내가 모르는게 남았구나'라는 생각에 좌절감만 듭니다.
대체 어디까지가 기초이고, 언제까지 공부만 해야할까요?
제가 가장 추천드리는 방법은 이것입니다.
'개발의 기초'를 배우려고 하지 말고 '특정 도메인의 기초'에 집중해보세요.
왜 '도메인'이 중요할까요?
모든 산업에서 동일한 기술과 지식을 요구하지 않습니다.
내가 가고 싶은 곳이 정해지면, 익혀야 할 '기초'의 범위도 굉장히 좁혀집니다.
'자료구조, 알고리즘, CS, 네트워크'라는 큰 틀 안에서도 우선순위는 달라집니다.
예시를 들어보겠습니다.
커머스 도메인: '속도'와 '동시성'
- 자료구조: 빠른 조회를 위한 B-Tree(DB 인덱스)와 Hash Table(캐시/Redis)의 동작 원리
- CS/DB: 동시 주문 처리를 위한 Transaction 원칙, Lock 개념, DB 격리 수준
- 네트워크/인프라: 트래픽 분산을 위한 Load Balancer의 역할, CDN의 원리, 인메모리 캐시(Redis 등)의 활용 방법
금융 도메인: '신뢰'와 '정확성'
- 네트워크/보안: 안전한 통신을 위한 HTTPS(SSL/TLS) 동작 방식, 대칭키와 비대칭키 암호화 기본 개념
- CS/DB: 데이터 무결성을 위한 Transaction 심화
- 알고리즘/자료구조: 돈 계산 시 부동소수점의 위험성. Decimal 타입 또는 정수형 기반 연산의 필요성.
참고: 가장 좋은 건, 해당 도메인/해당 팀의 현업자에게 질문해보는 것을 추천드립니다. :)
이렇듯 내가 '어떤 문제를 풀고 싶은지'가 명확해진다면, '어떤 기초를 공부하는게 좋을지'도 명확해집니다.
저는 '제품' 그 자체에 관심이 많아서 여러 가지를 하고 싶어요!
특정 도메인보다 제품의 모든 영역을 다뤄보고 싶어 하는 분들도 많습니다.
이런 경우 두 가지 질문에 대해 생각해보세요.
"내가 만들고 싶은 프로덕트가 무엇일까?" (What)
"나는 왜 그 프로덕트를 만들고 싶을까?" (Why)
제품을 만들고자 하는 분들께는 이 "Why"가 굉장히 중요합니다.
이 이유가 명확해야만, '여러 영역을 다뤄보고 싶다'는 포부가 단순히 실력에 대한 욕심이나 호기심이 아닌, '제품 완성을 위한 강력한 동기'가 되어 설득력을 갖기 때문입니다.
예를 들어 "저는 교육 격차로 인해 원하는 공부를 못했던 경험이 있습니다. 그래서 누구나 쉽게 학습 콘텐츠를 만들고 공유할 수 있는 서비스를 만들고 싶습니다." 라는 Why가 있다면, 백엔드뿐만 아니라 프론트엔드, 배포, 사용자 피드백 분석까지 기꺼이 맡고 싶다는 지원자는 매우 매력적일 수밖에 없습니다.
이런 분들에게는 먼저 '사이드 프로젝트'를 통해 그 'Why'를 직접 구현해보는 것을 강력히 권합니다.
기획, 개발(프론트/백엔드), 배포, 운영까지... '내가 만들고 싶은 것'을 위해 필요한 모든 기능을 스스로 부딪히며 개발해보는 것입니다.
이 과정에서 '제품을 만든다는 것'의 의미와 '지금 당장 필요한 기초'가 무엇인지 가장 빠르게 체득하게 됩니다.
이 경험을 바탕으로, 제품의 전 생애주기를 경험할 수 있는 '스타트업'에 합류하는 것을 추천합니다.
만약 그 'Why'가 너무나도 명확하고 절실해서, '내가 직접 만들지 않으면 안 되겠다'는 확신이 든다면, 그 사이드 프로젝트를 발전시켜 '창업'을 하는 것 또한 선택지가 될 수 있습니다.
이 방법들은 모두 '우리 제품에 지금 당장 필요한 기초'가 무엇인지 현장에서 배우게 만든다는 공통점이 있습니다.
불안감에 모든 것을 다 배우려 하기보다, '나의 도메인' 또는 '나의 Why'를 생각해보세요.
그리고 그곳에서 요구하는 핵심 기초부터 다져나가신다면, 훨씬 더 빠르게 원하는 목표에 도달할 수 있을 겁니다.
해당 도메인의 현업자를 찾고 싶다면, "개발자 취업/이직/성장 정보 공유방"에 오셔서 질문해보세요!
https://open.kakao.com/o/g1kyqPIh