HisStory/나는리뷰어다2023

육각형개발자 리뷰 - 핵심 역량 키우기

Hyo Kim 2023. 8. 27. 20:54
728x90
반응형

표지

서론

한빛미디어에서 신간이 발매되었다.

책 제목부터 표지, 목차가 지금 내 시기에 읽으면 딱 좋겠다는 생각이 들었다.

저자 또한 내가 재밌게 읽었던 '도메인 주도 개발 시작하기'와 '최범균의 JSP 2.3 웹 프로그래밍 : 기초부터 중급까지'의 저자인 최범균님이었다. 안 읽어볼 이유가 없었고, 기대를 가지고 읽기 시작한다.


본론

목차를 보면 알겠지만, 단순히 코딩이나 기술서적은 아니다.

개발자로 살아가면서 단순 코딩과 기술학습 뿐 아니라 어떤 것들을 잘하고 어떤 것들을 생각하고, 나아가야 하는지를 말하고자 하는 책으로 보인다.

 

1장 들어가며

이 장에서는 저자가 신입때 겪었던 실패들을 이야기 해준다.

당시 신입으로서 최선을 다해 열심히 했지만, 프로젝트가 흐지부지 끝나는 경험도 해보고, 현재 돌아봤을 때 어떤 게 문제였는지, 단순 코딩 뿐만 아니라 외적으로 어떤 게 중요한지를 설명해준다.

결국 회사와 나에게 돈을 벌어주는 기능을 만드는 게 우리의 몫이고, 이건 코딩만으로 해결할 수 없는 부분이다.

다양한 관점에서 개발을 바라봐서 시야가 넓어지는 게 중요하다.

 

2장 구현 기술과 학습

개발자로 적어도 1-20년 이상 일하게 될텐데, 개발 시장은 매우 빠르다.

몇 년 전에 핫했던 기술이 소리소문 없이 다른 기술에 밀려 사라지기 태반이다.

거기에 새로 생기는 기술은 이름 외우기 힘들 정도로 많이 생겨나고, 기존 기술들도 배워야하고, 핫한 기술도 배워보고 싶다.

이때 우리는 어떤 기준으로 학습 대상을 골라야할까? 현재 내 상황에서는 어떤 방식으로 학습해야 할까?

깊게 이해하지 않고 단순 구현기술만 배우면 왜 위험한지, 왜 새로운 기술을 배워야 하는지, 그렇다고 왜 새로운 기술만을 고집해서 도입하면 안되는지를 설명해준다.

실무에서 내가 공부한 기술을 업무에 어떻게 적용할지, 어떻게 설득해야할지를 생각해볼 수 있어서 좋았다.

 

3장 소프트웨어 가치와 비용

오래된 소프트웨어는 지속적으로 유지보수를 해야하는데, 유지보수를 할 때는 기존 만들 때보다 비용이 더 많이든다.

시간이 지남에 따라 프로젝트가 커지고, 코드도 많아지고, 오래된 코드도 많아진다.

오래된 코드가 많아지면 많아질 수록 리팩토링에 두려움은 커지고,

또 오래된 코드가 많아지는 악순환의 반복으로 소프트웨어의 가치가 손실될 수 있다.

4장 코드 이해

UML을 그리는 시간이 아깝다고 생각했던 시절이 있다.

하지만, 한 번 그려보고 더 잘 이해가 되는 걸 경험한 이후부터는 의식적으로라도 그려보려고 노력 중이다.

책에서도 시각적으로 표현하는 게 이해하는 데 얼마나 도움을 주는 지 잘 설명해주고, 책도 추천해준다.

또한 코드 개선을 위한 리팩터링이 아닌, 이해 목적으로 하는 리팩터링에 대해서도 말해주는데,

생각 못 했던 방법이라 나중에 다른 프로젝트를 진행할 때 해봐야겠다는 생각이 들었다.

5장 응집도와 결합도

응집도를 높이고, 결합도를 낮춰라. 라는 건 많은 리팩터링, 아키텍처, 디자인패턴 등 다양한 곳에서 들을 수 있다.

어떤 코드를 어떻게 수정하면 응집도를 높이고, 결합도를 낮추는 건지 코드 단으로 설명해줘서 이해하기 쉬웠다.

6장 리팩터링

집중해서 본 파트였다.

수많은 레거시는 항상 이유가 있고, 그 상황에 최선이었을 수 있다.

우리는 범인을 찾는 게 아니라 더 좋은 방향으로 나아가기 위해서 일을 하기 때문에

"개선할 거리가 있다. 해보자!" 라는 마인드는 참 좋은 마인드라 생각이 들었다.

7장 테스트

테스트코드의 중요성은 개발자라면 정말 많이 들어봤을 것이다.

나 역시 NextStep의 TDD를 배우며 연습했지만, 막상 익숙하지 않으니 실무에서 잘 작성하지 않고 부채마냥 앉고 갈 때가 있다.

결국 테스트코드를 작성하지 않으면 나중에 리팩토링 혹은 테스트할 때 불안과 시간만 더 잡아먹게 된다.

지금부터라도 테스트코드를 더 열심히 작성하자는 마인드를 다시 잡아주는 파트였다.

8장 아키텍처, 패턴

MSA, DDD, Event Driven 등 다양한 아키텍처가 쏟아져 나오고 있다.

채용공고에서는 다양한 아키텍처를 경험해본 사람들을 원하고, 취준생들은 그걸 보고 좋다는 최신 기술들을 무턱대고 배우곤 한다.

나도 그랬고, 많은 사람들이 다양한 아키텍처를 공부하지만 상황에 맞게 써야된다는 걸 꼭 알고 있어야 한다.

무조건 좋은 기술은 없고, 같은 문제를 해결하려 한다면 복잡한 구조보다 단순한 구조가 더 좋다는 사실을 항상 명심하자.

최근 회사에서 다양한 아키텍처를 적용하고 있는데, 왜 전환하려 하는지, 단순히 하고 싶어서 더 복잡해지는 건 아닌지, 어떤게 개선되는 지를 항상 생각해보고 작업해야겠다는 생각을 다시 한 번 하게됐다.

9장 업무 관리

이 파트는 하고 싶은 말이 정말 많아서 여러 주제로 글을 썼다지웠다 반복했다.

하나의 챕터에 다양한 이야기가 있는데 이 파트는 꼭 읽어봤으면 좋겠다.

신입이 개발 외적으로 어려워하고, 실수하는 부분을 이렇게 해봐라 라고 선배 개발자가 알려준다.

- 거의 다 된건 구현 이상으로 테스트까지 진행하고 있는 상태다.

- 일을 잘 나누고 일정 산정해보는 연습을 하자.

- 안 될 땐 대안을 제시하자.

10장 정리하고 공유하기

내가 하고싶은 걸 있을 때 어필을 잘 하려면 말을 잘 해야하고, 문서를 잘 작성해야 한다.

여기서 말과 글에서 적은 '잘'은 이쁜 겉치레가 많은 게 아니다. 내가 말하고자 하는 내용을 명확하게 전달하는 것을 의미한다.

내 의견을 제대로 전달하기 위해서는 글쓰기와 발표를 조금씩 연습해봐야겠다.

11장 리더와 팔로워

결국 중요한건 사람을 어떻게 대하느냐라 생각한다.

같이 일하는 사람들끼리 서로 소통하고, 의견제시하고 조율하고 하면서 프로젝트를 성공시켜야 한다.

그러기 위해서는 의견을 제시할 줄도 알아야하고, 수용할 줄도 알아야한다. 무조건 내 의견이 맞지도 않고, 무조건 상대 의견이 맞지도 않는다.

리더도 팔로워도 서로를 신뢰하고, 존중하자.


맺음말

1~3년차 정도 되는 주니어 개발자가 읽으면 도움이 된다고 생각한다. (내가 저 연차이기 때문..)

책 전반적으로 개발자 != 코더랑 다르다는 걸 상기시켜준다.

요즘 AI 산업이 ChatGPT를 시작으로 급속도록 달라지고 있는 현재 상황에서 단순히 코딩만 하는 개발자는 미래에 없어질 수 있겠다는 생각이 많이 들고 있었고, 어떤 부분을 발전시키면 좋을까란 생각을 하고 있던 와중에 이 책을 만나 다행이라 생각한다.

그렇다고 코딩 실력 향상이 후순위라는 건 절대 아니다. 무조건 개발 실력향상만 할 게 아닌, 팀원과 좋은 관계, 좋은 협업, 일정관리 등 다양한 부분에서 꾸준히 노력해야 좋은 시니어 개발자가 될 수 있겠다는 생각이다.

책 제목처럼 육각형 개발자가 되도록 노력해야겠다. 다들 파이팅..!

 

 "한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

728x90
반응형