개발자들이 반드시 가져야 할 7가지 습관,
신입 개발자들을 위한 유용한 조언

오늘은 IT 분야에서 일하는 신입 개발자들에게 도움이 될 만한 이야기를 해보려 합니다. 아시다시피 개발자로 일한다는 건 상당한 집중력과 시간이 필요합니다. 많은 시간을 투자하지만, 때로는 결과가 기대에 못 미치는 경우가 많았습니다. 이를 통해 몇 가지 중요한 습관들을 알게 되었고, 그중 일부는 스티븐 R. 코비의 책 '성공하는 사람들의 7가지 습관'에서 영감을 받았습니다.
이 책에서는 우리가 매일 반복하는 습관이 우리의 목표와 삶의 질에 얼마나 큰 영향을 미치는지 강조합니다. 그렇기에 원하는 삶을 살고 목표를 달성하기 위해서는 좋은 습관을 가지는 것이 중요합니다.
1. 적극적인 자세를 가지세요
스티븐 코비는 사람들이 두 가지 원을 가지고 있다고 말합니다. 하나는 우리가 통제할 수 없는 것들로 이루어진 '우려의 원'이고, 다른 하나는 우리가 통제할 수 있는 것들로 이루어진 '영향의 원'입니다. 소극적인 사람들은 주로 우려의 원에 집중하며, 적극적인 사람들은 영향의 원에 더 집중합니다.
개발자들 사이에서도 마찬가지입니다. 사무실 환경이나 회사 재정 상태와 같이 통제할 수 없는 것들에 몰두하는 소극적인 개발자들이 있는 반면, 면접과 대회에 도전하며 기회를 찾아내는 적극적인 개발자들도 있습니다.
적극적인 사람들은 외부의 것들을 알아야 할 필요성을 인지하지만, 그들의 커리어는 자신이 책임져야 한다는 것을 압니다. 즉, 다른 사람에게 '마법의 레시피'를 기대하기보다는 자신이 통제할 수 있는 것에 더 집중해 영감을 찾는 것이 중요합니다.
2. 끝을 생각하며 시작하세요
우리 중 많은 이들이 목적 없이 흐름에 따라 살아갑니다. 그렇기에 희망만으로는 아무런 전략이 되지 않습니다. 스티븐 코비는 “끝을 생각하며 시작하라”고 말합니다. 즉, 어떤 일을 하든, 프로젝트를 시작할 때 성공의 척도와 그것을 달성하기 위한 계획을 명확히 정해야 합니다.
개발에 이를 적용하면, 새로운 프로젝트를 시작할 때마다 최종 제품을 이해하기 위해 시간을 투자해야 합니다. 구축할 기능의 요구 사항이 무엇인지 명확히 파악하는 것이 중요합니다. 누군가 소프트웨어 엔지니어링은 타협의 예술이라고 말한 적이 있습니다. 정답이 드물며, 다양한 디자인을 결정하고 그에 따른 장단점을 고려해야 한다는 것입니다. 30분 동안 신중하게 계획을 세우면 10시간 이상의 개발 시간을 절약할 수 있다는 것을 경험했습니다.
“사람들은 점점 더 열심히 일하고 있지만, 명확성과 비전이 부족하기 때문에 그리 멀리 가지 못하고 있다. 그들은 본질적으로 밧줄을 밀고 있는 셈이다.” - 스티븐 R. 코비
물론 모든 계획이 항상 맞아떨어지지는 않지만, 아무 계획도 세우지 않는 것보다는 훨씬 낫습니다.
3. 중요한 것부터 먼저 하세요
중요한 것과 그렇지 않은 것을 구분할 수 있는 능력도 효과적인 습관입니다. 자신의 필요에 따라 관심사를 정렬하고, 무엇을 먼저 할지 우선순위를 정할 수 있어야 합니다. 이는 시간 관리와 밀접한 관련이 있습니다. 코비는 우리가 가장 중요한 일을 네 가지 사분면으로 나눠서 관리할 것을 권장합니다. 이를 '아이젠하워 매트릭스'라고 부릅니다.
제가 처음 이 매트릭스를 접했을 때, 별로 중요하지 않다고 생각했습니다. 그러나 소프트웨어 엔지니어로 일하면서 자주 긴급한 버그를 해결해야 했고, 동시에 장기적인 프로젝트도 완료해야 했습니다. 압박감 속에서는 학습을 잊기 쉽습니다. 코드에 문제가 생기면 구글이나 AI를 이용해 해결책을 찾아 복사 붙여 넣기만 하게 되죠. 문제의 원인을 이해하는 것은 중요한 학습 과정이지만, 긴급하지는 않습니다. 많은 개발자들이 경력이 쌓이면서 학습을 멈추는 이유가 여기에 있습니다. 그래서 이 사분면에 속하는 작업들을 주의 깊게 살피고, 장기적인 성공을 위해 특정 시간을 할애해야 합니다. 즉, 중요한 목표를 우선시하고 달성해야만 긴급한 일에 반응하는 것을 줄일 수 있습니다.
4. 모두가 승리할 수 있는 방법을 생각하세요
누군가의 성공이 다른 사람의 실패를 의미하는 것은 익숙한 개념입니다. 이는 우리가 다양한 경쟁과 스포츠 이벤트를 보면서 익숙해졌기 때문일 것입니다. 하지만 코비는 '풍요의 사고방식'을 개발하는 것이 중요하다고 말합니다. 이는 모두가 성공할 수 있는 충분한 자원과 기회가 있다고 믿는 것입니다.
개발자로서 성공적인 커리어를 위해서는 협력하는 능력이 매우 중요합니다. 우리는 다른 엔지니어들 뿐만 아니라 데이터 과학자, 제품 관리자 등 다양한 사람들과 함께 일합니다. 개인적인 목표를 넘어서 팀의 성공을 위해 생각하는 것이 중요합니다.
서로의 성공을 방해하지 않고 모두가 이길 수 있는 방법을 찾는 것은 매우 중요합니다. 이는 장기적으로 좋은 관계를 형성하는 데 큰 도움이 됩니다. 좋은 평판과 이미지를 쌓아가는 데 도움이 되고, 이는 결국 더 효과적인 업무를 가능하게 합니다.
5. 먼저 이해하고, 그 다음에 이해시키세요
다른 사람에게 피드백을 요구하기 전에 상대방의 입장을 먼저 이해하는 것이 중요합니다. 이는 스티븐 코비가 강조하는 바입니다. 효과적인 사람들은 다른 사람을 이해하려는 노력을 먼저 합니다.
개발자로서 이 습관은 코드 작성에서도 적용됩니다. 명확한 코드를 작성하는 것은 다른 사람들이 이해하고 유지 보수하기 쉽게 만드는 것을 의미합니다. 다른 엔지니어들 뿐만 아니라 최종 사용자와도 소통하는 방법입니다. 사용자 경험을 최우선으로 생각하고, 사용자 입장에서 생각하는 것이 중요합니다.
6. 협력하세요
협력할 수 있는 능력은 매우 중요합니다. 좋은 관계와 협력을 통해 더 나은 솔루션을 만들어낼 수 있습니다. 수학적으로 1 + 1 = 2지만, 협력이 잘 이루어지면 1 + 1 = 10이 될 수 있습니다.
코비는 차이를 존중하고 이를 활용하여 더 큰 결과를 만들어내는 것이 중요하다고 강조합니다. 팀원 각자의 능력을 최대한 활용하여 사용자들이 사랑하는 제품을 만들어내는 것입니다. 코드 리뷰, 페어 프로그래밍, 지식 공유 등 협력적인 코딩 관행을 채택하여 개별 기술과 통찰력을 결합해 더 강력하고 효율적이며 혁신적인 제품을 만들어낼 수 있습니다.
개발자들은 주로 개별적으로 일하는 경우가 많지만, 협력하는 습관을 통해 독립적인 인물로서뿐만 아니라 팀과 함께 잘 협력하는 사람이 될 수 있습니다.
7. 계속해서 배우고 성장하세요
효과적인 사람들은 지속적으로 자신을 발전시키기 위해 노력합니다. 코비는 우리의 삶에서 네 가지 주요 영역을 연마해야 한다고 말합니다. 신체, 마음, 정신, 그리고 영적 영역입니다. 이는 모든 분야에 적용될 수 있지만, 개발자에게도 매우 중요합니다.
끊임없이 새로운 기술을 배우고, 산업 동향을 파악하며, 새로운 기술을 탐구하는 것은 중요한 습관입니다. 전문가로 성장하기 위해서는 연습, 컨퍼런스 참석, 프로그래밍 커뮤니티 참여 등을 통해 전문성을 키우는 것이 중요합니다. 이러한 습관은 기술 발전에 적응하는 데 도움이 됩니다.
때로는 나쁜 습관이 우리의 삶에 부정적인 영향을 미친다는 것을 인지하지 못할 수 있습니다. 그러나 오래 지속된 습관을 바꾸는 것은 쉽지 않습니다. 더 나은 삶을 살고자 한다면, 우리의 시각과 습관을 변화시키는 것이 중요합니다. 스티븐 R. 코비가 제시한 7가지 습관을 실천하면 더 효과적이고 의미 있는 삶을 살 수 있습니다.
이 습관들을 이해하는 것만으로는 충분하지 않습니다. 모두가 각 습관을 실천하고 적용해야 합니다. 모든 점이 서로 연결되어 있으며, 효과적인 삶을 살아야 더 큰 성공을 이룰 수 있기 때문입니다. 항상 배움을 멈추지 말고, 더 나은 습관을 만들어 나가세요!
'IT&코딩 | IT Coding' 카테고리의 다른 글
2024 전세계 생성형 AI 서비스 TOP10 (feat. 맞춤활용,가격정보) (1) | 2024.07.12 |
---|---|
브라우저 캐시Cache 작동원리와 이슈해결&방지 (feat. 디스크 캐시/메모리 캐시) (0) | 2024.07.11 |
Safari 브라우저에서 SVG 흐림 현상 원인, 해결방법 | 크로스브라우징 (0) | 2024.07.11 |
Figma Config 2024: 피그마 키노트 발표! 업데이트 ai 기능 알아보기 (0) | 2024.07.02 |
2024년 AI와 디자인: Figma 사용자들이 전하는 미래 전망 (0) | 2024.07.02 |