@yoonforh님(http://www.facebook.com/yoonforh)이 페이스북에서 소개한 글입니다. 너무나 멋있는 글이라서 색인(?)을 붙여봅니다.
1.
어떤 PM이 프로젝트를 시작하기 전에 아키텍터로부터 편지를 받았습니다. 출처는 아래입니다.
From an Architect To a programmer
It is little idealistic but I want to make my business agenda, our technology strategy and your progress aligned to each other. That way, when you do something great, we all benefit. I have deep respect for engineers and the code.
프로젝트를 하면서 만났던 아키텐터들이 생각납니다. 위의 시작처럼 개발자에 대한 존경이나 애정이 없어보입니다. 그런데 존경과 애정이라는 말로 시작하니 읽기 좋습니다.
1. Code is the KING. Documentation is just close behind it. So, write code such that it IS the documentation and it works.
코드가 가장 중요하고 문서화는 바로 다음으로 중요하다고 합니다. 그래서 문서와 같은 코딩을 하였으면 좋겠다는 말입니다. 솔직히 그런 코드가 어떤 코드일까요?
2. TEST TEST TEST.
강조해도 지나치지 않은 말입니다.
3. Unit tests ARE CRITICAL. Every bug found past unit tests have two fold cost beyond developer. Remember, I would prefer to pay you more salary than spend it on another QA organization and then fix bugs. But if you write buggy code, I will pay everyone and then you get smaller slice of the pie.
단위시험은 무척이나 중요하다고 합니다. 비용으로 놓고 보다라도 불필요한 비용이 두배나 발생하도록 하므로 단위시험을 잘해서 버그를 줄이자는 말입니다. 팀의 구성원들이 더많은 파이를 나눌 수 있습니다.
4. Write efficient code for human reading and for CPU. It is never OK to write bad code.
CPU를 위한 코드를 작성하라는 말이 새롭습니다. 단순히 개발언어를 잘 사용하는 개발자가 아니라 컴퓨터와 대화를 잘할 수 있는 개발자, 즉 하드웨어에 대한 지식을 겸한 개발자가 되어야 한다는 말이 아닐까요?
5. Read more than your job needs today. You dont progress only knowing what you need today but what you need tomorrow.
오늘뿐 아니라 내일을 위한 독서를 하여라. 내일을 위한 독서를 하려면? 앞으로 무엇이 필요할지에 대한 직관과 판단이 필요합니다. 또 개발자가 아니라 하나의 사람으로 인생을 살아가기 위한 독서도 필요합니다.
6. Go home and once in a while cook food. YES, real food. It will teach you the difference bet following a recipe and creating a meal. First is oriented towards knowing what you need to create the dish and second to create a meal with what you have……just a little difference.
This was my biggest lesson as a startup company and it did not come easily.
요리책을 보고 요리하는 것과 그냥 집에 있는 재료를 가지고 요리를 만들어 보는 것의 차이. 무엇을 만들지를 아는 것과 주어진 조건에 어떤 것을 만드는 행위의 차이라고 설명했습니다. 특히 스타트업을 연결한 말은 아주 적절한 비유라고 생각합니다.
이런 말이 생각납니다.”천재는 훔치고 범인은 복사한다”
7. Innovation and good ideas (technology or product) originate everywhere. Please share with us.
개발자가 현장에서 느낀 다양한 생각을 항상 공유하자는 말입니다.
8. I know you hate business folks. I do see why. They sell what you cant produce; they promise when it cant be done; they ask more when they dont pay. But business will not run without their ability to? position the product. That is a hard skill. But share your thoughts with me and I will act as a buffer. All disciplines are needed to make a good organization.
이점이 자주 좋았습니다. 영업조직의 중요성을 인정하고 그것 또한 아주 높은 기술임을 인정하자는 말입니다.? 보다 좋은 조직으로 진화하기위한 노력이 서로에 대한 인정이 아닐까 합니다.
9. Love your profession as an engineer. YOU CAN have engineering/developer role for lifetime AND MAKE A LOT OF MONEY AND HAVE RESPECT AND FUN.
참으로 좋은 말입니다만 한국에서는 완전히 반대라 너무 씁슬한 말입니다.
즐기지 못하고 지겹고, 존경받기 보다는 홀대받고, 돈을 벌긴 하지만 야근한 것에 비하면 높지 않은 개발자가 일하는 곳이 대한민국, G20정상회의를 개최한 나라입니다.
2.
이 글의 배경은 이렇다고 합니다.
To set the record straight: the architect in question is a fairly accomplished guy with 19+ years of experience, and the team he was addressing has an average of 5 years.
또하나 아키텍터는 공동창업자라고 합니다.(^^)
어찌되었든 이런 편지를 줄 수 있는 아키텍터가 아주 훌륭한 사람입니다. 한번더 생각하면 이런 편지를 줄 정도면 조직문화가 남과 다르지 않을까 합니다. 갑자기 수평적인 소통이라는 말이 떠오릅니다.? 상대방에 대한 존경과 애정, 그리고 하고자 하는 말을 전달할 수 있는 능력이 – 글이든 말이든 – 어우러진 소통입니다.