NEW 기획 디자인 개발 프로덕트 아웃소싱 프리랜싱

개발

가장 똑똑한 소프트웨어 엔지니어에게 배운 10가지 교훈

요즘IT의 번역글들

본문은 위시켓과 번역가 윌리(Willy)가 함께 만든 해외 콘텐츠 기반 번역문입니다. 머신러닝 분야의 다양한 글을 전하는 ‘Santiago Valdarrama’의 블로그 글을 번역했습니다. 필자인 산티아고 발다라마는 머신러닝 시스템을 구축하며, 현장 경험을 바탕으로 한 조언을 글로 연재하고 있습니다. 본문은 소프트웨어 엔지니어에게 배운 교훈을 주제로 엔지니어에게 필요한 마음가짐과 팁을 소개합니다.

 
개발자

그는 남들과 달랐고, 저는 배움에 목마른 풋내기 개발자였습니다. 돌아보면, 저는 그때와 크게 다르지 않은 것 같네요. 학교에서 보냈던 시간은 지금과 비교하면 그저 시간 낭비였습니다. 지난 십 년을 몇 줄로 요약하는 것은 불가능하지만 한 번 시도해보겠습니다.

 

1. 빠른 것이 좋은 것보다 낫다

대부분은 "충분히 좋은" 솔루션만 있으면 시간, 돈, 관심을 끌 수 있습니다. 많은 사람이 너무 오래, 너무 많이 고민합니다. 처음부터 제대로 하려 하지만 이는 명백한 실수입니다. 끊임없이 첫 번째(1위)가 되는 것에 집중해야 합니다. 이는 여러분이 쏟아부은 시간이 가치가 있었음을 증명할 수 있는 가장 좋은 방법입니다.

 

2. 기술 부채(Technical Debt)에 대해 다시 생각하기

많은 사람들이 기술 부채를 죄악시하지만, 이는 사실이 아닙니다. 사람들은 이를 어떻게 사용하는지 모를 뿐입니다. 적절히만 사용한다면 기술 부채는 가장 중요한 일을 하기 위해 다른 모든 것을 기다릴 수 있다는 긍정적인 의미로 해석할 수 있습니다. 여기서 중요한 것은 균형입니다. 너무 과하면 문제가 되지만 부채가 아예 없다는 것은 관련 없는 일에 시간을 허비하고 있다는 것을 의미합니다.

 

3. 바보 같은 질문은 없다

질문 하나만 던지면 답을 찾을 수 있는 문제를 두고 돌아서는 사람들을 보는 것은 괴로운 일입니다. 항상 질문하세요! 더 열심히 일한다고 누가 점수를 더 주는 것이 아닙니다. 더 똑똑하고 빠르게 일하는 것이 훨씬 좋습니다. 기억하세요. 바보 같은 질문은 없습니다.

 

“질문하는 사람은 5분 동안 바보가 된다. 하지만 질문하지 않는 사람은 영원히 바보에서 벗어나지 못한다.” - 중국 속담

 

커뮤니케이션 능력

4. 스킬에 날개를 다는 커뮤니케이션 능력

자신의 생각을 명확하게 전달하는 능력이 있다는 것은 축복받은 일입니다. 하지만 많은 사람들이 이에 대해 걱정조차 해 본 적이 없습니다. 스킬만 가지고는 높은 곳까지 올라가지 못하는 것이 현실입니다. 가능한 한 많은 시간을 투자하여 다른 사람들과 커뮤니케이션하는 방법을 배우세요. 그리고 공을 두 배로 들여보세요.

 

5. 당신이 할 수 있다고 해서 꼭 당신이 해야 하는 것은 아니다

가장 중요한 일에 집중하려면 다른 이에게 최대한 많이 위임해야 합니다. 우선순위를 정하고 다른 이에게 위임하는 법을 배우세요.

당신의 경력에 변화를 가져올 귀중한 스킬:

  • 중요하고 영향도가 큰일 찾기
  • 나의 시간이 낭비되고 있다는 것을 인식하기
  • 효율적으로 위임하는 법 배우기

 

6. 남김없이 공유하라

나만 안다고 해서 여러분이 핵심 인재가 되는 것이 아닙니다. 사실 대부분의 경우 이와 반대입니다. 사람들은 자신의 발전에 도움을 주는 이와 함께 하고 싶어 합니다. 여러분이 가진 지식을 남김없이 공유하세요. 주변 사람들을 성공을 위해 노력하는 것이 팀의 핵심 인재가 되는 가장 빠른 방법입니다.

 

7. 일에 책임을 져라

문제가 발생할 때마다 스스로에게 다음과 같은 질문을 던져야 합니다. "다음에는 무엇을 바꿀 수 있을까?" 무슨 일이 있어도 항상 자기 성찰이 필요합니다. 누구나 자기 합리화는 쉽죠. 무엇이 잘못됐을 때 항상 핑곗거리를 찾고 남 탓만 한다면 평생 그저 그런 인재로 남게 됩니다.

 

코드

8. 최고의 코드는 아무것도 작성하지 않는 것이다

내가 작성한 코드에는 책임감이 따릅니다. 여러분이 작성하는 모든 코드는 시간이 아무리 지나도 따라다니는 꼬리표와 같으며, 여러분이 직접 책임져야 합니다. 가능한 한 적은 수의 코드로 문제를 해결하는 방법을 배우세요. 노코드(No-code) 솔루션은 과소평가되고 있지만 무한한 잠재력이 있습니다.

 

9. 내가 테스트하지 않으면 결국 문제가 된다

"코드에 문제가 있다면 내가 뭘 해도 결국은 문제가 되겠지"라는 안일한 생각은 버려야 합니다. 여러분이 오늘 테스트 케이스 작성에 시간을 할애하지 않는다면 내일 더 큰 대가를 치르게 될 것입니다. 저는 이것을 뼈저리게 경험했습니다. 자동화된 테스트가 없다면 문제가 있는 것입니다.

 

10. 실패를 받아들여라

실패가 없으면 배울 수 없습니다. 아직 실패한 적이 없다면 도전적인 과제를 시도해 본 적이 없는 것입니다. 실패하고, 거기서 배우고, 다시 시도하세요. 더 높은 목표를 세우고 두려워하지 마세요. 기억하세요. 가끔 내가 부족하다고 느끼는 것은 좋은 일입니다! 이는 여러분이 자신을 채찍질하고 성장하고 있다는 것을 의미합니다. 핵심에서 벗어난 쉬운 일만 하고 있는 사람은 자신을 의심할 기회도 없습니다. 참고로, "나는 실패를 좋아해"와 같은 뜻이 아닙니다. 성공을 열망하세요. 하지만 수백 번 넘어진 후에야 비로소 성공할 수 있다는 사실을 명심하세요.

 

 

정리하기

정리하기

시간이 많이 흐른 지금도, 저는 끊임없이 기본적이지만 핵심적인 것들을 실천하고자 노력하고 있습니다. 내가 한 일을 뒤 돌아보고, 다른 사람들과 이야기하고, 필요한 부분은 바꾸고 다시 받아들이며, 이를 무시할 때마다 어떤 결과가 돌아오는지 스스로에게 상기시킵니다.

 

그리고 이러한 지침은 저의 성공적인 커리어에 많은 도움을 주었습니다.

  • 첫 번째가 되는 것에 집중하라. 이를 통해 더 많은 기회를 만들고 당신이 옳았음을 증명하라.
  • 기술 부채도 적절히 사용하면 도움이 된다.
  • 기꺼이 도움을 주고받을 수 있는 사람들과 함께하라. 끊임없이 질문하라.
  • 커뮤니케이션 능력은 당신의 기술에 날개를 달아준다.
  • 중요하고 영향도가 큰일에 집중하라. 나머지는 다른 이에게 위임할 수 있다.
  • 내가 가진 지식을 남김없이 공유하라.
  • 문제를 피하지 말고 당신이 한 일에 책임을 져라.
  • 당신이 작성한 코드에는 책임감이 따른다. 작성하는 코드가 적을수록 더 좋다.
  • 테스트 자동화는 기본이다. 절대 소홀히 하지 말 것.
  • 더 높은 목표를 세우고 안주하지 말라. 실패하고, 배우고, 성장하고, 다시 시도하라.

요즘IT의 번역글들

이 프로필을 만든 저만 해도 영어가 서툴러 영어로 된 기사는 읽는 게 더딥니다. 그래서 준비했습니다. 읽어볼만한 해외 소식들을 번역해 전합니다. We are the world.

같은 분야를 다룬 글들을 권해드려요.

요즘 인기있는 이야기들을 권해드려요.

일주일에 한 번!
전문가들의 IT 이야기를 전달해드려요.

[구독하기] 버튼을 누르면 개인정보 처리방침에 동의됩니다.

일주일에 한 번! 전문가들의 요즘 IT 이야기를 전달해드려요.

[구독하기] 버튼을 누르면 개인정보 처리방침에 동의됩니다.