Software Engineering Note

좋은 개발자가 되는 방법 본문

일하며 개발하며

좋은 개발자가 되는 방법

devmoons 2023. 2. 18. 13:43

1. 장인 정신

 

주어진 일을 직업이나 직장생활에서 해야 하는 의무로 생각하느냐, 

정말 잘 끝내야 하는 작품으로 생각하느냐의 차이는 엄청 큰 것이다.

(개발자의 업무는 대부분 코드를 생산하는 것이라, 이것을 작품이라 표현했다.)

 

코드를 보면 이 사람이 어떤 마인드로, 어느 정도의 정성으로 일을 했는지가 보인다.

생계를 위한 코드는 동작하는데 만족한다. 고민의 흔적이 많이 보이지 않는다.

여기저기 중복이 존재하고, 확장성은 찾아보기 힘들다.

 

내가 같이 일 하고 싶은 동료들은 모두 장인 정신이 어느 수준 이상은 있었다.

내 기준으로는 그런 동료들이 좋은 개발자이다.

그들에게는 배울 점이 있고, 같이 성장하는 기분이 든다.

 

그들은 일단 눈높이가 높아서 같은 일을 해도 일의 퀄리티가 다르다.

더 좋은 코드, 더 좋은 아키텍처를 항상 고민하고 또 가능하게 만든다.

그들에게 일의 퀄리티는 뭔가 양보할 수 없는 영역처럼 느껴지기도 한다.

 

장인 정신을 갖자는 것은

일을 잘 마무리하는 것에 관심을 갖자는 것이고,

업무 결과를 예술 작품으로 생각해 보자는 것이다.

이는 곧 본인의 성장과 연결된다.

 

2. 업무와 관련된(or 관심 분야) 공부

 

같은 내용의 책도 내가 필요할 때 보면 더 잘 들어오는 법이다.

새로운 업무를 맡았다면 기회로 생각하고 그와 관련된 책이나 강좌들을 알아보자.

현재 고민하고 있는 내용과 그 해결책이 제시되는 경우도 있으니, 이를 활용하면 더 훌륭하게 일을 끝낼 수 있다.

비슷한 일을 하더라도 새로운 방법으로 일을 진행하거나, 새로운 기술을 도입해서 지식의 영역을 확장시킬 수 있다.

 

업무를 지식 확장의 기회로 만들라는 뜻이다.

여러분이 할 일은 공부에 필요한 시간을 할애하는 것뿐이다.

 

업무 외에도 관심 있는 분야를 공부하는 것도 좋다.

내 말 뜻은, 어떤 지식을 잘 받아들일 수 있는 조건이 되었을 때를 전략적으로 이용해서, 밀도 있는 학습을 하라는 의미이다.

 

3. 공유

 

새롭게 배웠거나, 문제를 해결했거나, 개선을 했거나.. 이 과정에서 깨달음을 얻었다면 공유를 해보자.

그런데, 이것이 공유를 할 만한 내용인지 고민되는 경우가 있을 것이다.

시니어라면 대충 각이 나오는지 알 것이고, 주니어라면 조직장이나 시니어에게 조언을 얻어보자.

지식 공유에 관심이 있는 조직장이라면 업무 상황을 보고 공유를 제안할 수도 있다.

공유 자리를 준비하면서, 또 질문을 받으면서 얻은 지식을 더 공고히 다질 수 있는 기회가 된다.

 

-

그럼 좋은 개발자가 되면 뭐가 좋을까.

당연히 부와 명예를 얻을 확률이 높아진다. 그런데, 이를 본질로 생각하고 추구하면 안 된다.

본질은 스스로의 성장이다. 훌륭한 장인이 되는 것이다.

그래야 회사에도, 사회에도, 동료에게도 도움이 된다. 

잘 포장된 입 개발자들로 인한 해악을 그동안 많이 봐왔을 테니 무슨 말인지 이해하리라 믿는다.