비전공&고졸 개발자 취업 이야기: 스승을 만나다 (3편)
C언어를 동경하다
2편 말미에 잠깐 언급했듯이
저는 프론트보단 백엔드가 더 좋았습니다.
그리고 정체 모를 C언어에 대한 동경심 또한 갖고 있었구요.
이러한 상황에서 여차저차 이 핑계 저 핑계를 끌어모아서
잘 다니던 패스트 캠퍼스를 갑작스레 그만두었습니다.
스승을 만나다
사실 무작정 학원을 그만둔 것은 아니었습니다.
비빌 언덕은 있었죠.
이름하야 아빠 찬스.
(아빠 찬스라고 해봐야 조국 같은 케이스 아닙니다...)
좀 더 명확히 하자면 아빠의 친구 찬스입니다.
친구분 중에 시스템 엔지니어가 한 분 계십니다.
때마침 그분이 일을 잠깐 쉬고 계셨습니다.
제가 공부하는 걸 도와주겠다고 선심을 써주셔서 넙죽 받아들였습니다.
그렇게 C언어 '코드 카타'가 시작되었습니다.
코드 카타란?
코드 카타(Code kata)는 프로그래머의 기술을 연마하도록 제안하는 개념입니다.
코드를 개선하기 위해 작은 문제를 여러 번 수행하는 과정이 수반됩니다.
순탄치 않은 C언어의 길
C언어는 은탄환이 아니었습니다.
은탄환은 무슨 사람 환장하게 만드는 언어였습니다.
메모리 관리, 유사 Boolean 타입 정의, 문자열 처리, 파일 입출력...
거의 모든 영역에서 명시적인 관리를 요구하더라구요.
관대한 자바스크립트의 세계에서 넘어온 저에게
C언어는 매우 매우 귀찮은 언어였습니다.
"Vim 에디터를 2년 가까이 쓰는 중이다.
왜냐면 아직도 어떻게 종료하는지 모르거든!"
개발 환경 또한 저를 미치게 했습니다.
Linux + Vim을 주로 썼기 때문입니다.
(Vim 에디터는 위와 같은 우스개가 존재할 만큼 호불호가 갈리는 에디터입니다.)
MacOS + VS Code
한동안 꿀 빨던 지난날이 아른거리더라구요.
값진 것은 과정에 있다
고통을 온몸으로 겪으며 몇 개월의 시간을 보냈습니다.
카드 게임, 주소록, 소켓 통신 프로그램 등을 만들었습니다.
이것저것 만들다 보니 시간이 훌쩍 가버리더군요.
산출물이 대단치도, 많지도 않지요.
솔직히 이제 와서 말하자면 몇 년 동안 C언어를 사용한 적이 없습니다.
딱 한 번 학교 과제 제출용으로 50라인 정도 짠 거 빼고는요.
그래도 되돌아보면 그 과정들이 소중한 거 같아요.
개념 익히고, 프로그램 디자인하고, 디버깅하는 과정들이요.
그리고 C언어의 포인터를 다루는 경험이 훗날 많은 도움이 되었습니다.
간단하게는 문자열 관리,
또는 자료구조(linked list) 이해 등에서 말이지요.
한편 저는 하산을 준비합니다.
또 다른 산(자바)을 오르기 위한 하산을 말이지요.
다음 편에 계속!