만 2년차 .NET 개발자가 쓴 .NET 개발자로서 성장하기
※ 해당 글은 만 2년차 .NET 개발자가 성장을 위해 몸부림 쳤던 경험을 기반으로 작성하였습니다.
따라서 많이 부족한 글일 수 있습니다. 첨언해주실 내용이 있다면 댓글 부탁드리겠습니다.
감사합니다.
글을 쓴 이유
안녕하세요. 현재 만 2년차를 넘어가고 있는 .NET 개발자입니다.
저는 평소 .NET 개발자로서 어떻게 성장할 수 있을지에 대한 고민을 많이 했었습니다.
'왜 그런 고민을 많이 했는지?' 이라고 묻는다면 처음부터 갈피가 전혀 안 잡혔기 때문입니다.
저는 무엇을 어떻게 시작해야 하는지조차 알아내기까지 많은 시간을 썼습니다.
국내 .NET 자료는 다른 개발 언어나 생태계에 비해 현저히 부족하였고, 강의를 찾으려 해도 구버전 강의였으며, 마소의 공식 문서에만 의지하기에는 지식의 공백이 너무 크게 느껴졌습니다.
그러나 지금은 어느 정도의 저만의 방법론을 찾았습니다.
제 스스로 어떤 것을 공부해야 하는지, 어떻게 공부해야 하는지, 그리고 어떤 순서로 배워나가야 하는지에 대해 어느 정도 정립이 된 상태입니다.
제 글이 누군가에게는 도움이 되지 않을까란 생각으로 저의 성장 방법론을 공유하고자 합니다.
어떤 개발자인지?
저는 처음부터 .NET 개발자는 아니었습니다.
구직 당시 가장 익숙한 언어는 Java였고, 현 회사에 오게 되면서 .NET 개발을 시작하게 되었습니다.
남들이 하는 것은 하고 싶지 않는 특이한 놈이었던 저에게 .NET은 딱히 거부감이 들지 않았습니다.
그리하여 저는 현재 .NET 기반의 웹 개발(ASP.NET Core)을 하고 있습니다.
때문에 제 글은 .NET 웹 개발에 편향된 면이 있을 수 있습니다.
비록 웹 개발이 아니더라도, 과거의 저와 같이 갈피를 잡기 힘드신 분이라면 제 글을 참고하는 것이 어느 정도 도움이 되실거라 생각합니다.
.NET 개발자로서 성장하기
이 주제의 본론입니다. 어떻게 성장해야 할까요?
저는 어떤 목표를 이루는 과정이 '산 속에서 지도를 보고 목표 지점까지 찾아가는 것'과 비슷하다고 생각합니다.
산 속에서 목표 지점을 찾아가려면 무엇을 먼저 해야할까요?
'나 자신의 위치'를 파악하는 것이 먼저입니다.
그 다음은 '목표 지점을 향하는 방향 잡기'입니다.
마지막은 '그대로 걸어가는 것'입니다.
저는 성장의 목표를 이루는 것에 대해 위와 같은 마음가짐으로 임했습니다.
그리고 어느 정도 저만의 성장 방법을 스스로 만들어냈습니다.
1. .NET 생태계에서 나의 위치 찾기
버전 히스토리 및 .NET 생태계 공부하기
처음에는 .NET 생태계를 파악하지 않은 상태로 많은 혼란이 있었습니다.
.NET 버전에 대한 히스토리가 없었으며, .NET으로 어떤 개발을 할 수 있는지, 나는 .NET 생태계에서 어떤 포지션인지 모호했습니다.
그런 상태에서 어떤 것을 공부해야 하는지 찾아보았으니 헷갈릴 수밖에 없었죠.
위 내용을 공부하고 나서야 내가 어느 위치에 있는지, 어떤 것을 배워야 조직에 기여할 수 있는지에 대한 가닥이 잡히는 듯 했습니다.
개인적으로 버전 히스토리와 .NET 생태계에 대한 공부는 마소 공식 문서를 많이 보는 게 도움이 된 것 같습니다.
.NET | 빌드, 테스트, 배포. (microsoft.com)
2. 성장을 위한 방향 잡기
.NET 개발자 로드맵 찾아보기
내가 .NET 생태계에서 어떤 포지션이고 어떤 개발을 하고 있는지에 대해 알게 되었다면, 어떤 것을 배워야 할지에 대한 지식이 필요합니다.
물론, 마소 공식 문서에도 가이드라인이 잡혀있긴 합니다만, 공식 문서를 이해하기 위한 선수 지식은 분명히 있습니다.
공식 문서를 읽으면서 이해되지 않는 부분이 많다고 느껴질 때면 이러한 선수 지식이 부족한 것은 아닐지 자신을 돌아봐야 합니다.
선수 지식과 함께 무엇을 배워야 할지에 대해 잘 정리되어 있는 자료가 있습니다. 바로 .NET 개발자 로드맵 입니다.
Github에 '.net roadmap'으로 검색할 시, 많은 레포지토리가 검색됩니다.
검색 링크: Repository search results (github.com)
2024년 기준의 .NET 개발자 로드맵을 여러 개 참고해보세요.
- 종합적인 .NET 개발자 로드맵
https://github.com/saifaustcse/dotnet-developer-roadmap
https://github.com/phongnguyend/Practical.NET
- ASP.NET Core 개발자 로드맵
https://github.com/MoienTajik/AspNetCore-Developer-Roadmap
- 웹 베이스 .NET 개발자 로드맵
https://github.com/milanm/DotNet-Developer-Roadmap
서로 다른 로드맵이지만 공통적으로 강조하는 개념과 지식이 분명히 있습니다.
로드맵을 통해 나에게 필요한 것과 부족한 것을 알고 무엇을 공부할지에 대한 방향을 잡는 것이 분명 큰 도움이 될 것이라고 생각합니다.
3. 목표를 향해 공부하기
내 위치도 알고 방향도 잡았다면 그 다음은 그대로 목표를 향해 걸어가는 것입니다.
남은 것은 '어떻게 공부할지'에 대한 문제라고 생각합니다.
학습 방식 추천
국내 .NET 커뮤니티는 다른 국내 개발 커뮤니티보다 규모가 작습니다.
따라서 국내에서 개발 자료 또한 많이 없습니다.
그런 상황 속에서 제가 택했던 몇 가지 방법을 소개합니다.
1) 공식 문서 참고
ASP.NET 공식 문서: ASP.NET 설명서 | Microsoft Learn
가장 기본으로 깔고 가는 마소 공식 문서입니다.
공식 문서 자체가 굉장히 잘 구성되어 있을 뿐더러, 마소에서 만든 자료이기 때문에 100% 신뢰 가능합니다.
그러나 .NET에 익숙하지 않고, 선수지식이 부족하다면 지식의 공백으로 인해 읽기 어려운 부분도 있습니다.
또한, 한국어로 보는 경우, 일부 기계번역으로 처리되어 있는 부분에서 이해하기 힘든, 혹은 잘못 번역된 페이지도 있습니다.
저는 어떤 내용이든 공식 문서를 꼭 확인하는 편입니다.
처음에는 이해가 되지 않더라도, 나중에 다른 자료를 통해 그 개념에 대한 이해도를 높인 뒤에 다시 문서를 확인하게 되면 안 보였던 내용이 보이는 경우도 있습니다.
돌고 돌아 결국은 공식 문서입니다.
.NET 개발자를 하게 된다는 것은 마소 공식 문서와 친해져야할 운명인 것 입니다..
공식 문서를 참고하여 정보를 얻어내는 것에 익숙해지는 것이 좋습니다.
2) 도서
C#과 .NET의 최신 버전 책을 참고하시길 권장드립니다.
정성태님의 '시작하세요 C# 12 프로그래밍'이 얼마 전 개정판으로 출간되었습니다.
개인적으로 C#의 바이블 같은 책이라고 생각됩니다.
ASP.NET Core의 경우는 국내 도서 중에서 최신 버전은 없는 것으로 알고 있습니다.
따라서 최신 버전의 ASP.NET Core 서적을 원하신다면 해외서적을 구매하시는 것을 추천드립니다.
그러나 언어적 장벽이나 해외배송 및 가격을 고려해야 합니다.
저는 해외 ASP.NET Core 책으로 아래 책을 구매하였습니다. (내돈내산)
위 책의 <packt> 출판사는 구매한 책에 대해 구매 인증(저는 yes24 전자 영수증 첨부)을 할 경우, PDF로 다운받을 수 있는 서비스가 있습니다.
저는 출판사 서비스를 통해 위 책의 PDF 버전을 다운받고 GPT 번역을 돌려가며 일부 개념을 공부했습니다.
24.06.13 내용 추가
<packt> 출판사 공식 홈페이지에서 회원가입하면 여러 방법으로 구매하여 책을 보실 수 있습니다.
1. eBook + AI Assistant (PDF 다운 가능)
2. Print (종이책)
3. Subscription (구독)
특히 3번의 경우, 첫 달 무료 정책이 있으며, 가격은 3개월 동안 10달러로 사용할 수 있습니다.
가격은 2 > 1 > 3 순서로 비싸며, 여러 책을 보실 경우에는 구독제를, 특정 책을 오래 읽으실 때는 해당 책의 PDF 구매를 추천드립니다.
추가로 AI Assistant는 packt 웹사이트에서 지원하는 GPT 기반의 채팅봇입니다.
책 내용을 기반으로 질문이 가능하며, 한국어로도 답변을 해주는 것을 확인 했으나 답변이 상당히 느린 것으로 보입니다. (질문에 따라 다르겠지만, 약 10초가 넘어가는듯?)
3) 유데미 강의
언어적 장벽에 크게 두려움이 없으신 경우, 해외 강사의 유데미 강의를 보시는 것도 추천드립니다.
유데미는 첫 가입이나 할인 기간에 강의를 구매할 시, 대부분의 강의를 2만원이 안되는 가격으로 강의를 구매하실 수 있습니다.
아무래도 국내보다는 해외에 .NET 개발자들이 많기 때문에 싸고 질좋은 강의도 많은 것 같습니다.
지금은 잘 기억 안 나지만 1년 전, 인도 출신 개발자가 판매하는 ASP.NET Core MVC 기초 강의를 구매했었는데 매우 만족스러웠습니다.
심지어 한 강의를 사두면 무료로 버전 업데이트 해주었습니다. (모든 자료 및 영상 리뉴얼 ㄷㄷ)
대신 언어적 장벽은 분명 있습니다..
자동 인식 번역이 유데미 동영상 플레이어에 존재하지만 완벽하진 않습니다.
그리고 확실히 번역 시간 때문에 학습 시간이 늘어나는 부분이 있고, 개념적인 부분의 설명에서도 100% 와닿지 않았던 경험도 있으니 이 부분을 고려하셔야 할 것 같습니다.
4) 해외 유튜버
해외에는 .NET 개발 컨텐츠를 전문적으로 올리는 유튜버가 꽤 있습니다.
그들이 올린 컨텐츠 양이 적지 않기 때문에 영어로 구글링 하듯이 유튜브에 검색한다면, 높은 확률로 검색한 개념에 대한 영상이 나옵니다. (물론 최신 자료만 시청하시는 것을 추천드립니다)
요즘은 유튜브 스크립트 추출하는 방법도 있고 그 외 여러 가지 방법이 있기 때문에 유튜브 영상 시청에 대한 언어적 장벽이 생각만큼 높은 편은 아니라고 생각됩니다.
5) 유료 자료 참고
'유료 자료 참고'라고만 써둬서 어떤 형태의 자료인지 감이 안 오실 수 있는데, 제가 말씀 드리는 유료 자료는 PDF 형태의 유료 자료입니다.
저는 Code-Maze에서 판매하는 ASP.NET Core API 가이드를 구매하였는데(내돈내산) 매우 만족스러웠습니다.
물론 가격이 어느 정도 있고, 영어로 작성된 자료기 때문에 번역을 하면서 봐야하는 수고스러움이 있지만, 무료 버전 업데이트가 보장된 버전을 사면 신규 버전이 나오더라도 자료를 업데이트 해줍니다.
Code-Maze: Code Maze - C#, .NET and Web Development Tutorials (code-maze.com)
이 외에도 해외에서는 자료를 PDF 형태로 파는 곳이 종종 보입니다.
제가 유료 자료를 한 번 밖에 안 사봤지만, 강의의 형태가 아니라 문서의 형태로 학습 진행을 원하신다면 괜찮은 유료 자료를 구매해보는 것도 한 가지 방법이 될 수 있을 것 같다는 생각이 들어서 5번 항목으로 추가해보았습니다.
마무리
지금까지 .NET 개발자로서 제가 공부했던 방법을 정리해보았습니다.
저는 이렇게 공부해왔고, 하고 있습니다.
개개인마다 학습 방식의 선호도가 다를 수 있고 실제로 다른 방법이 본인에게 맞는 경우도 있습니다.
따라서 제 글을 참고하되, '꼭 이렇게 해야지!' 할 필요는 없습니다.
제 글에서 얻어가실 수 있는 부분만 얻어가시면 좋을 것 같습니다 ㅎㅎ
그리고 이 글에 나오지 않은 다른 방법과 도서, 강의, 자료 등을 추천 해주실 수 있으시다면 댓글 부탁드리겠습니다!
감사합니다.