- 대학 시절부터 시작된 25년간의 프로그래밍 여정을 회고하며, 기술보다 사람과 경험 중심의 이야기를 담은 회상록
- 첫 HTML 실습에서 개인 도메인을 얻기까지의 웹 개발 입문 경험과, 단순한 호기심이 평생의 진로로 이어진 과정
- 초기 경력에서 보안 개념(PKI, MITM) 을 배우며 실제 은행 시스템 개발에 참여한 경험과, 코드가 여전히 서비스 중인 사실
-
스파게티 코드 디버깅, 셋톱박스 애니메이션 구현 실패, CTF 대회 우승 등 기술적 도전과 성장의 순간들
- 경력 후반에는 멘토의 조언과 동료와의 관계, 그리고 경험보다 전문성과 친절함으로 기억되고 싶은 마음을 강조
대학 시절의 시작: Viewing the Source
- 2001년 대학 입학 직후, 컴퓨터 실습실에서 susam.com을 탐색하다가 HTML 구조를 처음 접함
- 선배가 Internet Explorer의 View > Source 기능으로 HTML을 보여주며 <FONT> 태그 등 기본 문법을 설명
- 10분 남짓한 시연이 웹의 구조를 이해하게 만든 계기였음
- 이후 직접 웹사이트를 만들고 싶다는 열망이 생겼고, 결국 자신의 .net 도메인을 등록해 개인 사이트를 운영하게 됨
- 이 짧은 경험이 평생의 웹 개발 경로를 여는 출발점이 됨
리셋 벡터 실험: The Reset Vector
- 8086 마이크로프로세서 기반 MS-DOS 환경에서 어셈블리로 엘리베이터 제어 프로그램을 작성하던 중,
FFFF:0000 주소로 점프하면 시스템이 재부팅된다는 사실을 실험
- 실제로 DEBUG.EXE에서 명령을 실행하자 즉시 재부팅이 이루어짐
- 이를 지켜본 동급생이 “그런 생각을 해본 적이 없다”며 탐구심의 중요성을 깨닫고, 이후 학급 1등을 포기하고 실험 중심 학습으로 전환
- 단순한 호기심이 타인의 학습 태도까지 바꾼 계기로 남음
첫 직장과 보안 학습: Man in the Middle
- 첫 직장에서 e-banking 제품 설치 프로그램을 유지보수하며 Python 기반 설치기의 불안정성을 개선
- 이후 보안 프레임워크 팀(Archie) 으로 이동 면접 중 ‘MITM 공격 방지 방법’을 질문받고 처음으로 해당 개념을 접함
- 이후 PKI, 공개키 암호화 표준을 집중 학습하고, Bouncy Castle 라이브러리로 디지털 서명 기능을 구현
- 자신이 작성한 코드가 수백 개 은행에서 사용되는 제품의 일부로 남아 있음
- 이 경험을 통해 보안 엔지니어링과 실무 품질 관리의 중요성을 체득
디버깅과 성장: Sphagetti Code
- 2007~2008년경 OpenTV 셋톱박스용 위젯 개발 중 포인터 오류로 인한 불안정한 코드 발생
- 팀 리드가 코드를 검토한 지 5분 만에 버그 위치를 정확히 지적, 즉시 문제 해결
- 이 사건을 통해 자신이 아직 복잡한 코드 구조 관리 능력이 부족함을 자각
- 이후 코드 품질과 복잡도 제어 능력을 꾸준히 향상시킴
셋톱박스 애니메이션 실험: Animated Television Widgets
- Java ME 기반 셋톱박스 위젯에 애니메이션 기능을 추가하는 실험 진행
- 제조사는 “불가능하다”고 주장했으나, 개발자는 에뮬레이터에서 성공적인 데모를 구현
- 실제 하드웨어 테스트에서는 프레임 처리 한계로 끊김 현상이 발생해 최종적으로 기능이 폐기
- 결과적으로 제조사의 판단이 옳았지만, 기술적 한계와 협업 구조의 현실을 체험한 사례
커리어 전환과 멘토링: Good Blessings
- 2009년 RSA Security 근무 중 수학·알고리듬 중심의 프로젝트를 원하며 Chief Scientist Dr. Burt Kaliski와 면담
- 그의 조언을 따라 새로운 팀으로 이동해 파서 생성기, 형식 언어, 페타바이트급 데이터베이스 엔진 개발에 참여
- 6년간의 경험을 통해 전문적 성장과 협업의 즐거움을 얻음
- 수년 후 감사 메일을 보냈고, Kaliski는 “좋은 축복을 다음 세대로 전하는 것이 목표”라는 답장을 보냄
경험과 인식의 변화: The CTF Scoreboard
- 2019년 사이버보안 인식의 달에 사내 CTF 대회 참가, 8시간 만에 90% 문제 해결로 1위 달성
- 동료들은 이를 “경험 덕분”이라 평가하며, 과거의 ‘똑똑함’이 이제는 경험의 결과로 인식됨을 깨달음
- 여전히 기술 역량을 유지하며, 이제는 전문성·윤리·친절함으로 기억되고자 함
- 경력의 무게보다 사람으로서의 인상을 남기는 것이 중요하다는 결론
전체 회고
- 25년간의 여정은 호기심, 실험, 협업, 감사, 성찰로 이어지는 연속선
- 기술적 성취보다 사람과 배움의 관계가 더 오래 남는다는 메시지
- 각 시기의 경험이 지속적인 성장과 겸손한 태도로 연결됨
- 소프트웨어 개발 경력의 본질은 코드보다 사람과 배움의 이야기임