seojuny.dev

4년 회고

5분
  • #회고
  • #개발자
  • #AI

처음 개발자로 일을 시작한 뒤로 블로그를 쓰고 싶다는 생각은 계속 있었다. 근데 솔직히 귀찮기도 했고, 막상 앉으면 뭘 써야 할지 몰라 시작을 못 했다.

이번엔 제대로 써 보려고 한다. 첫 글로 지난 4년을 정리해 본다.

어떻게 개발자가 되었나

나는 해외에서 호텔경영을 전공했다. 졸업 후엔 해외 호텔 쪽으로 취업할 계획이었는데, 코로나로 인해 해외 취업이 어려워졌다. 결국 졸업하고 한국에 돌아왔는데, 당시 뭘 해야 할지 계획이 없어 꽤 많이 방황했다.

그러다 2021년 봄, 호기심에 당시 유행이었던 코딩을 국비지원 과정으로 처음 시작했다. 가벼운 마음으로 시작했는데, 막상 하다 보니 생각보다 재미있었고 더 깊이 배워 보고 싶었다. 국비지원 과정이 끝난 뒤 코딩 부트캠프를 찾아봤고, 그해 6월 바닐라코딩이라는 프론트엔드 개발자 양성 부트캠프에 들어가 6개월 정도 교육을 받았다.

바닐라코딩은 수강생들에게 그냥 떠먹여 주지 않는다. 매주 새로운 과제를 주며 스스로 고민하게 하고, 답도 스스로 찾을 수 있도록 길을 제시해 준다. 근데 코딩도 그렇고 개발 자체를 처음 하는 거다 보니 매주 받는 과제가 정말이지 너무 어려웠다. 막막하고 못하겠다 싶었는데… 이것도 못하면 답도 없다고 생각하면서 될 때까지 했다. 그렇게 하나하나 문제가 풀리는 걸 보면서 큰 성취감을 느꼈다. 못할 것 같아도 일단 시작해서 붙잡고 늘어지면 어떻게든 된다 — 이 경험이 지금도 나한테 가장 큰 원동력이다.

교육과정을 다 마치고 나서 3개월 정도 바닐라코딩에 남아 멘토링 활동을 했다. 공부를 더 하고 싶기도 했고, 멘토링 자체가 새로운 커리어를 시작하는 데 좋은 경험이 될 것 같았다. 막상 해 보니까 헷갈리던 부분들이 멘토링 활동을 하는 동안 오히려 더 잘 잡혔고, 무엇보다 멘토링을 하면서 수강생들을 도와주는 게 뿌듯했고 재미있었다.

그렇게 3개월의 멘토링 활동을 끝내고, 여의도에 있는 스타트업에 취업해 개발자로 커리어를 시작했다.

지금까지 어떤 개발을 해왔나

4년간 한 일 중 큰 줄기만 추리면 다음과 같다.

  • 어드민 리뉴얼 — Vue로 만들어진 어드민 프로젝트를 Next.js로 마이그레이션했다. 데이터 로딩 때문에 화면 전체가 늦게 표시되는 문제를 개선하기 위해 화면과 로딩 상태를 기능 단위로 분리하고 Streaming SSR을 적용했다. 또한 화면마다 필요한 데이터를 조합하는 책임을 GraphQL BFF로 옮겨 클라이언트의 데이터 처리 부담을 줄였다.
  • 신규 서비스 개발 — 새로 출시된 서비스의 사용자 화면과 어드민을 처음부터 끝까지 개발했다. 금융 서비스 특성상 약관의 종류와 사용자 조건에 따라 분기가 많았는데, 복잡한 약관 동의 절차를 XState 기반의 상태 머신으로 정의해 화면 전환과 검증 로직을 명확하게 관리할 수 있게 했다.
  • 사내 개발자 도구 개발 — 회사가 사내 사용을 목적으로 만든 Server-Driven UI 프레임워크를 동료 개발자들이 쉽게 활용할 수 있도록 VS Code Extension을 개발했다. 에디터에서 코드를 작성하면서 미리보기로 실제 렌더링 결과를 확인하고 여러 조건을 테스트할 수 있게 해, 반복되는 확인 작업을 줄였다.

돌이켜 보면 새로운 화면을 만드는 것뿐만 아니라 기존 구조의 문제를 찾아 개선하는 데에도 많은 시간을 썼다. 그 과정에서 코드를 작성하는 능력만큼 문제를 명확하게 정의하고 상황에 맞는 구조를 선택하는 일이 중요하다는 것을 배웠다.

AI 시대

4년 동안 개발 환경은 정말 빨리, 많이 변했다. 가장 크게 바뀐 건 AI다. 처음 ChatGPT가 나왔을 때는 옆에 두고 자잘한 걸 묻는 정도였는데, 지금은 일하는 거의 모든 순간에 AI를 사용하고 있다.

AI를 사용하게 된 이후 구글에 뭔가를 검색하는 일이 전보다 많이 줄었다. React 릴리스 노트를 챙겨 보던 습관도 흐릿해졌다. 모르는 게 생기면 일단 AI한테 묻고, 받은 답을 확인한다. 4년 전 처음 개발을 시작했을 때와는 방식이 완전 달라졌다.

직접 코드를 처음부터 짜는 일은 확연히 줄었고, 대부분은 AI가 만든 결과물을 확인하고 수정하는 일을 반복한다. 아직까지 이런 방식이 찝찝하다. 근데 주변을 둘러보면 다른 개발자들도 비슷한 방식으로 일하는 것 같다.

어떻게 하면 살아남을 수 있을까?

매주 새로운 AI 모델과 기능이 쏟아진다. 일이 점점 편해지는 한편, 가끔은 ‘이게 다 뭐지?’ 싶어 멈칫하게 된다.

이 속도라면 개발자가 정말 AI로 대체되지 않을까? 완전히 대체되지는 않더라도 어떤 방식으로든 밀리겠구나 하는 생각이 든다.

채용 공고만 봐도 분위기가 많이 바뀌었다. 프론트엔드 직군의 자격 요건이나 우대 사항에도 AI 관련 항목이 추가됐다. AI를 도구로 쓰는 것 이상을 요구하는 자리가 점점 늘고 있다.

매일 AI를 쓰고 있지만, 솔직히 작동 원리를 대략적으로만 알 뿐 어떻게 만들어졌는지는 제대로 알지 못한다. 그럼 이걸 잘 쓸 수 있을까? 이 속도를 따라잡을 수 있을까? 단순히 쓰기만 하는 사람이 아니라 잘 활용하고, 어쩌면 AI를 다루는 사람이 돼야 하지 않을까?

다음

요즘 프론트엔드 개발자로서 앞으로 어떻게 발전해야 할지 고민이 많다. 예전처럼 새 기술 하나 더 익히고, 코딩을 더 잘하는 방향만으로는 나만의 차별점을 만들기 어려울 것 같다는 생각이 든다.

코드를 작성하는 일은 이제 AI가 상당 부분 도와줄 수 있다. 그만큼 개발자는 무엇을 만들어야 하는지 판단하고, 문제를 명확하게 정의하고, 만들어진 결과물이 올바른지 확인하는 데 더 많은 시간을 쓸 수 있게 됐다. 나도 코드를 빠르게 작성하는 개발자에 머무르기보다, AI를 활용해 더 좋은 방향을 찾고 결과물의 완성도를 높일 수 있는 개발자가 되고 싶다.

AI 덕분에 자료를 조사하거나 새로운 기술을 배우는 데 드는 시간도 많이 줄었다. 이를 잘 활용해 더 빠르게 배우고 시도하면서, 웹 개발을 지금보다 깊이 이해하고 싶다. 단순히 화면을 구현하는 데서 그치지 않고 성능과 접근성, 사용자 경험, 유지보수하기 좋은 구조까지 세심하게 고민할 수 있는 개발자로 발전하고 싶다.

동시에 매일 사용하는 AI가 어떻게 만들어졌고 어떤 원리로 동작하는지도 제대로 공부해 보려 한다. 단순히 AI가 만들어 준 결과를 사용하는 것을 넘어, AI를 이해하고 목적에 맞게 활용할 수 있는 개발자가 되는 것이 앞으로의 목표다.

이 과정을 잘 남겨두려고 블로그를 만들었다. 앞으로 배우고 고민한 것들을 꾸준히 기록해 보려 한다.

뭐가 될지는 아직 모르겠지만… 화이팅!


게시물 검색

  • 검색어를 입력하세요
이동열기
ESC닫기