Go 언어, 씹고 뜯고 맛보고 즐기고!
이 책은 Go 언어의 모든 것을 알려주는 책이다.
기본적인 사용법, 문법, 자료구조를 알려줘서 Go 언어를 어떻게 활용할 수 있는지에 대해 알려준다.
거기다가 Go 언어가 작동하는 원리에 대해서도 구석구석 파고 들어서 가려운 부분들을 확실하게 긁어준다.
특히 더 좋았던 점은, C, C++, Java 등의 다른 프로그래밍 언어들에 비해
Go 언어가 작동 방식 부분에서 어떤 차별점을 가지고 있는지를 확실하게 설명해 준다는 점이다.
그래서 Go 언어 말고 다른 언어를 주력으로 사용하던 개발자들이
Go 언어가 가지는 입지에 대해서 확실히 알고 입문하게 해주는 책이라는 생각이 들었다.
다양한 언어를 공부하는 것에 대하여
사실 내가 Go 언어를 처음 접하게 된 계기는 단순하다.
회사에서 시니어 엔지니어 님의 리드에 따라 Go 언어로 새 프로젝트를 만들게 되었기 때문이었다.
처음에 Go 언어는 나에게 그저 생소한 언어들 중 하나에 불과했다.
하지만 Go 언어와 함께 하나의 프로젝트를 완성시켜 보면서,
또 이 책을 공부하면서 나는 Go 언어가 가진 매력들에 흠뻑 빠졌다.
그래서 지금은 회사 프로젝트에서 한 발 더 나아가 사이드 프로젝트를 Go 언어로 만들어 보고 있다.
하지만 한편으론 이런 생각이 드는 것도 사실이다.
'하나의 언어에 집중하는 것이 낫지 않을까?'
나는 해외취업에 대한 생각이 아예 없는 것은 아니지만, 당장의 몇 년 간은 한국에서 백엔드 개발자로 더 일할 생각이다.
한국 IT 기업들의 추세를 생각하면 Java, Kotlin, Spring을 집중적으로 공부하는 것이 당연히 더욱 유리하다.
이런 상황에서 내 개발 경력에 갑자기 뛰어들어온 Go 언어를 어떻게 대해야 할까?
나는 다양한 언어를 공부하면서 얻을 수 있는 이점들을 충분히 활용할 수만 있다면,
공부의 배리에이션을 넓히는 것도 괜찮다고 생각한다.
주니어 개발자는 T자형으로 역량을 증진해야 한다지만, 사실 나는 저마다 다른 T들이 있는 거라고 생각한다.
어떤 회사는 개발자에게 Java, Spring만 시킬 수도 있고, 또 어떤 회사는 나처럼 Go를 시킬 수도 있으니 말이다.
주니어 개발자는 회사에서 직접 본인의 작업을 리드할 순 없다보니 결국 회사의 영향도 크게 받는 것 같다.
또 어떤 개발자는 회사 업무에 상관 없이 "나는 Java로 해볼 수 있는 모든 걸 다 해봐야겠어!" 라고 할지도 모른다.
그러니 각자에게 잘 맞는 T를 찾아가 보는 것이 어떨까.
또한 나는 다양한 언어를 공부하는 것이 오히려 본인의 주력 언어 실력에도 도움이 된다고 생각한다.
다른 언어들을 공부하다 보면 해당 언어에서는 자료구조들을 어떻게 활용하는지, GC를 어떻게 다루는지,
객체지향 설계를 어떻게 하는지 등을 살펴볼 수 있다.
이런 것들을 알게 되면 내 주력 언어가 다른 언어와 비교했을 때 어떤 특장점을 가지고 있는지를 더욱 명확하게
이해하면서 코딩을 할 수 있게 되는 것이다.
기술 서적을 공부하는 방식에 대하여
부트캠프 수료 후 취업 준비 기간부터 줄곧, 나는 아침에 기술 서적을 읽으며 공부한 내용들을 정리하곤 했다.
사실 기술 서적들에 완전히 몰입하면서 공부를 했다기보다는
그저 아침에 머리를 식히기 위해 가볍게 개발 지식들을 정리하는 모습에 더 가까웠다.
하지만 이 책을 공부하기 전에 『도메인 주도 개발 시작하기』라는 책을 잠깐 공부했었는데,
그 책을 공부할 때는 내 아침 학습 패턴을 적용할 수 없다는 것을 깨달았다.
연습용 프로젝트를 따로 만들어서 책의 내용을 제대로 따라가지 않으면
이 책이 전하고자 하는 내용들을 온전히 흡수할 수 없겠다는 생각이 들었다.
그래서 나중에 시간을 들여 더욱 진득하게 공부해보자는 마음으로 학습을 잠시 미뤄두었다.
반면에 오늘 정리하고 있는 『Tucker의 Go 언어 프로그래밍』은 처음부터 끝까지,
물 흐르듯이 쭈욱 따라가면서 개념들은 따로 정리해두고,
실습 파트가 나오면 또 간단하게 따라해보면서 학습하기에 좋았다.
이렇듯 내가 1년 넘게 고수해오고 있는 아침 기술서적 공부 패턴이
잘 맞는 책도 있고 잘 안 맞는 책도 있구나 하는 생각이 들었다.
그러니 책에 따라 학습 방식을 다르게 가져가야겠다.
이번 사이드프로젝트가 끝나면 『도메인 주도 개발 시작하기』 책에 완전히 몰입해보는 시간을 가져봐야겠다.
그리고 이번 책과 같이 유용한 내용들이 잘 정리되어 있는 책은 한 번 학습했다고 내팽개쳐 놓지 말고
참고서 삼아서 계속 꺼내 읽어보는 습관을 가져야만 하겠다.
'Book > Hard Skill' 카테고리의 다른 글
김원일, 서종호 - 『따라하며 배우는 AWS 네트워크 입문』 (0) | 2023.06.10 |
---|---|
전예홍 - 『Do it! 타입스크립트 프로그래밍』 (4) | 2022.10.14 |
유키 히로시 - 『만화로 배우는 리눅스 시스템 관리』 (0) | 2022.05.18 |
조훈 · 심근우 · 문성주 - 『컨테이너 인프라 환경 구축을 위한 쿠버네티스/도커』 (0) | 2022.04.23 |
조영호 - 『객체지향의 사실과 오해』 (0) | 2021.04.22 |