본문 바로가기

분류 전체보기60

코드 리팩토링: 나쁜 냄새를 찾아내는 눈 제가 리팩토링을 처음 제대로 이해한 계기는 기능을 추가하는 일이 점점 느려지던 어느 날이었습니다. 당시 주문 화면에서 할인 금액을 계산하는 코드는 겨우 몇십 줄에 불과했지만, 배송비와 회원 등급, 쿠폰 조건이 차례로 붙으면서 수정할 때마다 다른 부분이 흔들렸습니다. 겉으로는 정상적으로 동작했기 때문에 처음에는 단순히 제가 코드를 잘 읽지 못한다고 생각했습니다. 그러나 같은 조건문이 여러 파일에 반복되고, 변수 이름만 달라진 채 비슷한 계산이 이어지는 모습을 발견하면서 문제는 제 이해력이 아니라 코드의 구조에 있다는 사실을 깨달았습니다. 그때부터 저는 오류 메시지만 찾는 대신 코드에서 불편한 냄새가 나는 지점을 살피기 시작했습니다.처음에는 작동하면 좋은 코드라고 생각했다초기 개발자인 저는 결과가 제대로 나.. 2026. 8. 17.
개발자에게 글쓰기가 중요한 이유, 코드를 넘어 생각을 정리하는 습관 저는 개발을 시작하면 실력은 코드를 얼마나 많이 작성하느냐로 결정된다고 생각했습니다. 새로운 문법을 익히고, 어려운 문제를 빠르게 해결하고, 동료보다 더 복잡한 기능을 구현하면 좋은 개발자가 될 수 있다고 믿었죠. 그래서 한동안 작업 내용을 따로 기록하지 않았습니다. 머릿속에 모두 정리되어 있다고 착각했고, 설명하는 시간은 코딩을 방해하는 일처럼 느꼈습니다. 하지만 시간이 지나면서 제 생각이 자주 바뀌고, 같은 문제를 반복해서 해결하며, 다른 사람에게 제 의도를 설명하지 못하는 순간이 늘어났습니다. 그때부터 글쓰기는 부가적인 능력이 아니라 개발을 계속하기 위한 기본 도구라는 생각을 하게 됐습니다.기록하지 않으면 같은 문제를 다시 만난다첫 직장에서 한 기능의 속도를 개선하는 일을 맡은 적이 있습니다. 며칠.. 2026. 8. 16.
자동화가 부른 예상치 못한 사고, 편리함 뒤에 숨은 실수 제가 자동화의 편리함을 처음 제대로 믿기 시작한 것은 회사에서 매주 반복하던 정산 자료를 정리하면서부터였습니다. 여러 사람이 입력한 엑셀 파일을 한 폴더에 모으면 정해진 시간에 표가 합쳐지고, 담당자별 요약본이 만들어져 이메일로 전달되는 방식이었습니다. 예전에는 한 시간 넘게 걸리던 일을 십 분 안에 끝낼 수 있었고, 저는 이제 단순 반복 작업에서 벗어났다고 생각했습니다. 그런데 시간이 지나면서 그 편리함이 오히려 확인을 생략하게 만드는 습관으로 이어졌고, 작은 조건 하나가 예상보다 큰 사고를 만들었습니다.반복 작업을 줄이려던 시작당시 제가 맡은 업무는 전국 지점에서 보내온 판매 현황을 취합해 매주 월요일 오전에 본사에 전달하는 일이었습니다. 파일 이름은 지점마다 조금씩 달랐고, 누락된 항목도 자주 생겨.. 2026. 8. 14.
사이드 프로젝트가 내 커리어를 바꾼 이유: 1년간의 솔직한 기록 지난해 봄, 저는 회사 일 외에는 코드를 단 한 줄도 쓰지 않는 개발자였습니다. 매일 주어진 업무를 처리하는 것으로 하루가 끝났고, '개발자로서 성장한다'는 말이 도무지 와닿지 않았습니다. 회사에서 시키는 기술 스택만 공부하고, 주어진 일정 안에서 요구사항을 구현하는 일이 전부였습니다. 성장에 대한 막연한 불안만 커져 가던 어느 주말, 아무도 시키지 않은 작은 프로그램 하나를 만들기 시작했습니다. 그게 제 인생의 첫 사이드 프로젝트였고, 지금 돌아보면 그 작은 선택이 제 커리어의 방향을 완전히 바꿔 놓았습니다.▲ 주말마다 조금씩 만들어 나간 첫 사이드 프로젝트의 화면사이드 프로젝트가 준 첫 수확은 '주인의식'이었습니다회사 코드는 제가 만들고 고쳐도 결국 남의 프로젝트입니다. 그런데 제 프로젝트는 달랐습니.. 2026. 8. 13.
오픈소스에 첫 기여하기까지, 내 코드가 머지된 날 1. 서론: 오픈소스는 나에게 남의 나라였다오픈소스는 나에게 언제나 남의 나라였다. 남의 코드를 읽는 일에는 익숙했지만, 내가 쓴 코드를 낯선 개발자에게 보여준다는 생각만 하면 가슴이 답답해졌다. 실수하면 어쩌나, 부끄럽지 않을까 하는 걱정이 항상 앞섰다. 물론 그런 걱정은 어디까지나 내 마음속에서만 자란 상상이었다. 하지만 그 상상은 생각보다 끈질겨서, 깃허브 계정을 만든 지 1년이 지나도록 나는 아무것도 올리지 못했다. 그런 내가 오픈소스에 첫 기여를 한 건 개발을 시작한 지 3년이 되던 해였다. 이 글은 그날 이후 머지가 될 때까지 겪은 시행착오와, 그 과정에서 조금씩 바뀐 내 생각을 솔직하게 풀어놓은 기록이다.2. 첫 도전: 오타 하나 고치기까지 두 달시작은 참 소박했다. 내가 매일 쓰는 파이썬 .. 2026. 8. 13.
AI 시대, 개발자에게 '컴퓨터 과학의 기본기'가 다시 중요한 이유 1. AI 코딩 도구를 쓰면서 생긴 의문최근 1년간 AI 코딩 어시스턴트를 업무에 적극 활용해 왔습니다. 처음에는 단순히 코드 자동 완성 기능만 기대했는데, 실제로는 그보다 훨씬 넓은 범위를 커버해 준다는 사실에 놀랐습니다. 함수 하나를 요청하면 관련 테스트 코드까지, 심지어 리팩터링 제안까지 내놓습니다. 그런데 쓰면 쓸수록 한 가지 의문이 들었습니다. 결과물의 품질을 판단하는 기준은 어디에서 오는가? AI가 만들어 준 코드가 정말 올바른지, 성능이 충분한지, 확장이 가능한지 판단하는 일은 결국 제 몫이었습니다. 그리고 그 판단의 토대가 바로 컴퓨터 과학의 기본기라는 사실을 깨달았습니다.2. 기본기를 무시했던 시절의 실패몇 년 전만 해도 저는 '동작하는 코드'에만 집중했습니다. 알고리즘과 자료구조를 공부.. 2026. 8. 10.