야근의 밤을 지나, 다시 React를 향해
야근의 밤을 지나, 다시 React를 향해
개발자로 살아온 지 어언 10년이 넘었다.
그중 대부분은 ‘아이폰 네이티브 개발자’라는 이름 아래, Xcode의 Dusk 테마와 씨름하며 보냈다.
Swift가 처음 등장하던 날도, Objective-C에 ARC가 도입되던 순간도 선명히 기억난다.
Objective-C는 Smalltalk의 영향을 받아, C 계열 언어와는 전혀 다른 이질적인 문법을 갖고 있었다.
그 덕에 처음에는 온몸으로 거부감이 들었지만, 점차 손에 익었다.
그래서 Swift가 나왔을 때는 솔직히 반가웠다.
쌍수를 들고 환영할만한 진화라고 생각했다.
오케이… 그렇게 순풍처럼 흘러가는 줄 알았다.
하지만 기쁨도 잠시, 어느새 야근은 일상이 되었고
회사의 불이 꺼질 때까지 자리를 지키는 것이 미덕이자 습관처럼 몸에 밴 채 살아가고 있었다.
하루하루는 정말 바빴다.
야근이 끝난 밤엔 집에 돌아와 씻고, 누우면 바로 아침이었다.
그렇게 반복되는 시간 속에서, 세상은 조용히—but 확실히—변하고 있었다.
처음 ‘React.js’라는 단어를 들었을 때, 그냥 ‘웹 개발자들이 쓰는 라이브러리겠지’ 하고 넘겼다.
모바일 네이티브 개발자로서의 자부심도 있었다.
브라우저 속 앱은 결국 네이티브 성능을 따라올 수 없다고 믿었다.
터치감도, 반응 속도도, 애니메이션도… 뭐 하나 만족스러운 게 없어 보였다.
그런 내 생각이 오만이었다는 걸, 깨닫기까지는 시간이 오래 걸렸다.
회사 회의실에서 누군가 ‘웹뷰 기반으로도 충분하다’고 말했을 때, 가슴이 철렁했다.
React Native, Flutter, PWA… 익숙하지 않은 단어들이 회의실 공기를 바꿔놓았다.
나는 프리랜서였다.
프로젝트가 끝나면 다시 새로운 일을 찾아 헤매야 했고, 점점 더 많은 채용 공고에서 “iOS + React Native 필수” 같은 문구가 눈에 들어오기 시작했다.
그 문구는 점차 **“React Native 개발자 우대”**를 넘어, “iOS만 하는 개발자는 옵션”처럼 취급받기 시작했다.
하지만 나는 여전히 UIView
, AutoLayout
, Combine
, MVVM
을 붙잡고 있었다.
‘이 길이 내 길이다’라고, 스스로를 다독이며.
그러다 문득, 2~3년 차 경력의 신입 개발자—or ChatGPT—가 브라우저에서 기능을 실시간으로 구현해보이는 장면을 봤다.
Figma 디자인을 컴포넌트로 옮기고, 서버와 통신하는 기능까지 바로 연결해버렸다.
나는 아직 Storyboard에서 Asset 정리를 하고 있었는데, 그들은 이미 결과를 브라우저에서 실행하고 있었다.
처음엔 자존심이 상했다.
하지만 그 밑바닥에는… 놓쳐버린 시간에 대한 깊은 아쉬움이 있었다.
나는 React.js를 배운 적이 없다.
HTML, CSS는 안다고 생각했지만, flex
나 grid
앞에서는 머리가 멍해졌다.
JavaScript는 썼지만, useEffect
, useState
같은 단어들은 전혀 감이 잡히지 않았다.
‘언제 이렇게 된 걸까…’
지금도 Xcode를 열면 마음이 편하다.
그곳은 내가 10년을 살아온 집이다.
하지만 이제는 안다.
세상은 집 밖에서도 움직이고 있다는 걸.
그리고 나는 너무 오랫동안 한 방향만 바라봤다는 걸.
Visual Studio Code, 그리고 요즘 유행하는 Cursor 같은 IDE도,
내게는 낯설고 새롭지만… 그것 또한 이미 세상의 표준이 되어 있었다.
늦었다는 생각이 든다.
하지만 늦지 않기 위해 이 글을 쓴다.
이제라도 배우겠다.
React.js, 그 이름에 담긴 철학과 흐름을 따라가 보려 한다.
다시 성장하기 위해서, 다시 도전하기 위해서.
야근에 치여 놓쳐버린 나의 가능성에게
조금 늦었지만, 이렇게 말하고 싶다.
“다시 시작하자. 아직 늦지 않았어.”
👨🏻💻 첫걸음, 다시 바닐라 JS부터
사실 처음엔 니꼬 형님의
👉 ReactJS로 영화 웹 서비스 만들기
강의를 들으려 했다.
하지만 그 전에 꼭 듣고 오라는 입문 강의가 있었다.
그래서 니꼬 형님의 말씀대로 순서를 지켰다.
👉 바닐라 JS로 크롬 앱 만들기
이 강의를 통해, 나는 다시 자바스크립트의 기본기를 쌓기 시작했다.
코드를 짜며 느꼈다.
나는 지금, 다시 배우고 있다는 사실에 묘한 설렘을 느끼고 있었다.
다시 시작이다.
다시, 새로운 기술을 받아들이는 법을 배우고 있다.
그리고 마음속으로 또 한 번 되뇌어본다.
“다시 시작하자. 아직 늦지 않았어.”
고등학교때 html, javascript 로 숫자야구 만들던 때와는 비교도 안될 정도로 발전되어 있었다.