๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๋นˆ ๊ตฌ๋ฉ ์ฑ„์šฐ๊ธฐ

[์†ŒํŠธํ”„์›จ์–ด ์—”์ง€๋‹ˆ์–ด๋ง] Software Engineering at Google ์ฝ๊ณ  ๊ธฐ๋ก _ Chapter 1, 2

Software Engineering at Google ์›์„œ๋ฅผ ๋งค์ผ ์กฐ๊ธˆ์”ฉ ์ฝ๊ณ  ์žˆ๋‹ค. ์ฝ๋‹ค๊ฐ€ ์ด๋Œ€๋กœ ๊ทธ๋ƒฅ ์ง€๋‚˜์น˜๊ธฐ์—๋Š” ์•„์‰ฌ์šด ๋ถ€๋ถ„๋“ค์„ ๊ธฐ๋กํ•˜๋ ค๊ณ  ํ•œ๋‹ค.

 

Software Engineering at Google

Curated by Titus Winters, Tom Manshreck & Hyrum Wright

 

 

1.

์œ„์น˜ : PART II Culture / Chapter 2: How to Work Well on Teams / The Genius Myth

The Genius Myth is the tendency that we as humans need to ascribe the success of a team to a single person/leader.

์ฒœ์žฌ ์‹ ํ™”๋Š” ์šฐ๋ฆฌ๊ฐ€ ์ธ๊ฐ„์œผ๋กœ์จ ํŒ€์˜ ์„ฑ๊ณต์„ ํ•œ ๊ฐœ์ธ/๋ฆฌ๋”์—๊ฒŒ ๋Œ๋ฆฌ๋Š” ๊ฒฝํ–ฅ์ž…๋‹ˆ๋‹ค.


ex) ์˜ˆ์‹œ๋กœ ๋‚˜์˜จ ์‹ ํ™” ์ธ๋ฌผ๋“ค๊ณผ ์—…์ . ์‚ฌ์‹ค ์ด ์—…์ ๋“ค์€ ๋˜‘๋˜‘ํ•œ ํŒ€์›๋“ค์˜ ๊ณต๋™์ž‘์—…์ด๋‹ค.

Linux - Linus Torvalds

Unix - Ken Thompson and Dennis Ritchie 

Python - Guido Van Rossum  

Steve Jobs - Macintosh

Bill Gates - BASIC interpreter , MS-DOS

Michael Jordan - The team’s coach, Phil Jackson. ์ฝ”์น˜์˜ ๋Šฅ๋ ฅ์œผ๋กœ ๋งˆ์ดํด ์กฐ๋˜์˜ ์žฌ๋Šฅ์ด ๋” ๋น›๋‚ฌ๋‹ค

 

Celebrity is a big part of it. Humans have a natural instinct to find leaders and role models, idolize them, and attempt to imitate them. We all need heroes for inspiration, and the programming world has its heroes, too.

์œ ๋ช…์ธ์‚ฌ๋Š” ์ด๊ฒƒ(์ฒœ์žฌ ์‹ ํ™”)์˜ ํฐ ๋ถ€๋ถ„์ด์ฃ . ์ธ๊ฐ„์€ ๋ณธ๋Šฅ์ ์œผ๋กœ ๋ฆฌ๋”์™€ ๋กค๋ชจ๋ธ์„ ์ฐพ๊ณ  ์šฐ์ƒํ™”ํ•˜๊ณ  ๋ชจ๋ฐฉํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์šฐ๋ฆฌ ๋ชจ๋‘๋Š” ์˜๊ฐ์„ ์–ป๊ธฐ ์œ„ํ•ด ์˜์›…๋“ค์ด ํ•„์š”ํ•˜๊ณ , ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์„ธ๊ณ„์—์„œ๋„ ์ด๊ฒƒ์€ ๋งˆ์ฐฌ๊ฐ€์ง€์ฃ . 

 

 

2.

์œ„์น˜ : PART II Culture /  Chapter 2: How to Work Well on Teams / Hiding Considered Harmful / Early Detection

If you keep your great idea hidden from the world and refuse to show anyone anyโ€ thing until the implementation is polished, you’re taking a huge gamble. It’s easy to make fundamental design mistakes early on. You risk reinventing wheels. And you forfeit the benefits of collaboration, too:

๋งŒ์•ฝ ๋‹น์‹ ์˜ ํ›Œ๋ฅญํ•œ ์•„์ด๋””์–ด๋ฅผ ์„ธ์ƒ์— ๊ณ„์† ์ˆจ๊ธฐ๊ณ  ๊ตฌํ˜„์„ ์™„์„ฑํ•  ๋•Œ๊นŒ์ง€ ๊ทธ ๋ˆ„๊ตฌ์—๊ฒŒ ๊ทธ ๋ฌด์—‡๋„ ๋ณด์—ฌ์ฃผ๋Š” ๊ฒƒ์„ ๊ฑฐ๋ถ€ํ•œ๋‹ค๋ฉด, ๋‹น์‹ ์€ ์—„์ฒญ๋‚œ ๋„๋ฐ•์„ ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ดˆ๊ธฐ์—๋Š” ์„ค๊ณ„ ๋””์ž์ธ ์‹ค์ˆ˜๋ฅผ ํ•˜๊ธฐ ์‰ฝ์ฃ . ๋ฐ”ํ€ด๋ฅผ ์žฌ๋ฐœ๋ช…ํ•  ์œ„ํ—˜์ด ์žˆ๊ณ ์š”. ๊ทธ๋ฆฌ๊ณ  ๋‹น์‹ ์€ ํ˜‘์—…์˜ ์ด์ ๋“ค์„ ๋†“์น˜๋Š” ๊ฒ๋‹ˆ๋‹ค.

 

 

3.

์œ„์น˜ : PART II Culture / Chapter 2: How to Work Well on Teams / Hiding Considered Harmful / Pace of Progress

Requirements morph unexpectedly. How do you get that feedback loop so that you know the instant your plans or designs need to change? Answer: by working in a team. Most engineers know the quote, “Many eyes make all bugs shallow,” but a better version might be, “Many eyes make sure your project stays relevant and on track.”

์š”๊ตฌ์‚ฌํ•ญ๋“ค์€ ์˜ˆ๊ธฐ์น˜ ์•Š๊ฒŒ ๋ณ€๊ฒฝ๋ฉ๋‹ˆ๋‹ค. ๊ณ„ํš์ด๋‚˜ ๋””์ž์ธ์ด ๋ณ€๊ฒฝ๋˜์–ด์•ผ ํ•˜๋Š” ์ˆœ๊ฐ„์„ ์•Œ๊ธฐ ์œ„ํ•ด์„œ๋Š” ์–ด๋–ป๊ฒŒ ํ”ผ๋“œ๋ฐฑ ๋ฃจํ”„๋ฅผ ์–ป์–ด์•ผํ• ๊นŒ์š”? ๋‹ต์€ ํŒ€์œผ๋กœ์„œ ์ผํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋Œ€๋ถ€๋ถ„์˜ ์—”์ง€๋‹ˆ์–ด๋“ค์€ "๋งŽ์€ ๋ˆˆ์ด ๋ชจ๋“  ๋ฒ„๊ทธ๋“ค์„ ์–•์•„์ง€๊ฒŒ ํ•œ๋‹ค."๋ผ๋Š” ์ธ์šฉ๊ตฌ๋ฌธ์„ ์•Œ์ง€๋งŒ, ๋” ๋‚˜์€ ๋ฒ„์ „์€ "๋งŽ์€ ๋ˆˆ์ด ๋‹น์‹ ์˜ ํ”„๋กœ์ ํŠธ๋ฅผ ์ ์ ˆํ•˜๊ณ  ์ˆœ์กฐ๋กญ๊ฒŒ ์ง„ํ–‰์‹œํ‚จ๋‹ค."์ผ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

 

 

4.

์œ„์น˜ : PART II Culture / Chapter 2: How to Work Well on Teams / It’s All About the Team / The Three Pillars of Social Interaction

To reach collaborative nirvana, you first need to learn and embrace what I call the “three pillars” of social skills.

ํ˜‘์—…์˜ ์—ด๋ฐ˜์— ์ด๋ฅด๊ธฐ ์œ„ํ•ด์„œ๋Š”, ๋จผ์ € ํ•„์ž๊ฐ€ ์‚ฌํšŒ ์Šคํ‚ฌ์˜ "์„ธ ๊ธฐ๋‘ฅ"์ด๋ผ๊ณ  ๋ถ€๋ฅด๋Š” ๊ฒƒ์„ ๋ฐฐ์šฐ๊ณ  ๋ฐ›์•„๋“ค์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. 

 

Pillar 1: Humility
You are not the center of the universe (nor is your code!). You’re neither omnisโ€
cient nor infallible. You’re open to self-improvement.

Pillar 2: Respect
You genuinely care about others you work with. You treat them kindly and
appreciate their abilities and accomplishments.

Pillar 3: Trust
You believe others are competent and will do the right thing, and you’re OK with
letting them drive when appropriate.

๊ธฐ๋‘ฅ 1 :  ์ธ๊ฐ„์„ฑ

๋‹น์‹ ์€ ์šฐ์ฃผ์˜ ์ค‘์‹ฌ์ด ์•„๋‹ˆ๊ณ  ๋‹น์‹  ์ฝ”๋“œ๋„ ๊ทธ๋ ‡์ฃ . ๋‹น์‹ ์€ ์ „์ง€์ „๋Šฅํ•˜์ง€๋„ ์•Š๊ณ  ์˜ค์ ์ด ์—†์ง€๋„ ์•Š์Šต๋‹ˆ๋‹ค. ๋‹น์‹ ์€ ์ž๊ธฐ ๊ฐœ์„ ์— ์—ด๋ ค์žˆ์Šต๋‹ˆ๋‹ค.

๊ธฐ๋‘ฅ 2:  ์กด์ค‘

๋‹น์‹ ์€ ๊ฐ™์ด ์ผํ•˜๋Š” ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์„ ์ง„์‹ฌ์œผ๋กœ ์ฑ™๊น๋‚˜๋‹ค. ๋‹น์‹ ์€ ๊ทธ๋“ค์—๊ฒŒ ์นœ์ ˆํ•˜๊ณ  ๊ทธ๋“ค์˜ ๋Šฅ๋ ฅ๊ณผ ์„ฑ์ทจ๋ฅผ ๋†’์ด ํ‰๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

๊ธฐ๋‘ฅ 3: ์‹ ๋ขฐ

๋‹น์‹ ์€ ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์ด ์œ ๋Šฅํ•˜๊ณ  ์ผ์„ ์ž˜ ํ•  ๊ฒƒ์ด๋ผ๊ณ  ๋ฏฟ์œผ๋ฉฐ, ๊ทธ๋“ค์ด ์ ๊ธฐ์— ์ผ์„ ์ด๋„๋Š” ๊ฒƒ์ด ๊ดœ์ฐฎ์•„ํ•ฉ๋‹ˆ๋‹ค.

 

 

5. 

์œ„์น˜ : PART II Culture / Chapter 2: How to Work Well on Teams / It’s All About the Team / Why Do These Pillars Matter?

Relationships always outlast projects. When you’ve got richer relationships with your coworkers, they’ll be more willing to go the extra mile when you need them.

๊ด€๊ณ„๋Š” ํ•ญ์ƒ ํ”„๋กœ์ ํŠธ๋ณด๋‹ค ์˜ค๋ž˜ ๊ฐ‘๋‹ˆ๋‹ค. ๋™๋ฃŒ๋“ค๊ณผ ๋” ๋ˆ๋…ํ•œ ๊ด€๊ณ„๋ฅผ ๋งบ์„ ๋•Œ, ๋‹น์‹ ์ด ํ•„์š”๋กœ ํ•  ๋•Œ ๊ทธ๋“ค์€ ๋” ๋งŽ์€ ๊ฒƒ์„ ๊ธฐ๊บผ์ด ํ•ด ์ค„ ๊ฒ๋‹ˆ๋‹ค.

 

 

6.

์œ„์น˜ : PART II Culture / Chapter 2: How to Work Well on Teams / It’s All About the Team / Blameless Post-Mortem Culture

The key to learning from your mistakes is to document your failures by performing a root-cause analysis and writing up a “postmortem,” as it’s called at Google (and many other companies).

์‹ค์ˆ˜๋กœ๋ถ€ํ„ฐ ๋ฐฐ์šฐ๋Š” ์ค‘์š”ํ•œ ํ•ต์‹ฌ์€ ๊ทผ๋ณธ ์›์ธ์„ ๋ถ„์„ํ•˜๊ณ  ๊ตฌ๊ธ€(๊ณผ ๋‹ค๋ฅธ ๋งŽ์€ ํšŒ์‚ฌ๋“ค)์ด "๋ถ€๊ฒ€(์‚ฌํ›„ ํ‰๊ฐ€)"์ด๋ผ ๋ถ€๋ฅด๋Š” ๊ธ€์„ ๊ธฐ๋กํ•ด์„œ ๋‹น์‹ ์˜ ์‹คํŒจ๋ฅผ ๋ฌธ์„œํ™”ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

 

A proper postmortem should always contain an explanation of what was learned and what is going to change as a result of the learning experience. Then, make sure that the postโ€ mortem is readily accessible and that the team really follows through on the proposed changes.

์ œ๋Œ€๋กœ ๋œ ๋ถ€๊ฒ€์€ ๋ฐฐ์šด ๊ฒƒ๊ณผ ๋ฐฐ์šด ๊ฒฝํ—˜์˜ ๊ฒฐ๊ณผ๋กœ ๋ณ€๊ฒฝ๋  ๊ฒƒ๋“ค์— ๋Œ€ํ•œ ์„ค๋ช…์„ ํ•ญ์ƒ ํฌํ•จํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๊ณ  ๋‚˜์„œ๋Š” ๊ทธ ๋ถ€๊ฒ€์— ์‰ฝ๊ฒŒ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š”์ง€์™€, ํŒ€์ด ๋ฌธ์„œ์—์„œ ์ œ์•ˆํ•œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ๋“ค์„ ์ง„์งœ๋กœ ๋”ฐ๋ฅด๋Š” ์ง€๋„ ํ™•์ธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. 

 

A good postmortem should include the following:
• A brief summary of the event
• A timeline of the event, from discovery through investigation to resolution
• The primary cause of the event
• Impact and damage assessment
• A set of action items (with owners) to fix the problem immediately
• A set of action items to prevent the event from happening again
• Lessons learned

์ข‹์€ ๋ถ€๊ฒ€์€ ๋‹ค์Œ์˜ ํ•ญ๋ชฉ๋“ค์„ ํฌํ•จํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

- ์งง์€ ์‚ฌ๊ฑด ์š”์•ฝ

- ๋ฐœ๊ฒฌ๋ถ€ํ„ฐ ์กฐ์‚ฌ, ํ•ด๊ฒฐ๊นŒ์ง€์˜, ์‚ฌ๊ฑด์˜ ํƒ€์ž„๋ผ์ธ

- ์‚ฌ๊ฑด์˜ ์ฃผ์š” ์›์ธ

- ์˜ํ–ฅ ๋ฐ ํ”ผํ•ด ํ‰๊ฐ€

- ๋ฌธ์ œ๋ฅผ ์ฆ‰์‹œ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ํ–‰ํ•œ ์ผ๋ จ์˜ ์ž‘์—… ํ•ญ๋ชฉ๋“ค(๊ณผ ๋‹ด๋‹น์ž๋“ค)

- ๋‹ค์‹œ ์‚ฌ๊ฑด์ด ๋ฐœ์ƒํ•˜๋Š” ๊ฒƒ์„ ๋ง‰๊ธฐ ์œ„ํ•ด ํ–‰ํ•œ ์ผ๋ จ์˜ ์ž‘์—… ํ•ญ๋ชฉ๋“ค

- ๋ฐฐ์šด ๊ฒฝํ—˜๋“ค

 

์œ„์น˜ : PART II Culture / Chapter 2: How to Work Well on Teams / It’s All About the Team / Blameless Post-Mortem Culture / Be open to influence

Admitting that you’ve made a mistake or you’re simply out of your league can increase your status over the long run. In fact, the willingness to express vulnerability is an outward show of humility, it demonstrates accountability and the willingness to take responsibility, and it’s a signal that you trust others’ opinions. In return, people end up respecting your honesty and strength. Sometimes, the best thing you can do is just say, “I don’t know.”

๋‹น์‹ ์ด ์‹ค์ˆ˜ํ–ˆ๋‹ค๋Š” ๊ฒƒ์ด๋‚˜ ๋‹น์‹ ์˜ ์ „๋ฌธ ๋ถ„์•ผ ๋ฐ– ์˜์—ญ์ด๋ผ๋Š” ๊ฒƒ์„ ์ธ์ •ํ•˜๋Š” ๊ฒƒ์€ ์žฅ๊ธฐ์ ์œผ๋กœ ๋‹น์‹ ์˜ ์ง€์œ„๋ฅผ ๋†’์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์‚ฌ์‹ค, ์•ฝ์ ์„ ๊ธฐ๊บผ์ด ๋“œ๋Ÿฌ๋ƒˆ๊ธฐ์— ๊ฒธ์†ํ•จ๊ณผ ์ฑ…์ž„๊ฐ, ์ฑ…์ž„์ง€๋ ค๋Š” ์˜์ง€์™€ ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์˜ ์˜๊ฒฌ์„ ์‹ ๋ขฐํ•œ๋‹ค๋Š” ๊ฒƒ์ด ๋“œ๋Ÿฌ๋‚ฉ๋‹ˆ๋‹ค. ๊ทธ ๋Œ€๊ฐ€๋กœ, ์‚ฌ๋žŒ๋“ค์€ ๋‹น์‹ ์˜ ์ •์งํ•จ๊ณผ ํž˜์„ ์‹ ๋ขฐํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ๋•Œ๋•Œ๋กœ ๋‹น์‹ ์ด ํ•  ์ˆ˜ ์žˆ๋Š” ์ตœ์„ ์€ ๋‹จ์ง€ "์ž˜ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค."๋ผ๊ณ  ๋งํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

 

Professional politicians, for example, are notorious for never admitting error or ignoโ€ rance, even when it’s patently obvious that they’re wrong or unknowledgeable about a subject. This behavior exists primarily because politicians are constantly under attack by their opponents, and it’s why most people don’t believe a word that politicians say. When you’re writing software, however, you don’t need to be continually on the defensive—your teammates are collaborators, not competitors. You all have the same goal. 

์˜ˆ๋ฅผ ๋“ค์–ด, ์ „๋ฌธ ์ •์น˜์ธ๋“ค์€ ํ•œ ์ฃผ์ œ์— ๋Œ€ํ•ด ์ž˜๋ชปํ•˜๊ฑฐ๋‚˜ ์ง€์‹์ด ์—†๋Š” ๊ฒƒ์ด ๋„ˆ๋ฌด๋‚˜ ๋ช…๋ฐฑํ•  ๋•Œ์—๋„ ์˜ค๋ฅ˜๋‚˜ ๋ฌด์ง€๋ฅผ ์ธ์ •ํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์œผ๋กœ ์•…๋ช…์ด ๋†’์ฃ . ์ด๋Ÿฌํ•œ ํ–‰๋™์€ ์ฃผ๋กœ ์ •์น˜์ธ๋“ค์ด ๋Š์ž„์—†์ด ์ƒ๋Œ€๋ฐฉ์œผ๋กœ๋ถ€ํ„ฐ ๊ณต๊ฒฉ์„ ๋ฐ›๊ธฐ ๋•Œ๋ฌธ์— ๋‚˜ํƒ€๋‚˜๊ณ , ์ด๋Ÿฌํ•˜๊ธฐ์— ๋Œ€๋ถ€๋ถ„์˜ ์‚ฌ๋žŒ๋“ค์€ ์ •์น˜์ธ๋“ค์˜ ๋ง์„ ๋ฏฟ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ์ž‘์„ฑํ•  ๋•Œ์—๋Š” ๊ณ„์† ๋ฐฉ์–ด์ ์ผ ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ๋‹น์‹ ์˜ ํŒ€์›๋“ค์€ ๊ฒฝ์Ÿ์ž๋“ค์ด ์•„๋‹ˆ๋ผ ํ˜‘๋ ฅ์ž๋“ค์ž…๋‹ˆ๋‹ค. ๋‹น์‹ ๋“ค ๋ชจ๋‘ ๊ฐ™์€ ๋ชฉํ‘œ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์ฃ .