내가 개발자가 된 이유 (그리고 17년이 지난 지금도 여기 있는 이유)
Source: Dev.to
초기 시작
나는 MySpace 세대였어요 😬, 움직이는 GIF, 배경 이미지, 그리고 3분 이내에 내 전체 성격을 보여주는 자동 재생 음악을 가지고 있었죠. 물론 매주 업데이트했습니다. 페이지에 누군가 들어오면 바로 음악을 크게 틀었어요—경고도, 사과도 없이.
프로필을 남들보다 완전히 다르게 보이게 만들기 위해 코드를 파고들던 사람이라면… 나도 그랬어요. 우리는 좋은 친구가 될 수 있었겠죠. 그 시절은 다른 사람들이 실제로 체험할 수 있는 화면 위에 무언가를 만드는 첫 번째 진짜 맛이었어요. 그 느낌을 일컫는 이름은 없었지만, 나는 그게 정말 좋다는 것만 알았어요.
고등학교 대회
고등학교 때 FBLA(Future Business Leaders of America)에 가입해 웹사이트 디자인 대회에 참가했고 2위를 차지했어요. 1위가 아니어도 상관없었어요; 중요한 건 내가 만든 것이 거기에 앉아 보여지고, 스스로 평가받는 모습을 보는 것이었죠. 나는 그걸 처음부터 직접 만들었어요. 내가 만들었기 때문에 존재했어요. 그때의 감각이 내 안에 스며들어 절대 떠나지 않았습니다.
커리어 여정
“고등학교 웹 대회에서 2위를 차지한 소녀”가 시니어 소프트웨어 엔지니어가 되기까지의 길은 하이라이트 영상이 아니에요. 가짜 전문가 증후군, 열어보자마자 닫고 싶어지는 코드베이스, 이미 알고 있어야 할 것을 구글링하고, 가장 어리석은 실수 때문에 배포가 실패하는 일들이 많았죠.
때때로 나는 과연 이 분야에 내가 어울리는 사람인지 진심으로 의문을 품기도 했어요. 아직도 배우고, 아직도 파악 중이에요. 누군가가 어느 순간 그 부분이 사라진다고 말한다면, 그건 거짓이거나 스스로를 충분히 밀어붙이지 않은 겁니다. 넘어지는 것이 잘못된 곳에 있다는 뜻은 아니에요—그냥 일을 하고 있다는 증거일 뿐이죠.
나는 The Weather Company에서 16년을 보내며 수천만 명이 매일 사용하는 제품을 만들었어요. 그 경험은 내가 하는 일을 바라보는 방식을 바꿔줍니다. 코드를 체크리스트처럼 다루는 것이 아니라 실제로 의미가 있는 것으로 대하게 되죠—왜냐하면 정말 그렇기 때문이에요. 그렇게 많은 사람들이 내가 만든 것이 제대로 작동하길 기대한다면, 성능은 선택 사항이 아니고, 접근성은 부가 기능이 아니며, 실제 사람들의 실제 기기와 실제 삶을 위한 코드를 작성하고 있는 겁니다.
기술은 멈추지 않아요. 나는 HTML 테이블에서 Flexbox, Grid로, 바닐라 JS에서 jQuery, Angular, React로, 스파게티 코드와 “그냥 작동하게 해라”에서 TypeScript, 컴포넌트 라이브러리, 대규모에 버티는 디자인 시스템까지 옮겨왔어요. 배우고, 다시 배우고, 때로는 완전히 잊어버려야 할 것들을 셀 수 없을 만큼 많이 경험했죠.
배운 교훈
- 일에 대한 사랑: 대부분의 날에 이 일을 진심으로 사랑합니다. 전혀 사랑하지 않는 날도 있긴 하지만(말이 되나요?).
- 논리 + 창의성: 논리적이면서도 창의적일 수 있습니다. 깔끔하고 구조화된 코드를 작성하면서도 보기 좋고 사용감이 좋은, 때로는 디자인까지 하는 일을 할 수 있죠.
- 접근성은 필수: “보기 좋고 사용감이 좋다”는 모든 사람을 포함해야 합니다. 일부 사람만 사용할 수 있다면 진짜 완성된 것이 아닙니다.
- 지속적인 학습: 모든 프로젝트가 나에게 무언가를 가르쳐 줍니다—다른 문제, 다른 도전, 새롭게 알아내야 할 것들.
CSS가 뭔지조차 모른 채 MySpace 레이아웃을 완벽히 다듬는 데 너무 오래 시간을 보낸 그 소녀는, 컴포넌트가 모형과 정확히 일치할 때마다, 콘솔이 깨끗이 돌아올 때마다, 만든 것이 제대로 작동할 때마다, 그리고 PR에 “LGTM”을 받았을 때마다 여전히 나타납니다.
마무리 생각
고등학교 대회에서 2위를 차지한 것이 이 모든 시작이었습니다. 받아들이겠습니다.