신입들의 기본기? 그것은 무엇일까
“기본에 충실하라”는 말은 “밥 잘 챙겨 먹어라”와 다를 바 없는데.
이 말을 어떻게 전달하냐가 이번 기본기 유행(?)의 핵심이었던거 같습니다.
굳이 저런 진부한 말을 계속 반복 할 때에는 먼가 “킥” 이 있게 기발나게 하거나 적어도 담담 or 따뜻하게 해야겠지요.
자 이제 이런 인문학적인 요소 말고
“기본기” 자체에 대해서 토론 할 경우에는 정말 다양한 시각이 존재 할 건데..
내가 생각하는 기본기가 저 사람, 저 회사는 아닐 수 있다는 것을 인정해야 합니다.
현재 소프트웨어 분야는 너무나 거대해지고, 다채로워 지고 있으며 발전도 빠르죠. 이제 AI도 한몫하는데
회사의 인재상도 그들의 규모와 비지니스 성격에 따라서 요구하는 바가 너무 다양해졌습니다.
내가 처음 코딩 공부 할 때는 “Code Complete”, “Stack,Heap Memory Management”, “GoF디자인패턴”, “TCP/IP Illustrated”에 파일구조,자료구조,알고리즘 같은게 나의 기본기 였지만, 이제 이런걸 기본기라고 주장하긴 어려워졌습니다.
가비지컬렉터의 발전으로 더이상 메모리관리를 공부 할 시간에 다른 걸 공부하는게
코드컴플리트로 코딩기본 공부 할 시간에 면접에서나 나올법한 OOP 기출문제 외우는게 나을 테고
TCP/IP의 스펙을 공부할 시간에 HTTP 기반의 웹에서 다루는 기본기 및 스프링 같은 특정 프레임워크의 이디엄을 외우는게 취업적으로나 회사의 요구사항을 만족하기에 트레이드오프적으로 훨씬 유리하기 때문입니다.
누구는 자료구조를 기본기라고 하면서 10가지를 달달 외우길 원할 수 도 있을테지만
누구는 2개만 대충 이해하고 더 응용적인 (레디스등 NoSQL 사용해 본다던가) 하는것으로 취업시장에서 자신을 돋보이고 싶을 수 있겠지요.
모두 다 하면 좋지만, 모두 다 할 시간도 없고 효율적이지 않을겁니다
회사마다, 면접관마다 자신의 생각하는 자신의 회사가 요구하는 기본기는 당연히 있을테고, (자바쓰는 곳은 자바 언어 특화되서)
그것으로 면접자를 보는 것은 자유입니다만, 2025년… 이제 누구한테나 가장 중요한 1옵션 기본기는 없다는 점을 다시강조하고 싶습니다.
말은 이렇게 했지만 그럼에도 불구하고 1옵션을 굳이 골라야 한다면
개인적으로 역시 “자료구조” 하나만은 공통 기본기라고 생각은 합니다.
면접 볼때 항상 두세가지 물어보며, 대략적으로 알면되서 정확한 코드를 작성해 보라는 것은 안합니다.
(프론트엔드 개발자일 경우 자바스크립트의 standard collection’s library가 풍부하거나 명확한 느낌이 없는데다가 다른 알아야 할 것들이 많아서 소홀히 하신 분들이 비교적 많아진 듯. Map의 등장이 찾아보니 2015년이나 되서야 도입되고 Object를 해시 테이블 용도로 사용되었던 역사 자체가..그래서 이해는 갑니다.)
무엇이 1옵션이다라기보단 자신만의 1옵션이 무엇인지 공유 해보는 것이 좋겠다 싶습니다.
본인들이 생각하는 본인의 회사에 가장 필요한 기본기 하나는 무엇인가요.