본문 바로가기
프로그래밍/개발 이야기

회사 코어코드 읽으면서 들은 생각

by YuminK 2025. 4. 24.

요즘 회사에서 느끼는 점이 하나 있다. 개발자의 성장에서 꽤나 큰 변화가 이뤄나는 시기가 있는 것 같다. 새로운 것을 접하고 그 필드 내에서 자신의 한계를 이겨내는 경험을 해본 사람들이 그렇다. 물론 처음 접하는 것은 누구에게나 어렵다. 그러나 버티면서 하다보면 꽤 잘하게 된다. 개발뿐만 아니라 다른 분야도 모두 마찬가지라고 생각한다. 

 

요즘은 회사의 코어 로직이라 부를 수 있을만한 코드 위주로 보면서 분석하고 있다. UI로직은 UI로직대로 수준이 높고, 비즈니스 로직은 비즈니스 로직대로 매우 깔끔하다. 비트코인 라이브러리 코드의 경우에는 배경지식이 없으면 이해가 안 되는 수준이라 그렇다치고, 다른 부분은 어느 정도 이해가 된다. 분명 읽기에 마냥 쉬운 코드는 아니지만, 정갈한 편이라 이해가 잘 되는 것 같다. 

 

누군가가 작성한 코드를 보면 그 사람의 실력을 알 수 있다. 솔직히 현 회사에서는 '고인물 그룹'이 워낙 탄탄한 실력을 갖춘 인원들이라 내가 그렇게까지 눈에 띄는 것 같지는 않다. 다른 회사에서도 핵심 그룹에 있는 사람들은 시니어 인력 아니면 그 정도 급의 개발자랑 같이 코드를 작성할 수 있을 정도의 개발자들이다. 나는 지금 이런 사람들과 함께 일을 하는 것이다. 

 

시니어급 개발자들 혹은 실력있는 개발자들은 '너가 우리랑 코드를 같이 짜려면 ~한 수준 정도는 해야한다'라는 기준이 있다. 이 사람들의 높은 기준에 맞추려고 노력하다보면 내 실력도 강제로 늘지 않을까 생각하고 있다. 다들 뭐.. 나보다 이쪽 도메인을 더 잘 아는 사람들이고 코드도 잘 짜는 사람들이라 보고 배울 점은 많다. 나의 목표는 UI개발 말고도 다른 쪽의 개발에도 참여할 수 있을 정도로 실력을 키우는 것이다. 아직 파악하지 못한 소스들도 많고 비트코인 지식도 계속 쌓아야 한다. (읽어야 할 문서가 산더미이다...)

 

보통 개발자에게 '실력이 있다'라고 말하는 것은 특정 기술에 대한 코어한 영역을 다뤄본 경험이 있을 때라고 생각한다. 프론트엔드/백엔드/앱개발 같은 뭔가 제너럴한 느낌이 드는 분야는 잘 모르겠다. 이런 분야들은 솔직히 개발자들이 워낙 많고 대체가 금방되는 편이라고 생각한다. 다만, 특정 분야의 도메인에 대한 깊이가 있는 경우에는 다르다. 

 

물론 실력이 있는 개발자라면 안 해본 분야도 금방금방 배워서 빠르게 개발 업무를 쳐낼 수 있을 정도는 될 것이다. 그래도 특정 분야에 깊이가 있는 사람을 단기간에 따라잡는 것이 쉬운 것이 아니다. 이게 바로 되는 사람도 있을텐데, 그런 사람은 솔직히 미친 사람이니까 예외로 두자. 대부분의 사람은 회사에 와서 배워야 하는 도메인적 지식이 있다. 이 도메인에 대한 이해도가 얼마나 깊은지에 따라 자신의 연봉이 달려있다고 해도 과언이 아니다. 

 

특정 기술에 결합이 된다는 소리는 해당 도메인이 아니면 이직하기 어렵다 - 라는 뜻도 되지만 내가 당장 퇴사했을 때, 회사 입장에서 대체할 사람을 구하기 어렵다는 뜻도 된다. 나는 솔직히 모든 사람은 어느 정도 다 대체된다고 생각한다. 다만 대체하기 어려운 사람이 되는 것은 충분히 어렵지 않다. 그냥 꾸준히 갈아넣어서 공부하면 된다.

 

내가 생각하기에 현 회사에서는 UI개발만 시키려고 나를 채용한 것은 아닌 것 같다. 애초에 UI개발만 시킬거면 회사내 UI쪽을 완전히 다 맡기는 방향으로 가야하는데, 그것도 아니기 때문이다. 지금의 단계에서는 내 포지션을 잡아가는 단계라고 생각한다. 솔직히 마음은 앞서는데 해당 분야의 도메인에서 많이 밀리는 것 같다.. (뭐 이제 1달 되가니까 당연한 것이긴 하다) 

 

솔직히 내 입장에서는 회사의 코어 로직이 이해되기 시작하는 시점이라 좀 신기하다는 생각이 많이 든다. 그 이전까지는 코어 로직을 봐도 이해가 안 되는 수준이라 재미가 없었다. 근데 지금은 .. 어느 정도 보인다. 시간을 들이면 뭐하는 로직인지 파악이 된다. 그래서 너무 신기하다. 더 시간을 많이 써서 공부하다보면 나도 그 정도 수준의 코드를 작성할 수 있을 것 같다는 생각이 든다. 적어도 그 사람들의 코드 스타일에 맞추어 나도 괜찮은 코드를 작성할 수 있지 않을까 기대해본다. 

 

회사에서 일을 하면서 신뢰를 쌓아가고 그 이후에 점점 더 어려운 수준의 코드를 작성할 수 있는 사람이 되어야 한다. 누구를 시켜도 금방금방 쳐낼 수 있는 수준에서만 놀다보면 정말... 금방 대체되는 사람이 된다. 다른 회사를 다니면서도 느낀 것이지만, 개발자마다 실력차이가 정말 심하다. 잘하는 개발자가 보통 더 잘해지는 경향이 있는데, 아무래도 회사 내에서 좋은 업무를 계속 맡아서 성장하기 때문에 그렇다. 

 

회사 내에서 핵심 개발자로 성장할 수 있는지에 대한 여부는 결국 '회사의 코어 코드를 이해할 수 있는지'에 달려있다고 본다. 경력이 있어도 그냥 그저그런 수준에서 개발하면서 경력이 더 쌓일 수도 있고, 회사의 코어 코드를 보면서 실력이 팍팍 늘 수도 있다. 회사에서 어느 정도 수준의 업무를 주는지, 자신이 얼마나 따로 더 노력하는지에 따라서도 많은 차이가 있다고 본다. 

 

나는 솔직히 회사 내에서 UI개발을 주로 맡아왔고, 그 외에 개발도 뭐 그저그런 수준이었다고 생각한다. 그나마 집에서 따로 공부하면서 코어라고 부를만한 코드를 작성하려고 노력해서 이 정도가 된 것이지, 회사 코드를 보면서 성장할 기회는 사실 없었던 것 같다. (있어도 파악할 실력이 안 되었거나... 코어라고 부를만한 코드 자체가 없거나...) 

 

아무튼 회사에서도 어느 정도 실력은 갖추고 있어야 좋은 업무를 받을 수 있다. 실력이 없으면 그냥 뭐... 적당히 할 수 있는 일을 주기 때문에 도메인적인 지식과는 상관없는 분야일 수도 있다. 처음부터 개발을 엄청나게 잘할 수는 없는 노릇이지만, 꾸준히 공부하면서 깊이를 계속 파야한다고 생각한다. 진짜 이쪽 분야에서는 실력있으면 코드 먹방(?) 할 수 있다. 좋은 코드를 흡수해서 자신의 것으로 만드는 능력을 갖춰야 한다. 

 

나는 아직 부족한 점이 많은 사람이다. 내 주변에는 나보다 개발을 잘하는 사람들이 넘친다. 나도 솔직히 경력 3년이나 되었는데(?) 여전히 키워지는 입장에 있을 거라고 생각하진 않았다. 근데 지금 보니까... 나는 모르는 것이 넘치는 상황이고 더욱 갈아넣어서 이들의 기준에 맞추려고 노력해야 하는 것 같다. 뭐 솔직히 회사 입장에서도 내가 공부를 꾸준히해서 잘 따라올 것 같으니까 뽑은 거겠지. 실력이 어느 정도는 되더라도 회사에 와서 도메인을 배워서 개발해야 하는 입장이기 때문에, 초반 몇 개월은 그냥 '투자'인 것이다. 나도 이 부분은 인지하고 있다. 그래서 더 열심히 하려고 한다. 

 

마지막으로 '메뚜기가 되는 것은 지양'하는 것이 좋다. 회사의 코어 기술을 배우기에는 1~2년의 기간으로는 부족하다. 회사가 가진 기술력을 뽑아먹고 퇴사하면 큰일나는 사람이 되어야 하는데, 1~2년 있는다고 해서 그 정도까지 올라가는 것은 쉽지 않다. 회사에서 코어 기술을 다루면서 도메인에 대한 깊이를 쌓아야 더 올라갈 수 있다. 이걸 알고 있어야만 장기적인 관점에서 길이 열린다고 본다. 우리가 알고 있다고 생각하는 수준으로는 사실 충분하지 않다. 더 갈아넣어서 실력을 키워야만 한다. 

 

어설프게 적당히 했던 기술 반복하는 개발자들은... 그냥 그 수준에서 머무르게 된다. 회사에서 실력을 보여주고 신뢰를 쌓아서 코어 기술을 배우고 성장해야 하는데, 결국 기존에 했던 것만 반복하는데 뭔 성장이 있겠는가. 내가 하는 작업 혹은 보고 있는 코드, 배우고 있는 지식들은 7~80%는 새로운 지식이다. 즉, 나는 엄청나게 빠르게 성장하고 있다. 내가 지금까지 했던 분야말고도 다른 분야의 코드까지 슥슥 욕심내서 배워볼 생각이다. 내가 맡은 부분이 아니여도 회사 코드에 대한 이해도가 높으면 분명히 도움이 될테니까. 

 

댓글