태그 - 마인드셋
이름 - 10배 이상 뛰어난 개발자가 되는 법
아티클을 읽고 글을 작성한다.
a. 아티클 핵심 내용 요약
- 10배 이상 뛰어난 개발자와 일을 같이 해본 필자는 코드를 많이 짜거나 타이핑이 빠르다거나 더 많이 일한다고 뛰어난 개발자가 아닌 남들 보다 절반만 일하고 절반의 속도로 타이핑을 하며 코드를 작성하는 것보다 삭제하는데 더 많은 시간을 할애한다고 합니다.
초급 개발자가 흔하게 저지르는 실수를 알아보고 경험 많은 엔지니어가 동일한 문제를 어떻게 다루는지 비교를 해주셨습니다.
1. 사용하는 도구에 대한 연구가 없음
- 먼저 초급 개발자는 코드 한 줄 없이 해결할 수 있는 문제도 코딩부터 시작한다는 점을 이야기 했습니다. 초급 개발자가 몇 주 동안 완성할 일을 뛰어난 개발자는 올바른 도구를 사용하여 단 10분만에 완료할 수 있을 정도로 이 과정에서 생산성의 차이가 벌어진다고 합니다. 백지에서부터 모든 기능에 대한 주석을 작성하고 기능을 올바르게 구현하려면 시간이 걸릴 것이고 자신이 배운것 외에도 시간을 더 절약할 수 있는 수단이 존재하였는지 찾아보고 배우는 시간이 필요하다고 생각했습니다.
2. 도움을 요청하지 않음
- 간단하지만 많이 놓치고 있는 부분이라고 합니다. 개발자가 문제를 계속 붙잡고 있으면 해답을 얻을지도 모르지만 초급 개발자는 스스로 상황을 판단하고 정보를 해석할 능력이 부족하기 때문에 질문을 한다면 금방 해결될 문제임에도 도움을 요청하는 대신 자신의 코드를 한 줄씩 살펴보며 고민에 빠지게 됩니다. 자신이 모르는 것을 인지하고 아무리 고민해도 알기 힘든 부분이 있을 수 있기때문에 다른 누군가에게 도움을 청하여 배우고 다음으로 빠르게 넘어가는 것이 훨씬 효율적이라고 합니다.
3. 비즈니스 가치를 제공하지 않음
-
일도 투자입니다. 투입한 시간보다 투자에 대한 보상이 훨씬 커야 한다고 생각하고 그 기회비용을 잘 이해하는 것이 뛰어난 개발자입니다. 한 기능을 구축하는 데 들어간 시간만큼 가른 기능의 개발이 중단되기 때문에, 코드 없이 목표를 달성할 수 있거나 직접 작성하는 코드가 적다면 유지 보수해야 할 코드도 적어지기 때문에 이처럼 시간에 비하여 생산성이 높다면 그만큼 뛰어난 개발자가 되는 것이라고 합니다.
-
위에서 소개한 지침을 충실히 따르는 개발자라도 같이 일하기 힘들다면 소용이 없기 때문에 엔지니어링은 팀플레이이고 나의 노력이 나의 자존심이나 배려하지 않는 모습 때문에 물거품이 되지 않도록 노력하는 것도 중요합니다.
b. 해당 아티클을 읽고 얻은 인사이트 or 알게 된 개념을 1~3가지 정도 작성하여 마무리
-
사실 공부를 하면서 코드와 구현에만 신경을 많이 쓰면서 문법을 공부한 것 같은데 그것 외에도 먼저 무작정 코드로 모든 문제를 풀기 보다는 다른 방법이 있는지 전체적인 프로젝트를 편하게 갈 수 있는 방법이 있는지를 탐색하는 것도 중요하다는 것을 알게 되었습니다.
-
저도 공부를 하면서 모르는게 많이 생기지만 저 자신이 생각해도 질문보다는 혼자 풀어가려고 하는 점을 많이 느껴서 그런 점보다는 좀 더 자신감 있게 튜터님과 매니저님께 자주 질문하고 질문하기 전에 한번 더 생각해보고 다시 한번 구현해보고 하는 적극성을 가져야겠다고 다시 한 번 다짐하는 계기가 되었습니다.