Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[전호영] 15장, 16장 : 실용주의 장인정신, 소프트웨어 장인으로서의 커리어 #46

Merged
merged 2 commits into from
Dec 27, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 26 additions & 0 deletions 15장/전호영.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# 기억하고 싶은 문장들

p.292 </br>
"리팩토링을 위한 리팩토링은 시간낭비다. 할 일이 없어서 시간이 남아 도는 것이 아니라면, 특별한 이유도 없이 코드를 열어서 재정리하는 일은 아무런 의미가 없다."

- 리팩토링이 중요하다는 얘기를 많이 들었다. 그러다보니 했던 프로젝트에 대한 리팩토링을 계속 생각하게 되었는데, 진짜 필요에 의한 생각이었는지 그저 주변에서 얘기를 많이 들어서 리팩토링을 위한 리팩토링이었는지 생각해봐야겠다.

p.296 </br>
"'빨리 만들었다는 것이 엉망이다'라는 것이어서는 안 된다.'"

p.300 </br>
"프로젝트를 수행한 사람들이 떠나간 후 그것을 유지보수할 사람들을 고려해야만 한다."

- NestJS로 구현했던 학교 동아리 사이트를 1~2월에 마이그레이션 할 계획이다. 내가 학교를 졸업하더라도 후배들이 이어서 개발을 하고 사용을 했으면 하는 마음이었기에 마이그레이션을 결정했다.
처음 사이트를 구현할 땐 유지보수를 크게 고려하지 않았다. 어차피 내가 다시 고칠거란 생각이었다. 마이그레이션을 하면 후배들이 사용하게 될 텐데 그렇기에 유지보수할 사람들을 더 신경써야겠다.

p.300 - 301 </br>
"비범한 개발자와 평범한 개발자를 가르는 기준은 어떤 방식으로 그것을 동작하게 만드느냐이다. 비범한 개발자는 요구사항을 충족하는 가장 단순한 코드를 만들어 경험이 적은 개발자가 이해하는 데 아무런 문제가 없도록 한다."
"그들은 코드 한 줄도 짜지 않고 문제를 해결할 방법을 찾는다. 가장 훌륭한 코드는 작성할 필요가 없는 코드다."

- Keep it simple, stupid 의 철학을 잊지말자.

# 느낀점

문제해결을 할 때 가장 중요한 것은 기술을 사용하지 않고 문제를 해결하는 것이라 생각해왔다. 같은 생각이 책에 나와있어서 내가 잘못된 생각을 하고 있진 않았다는 것을 느꼈다.
1~2월엔 이전 프로젝트에 대한 리팩토링과 마이그레이션을 주로 할 예정인데, 책을 보며 어떤 마음가짐으로 해야하는지 배웠다.
31 changes: 31 additions & 0 deletions 16장/전호영.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# 기억하고 싶은 문장들

p.310 </br>
"단순히 좋은 코드를 작성하고 비즈니스 가치를 전달하는 것만으로는 좋은 개발자는 될 수 있지만 장인은 될 수 없다. 장인은 일종의 삶의 철학이다. 우리의 삶 전체에 걸쳐서 최선을 다해 역량을 마스터할 과업으로 소프트웨어 개발을 선택한 것이다.
항상 최고의 코드를 만들도록 다른 것들을 희생해서라도 계속해서 배우고 남을 도우리라는 각오를 하는 것이다."

- 결국엔 나를 희생하고서라도 남을 도울 수 있는 각오를 가져야한다. 정신적인 부분이 장인을 만드는데 가장 중요한 부분이 아닐까

p.310 </br>
"장인이 된다는 것은 새로운 것에 대해 호기심을 가지고 실험한다는 것과 같은 의미다. 장인은 특정 도구, 개발 언어, 프레임워크에 독단적인 고집을 부리지 않는다. 항상 주어진 문제에 가장 적합한 도구를 찾고 단순한 해결책을 추구한다.
특정 도구를 종교적으로 신봉하지는 않더라도 최선이라고 알려진 몇몇 조합들에 대해서는 완전하게 마스터하고 있어야 한다. 마스터한 도구들이 없다면 장인이라고 할 수 없다."

p.310 </br>
"진정한 소프트웨어 장인은 가장 먼저, 코드 작성이 아니라 문제 해결에 집중한다."

- 밋업 프로젝트를 하면서 난 문제 해결에 집중했을까? 나름 기획에 많은 관심을 가지려고 노력했지만, 코드에 더 집중했던 것 같다. 다음 프로젝트를 할 땐 문제 해결에 집중하도록 노력해야겠다.

p.314 , p.315 </br>
"성공한 소프트웨어 장인은 스스로의 커리어를 매우 신중하게 계획한다. 무언가를 배우고 더 나은 프로페셔널이 되기 위한 기회들을 찾는다. 사람들은 서로 다른 열망들을 품고 있다. 그 열망들은 시간이 감에 따라 변한다. 다음 단계를 위해 앞서 보고, 계획하는 것은 성공적인 커리어를 위해 핵심적이다."
"커리어 전반에 걸쳐, 항상 신중하게 다음 직장을 찾았다. 낚시하듯이 여러 회사에 맹목적으로 이력서를 보내는 일은 하지 않았다."

- 취업을 준비하면서 고민이었다. 일단 취업을 해야하니까 이력서를 뿌려야할까? 아니면 내가 원하는 회사나 그런 문화를 가지고 있는 회사들을 골라서 지원해야할까? 둘 간의 적절함을 찾아야하는 것 같다.

# 느낀점

마지막 챕터는 커리어에 관한 내용이었다.
어찌보면 현재 내 상황과 딱 맞는 상황이다.
취업을 준비하면서 고민이 많았는데, 이 책을 읽으며 많은 도움을 받았다.
커리어의 시작이 커리어의 끝을 결정하는 것은 당연히 아니기에 너무 큰 부담을 가질 필요가 없다는 것은 알지만, 사람이라는게 좋은 시작을 하고 싶은 것은 당연하다.
욕심과 현재 내 상황, 내가 발전시킬 수 있는 부분들이 무엇인지 알고있다.
걱정해봤자 달라지는 것은 없으니 일단 시작해보자.
Loading