내 책장

소프트웨어 장인

예쁜꽃이피었으면 2022. 8. 31. 16:02

진짜 오랜만에 재미있는 책을 만났다.

계속해서 반복되는 소프트웨어 장인, 소프트웨어 프로페셔널은.. 조금 민망한 느낌이었다.. 나의 목표이지만....

 

내가 경험이 없을 때 이 책을 봤다면 사실 와닿지 않았을 것이다.

그러나.. 나의 경험과 비슷한 일들이 많고 나는 같은 경험을 한 후 이 길을 내 길이 아닌가보다 했지만

작가는 달랐다..시간이 흐른 후에도 다시 읽어볼 생각이고 나의 방향에 대해 다시 생각해봐야겠다.

 

지금 이렇게 하는게 맞나..하는 생각이 드는 시간이라면 읽어봤으면 좋겠다. 누구든 

 


더보기

코딩이 직업인 사람이 동작하는 코드를 만드는 건 기본이예요.

 

28-29

이제는 내 커리어를 한 단계 발전시켜야 했다. 개발자, 프로그래머, 코더가 아닌 소프트웨어 아키텍트가 되고 싶었다.

 

41

코드를 잘 작성하는 것은 소프트웨어 프로페셔널이 가져야 할 최소한의 요건이다. 그에 더해 오늘날에는 테스트, 분석, 비즈니스에 대한 이해, 커뮤니케이션 능력, 보다 외향적인 성격을 소프트웨어 프로페셔널에게 요구한다.

 

48-49

애자일 - 도요타

자동차를 만드는 것과 소프트웨어를 만드는 것은 다르다. 아직 완성되지 않은 자동차가 도로에서 운행되거나 이미 팔린 자동차에 문짝을 하나 더 달아 달라고 하거나, 엔진을 앞에서 뒤로 옮겨달라고 공장으로 되돌려 보내는 일은 없다. 하지만 소프트웨어는 비일비재하다. ...절차에만 집중하고 소프트웨어 개발을 공장 라인처럼 취급하면, 그저 시키는 일만하고 출퇴근하는 공장 노동자와 다를 바 없는 개발자들만 생긴다. 이렇게 되면 비효율적인 피드백 시스템이 되어 전체 프로젝트에 해를 끼친다.

 

70-73

매니페스토의 계속해서 가치를 더한다라는 의미는 신규 기능을 추가하거나 버그 수정만을 뜻하지는 않는다. 코드를 깔끔하게 정리하고 구조를 개선하며 확장성을 높이고, 테스트 가능하게 하고, 쉽게 유지보수 할 수 있게 하는 것을 포함한다. ... 소프트웨어 장인은 항상 다른 사람에게 배우려하는 겸손한 사람이어야 하고 경험이 적은 개발자와 지식을 공유하기를 주저하지 않는 사람이어야 한다. ...훌륭한 개발자는 더 뛰어난 개발자와 일하고 싶어한다. 훌륭한 개발자는 뛰어난 기업에서 일하기를 갈망한다. 서로를 더 성장시킬 만한 사람들과 함께 일하고 지식을 나누며 상대에게 배우는 것, 그저 같은 사무실을 쓰는 동료이기보다 서로에게 영감을 주는 프로페셔널이자 친구를 기대한다. ...코드와 관련된 일이 아니면 나의 일이 아니라고 생각하는 개발자는 진정한 소프트웨어 장인이라고 할 수 없다.

 

74

기업들이 좋은 개발자를 바라듯이, 소프트웨어 장인도 일하기 좋은 기업을 원한다. ...소프트웨어 장인의 가치나 역량에 관심이 없는 고객을 위해 열심히 일해봤자 공허함만 커질 뿐이다. 소프트웨어 장인이 스스로의 평판을 닦고 커리어를 완선해 나가는 데는 고객을 선별하는 능력이 뒷받침되어야 한다. 파트너십은 본디 쌍방향이다.

 

77-80

오래 전에 작성했던 코드를 지금에 와서도 고칠 부분이 없어 보인다면, 그것은 그동안 배운것이 없다는 뜻이다. 소프트웨어 장인이라면 스스로가 만든 것에 애정과 자부심을 가져야 함은 매우 기본이다. 계속해서 더 나은 프로페셔널이 되기 위해 일평생 정진해야 한다. ...소프트웨어 프로페셔널로 대우받기를 원한다면 프로퍼럼 행동해야 한다. 이는 스스로를 발전시키는데 자신의 돈과 시간을 들여야 한다는 것이다. 나 자신의 커리어의 주체로서 언제, 무엇을 배울지를 스스로 결정해야 한다. ...우리가 속한 산업은 다른 어떤 산업보다도 더 빠르게 움직인다. 개발 언어, 프레임워크, 실행 관례, 업무 절차가 계속 진화하고 있다. 이러한 변화에 적응하고 계속해서 역량을 증진시키는 것은 소프트웨어 장인으로서 성공적인 커리어를 갖기 위한 열쇠다.

 

97

모르는 것을 배우는 기회를 만들기 위해 항상 노력해야 한다.

 

108-113

우리는 전혀 프로답지 못했다. 한번도 '아니오'라고 말하지 않았기 때문이다.

우리 개발자들은 그런 상황 전체를 피할 수 있었다. 우리들도 비난을 받아야 한다. 프로젝트 매니저뿐만 아니라 개발자들도 전혀 프로답지 않았다. 이미 불가능하다고 알고 있는 것에 대해 '해보겠다'라고 말하지 말았어야 했다. 어떻게든 모든 기능을 상용 릴리즈에 포함시킬 수 있을 것이라고 생각했더라도, 제대로 된 테스트를 거치지 않았을 뿐만 아니라 완성된 시스템이 정상적으로 동작할 거라는 믿음도 없었다. 상사에게 대항할 수 없다는 불편함과 전체 상황 자체에 대한 증오 말고도 그렇게 무책임하고 밀고 나간 또 다른 원이 우리 마음속에 있었다. 마음 깊은 곳에서는 스스로가 얼마나 잘났는지 내보이고 싶었던 것이다. 그 일을 제대로 해내는 것이 어렵다는 것을 알았지만, 영웅이 될 수 있을 거라는 작은 가능성에 매달렸다. 성공적인 마케팅 캠페인을 만들어낸 사람들로 인정받을 수 있었다. 스스로 도박을 선택했다.

 

117-118

어떤 때는 단지 문제를 어떻게 풀어야 할지 방법을 모를 수도 있다. 이때는 최대한 이른 시점에 그 사실을 정직하게 알려야 한다. 그리고 문제 해결을 위해서 최선의 노력을 다하고 있음을 보여주어야 한다. 무언가 약속은 할 수 없더라도 문제 대응이 어떻게 되고 있는지 진척 상황을 계속 공유해야 한다. 진척 상황을 가능한 자주 공유하는 것이 할 수 있는 최선의 방법이다.

 

160

실용주의적인 관념없이 리펙토링하는 것은 대단히 위험하다. 프로페셔널로서 행동한다는 것은 트레이드오프를 이해한다는 것이다. 전체 시스템을 더 좋게 만들 수는 있겠지만 그럴 필요 자체가 없을 수도 있다. 몇 년 동안 바뀐 적이 없는 부분을 리펙토링하는 것은 의미가 없다. 애당초 코드를 수정할 필요가 없다면, 리펙토링해야 할 이유도 없다.

 

168

나만의 기준과 포부에 따라 성공적인 커리어를 준비하는 과정이었다. 편안하고 익숙한 상태에서 벗어나 나를 발전시키고 배울 수 있는 기회를 지속적으로 찾아야만 한다는 것을 깨달았다. 나의 인생이고 나의 커리어이고, 내가 주인이어야 했다.

 

175-176

회사 안에서 잘못된 일에 집중하고 있는 동안 업계는 계속해서 진화한다. 어느 날 문득 높은 직위에 있다고하더라도 다른 회사에서는 좋은 조건으로 갈 수 없는 퇴물이 되어 다니는 회사에만 목을 매는 붙박이 신세가 된다. 할 수 있는 것이라고는 그저 경기가 나빠지거나, 회사가 어려워지지 않기를 기도하는 것뿐이다. ... 

피터의 원리 : 자신의 무능력이 드러날 때까지 승진하려는 경향

다르게 말하면 어떤 사람들은 정치 게임, 권한 남요으 책임 전가와 비난, 부정직하고 프로페셔널하지 않은 태도를 통해 감당할 능력이 전혀없는 자리까지 승진한다. 

기술이 퇴보한 사람들은 현재의 급여 수준과 생황 안정을 유지할 수 있는 다른 직장을 찾을 수 없어 근심하게 된다. 직성적으로 말하면 역략이 부족한 사람들만이 일자리 걱정을 한다. 소프트웨어 장인은 직업을 잃는 것에 대해 걱정하지 않는다. 소프트웨어 장이니은 자신의 커리어 방향과 일치하는 경우에만 회사 안의 커리어를 수용한다. 소프트웨어 장인은 그들의 커리어가 긴 여정이며, 어떤 종착지에 도달하는 것보다 그 여정 자체가 훨씬 더 중요함을 알고 있다.

 

184

5년 간 경험했는 것은 1년의 똑같은 경험을 5번 반복하는 것과는 다르다. 채용된 후에 새롭게 배우는 것없이 같은 기술만으로 오랫동안 일하는 개발자들이 많다.

 

240

개발자에게 동기를 부여할 수 있는 최선의 사람은 바로 동료 개발자다. 실력있는 개발자, 본받고 싶고 영감을 일으키는 개발자, 바로 소프트웨어 장인이야 말로 최고의 동기 부여가 될 수 있다. 개발팀에 열정을 불어넣고 동기를 부여하고 싶다면 소프트웨어 장인 몇명을 팀에 영입해야 한다.

 

310

단순히 좋은 코드를 작성하고 비즈니스 가치를 전달하는 것만으로는 좋은 개발자는 될 수 있지만 장인은 될 수 없다. 장인은 일종의 삶의 철학이다. 우리의 삶 전체에 걸쳐서 최선을 다해 역량을 마스터할 과업으로 소프트웨어 개발을 선택한 것이다. 항상 최고의 코드를 만들도록 다른 것들을 희생해서라도 계속해서 배우고 남을 도우리라는 각오를 하는 것이다. 소프트웨어 장인으로서의 삶은 아름다운 코드를 작성하기 위한 일생에 걸친 헌신과도 같다. 소프트웨어를 통해 가치를 창출할 수 있는 더 나은, 더 효과적인 방법을 찾는 끊임없는 노력의 길이다.

 

 

 

반응형

'내 책장' 카테고리의 다른 글

역행자  (0) 2022.09.05
에너지버스  (0) 2022.09.02
어른의 문답법  (0) 2022.08.31
공간이 만든 공간  (0) 2022.08.31
다정한 것이 살아남는다  (0) 2022.08.31