원문: Habits of great software engineers [링크]

소프트웨어 개발자의 역할은 종종 단 하나의 활동으로 간소화됩니다: 코딩. 코딩은 분명히 이 직업의 핵심이지만, 이 활동만으로 개발자를 정의하는 것은 화가를 그들의 색을 섞는 능력으로 정의하는 것과 같습니다. 코딩은 중요한 부분이지만 그것은 빙산의 일각에 불과합니다. 소프트웨어 개발자의 진정한 본질은 다양한 기술, 사고 방식 및 전문분야의 조합으로 이루어져 있습니다.

모든 소프트웨어 개발자가 단순히 코더일 뿐인 세계를 상상해보세요. 그런 세계에서는 코드가 작성될 수 있겠지만, 어떤 문제를 해결할까요? 그 코드는 유용할까요, 아니면 단순히 특별한 것을 구현한 것일까요? 개발자와 훌륭한 개발자의 차이는 가치를 제공하기 위한 접근 방식의 깊이와 넓이입니다.

훌륭한 소프트웨어 개발자의 특성에 대해 더 자세히 알아보고 싶습니다. 뛰어난 개발자들의 습관은 무엇일까요? 그리고 코딩에 대해서는 (너무 많이 다루지 않고) 얘기하고 싶습니다.

이 글에서는 다음과 같은 내용을 다룹니다:

  1. 코드 이외의 영역에 집중하기 - 개발자로서 시간의 20%만 코딩에 사용합니다. 코딩 능력을 탁월하게 키우는 것도 중요하지만, 위대한 개발자가 되기 위해서는 충분하지 않습니다.
  2. 효율성과 취약성에 대한 이해 - 주변 환경이 원활하게 돌아가고 전방으로 나아가는지 확인하기
  3. 취미로 놀기의 즐거움 - 프로젝트를 만들고, 프레임워크를 시도하고, 여러 가지를 해보며 창의성을 유지하기
  4. "왜"를 알기 - 코드가 동작하는 이유를 이해하는 것이 중요합니다. 요즘에는 너무 많은 추상화가 있어서 자신의 코드가 동작하는 기반이나 엔진에 대해 생각하지 않는 경우가 많습니다.
  5. 시스템적 사고 - 코드가 개별 시스템 뿐만 아니라 비즈니스/애플리케이션/일상의 다른 부분에 어떻게 영향을 미치는지 이해하기
  6. 기술적인 디톡스 - 모니터에서 멀어져 재충전하면 더 나은 프로그래머가 될 수 있습니다.
  7. 근사의 예술 - 프로그래밍 결정을 내릴 때 계산을 대략적으로 예측할 수 있는 중요한 기술적 숫자들을 알기

만약 이 내용이 흥미롭게 들린다면 더 많은 내용이 글의 아래 부분에 있습니다. 그러나 이 내용을 알고 싶다면 글 전체를 읽어야 합니다.

참고: 주관적인 의견이므로 개인마다 의견은 달라질 수 있습니다.

1. 코드 이외의 영역에 집중하기

코딩은 개발자에게 그림 화가에게 브러시나 조각가에게 끌로와 같은 것입니다. 이것은 주요 도구로, 모든 것이 이에 기반하여 구축되는 기본 기술입니다. 모든 애플리케이션, 모든 웹사이트, 모든 디지털 솔루션은 코드 한 줄로 시작됩니다. 누군가는 그것을 썼을 것이고, 아마 여러분도 거의 매일 코드를 작성하고 있을 것입니다.