아래는 10 Tips To Increase Your Productivity as a Software Engineer(by Nuha Khaled)를 번역한 글입니다. 첫날 부터 멘토를 정하고 나의 승진에 대해 이야기하는 것과 같은 저의 문화적 배경으로는 실천하기 부담스러운 부분도 있지만 대부분 내용에 공감이 가서 공유 해봅니다.
대부분의 소프트웨어 엔지니어들은 하루에 8시간씩 꼬박 꼬박 일을 하며 보냅니다. 하지만 이 시간을 보내는 방법들에는 모두 차이가 있습니다. 어떤 사람들은 1년 만에 승진을 준비하기도 하는 반면 어떤 사람들은 몇 년이 걸리기도 합니다. 대부분의 프로그래머들의 일하는 시간은 골치, 스트레스, 멍때리기, 지루함 속에서 헛되이 낭비 됩니다. 그런면에서 '계획하기'는 프로그래머들의 삶을 바꿔 줄 수 있습니다. 이 포스트에서 저는 같은 시간에 더 많은 일을 해낼 수 있는 몇 가지 생각들을 공유하려 합니다.
1. 두 개의 To-Do 리스트를 만드세요
To-Do 리스트는 생산성 증대 시키는 엄청난 도구 입니다. 이것은 여려분들이 업무에 보다 집중하고 해결 할수 있도록 도와 줍니다. 저의 팁은 이 to-do 리스트를 두 개로 나누는 것입니다. 하나는 많은 집중을 필요로 하는 업무들로 채우고, 다른 하나는 조금 덜 집중 하고도 쉽게 처리 할 수 있는 업무로 나누는 것입니다. 나누는 기준은 여러분의 성향과 선호에 따르면 됩니다.
그리고 일하는 동안, 여러분의 집중력이 살아난다고 느낄 때, 집중력을 필요로 하는 to-do리스트의 일들을 처리 하세요. 만일 집중력을 잃고 멍해지는 시간이 온다면 이 때가 쉽게 처리 할 수 있는 to-do리스트의 일들을 처리 할 시간입니다.
2. 직장에서 읽을 책을 정하세요
만일 여러분이 독서를 사랑한다면, 일터에서 읽을 책을 하나 고르세요. 업무 시간에 할 수 있는 일과 할 수 없는 일에 대해 매니저와 이야기를 나눠 보세요. 아마 대부분의 회사는 여러분이 업무와 관계 있는 책을 읽는다면 업무 시간이라고 할지라도 책을 읽는 것을 허락 해줄것 입니다. 책을 옆에 둔다는 것은 독서를 사랑하는 사람들의 스트레스와 두통을 덜어주고 생산성을 높이는데 도움을 줍니다. 어느 날 당신은 시간 낭비도 하지 않았고 업무 효율을 떨어뜨리지도 않았는데 불구하고 지금까지 읽어온 많은 책들을 보며 놀랄지도 모릅니다.
만일 여러분이 현명한 책 선택을 했다면, 그 책들은 업무 시간을 즐겁게 해주는 동시에 여러분의 레벨을 높여주는데 많은 도움을 줄 것입니다.
3. 직장에서 할 온라인 과정에 참여하세요
오늘 날 많은 웹사이트들이 전문 기술 과정을 무료로 제공하고 있습니다. 이런 강좌들을 통해, 여러분의 업무 관련 분야에 관련된 지식을 향상 시키거나, 새로운 분야에 대해 배울 수도 있습니다. 아니면 소프트웨어 기술을 배울수도 있고, 언어를 배울 수도 있습니다. 심지어 어떤 강좌는 어떻게 배워야 하는지 학습 방법을 가르쳐 줄 수도 있습니다. 무엇이든 시간만 있다면 당신의 역량을 발전시킬 많은 과정들이 항상 있습니다.
책과 마찬가지 가지로, 여러분은 단 일주일만에 이 과정을 마치기 위해 애쓸 필요는 없습니다. 여러분이 해야 할 것은 단지 여러분이 진행하고 있는 프로젝트가 바쁘지 않을 때 언제든지 이 과정들을 다시 시작 할 수 있도록 항상 여러분의 곁에 두는 것입니다.
4. 다른 사람들을 가르쳐 보세요
여러분의 스킬을 향상 시키는데 가장 좋은 방법은 누군가를 가르쳐 보는 것입니다. 남들을 위해 우리가 아는 것을 정리할 때, 우리의 뇌는 정리되고 최적화 됩니다. 이것은 여러분에게 더 도움이 되고, 여러분은 더 나은 커뮤니케이션 능력을 가질 수 있으며, 아는 것을 더 깊이 이해할 수 있습니다. 가끔씩 여러분이 새로이 배우고 알게 된것들을 팀원들에게 요약해서 공유해보세요.
5. 글을 써보세요
이 팁은 이전 팁과 비슷하지만 여러분의 지식을 보다 넓게 퍼뜨려 줍니다. 여러분이 알고 있는 무엇이든 상관 없습니다. 아무 주제에 대해 기술 문서를 써보세요. 그것은 여러분이 새로 배운 기술 일수도 있고, 버그를 수정한 내용 일수도 있습니다. 읽었던 책에 관한 내용일 수도 있고, 들었던 강좌에 관한 것이나 그냥 문득 생각난것도 좋습니다. 그리고 이런 것들이 다른 사람들도 보다 적극적이고 열정적이 되도록 도울 겁니다. 물론, 여러분도 더 배울것이고요. 여러분은 일이 여러분에게 주는 긍정적 기분을 느끼고, 덕분에 일에 더욱 만족하게 될것입니다. 여러분의 매니저에게 이런 일들을 업무시간에 할 수 있도록 요청해보세요.
6. 점심 시간에 사람들과 어울리세요
점심 시간에 사람들과 교류하는 것은 여러분의 정신을 회복하는데 도움을 주고, 여러분의 오후 시간을 보다 힘차게 만들어 줍니다. 이런 교류를 통해 여러분의 동료들에 대해 알아갈 수도 있습니다. 다양한 사람들을 만나고 다양한 주제에 대해 이야기 해보세요. 여러분이 점심 시간을 할애해 많은 만남과 다양한 주제들에 대해 이야기를 나누다 보면 그로부터 또 많은 것들을 배우게 될 것입니다. 매니저, 인턴, 동료. 지위와 상관 없이 모두와 이야기를 나누어 보세요.
7. 회의와 코드리뷰에서 소통하세요
새로운 개발자들은 대부분 소통하는 것을 너무 부끄러워 합니다. 하지만 회의나 코드리뷰에서 소통의 핵심 멤버가 되는 것은 여러분의 레벨을 단기간에 향상 시키는데 엄청난 도움을 줍니다. 만일 여러분이 신입 프로그래머라면, 회의중이나 코드리뷰 때 모르는 것을 물어 보는 것에 대해 절대 부끄러워 할 필요가 없습니다. 만일 고참 프로그래머라면, 여러분이 염려하고 있는 부분에 대해서 항상 공유하고 피드백해야 합니다. 여러분이 회의에 참여하지 않을 때 팀원들이 당신을 그리워하게 하세요. 또한 코드리뷰는 전문성을 보여 주고 여러분의 스킬을 향상 시킬 수 있는 좋은 기회 입니다. 의견을 나누는 것을 부끄러워 하지 마세요. 항상 기억하세요. 소통하는 것은 여러분을 발전 시키고, 일에대한 열정을 보여 줄 수 있는 최고의 방법입니다.
8. 승진에 대한 계획을 수립하세요
많은 직원들이 마지막 승진 이후 시간이 많이 흐르기 전까진 승진에 대해 생각을 잘 하지 않습니다. 그리고 막상 승진에 대해 생각 할 즈음엔 승진과 관련된 이야기를 매니저와 1:1로 나누는 것을 부담스럽게 생각합니다. 저의 제안은 여러분이 입사하거나 갓 승진했을 때, 여러분의 다음 승진에 대한 계획을 세우라는 것입니다. 이런 계획은 첫 날 부터 여러분의 매니저와 논의하고 이 후 때때로 후속 조치가 필요합니다.
여러분의 업무 시간에 대한 계획을 세우기 위해, 여러분은 가장 먼저 다음 레벨에 다다르기 위한 주요 목표를 모든 측면에서 세심하게 알아야 할 필요가 있습니다. 여러분이 어떤 약점을 가지고 있는지 역시 알아야 합니다. 이것도 첫 날 부터 해야만 합니다. 여러분의 약한 부분을 안다는 것은 어떤 교육 과정에 등록할지, 어떤 책을 읽어야 할지, 어떤 멘토들과 교류 해야 할지 선택하는데 도움을 줄 수 있습니다.
목 마르기 전에 우물을 파라 - 중국 속담
9. 멘토를 가지세요
일을 시작하는 첫 날 여러분의 멘토를 정하세요. 여러분의 승진 계획에 대해 멘토들과 논의하고 멘토들이 여러분의 약점과 강점을 발견하고 여러분에게 도움을 줄수 있도록 하세요. 가끔 멘토들을 찾아가 후속 조치와 조언, 피드백에 대해 이야기 해보세요. 어쩌면 여러 명의 멘토가 필요 할 수도 있습니다. 하지만 잊지 말아야 할 것은 멘토를 선택 할 때는 신중하게 생각하고 또한 그들이 하는 비판을 때때로 겸허히 받아 들여야 합니다.
10. 행복한 개인 생활을 가지세요
몇몇 개발자들은 일에서 두각을 나타내기 위해 스스로가 8시간 보다 더 많은 시간을 일할 필요가 있다고 생각합니다. 하지만 이건 아니에요. 틀렸어요. 여러분은 여러분의 개인 생활을 즐길 필요가 있습니다. 여러분의 인생에서의 우선 순위를 지키세요. 여러분의 행복한 개인 생활을 통해 여러분은 보다 더 열정적이 될 수 있고, 여러분의 정신 건강을 지킬수 있습니다. 이런 것을 통해 여러분들은 보다 업무에 집중 할 수 있고, 보다 생산적이 될 수 있습니다.
이상 제가 드린 10가지 팁들이 여러분들을 직장에서 뛰어난 성과를 올리는데 도움을 줄수 있으면 좋겠습니다. 혹시 다른 팁을 알고 계신다면 알려 주시면 좋겠군요.