앞선 두 편의 글에 이어, 이번에는 마지막으로 '널널한 개발자' 최호성 연사님의 "경력이 늘수록 CS이론이 중요해지는 이유" 발표 내용을 정리해보겠습니다.
발표자 소개: 널널한 개발자 최호성님
최호성 연사님은 비전공자로서 30년간의 개발자 경력을 쌓아오신 분입니다. C/C++ 강사, 저자, 개발자로서 다양한 경험을 하셨고, 현재는 '널널한 개발자'라는 이름으로 많은 개발자들에게 조언과 인사이트를 전달하고 계십니다.
구독 ㄱㄱㄱㄱㄱ~
널널한 개발자 TV
저 역시도 비전공자에 부트캠프 출신으로 CS와 Under the hood의 영역에 약점이 있다는 점을 잘 알고있는데요.
초라한 학습 경력 및 실무 경력에 비해 조금은 거시적 시각을 가져야 할 직무를 맡게되면서, 아키텍쳐나 메타 프로그래밍을 활용한 공용 라이브러리 제작에 더 힘을 쓰다보니 지난 1년간 약점을 많이 보완하지 못한 것 같은 아쉬움이 남았습니다.
하여 올해 목표를 특히 JVM, CS, OS 등 기술의 원론적인 부분을 핥아보기로 마음먹었기에, 연사님의 발표를 정리하는 것의 의미가 제게 더 크게 다가오네요.
그럼 정리 시작해 보겠습니다.
CS이론과 경력자의 흔한 고민
최근 개발자 상담을 통해 자주 접하는 사례
- 5년 차 이상의 개발자들이 자신의 경력을 '물경력'이라 생각하는 경우
- 웹 개발은 쉽다는 인식 속에서 느끼는 압박감
- 트러블 슈팅 시 원인을 찾는 것이 어려움
- 깊이 있는 CS 지식 없이 주먹구구식으로 대응하는 상황
개발자의 기본기
개발자의 기본기로서 다음과 같은 CS 핵심 영역을 강조
- 컴퓨터 구조
- 운영체제
- 프로그래밍 언어
- 자료구조, 알고리즘
- 컴파일러
- 데이터베이스
다행히 이러한 기본기는 꼭 어릴 때부터 갖춰야 하는 것이 아니라, 경력이 쌓이면서 점진적으로 발전시킬 수 있다고 강조하셨습니다.
CS 이론의 실무적 중요성
컴퓨터 구조와 성능
이어서 컴퓨터 구조에 대한 이해가 실제 성능 최적화와 장애 대응에 어떻게 도움이 되는지 설명해주셨는데요.
- CPU, 캐시, 메모리, 디스크 간의 속도 차이 이해
- 입출력 작업의 특성 파악
- RAID 시스템의 동작 원리
- 컴파일러 최적화의 이해
운영체제와 동시성
운영체제에 대한 이해가 필수적인 이유도 설명하셨습니다.
- 프로세스와 스레드의 이해
- 동기화와 교착상태 문제 해결
- 파일 시스템의 동작 원리
- 메모리 관리와 가상 메모리
결론: CS 이론이 왜 중요한가?
연사님은 다음과 같은 이유로 CS 이론의 중요성을 강조하셨습니다:
- 성능 최적화: 시스템의 병목 현상을 이해하고 해결하는 데 필수적
- 장애 대응: 문제의 근본 원인을 파악하고 해결하는 능력 향상
- 설계 역량: 더 나은 아키텍처를 설계할 수 있는 기반 제공
- 학습 능력 향상: 새로이 유행하는 프레임워크나 라이브러리라 할지라도 원리를 알고 있으면 결국은 비슷비슷한 기술들로 이해와 활용이 용이
마무리
이번 INFCON 2024 참관기를 통해 설계, 디버깅, CS 이론이라는 세 가지 중요한 주제에 대해 정리해보았습니다.
세 연사님의 발표 모두 개발자로서의 성장에 큰 통찰을 주었습니다.
특히 최호성 연사님의 발표는 단순히 트렌디한 기술을 쫓는 것을 넘어, 기본기의 중요성을 다시 한 번 일깨워주는 소중한 시간이었습니다.
특히 1년차를 넘기고 회고록을 작성하면서, 제가 채워야할 부분이 기초지식이라는 것을 절실히 느꼈기 때문에 올해는 이러한 부분을 채워 더 탄탄한 개발자가 될 생각힙니다.
긴 시리즈 글 읽어주셔서 감사합니다.
2025.01.05 - [연간 회고록] - 개발 1년차 회고록: 트레이너에서 오프라인 결제 솔루션 개발자로
'개발자 컨퍼런스 > 인프콘 2024' 카테고리의 다른 글
[INFCON 2024 참관기 - 2] 디버깅 마인드셋: 디버깅의 고통을 절반으로 줄여주는 고수들의 행동패턴 따라하기 (1) | 2025.01.06 |
---|---|
[INFCON 2024 참관기 - 1] 지속 성장 가능한 설계를 만들어가는 방법 (1) | 2025.01.06 |