https://news.hada.io/topic?id=20244
내가 아는 최고의 개발자들이 공통적으로 가진 특성 | GeekNews
저자는 다양한 개발자를 만나면서, 최고의 개발자들이 가진 공통된 특성에 대해 고민하게 됨이 글은 초보 개발자나 성장하고 싶은 사람들에게 영감을 주기 위해 작성된 관찰 기록임레퍼런스 문
news.hada.io
- 저자는 다양한 개발자를 만나면서, 최고의 개발자들이 가진 공통된 특성에 대해 고민하게 됨
- 이 글은 초보 개발자나 성장하고 싶은 사람들에게 영감을 주기 위해 작성된 관찰 기록임
레퍼런스 문서를 먼저 읽을 것
- Stack Overflow나 LLM을 먼저 찾기보다는 공식 문서를 먼저 읽는 습관을 들이는 것이 중요함
- Apache, Python, TOML 등의 공식 문서는 실제로 꽤 잘 작성되어 있음
- 소스에서 직접 배우는 습관은 장기적으로 큰 도움이 됨
도구를 깊이 이해할 것
- 도구를 ‘사용’할 줄 아는 것과, 그것을 ‘이해’하는 것은 다른 수준임
- 도구를 잘 아는 사람은 설정 하나하나를 설명할 수 있음
- 잘 이해하려면 도구의:
- 역사 (왜 만들어졌는가)
- 현재 (누가 관리하는가)
- 한계 (언제 안 맞는가)
- 생태계 (주변 도구, 라이브러리 등)
를 모두 파악하고 있어야 함
- Kafka 등을 주력으로 쓴다면, Reddit에서 본 수준 이상으로 알고 있어야 함
에러 메시지를 꼼꼼히 읽을 것
- 에러 메시지를 곰곰이 들여다보면 힌트가 담겨 있음
- 최고의 개발자는 적은 정보만 보고도 문제를 추론함
- 문제의 80%는 에러 메시지만 잘 봐도 해결 가능함
문제를 잘게 나눌 줄 알 것
- 막히는 건 누구나 겪는 일이고, 잘게 나눌 수 있어야 풀 수 있음
- 경험이 많거나, 문제 해결 능력이 뛰어난 사람은 쉽게 나눔
- 개발자의 핵심 업무는 결국 큰 문제를 작은 문제로 나누는 작업임
- 단순한 문제들을 차근차근 풀면 전체 문제도 해결됨
두려움 없이 코드를 다룰 것
- 최고의 개발자들은 코드 읽기를 두려워하지 않음
- “그건 내 영역이 아니야” 같은 말 없이 그냥 시도하고 배움
- 처음 다룬 코드도 금세 팀 내 전문가가 되는 경우가 많음
항상 다른 사람을 도울 것
- 바쁜 와중에도 도와주는 개발자는 좋은 팀원이자 훌륭한 전문가임
- 호기심과 협력적인 태도는 좋은 개발자의 필수 자질임
글을 쓸 것
- 뛰어난 개발자는 말도 잘하고, 생각을 글로 풀 줄 앎
- 블로그, 발표, 오픈소스 활동 등으로 생각을 나눔
- 글쓰기 능력은 사고의 구조와 직접적으로 연결되어 있음
- 잘 쓰는 사람의 코드는 구조적이고, 명확하고, 때론 재치있음
배움을 멈추지 말 것
- 나이와 상관없이 계속 배우는 사람이 진짜 뛰어난 개발자임
- 새로운 도구나 언어를 시도하는 것에 거리낌이 없음
- 최신 기술을 맹목적으로 따르지 않고, 장단점을 스스로 분석할 줄 앎
- 젊은 나이에도 고정관념에 빠지면 성장이 멈춤
지위에 연연하지 말 것
- 좋은 개발자는 직책과 상관없이 누구에게나 배움을 구함
- 신입에게도 배울 게 있다는 태도를 가짐
- 새로운 시각을 가진 사람들과의 대화에서 영감을 받음
명성을 쌓을 것
- 실력도 중요하지만, 실력을 알려지는 것도 중요함
- 명성은 영향력을 넓히는 수단임
- 다음과 같은 방법으로 명성을 쌓을 수 있음:
- 중요한 서비스를 직접 만들거나 배포함
- 잘 알려진 도구를 개발함
- 유명한 오픈소스에 기여함
- 자주 인용되는 책을 씀
- 명성은 하루아침에 쌓이지 않으며, 꾸준한 노력과 시간이 필요함
인내심을 가질 것
- 사람과 컴퓨터 모두에게 인내심이 필요함
- 주변 사람은 바보가 아니라 정보가 부족한 것일 뿐임
- 인내심 없으면 쉽게 불만이 쌓이고 협업이 어려워짐
- 어려운 문제를 해결하려면 집중력과 끈기가 필요함
컴퓨터를 탓하지 말 것
- 최고의 개발자는 절대 시스템이나 외부 요인을 탓하지 않음
- 겉보기엔 무작위로 보이는 문제도 논리적인 이유가 있음
- 원인을 찾기 위해 끝까지 파고드는 태도가 중요함
“모르겠습니다”를 말할 줄 알 것
- 인터뷰에서 일부러 “모르겠습니다”를 말하는 순간을 기다린 적 있음
- 중요한 건 답이 아니라 태도임
- 최고의 후보는 모른다고 인정하고, 추론을 시작함
- 모른다고 인정하는 태도는 학습 가능성을 보여줌
- 거짓말하거나 아는 척하는 사람은 팀에 부정적임
추측하지 말 것
- PEP 20의 철학처럼, 모호할 땐 절대 추측하지 말 것
- 추측의 위험:
- 틀리면 버그
- 맞아도 잘못된 전제를 믿게 되어 나중에 문제 유발
- 확신이 없으면:
- 질문하고
- 문서 읽고
- 디버깅 도구를 쓰고
- 근거를 찾아야 함
단순하게 유지할 것
- 똑똑한 사람은 똑똑한 코드를, 훌륭한 사람은 단순한 코드를 씀
- 단순한 코드가 유지보수에 훨씬 유리함
- 복잡함이 필요한 상황과 아닌 상황을 구별할 줄 알아야 진짜 실력임
마무리 생각
- 이 글은 체크리스트가 아니며, 훌륭한 엔지니어링은 경쟁이 아님
- 단, 어려운 작업을 건너뛸 수 있다고 스스로를 속이지 말 것
- 훌륭한 개발자가 되는 길에 지름길은 없음
반응형
'Choi solyi > 원동력' 카테고리의 다른 글
프로그래머스 테크피드 (0) | 2021.10.08 |
---|---|
영상 모음 (1) | 2020.04.18 |
화이팅 (0) | 2019.12.11 |