.net 개발자도 Java를 참고하면 좋은이유

보시는 시각에 따라 닷넷 커뮤니티에서 자극적인 제목일수 있습니다.
하지만 오해하시는 그런 의도로 제목을 정한것 아닙니다.
개인적인 경험으로 겪은 저의 사례를 공유하고자 합니다.

저는 .Net 개발자이지만, 실무에서 Java도 약간 다뤄보았습니다. 전 직장에서는 개발자 수급 문제로 Java를 도입하게 되었고, 새로 오신 CTO님께서 Java를 배우도록 권유했습니다.
이전에는 Java를 언어로만 알고 있었고, .Net에만 매몰되있는 상황이었지만
그러나 CTO님께서 개발팀에 제시한 아키텍처를 간단히 정리하면 다음과 같습니다.

Git Branch 전략

개발
Spring Boot Framework
ORM,Hibernate,SQLMapper,Templet Engine
웹서버

등등

대용량 엔터프라이즈 환경에서 개발하셨던 분이라 이런식으로 시스템을 설계 하셨습니다.
지금은 일반적인지 몰라도 당시에는 저한테 신선한 충격이었습니다.

윈도우즈 서버 IIS에 단순 배포만을 했는데 저렇게 Git전략을 써서 형상관리를 하고
CI,CD 무중단 배포 Scouter 로 이용한 실시간 부하 모니터링
거기에 Jira,confuluce등으로 프로젝트 관리기법 체계적으로 Devops를 구성하는데
아 내가 그동안 아마츄어 였구나 느꼈습니다.

spring boot 도 구조를 봤을때 ? 상당히 .net rest api 와 유사하고 기본적인 개념을 동일하지만
개발 인력풀 이 많다보니 ? 대단위 개발에 다양한 방법론이 많이 발전해 있었어요

기본적으로 저 구조의 시스템은 당연히 .net에도 있고 오히려 더 잘되있는지도 모릅니다.
하지만 현실적으로 대단위 시스템을 접하기 힘든 .net 개발자와 달리 java 쪽은 대형 프로젝트가
많고 거기에 자연히 방법론이 많이 발전해있습니다.
Library도 개발 또는 발굴 되있는 경우가 많습니다.

저는 저 구조를 보고 저걸 .Net 으로 컨버전 해봤습니다.

Git에 젠키스를 연결해서 CI,CD 를 구축하고 Branch 전략으로 형상관리를 하고
APM 을 구축하기 위해서 influx 제품군을 사용해 System metric을 저장하고
grafana 로 실시간 모니터링을 구축했습니다.
그리고 Couchbase와 Redis로 nosql 을 활용해봤습니다.

이렇게 기존에 다른 플랫폼이지만 레퍼런스 삼기 좋은 구조를 보면서 저한테는
단순 개발보다는 플랫폼을 구성하는데 있어 많은 참고가 되고 엔터프라이즈 사고와
아이디어 방법론에 대해서 많이 참고가 되고 실무에 어떻게 적용해야 하는지
좋은 참고가 됐던것 같습니다.
이게 실증 사례가 있으니 그동안 뭐에 쓰는지 몰랐던 기능이 이런것구나
찾아보게 되고 목적을 알게 되더라구요

그리고 open source 진영에 있는 라이브러리는 거의 99% .net 에도 있고 지원합니다.

14개의 좋아요

귀중한 오피니언 감사드립니다. 그런데 올려주신글은 토론이 필요한 주제이며 기사 공유글은 아닌것으로 보입니다. 그런 이유로 카테고리를 변경해드립니다.

4개의 좋아요

동의합니다.
언어 측면에서도 어느정도 유사성이 있어 코드를 파악하기도 다른 언어에 비해 용이하다고 보며,
양쪽 다 백엔드를 다루기 좋아 충분히 참고할 가치가 있다고 생각합니다.

저같은 경우엔 .NET Core MVC / API를 먼저 접하고 Spring Boot를 접했는데 전자만큼이나 깔끔하게 서버를 구현할 수 있고 의존성 주입 등 공통된 구조도 다소 있어 공부하기 편했습니다.

3개의 좋아요