요즘 성장에 대한 시각이 계속 바뀌기도 하고, 특별한게 없어서 댓글을 쓸까 말까 망설였습니다.
일부러 그런 것은 아닙니다만, 아이디어가 따로 없어서 퇴근후나 주말에는 코드를 보고 있지는 않습니다.
오픈소스 구상하고 계신게 있으시면 정보 좀 공유해주세요~ ㅎㅎ
이 질문을 보고 나서 어떤 노력을 했는지 곰곰히 생각해 봤는데 몇가지 키워드가 떠올라 남깁니다.
호기심
보통 프레임워크를 쓸 때 목적과 사용 방법 정도 파악하고 마는데, 잘 만든 라이브러리나 프레임워크라고 판단이 들면 코드를 분석하는 습관이 있습니다.
그래서 닷넷 코드나 사용하는 프레임워크의 코드를 분석하게 되는데 좀 쌓이다보면 제공자와 사용자 양쪽에 대한 이해가 생겨 개발자로서 균형감이 생기는 것 같습니다.
태도
개발 업무를 하다보면 현실의 유혹에 빠질 때가 많습니다.
예를 들면 이런 거죠.
-
WPF 어플리케이션 개발
WPF 어플리케이션 개발 프로젝트를 진행하는데 간단한거면, MVVM 없이 그냥 코드 비하인드로 어플리케이션을 작성하는게 빠릅니다. MVVM 프레임워크 도입하고, 설정하고 이벤트 하나 처리하면 한 세월 보낼수 있습니다.
-
WEBAPI 개발
내부에서 사용하는 간단한 WEBAPI를 개발하는 거라면, ORM이 아닌 SQL로 데이터셋을 처리하고, 인증을 연동하지 않으며, Docker/Kubernetes 배포를 고려하지 않아도 됩니다.
ORM을 사용하려면 도메인 설정 방식, 쿼리 생성 방식에 대한 이해가 필요하고, 인증은 OAuth2, JWT와 같은 보안 관련 기술에 대한 이해, Docker/Kubernetes는 컨테이너 환경에 대한 이해가 필요해서 배보다 배꼽이 더 클수 있습니다.
-
지속 가능한 빌드/배포
DevOps가 필요하지 않을 수 있습니다. 배포 주기가 길거나 사람이 많으면 수동으로 배포하는게 빠르고 CI/CD 구성을 위한 머신 설정, 빌드 트리거 연결 등 추가적인 작업이 만만치 않습니다.
하지만, 앞에 놓인 현실들은 다른 관점에서 봤을 때 성장의 기회이기도 합니다.
- MVVM 패턴으로 구조적인 어플리케이션을 작성하고, 복잡한 시나리오에 대응할 수 있는 어플리케이션 개발에 대비할 수 있는 기회
- ORM을 사용함으로써 도메인 기반 WEBAPI 개발을 안정적으로 구성하고, 확장 가능한 구조로 설계함으로써 대규모 WEBAPI 작성에 대비할 수 있는 기회
- 지속 가능한 빌드/배포 시나리오 구성을 통해 낭비를 제거하고 개발 문화를 한층 끌어 올리며, 개발 생산성을 향상시킬 수 있는 기회
아무도 알아주지 않고, 당장은 더 많은 시간이 들어가지만 고통(?)을 이겨내면서 이 기회들을 하나둘씩 쟁취해 나간다면 어느새 성장한 자신의 모습을 볼수 있지 않을까 싶네요.
요즘 그냥 트렌드를 따라가는걸 성장이라고 생각하지는 않나라는 느낌이 자주 들곤 합니다. 그러던 차에 가면증후군이라는 용어까지… 
참고만 해주세요~