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