멍두의 개발새발
『 소프트웨어 장인 』 후기 본문
소프트웨어가 오래될수록 고통과 비용이 아닌 그 가치가 커져야 한다
우아한 테크코스를 본격적으로 시작하기 전에 추천해 주신 책들 중 소프트웨어 장인이라는 책을 읽어보기로 했다. 생각보다 얇고 술술 읽혀서 금방 완독 할 수 있었다. 개발자로서 동기를 잃었거나, 커리어를 어떻게 이끌어가야할지 고민이 된다면 추천한다.
느낀 점
1. 책을 읽으면서 깊은 공감이 될 때가 많았고(안 좋은 예시들에..), 스스로를 많이 반성하게 되었다.
1년 가까이 프로젝트를 이어오면서 과거에 짠 코드가 실망스럽고 혼자 짠 코드임에도 불구하고 고치기 부담스러워졌다. 특히 최근 기능들을 추가하면서 이미 짜인 코드들은 내가 짰음에도 알아보기 힘들었고, 내가 여기서 코드를 고치면 어디서 어떤 에러가 날지도 모르겠다는 생각에 내가 무척이나 애정했던 프로젝트였음에도 하기 싫다는 생각이 들었다.
그러던 중 이 책을 읽고 정말 정말 정말.. 많은 반성을 했다. 나는 여태동안 그냥 코드를 좀 쳐 본 사람이지 개발자가 아니었구나 하는 생각이 들었다. 여태동안 "아 지금은 빨리해야 되니까 나중에 리팩터링 해야지~" "기능 구현 다하고 테스트 코드 짜야지 ~" 했던 수많은 과거들 속 시간이 부족하다는 변명들은 그냥 내 실력 부족이고, 자질 부족이었다는 말의 반증임을 느꼈다.
개발자라면 읽기 좋은 코드를 작성하고, 이 코드가 작동하는지 빠르게 확인할 수 있게 만드는 것은 부가적인 능력이 아니라 필수 조건임을 알게 되었다.
2. 예전에는 "에이 컴퓨터랑 의지만 있으면 다 할 수 있어" 주의였다. 돌아보면 많이 안일한 생각이었구나 싶다. 물론 요즘 컴퓨터만 있으면 정말 못할 게 없는 건 맞지만, 그렇다고 해서 "무조건 할 수 있어"라고 하기 전, 그게 현재 최선의 방법인지, 더 좋은 방법은 없는지 돌아봤어야 했다. 최고의 해결방법은 코드를 작성하지 않는 것이라는 책의 문구가 특히 기억에 남는다.
3. 장인정신이란 단순히 개발을 휘향 찬란하게 잘하는 사람이라기보다, 열정을 가진 사람을 말하는 것 같다. 여기서 열정이란 개발에 꾸준히 관심과 애정을 가지고 학습하고, 고객에게 가치를 전달할 수 있는 최선을 방법을 위해 노력하고, 현 상황에 가장 좋은 해결책이 무엇일지 고민하며 토론하는 그런 사람이라고 한다.
단순히 TDD로 개발을 하고, 페어 프로그래밍을 하는 개발자라기보다, 이 비즈니스에서 적용할 수 있는 최선을 방법을 함께 적용하려고 노력하고 같이 공유하는 사람이다. 능력은 베이스고 개발자라는 직업에 애정을 가지고 주관적인 생각을 가지고 펼칠 수 있으며 협업 능력을 갖춘 개발자가 장인인가 보다.
4. 나는 그런 장인정신을 가지고 있나 하는 깊은 반성을 했다. 나는 환경에 쉽게 굴복하는 사람이었던 것 같다. 그냥 분란(?)을 일으키기 싫고 상명하복을 철저히 지키는 네네 하는 사람이었다. 일 시키기는 좋은 사람이었을지 몰라도 내가 개발자로서 큰 가치를 제공했던 사람은 아니었다.
또 항상 커뮤니티나 개발자들과의 네트워킹이 소극적이었는데, 그런 것들에 더 적극적으로 참여해야겠다고 생각했다. 결국은 사람과 사람끼리 하는 일이었는데 왜 개발자는 방구석에 틀어박혀서 검은 바탕에 초록색 글씨나 치는 직업이라고 생각했는지 모르겠다.
5. 아직은 갈 길이 멀지만 내가 커리어적으로 이루고 싶은 점은 무엇인지, 또 어떻게 하면 장인 정신을 가지고 개발자라는 직업을 일구워 갈 수 있는지 알 수 있는 좋은 책이었다.
요즘 인공지능이 빠르게 발전하고, 많은 사람들이 개발자에 도전하면서 개발자라는 직업은 전문성이 부족한 직업 아닌가..? 하면서 고민했는데 부족한 건 나의 시야이자 마음가짐이였다. 항상 더 넓은 세상을 보고 경험하고 기록하는 것을 멈추지 않아야겠다.
6. 코딩 카타, 펫 프로젝트를 올해 꼭 해봐야겠다.
코딩 카타 사이트들
인상 깊었던 문구들
소프트웨어 장인정신은 마스터가 되어가는 긴 여정이다. 소프트웨어 장인정신은 소프트웨어 개발자가 스스로가 선택한 커리어에 책임감을 가지고, 지속적으로 새로운 도구와 기술을 익히며 발전하겠다는 마음가짐이다. 소프트웨어 장인정신은 책임감, 프로페셔널리즘, 실용주의 그리고 소프트웨어 개발자로서의 자부심을 의미한다.
무엇이든 할 수 있다는 태도는 어디서든 환영받는다. 우리가 '아니요'라고 대답해야 하는 상황에서도 항상 '네'라고 말할 방안을 탐색해야 한다. 어떤 때는 단지 문제를 어떻게 풀어야 할지 방법을 모를 수도 있다. 이때는 최대한 이른 시점에 그 사실을 정직하게 알려야 한다.
요기베라는 “어디로 가고 있는지 모르고 있자면, 결국 가고 싶지 않은 곳으로 간다”라는 말을 남겼다.
장인은 일종의 삶의 철학이다. 우리의 삶 전체에 걸쳐서 최선을 다해 역량을 마스터할 과업으로 소프트웨어 개발을 선택한 것이다.
마무리하며
이 책을 읽고 우연히 본 아래 영상이 많이 도움이 되었다.
[re:COMMIT] 소프트웨어 장인 정신, 우리가 함께 성장하는 방법
소프트웨어 장인 정신에 관심이 많다면 추천한다.
모두 파이팅!