- 수개월 동안 두려움 때문에 글과 온라인 활동을 중단했던 개발자가 자기검열을 멈추고, 그동안 인정하지 못했던 기술적·개인적 부족함을 고백하는 글
-
다형성(polymorphism) 개념을 10년 넘게 이해하지 못했고, SQL 실력을 잃었으며, 대부분의 코드를 자동화 테스트 없이 배포해 왔다는 사실을 인정
- 회사의 기술 스택 변화에 맞추려다 C#과 Blazor 학습을 중단하고, 여전히 Ruby를 사랑하지만 직업적으로 사용하지 못하는 현실, 그리고 관리자·동료가 블로그를 읽는 상황에서 느끼는 심리적 부담
-
AI로 작성한 PR 제출 후 사이버 괴롭힘을 당한 경험과, 원격 근무에 대한 솔직한 감정 및 조직 내 맞춤형 개발 프로세스의 불필요성에 대한 솔직한 의견
- 두려움을 내려놓고 더 이상 자기 검열 없이 지속적인 학습과 공개적인 글쓰기를 이어가겠다는 다짐으로 마무리
시작: 두려움과 자기 검열을 멈추기로 한 계기
- 4월 이후 겁이 너무 커져서 글을 올릴 수 없었던 시간이 있었고, 소셜 미디어·뉴스 애그리게이터·포럼까지 모두 끊어 놓았음
- 이 상태를 더 끌고 갈 수 없다고 느껴 두려움을 넘어 글을 다시 쓰기로 결정함
- 부족한 기초를 드러내기 싫어 꽁꽁 숨기고 지냈지만, 실제로는 많은 개발자가 비슷한 지식 공백 속에서 일하고 있다는 사실을 바라보게 됨
- 지금까지의 학습 방식은 쓰는 영역만 비대하게 자라는 슬라임 몰드와 닮아 있었고, 사용하지 않은 지식은 그대로 말라버렸음
- 최근 다시 기초를 채우기 시작했고, 배운 내용을 글과 말로 재구성하면서 “모른다”는 사실을 가볍게 인정하는 감각이 자리 잡기 시작함
- 기초는 다시 익힐 수 있다는 확신을 직접 느끼며, 늦은 때는 없다는 감정이 생김
다형성을 10년 넘게 이해하지 못했던 시간
- 2012년부터 객체지향 코드를 쓴다고 생각했지만, 최근 1년 전까지만 해도 다형성을 제대로 이해하지 못하고 있었다는 사실을 스스로 인정하게 됨
- 지금까지 작성한 코드는 객체지향이라기보다는 구조적 프로그래밍에 가까웠다는 현실을 마주함
- 조건문을 클래스로 치환해 설계를 바꾸는 발상은 한 번도 해본 적이 없었음
- Sandi Metz 글과 Martin Fowler 자료를 보며 뒤늦게 개념을 이해했고, 그동안 놓친 것이 너무 많다는 사실이 분명해짐
-
이 사실을 드러내기 어려웠던 이유
- 채용 인터뷰에서 객체지향 개념을 보는 역할을 맡아온 사람이 정작 다형성을 몰랐다는 사실을 드러내는 일이 버거웠음
- 커리어 초반에 원칙 보다는 도구위주의 학습에 치우쳐 있었다는 점이 그대로 드러나고, CS를 전공하지 않은 배경 탓에 놓친 기초가 너무 많다는 사실을 마주하는 일이 쉽지 않았음
SQL을 잊어버린 경험
- 과거에는 SQL 책을 따라 연습 문제를 풀며 능숙하게 JOIN과 서브쿼리를 작성하던 시절이 분명히 있었음
- 프론트엔드 중심 실무가 이어지며 SQL을 쓸 일이 완전히 사라지자, 어느 순간 기술 하나 전체가 머릿속에서 사라져 있었다는 사실을 깨달음
- 기본 쿼리는 떠오르지만, left join과 outer join의 차이를 설명하려면 문서를 다시 펼쳐야 하는 상태가 되어 있었음
-
이 사실을 인정하기 어려웠던 이유
- 젊을 때는 몇 년이 지나도 사실과 기술이 작은 힌트만 있으면 되살아나는 기억력을 갖고 있다고 믿었음
- 이제는 그 능력이 그대로 유지되지 않는다는 현실을 체감했고, 기억에서 통째로 빠져버린 첫 기술이 SQL이었다는 점이 크게 다가왔음
- 나이 듦과 기억의 흐름 변화를 공개적으로 적는 일이 쉽지 않았음
자동화 테스트 없이 개발해온 현실
- 지금까지 배포된 코드의 95% 이상이 자동화 테스트 없이 운영되고 있다는 사실을 스스로 인정함
- 커리어 초기에는 테스트라는 개념을 접하지 못했고, Ember 시절에는 테스트 도구를 제대로 활용하기 어려웠음
- 최근에는 레거시 코드를 다루는 일이 많아 코드를 테스트 가능하게 만들 준비 작업에 충분한 시간을 쓰지 못함
- 새로 만드는 서브시스템에서만 테스트를 곁들일 수 있었음
-
이 사실을 드러내기 어려웠던 이유
- 이 고백이 커리어에 가장 치명적인 사실이라고 느껴질 정도로 무거웠음
- Uncle Bob 기준에서는 테스트 없이 운영되는 코드는 비윤리적이라고 볼 수 있는 태도이며, 그 기준과 자신의 현실 사이의 간극을 직면하는 일이 두려웠음
- 이 사실이 공개되면 채용 과정에서 불리한 판단으로 이어질 가능성이 커 보여 학습 과정 기록 자체를 미루게 되었음
Blazor를 배우지 못한 이유
- 회사가 Angular에서 Blazor로 전환하기로 하자, 팀에서 C# 경험이 없는 유일한 사람이어서 급히 따라잡기 위해 공부를 시작했었음
- 몇 달 뒤 전환 결정이 철회되자, 학습 동기가 통째로 사라져 책도 끝까지 읽지 못하고 멈춤
- 원래 C#이나 .NET은 사이드 프로젝트에서 쓰고 싶은 언어가 아니었고, 오로지 일을 위해서만 공부했던 흐름이 그대로 드러남
-
이 사실을 적기 어려웠던 이유
- 이전 글에서 후속을 쓰겠다고 직접 약속해 둔 상태였고, 그 약속을 지키지 못한 채 다른 글을 쓰는 일이 점점 더 불편하게 느껴졌음
- Blazor 관련 글이 높은 조회수를 기록했기 때문에, 방향을 바꿨다는 사실을 인정하는 일이 패배처럼 보일까 두려웠음
Ruby를 더 쓰고 싶은 마음
- Ruby는 지금도 가장 편하고 즐거운 언어이며, 예제·오픈소스·카타·해커톤 등에서 자연스럽게 손이 가는 언어임
- 그러나 2013년 이후 Ruby로 급여를 받은 적이 단 한 번도 없었고, 업무에서는 TypeScript 같은 언어를 쓰고 있음
- 여러 회사에서 함께 일해 온 동료들이 너무 좋아, 사람을 선택하는 대신 언어는 타협하는 선택을 이어와야 했음
- 퇴근 후와 주말 시간을 Ruby에 쓰고 싶지만, 다른 의무와 학습 목표에 밀려 Ruby를 충분히 쓸 시간이 거의 나지 않는 현실이 이어지고 있음
-
이 사실을 밝히기 어려웠던 이유
- 매니저와 CTO가 이 블로그를 보고 있어, Ruby를 더 쓰고 싶다는 말이 퇴사 신호로 읽힐까 두려웠음
- 회사에서 익숙하지 않은 언어를 밀어붙이려는 사람으로 보이고 싶지도 않았음
성인이 되어도 아픈 사이버 괴롭힘 경험
- 한 오픈소스 프로젝트에 LLM으로 만든 작은 패치를 제출하고 그 경험을 온라인 포럼에 공유했을 때,
무능·역겹다·위협적이다 같은 인신 공격이 폭발적으로 쏟아지는 상황을 맞음
- 이 공격은 사이트를 넘어 다른 웹사이트·이메일·SMS·전화로까지 이어졌고, 안전하지 않다는 감각을 직접적으로 느끼게 했음
- 포럼 관리자에게 실명을 지워달라고 요청했지만, 오히려 더 많은 PII가 프로필에 붙었고,
외부 연락 이야기를 꾸며냈다는 허위 문구까지 영구적으로 박혀 버리는 상황을 마주함
- 결국 계정을 비활성화하고 사이트를 떠날 수밖에 없었음
-
이 사실을 적기 어려웠던 이유
- 며칠간 이어진 괴롭힘은 가장 독성이 강했던 온라인 경험이었고, 지금도 그 여파가 남아 있음
- 이 이야기를 공개하면 가해자들이 다시 찾아올 수 있다는 공포가 계속 됨
- 프로필에 남은 허위 정보가 고용에 악영향을 줄 가능성까지 떠올라 더욱 말하기 어려웠음
SaaS 팀에 ‘특별한 프로세스’가 필요 없다는 생각
- 소프트웨어 업계에는 수십 년 동안 정제된 프로세스가 이미 있으며,
Agile과 Lean, Kanban, XP 같은 방식은 이미 검증된 구조로 존재하고 있음
- 한정된 회사 역량을 새 프로세스 창안에 쓰는 대신 제품 개발에 집중해야 한다는 판단이 자연스럽게 자리 잡음
-
이 생각을 말하기 어려웠던 이유
- 글을 쓸 때는 항상 자신이 잘 아는 주제에 기반해 쓰는 습관을 갖고 있으며, 이 경우에는 같은 회사 동료가 제안한 커스텀 소프트웨어 개발 프로세스가 계기가 되었던 상황임
- 특정 동료나 그 아이디어를 공개적으로 비판하는 글처럼 보일 위험이 있다고 느꼈음
- Kent Beck·Martin Fowler처럼 더 나은 협업 방식을 설명하면서도, 동시에 실수한 동료를 정면으로 겨냥하지 않는 글쓰기 능력이 부러움
- 자신은 아직 그런 균형 감각을 충분히 갖추지 못했다고 느껴, 글쓰기를 망설였음
원격 근무가 실제 협업을 가로막는 방식
- 원격 근무는 많은 문제를 해결해 주지만, 소프트웨어 개발 자체는 함께 있는 공간에서 더 잘 굴러간다는 느낌을 지울 수 없음
- 영상 통화는 저대역폭·저감각 커뮤니케이션이고, 주변적 인식을 잃어 동료의 어려움을 포착하기 힘들어짐
- 도움을 요청하는 일도 더 부담스럽고, 화이트보드·스티키 노트 같은 공간적 사고가 온라인 도구에서 쉽게 깨짐
- 갈등은 모니터 화면 속 사람에게 적 이미지를 씌우기 쉽다는 특성 때문에 더 빠르게 심해짐
-
이 이야기를 적기 어려웠던 이유
- 코로나 이후 완전 원격 회사가 되었고, 그 덕분에 27에이커 땅과 가족용 젖소까지 있는 삶을 꾸릴 수 있었음
- 도시로 옮기기 어려운 생활 구조가 생겼기 때문에, 원격 근무를 선호하지 않는다는 말을 하는게
현재 직장과 앞으로 지원할 모든 원격 직장에서 불리한 인상을 주는 것처럼 느껴졌음
이후 계획
- 이번 글로 두려움을 넘어서는 첫걸음을 다시 밟았다고 느끼며,
앞으로도 기초 학습을 계속하며 배운 모든 것을 숨김 없이 적어 나갈 계획임
- 비슷한 경험이 있는 사람, 도움을 주고 싶은 사람, 다음 글이 궁금한 사람들에게
Mastodon·RSS·메일링 리스트를 통해 소식을 전할 수 있도록 안내함