모든 것을 바꾸는 코딩에 대한 진실
Source: Dev.to
Background
최근에 제가 공유한 LinkedIn 게시물이 뜨거운 논쟁을 일으켰습니다. 그 게시물은 개발자를 진정으로 시니어로 만드는 것이 무엇인지에 관한 것이었으며, 핵심 메시지는 문법에 집착하기보다 실제 제품을 만드는 데 집중하라는 것이었습니다.
The Core Message
진정한 시니어십은 다음과 같습니다:
- 문법에 집착하는 것을 멈추세요.
- 최종 사용자는 여러분의 코드에 관심이 없다는 것을 깨달으세요.
- 코딩은 근본적으로 협업과 커뮤니케이션이라는 점을 이해하세요.
대부분은 전체 메시지에 동의했지만, 다음 문장은 논란이 있었습니다:
“End users don’t care about our code.”
일부는 이를 품질과 표준을 무시해도 된다는 허용으로 해석했는데, 이는 오해입니다.
Clarifying the Point
“엔드 유저는 코드에 관심이 없다”는 말은 우리가 사용하는 도구와 추상화에서 초점을 돌려 사용자에게 중요한 결과에 집중하라는 의미입니다:
- 언어와 도구를 두고 싸우는 것을 멈추세요.
- 과도한 추상화를 만들지 마세요.
- “혹시 몰라서” 미리 확장성을 구축하는 것을 멈추세요.
- 신뢰할 수 있고 잘 알려진 기술을 선택하세요.
우리가 좋은 코딩 관행을 무시하면 최종 사용자는 고통받게 됩니다. 버그가 많고 느린 애플리케이션은 용납될 수 없습니다. 사용자가 중요하게 여기는 것은 속도와 신뢰성이며, 우리가 jQuery, React, 혹은 최신 프레임워크를 사용했는지는 중요하지 않습니다. 그들은 우리가 그들의 문제를 해결해 주는지를 신경 씁니다.
Audiences for Our Code
우리는 서로 다른 우선순위를 가진 세 가지 청중을 위해 코드를 작성합니다:
- 엔드 유저 – 성능, 안정성, 기능에 관심이 있습니다.
- 미래의 개발자 – 읽기 쉽고, 유지보수가 가능하며, 문서화가 잘 된 코드를 필요로 합니다.
- 비즈니스 소유자 – 비용 효율성, 적시 전달, 비즈니스 목표와의 정렬을 중시합니다.
시니어가 된다는 것은 이 세 그룹 모두의 요구를 충족시키는 것이지, 한쪽만 만족시키는 것이 아닙니다.
Personal Reflection
오랫동안 나는 코딩이 단지 문법을 입력하는 일이라고 생각했습니다. 시니어 개발자의 더 넓은 책임을 깨달은 뒤, 나는 **“Street‑Smart Coding”**이라는 로드맵을 만들게 되었고, 이는 내가 처음 시작할 때 가졌다면 좋았을 아이디어였습니다.