본문 바로가기
IT 공부/공부하며 알게된 사실들

잘 하는지 못 하는지도 중요하지만..

by exdus3156 2023. 11. 26.

코딩을 잘 하는지 못 하는지는 개발자가 되기 위한 최고 우선순위일 것이다.

하지만 소프트웨어 개발에 대한 이야기를 듣고, 공부를 하면서 드는 생각은, 어쩌면 잘 하는 개발자가 되는 것도 중요하지만, IT 회사에서 개발을 어떻게 하고 있는지 숙지하는 것이 더 중요하지 않을까? 하는 생각이다.

요즘은 너무 뛰어난 신입 개발자들이 정말 많아지고 있다. 개발 툴과 프레임워크도 쉬워지고 있고, 특히 부트캠프나 학원, 인터넷 강의가 너무나 발달되어 있기 때문이다. 그래서 나는 조급한 마음에 자꾸 기술에 시간을 투자했지만, 잘 하는 개발자에게 항상 주늑이 들었다.

그래서 다소 시야가 좁아졌던 것 같다. 독학을 하는 탓도 있겠지만 자꾸 구현, 코딩, 문제 풀이에 집중하다보니 정작 산업에서 개발자들이 어떤 원리를 토대로 어떻게 일하고 있는 것인지 몰랐다.

결국 많은 개발 기술들이 구현 그 자체보다는 회사에서 일을 어떻게 할 것인가, 즉 개발 프로세스와 관련이 있다.

자바 프로그래밍 문법도 결국 대부분의 키워드들이 객체지향 설계의 원칙들과 밀접한 관련이 있고, 각 원칙들은 결국 복잡한 소프트웨어 개발을 어떻게 할 것인가 고민에 대한 대답이다. 

깃, 깃헙과 같은 버전 관리 툴도 그렇다. 나는 왜 깃을 배우고 까먹고, 배우고 까먹고를 반복했는가? 개발 프로세스 자체를 이해하지 못했기 때문이 아닐까? 협업이 중요하다는 말은 들었지만, 그 말을 그저 "같이 일한다" 수준에서만 생각했을 뿐이었다. 그러니 깃과 깃헙의 기술이 와닿았을리가 없었던 것이다.

개발 툴과 기법에는 품질 좋은 소프트웨어를 생산하기 위한 원리가 숨어 있다.

이와 관련된 기술을 익히는 것도 중요하다. 그러나 당장 투입될 수 있는 사원이 되려면 기술 자체를 익히는 것도 중요하지만, 그 기술을 왜 사용하는지 알아야 할 것이다.

아마 이것을 진지하게 생각하지 않았기 때문에 마구잡이로 그저 깃이나 테스트 라이브러리를 깔짝 사용하다가 말고, 그렇게 까먹고, ... 그랬던 것이 아닐까 싶다..

지금은 개발 프로세스 및 코드에 내 생각을 분명하고 반듯하게 표현하는 기법와 관련된 개념들을 배우고 있다. 최소한 협업에 있어 상호 소통이 가능한 사람이 되기 위해서다.