일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 개발7년차매니저1일차
- 회고
- 개발자로살아남기
- 클린코드
- 데이터플랫폼
- 코딩인터뷰
- 테스트주도개발
- 알고스팟
- functional thinking
- Raw-Request-URI
- 박종천
- spray
- clean code
- 2016년회고
- 데이터유통
- 단위테스트
- wait region split
- 함수형 사고
- 데이터야놀자
- 동시성
- 실전사례
- kafka
- 2017회고
- 켄트백
- datalake
- 데이터레이크
- 해커컵
- hackercup2017
- coursera
- 개발자
- Today
- Total
Software Engineering Note
좋은 개발자가 되는 방법 본문
1. 장인 정신
주어진 일을 직업이나 직장생활에서 해야 하는 의무로 생각하느냐,
정말 잘 끝내야 하는 작품으로 생각하느냐의 차이는 엄청 큰 것이다.
(개발자의 업무는 대부분 코드를 생산하는 것이라, 이것을 작품이라 표현했다.)
코드를 보면 이 사람이 어떤 마인드로, 어느 정도의 정성으로 일을 했는지가 보인다.
생계를 위한 코드는 동작하는데 만족한다. 고민의 흔적이 많이 보이지 않는다.
여기저기 중복이 존재하고, 확장성은 찾아보기 힘들다.
내가 같이 일 하고 싶은 동료들은 모두 장인 정신이 어느 수준 이상은 있었다.
내 기준으로는 그런 동료들이 좋은 개발자이다.
그들에게는 배울 점이 있고, 같이 성장하는 기분이 든다.
그들은 일단 눈높이가 높아서 같은 일을 해도 일의 퀄리티가 다르다.
더 좋은 코드, 더 좋은 아키텍처를 항상 고민하고 또 가능하게 만든다.
그들에게 일의 퀄리티는 뭔가 양보할 수 없는 영역처럼 느껴지기도 한다.
장인 정신을 갖자는 것은
일을 잘 마무리하는 것에 관심을 갖자는 것이고,
업무 결과를 예술 작품으로 생각해 보자는 것이다.
이는 곧 본인의 성장과 연결된다.
2. 업무와 관련된(or 관심 분야) 공부
같은 내용의 책도 내가 필요할 때 보면 더 잘 들어오는 법이다.
새로운 업무를 맡았다면 기회로 생각하고 그와 관련된 책이나 강좌들을 알아보자.
현재 고민하고 있는 내용과 그 해결책이 제시되는 경우도 있으니, 이를 활용하면 더 훌륭하게 일을 끝낼 수 있다.
비슷한 일을 하더라도 새로운 방법으로 일을 진행하거나, 새로운 기술을 도입해서 지식의 영역을 확장시킬 수 있다.
업무를 지식 확장의 기회로 만들라는 뜻이다.
여러분이 할 일은 공부에 필요한 시간을 할애하는 것뿐이다.
업무 외에도 관심 있는 분야를 공부하는 것도 좋다.
내 말 뜻은, 어떤 지식을 잘 받아들일 수 있는 조건이 되었을 때를 전략적으로 이용해서, 밀도 있는 학습을 하라는 의미이다.
3. 공유
새롭게 배웠거나, 문제를 해결했거나, 개선을 했거나.. 이 과정에서 깨달음을 얻었다면 공유를 해보자.
그런데, 이것이 공유를 할 만한 내용인지 고민되는 경우가 있을 것이다.
시니어라면 대충 각이 나오는지 알 것이고, 주니어라면 조직장이나 시니어에게 조언을 얻어보자.
지식 공유에 관심이 있는 조직장이라면 업무 상황을 보고 공유를 제안할 수도 있다.
공유 자리를 준비하면서, 또 질문을 받으면서 얻은 지식을 더 공고히 다질 수 있는 기회가 된다.
-
그럼 좋은 개발자가 되면 뭐가 좋을까.
당연히 부와 명예를 얻을 확률이 높아진다. 그런데, 이를 본질로 생각하고 추구하면 안 된다.
본질은 스스로의 성장이다. 훌륭한 장인이 되는 것이다.
그래야 회사에도, 사회에도, 동료에게도 도움이 된다.
잘 포장된 입 개발자들로 인한 해악을 그동안 많이 봐왔을 테니 무슨 말인지 이해하리라 믿는다.
'일하며 개발하며' 카테고리의 다른 글
application 이 out of memory 로 죽을 때 개선 사례 (0) | 2024.02.19 |
---|---|
코딩 테스트는 어떠해야 하는가 (0) | 2022.09.04 |
개발자 준비생들을 위한 조언 (0) | 2021.02.20 |
시간 복잡도는 왜 따져봐야 할까? (0) | 2020.03.18 |
shell script 부분 병렬화 사례 (0) | 2020.03.01 |