이 글은 2023년에 프론트를 공부하던 나와 2024년 올해 공부하는 내가 어떻게 달라졌는지에 대해 쓰는 글이다.
1년전에 나와 바뀐게 뭘까? 1년전에는 막 취업에 성공한 신입 프론트엔드 개발자였다.
내 최고의 관심사는 두개였다.
1. 남의 코드를 파악하여 기능을 붙이거나 작성하여 시간안에 해낼 수 있는 능력.
2. 회사에서 일하는 방법과 도메인에 대해서 이해하기.
1번은 코드를 빨리 읽고 어떤 기능을 하는지 파악하며 재사용되는 부분을 모듈화하여 속도가 빨라지는데 많이 연습을 했다.
회사에서 1번을 하다보면 자연스럽게 레거시를 많이 만나게되는데 이때 많이 성장했다.
잘 작성된 코드에서도 많이 배우지만 잘 작성되지 않은 코드를 잘 작성한것처럼 리팩토링 하는과정은 노력도 많이들고 생각도 많이 해야하기에 이런걸 많이 연습하다보니 나만의 코드에 대한 철학이 생겼다.
그리고 곧 1년이 돼가는 지금은 보다 큰 관점에서 설계하고 코드를 만드는데에도 관심이 생겼다.
운이 좋게도 현 회사에서 다양한 프레임워크를 해볼 수 있는 경험과 잘하시는 데브옵스분들께 질문을 많이 할 수 있었다.
그래서 만약 새로운 서비스를 만들어야한다면 어떤 프레임워크를 골라서 어떤 라이브러리로 어떻게 개발해야할지 인프라쪽은 어떻게 하고 자원은 어떻게 관리할지 등등에 관심이 많이 생겼고 흥미가 생겼다.
최근에는 이미지를 최적화 하는법, 반복되는 작업의 자동화, 복잡하고 자주 사용되는 코드에 대한 테스트코드 검증을 하고 있다.
이런 부분이 재밌지만 꼭 내가 하는 작업이 필요한가에 대한 질문은 할 필요가 있다. 아무리 좋은 기술이라도 현재 내가 하는 목적에 맞지 않는다면 오버엔지니어링이 될 수 있기 때문이다.
하지만 그럼에도 불구하고 아직은 어떻게 하면 빠르게 생산적인 코드를 만드는지에 대한 노력이 더 필요한것 같다. 그리고 NextJs에 대해서 관심이 많았고 많이 배우고 적용한게 많은건 사실이지만 아직 리액트에 대해서 잘 아는지에 대한 회의감이 들었다. 그래서 최근에는 리액트로 개인적으로 프로젝트를 진행하여 이런 부분을 학습하고 있다.
그리고 요즘 글쓰기를 정말 좋아하게 됐다.
취준할때 보다 글을 더 많이 쓰는거 같은데 요즘 회사에 다니다보면 글상(?)이 떠올라서 메모해놨다가 그 글을 쓴다. 얼마전에 작성한 Next글도 사실 회사 동료들에게 문서로 정리했던 Notion을 보다가 글상이 떠올라서 정리했다.
내 생각을 정리하면서 내가 잘했던것 못했던것을 정리할 수 있고 이것들이 다음에 내가 움직일 수 있는 양분이 된다.
그리고 고맙게도 내가 쓴 글에 도움을 받았다거나 공감된다는 분들이 있으셔서 글 쓸 맛이 더 나는것 같다.
흔히 코더, 개발자, 엔지니어가 있다고 하는데 나는 과연 어떤 사람일까?
나는 개발을 좋아한다. 최근에 그 마음이 더 확고해졌다. 나는 내 기술을 다른 사람에게 설명하고 내가 더 기술적인 성장을 하는것을 좋아한다.
그리고 나는 외향적인 성향을 가지고 있어 사람을 좋아한다.
그래서 내가 좋아하는 사람과 개발의 접점인 팀에도 관심이 많다. 결국 나는 회사에 있고 내가 잘하는것도 중요하지만 팀이 성장하는것도 중요하다.
그래서 나는 개발에도 관심이 많지만 프로덕트를 잘 만들기 위한 팀문화, 개발방식등에도 관심이 많다. 즉 나는 프로덕트의 성공을 위해서 일하는 프로덕트개발자라고 정의하고 싶다.
회사에서는 개발만 하는 사람보다는 수다 떨면서 개발얘기하면서 정리하는 사람이고 자리에 가만히 앉아서 물어보기보단 먼저 몸으로 다가가서 이런 저런 얘기를 하는 사람이다.
최근에 두개의 스터디를 리딩하면서 느낀건 나는 사람을 모으고 같이 뭔가 하는거를 좋아한다고 느꼇다. 그럼 나는 기획을 좋아하는걸까?
아이러니하게도 1년전에 오히려 더 많은 기술을 다양하게 접해보고 내가 하고싶은 개발만 했다.
근데 당시에 이미 성공한 운동선수, 위인들의 말을 자주 봤는데 진짜 실력이 느는건 하기 싫은 걸 할때라고 했었다.
나는 전혀 공감하지 못했던게 1년전만 해도 이보다 더 재밌게 공부할 수 있을지 몰랐다. 그렇게 2023년에 프론트엔드 개발자가 됐고 내가 하고싶은일만 할 순 없게 됐다.
운이 좋게도 내가 좋아하는 스택과 회사가 어느정도 맞아 기술적으로는 괜찮았으나 그 외에는 내가 하고싶은것만을 할 순 없었다.
이것이 정말 스트레스기도 하지만 오히려 나는 내가 하고싶은 개발만 할때보다 하기싫은것도 하는 지금 더 성장했다.
정말 하기 싫은걸 할때는 뇌가 최대한 일을 빨리할 수 있는 방향으로 간다. 가령 최근에 회사에서 다국어 작업을 위한 번역을 해야했는데 정말 하기 싫었다.
하지만 앞으로 번역을 해야할 일이 많았고, 번역을 위해서 자동화하는 툴은 내가 좋아하는 개발이기에 구글시트를 이용하여 자동화하고 이를 스크립트로 다운로드 및 업로드하는걸 개발한적이 있다.
그리고 1년전에 나는 취준생이였고 지금은 개발잔데 회사에서 있기만 해도 실력이 느는 부분이 있다.
내가 생각하기에 개발자는 유저가 많을수록 성장하는 것 같다.
얼마전에 친한 컬리개발자분을 만나면서 이런 생각이 확고해졌는데 개발자는 결국 기술을 가지고있는 사람이기전에 문제를 해결하는 사람이다.
그래서 개발자는 회사에 문제가 많을수록 많은걸 경험할 수 있고 유저가 많을수록 문제들이 많을 확률이 높은것 같다.
그리고 회사에 있으면 이미 이 문제를 해결한 좋은 동료들도 있기때문에 회사에서는 이런걸 배울 수 있는것 같다.
이 방법으로 유명한것이 파인만 공부법이다.
- 알고 싶은 주제를 골라 공부한다.
- 일단 무엇이든 관심 있는 주제를 골라 그에 대한 조사를 하고 관련 내용을 파악해 봅니다.
- 알게 된 내용을 가르쳐 본다 ...
- 설명하기 어려운 부분을 골라낸다 ...
- 다시 공부하고 정리합니다.
1년전과 많이 달라진건 요즘 누군가에게 가르치면서 공부하는게 많아졌다.
요즘 내가 하고 있는 것들이다.
누군가에게 설명한다는건 내가 알고 있는것보다는 더 높은 수준을 요구하는 것같다. 그래서 더 공부도 많이하고 알고 있다고 넘겨짚은 부분도 다시보게 된다. 최근에는 타입스크립트의 공변성과 반공변성에 대해서 정리했던게 많은 도움이 됐다.
그래서 이번에 기회가 되면 다음에는 꼭 내가 관심있고 요즘 많이 사용되는 기술 강의를 런칭해보고 싶다.
취업하기전에 1년차 개발자는 주어진 업무에 대해서 시간안에 어떤 기능이든지 구현할 수 있을 정도의 역량이라고 생각했다.
지금 돌아봤을때 내가 그정도의 역량을 하고 있는가에 대해서 끊임없이 의심하고 내가 작성한 코드가 과연 1년 2년뒤에도 읽을만한 코드인지에 대해서 노력하고 있다.
1년전에 취업회고를 작성했을때 취업준비 했던것처럼 꾸준히 공부할것이라 했었는데 이부분에 대해서는 달성했다고 생각한다. 물론 1일 1커밋이라는 목표는 달성하지 못했지만.
2025년이 되면 3년차 프론트엔드 개발자가 된다. 나는 3년차에는 이런 개발자가 되고싶다.
요구 사항이 들어오면 뭐든지 해낼 수 있는 개발자, 소통능력을 통해 팀원들과 티키타카할 수 있는 개발자, 기술적으로 뛰어난 개발자.
나는 세상에 꼭 필요한 개발자가 되고싶다.
그리고 꾸준히 현재에 안주하지 않고 새로운것을 습득하고 더 좋은걸 강구하는 스터디를 해야겠다.
1만시간의 법칙(10년)동안은 이 약속을 깨고 싶지 않다. 최근에 멘토링을 하면서 나의 힘듬을 이겨내는법을 물어보시는 멘티분이 계셨는데 나는 꾸준함이라고 대답했다.
아래는 내가 힘들때마다 도움을 받는 무라마키 하루키의 글이다.
계속하는 것- 리듬을 단절하지 않는 것. 장기적인 작업을 하는 데에는 그것이 중요하다. 일단 리듬이 설정되어지기만 하면, 그 뒤는 어떻게든 풀려 나간다. 그러나 탄력을 받은 바퀴가 일정한 속도로 확실하게 돌아가기 시작할 때까지는 계속 가속하는 힘을 멈추지 말아야 한다는 것은 아무리 주의를 기울인다고 해도 지나치지 않다. pp.18-19 - 무라마키 하루키