평범한 개발자는 비웃지만 10x개발자는 꼭하는 3가지 습관

코딩새우
27 Jun 202405:47

Summary

TLDRIn this insightful talk, the speaker, Coding Shrimp, delves into the concept of 10x developers, emphasizing their ability to select impactful tasks and prioritize smartly. The speaker shares personal experiences and highlights three key traits of 10x developers: choosing high-impact work, continuously seeking 1% improvements to increase productivity, and identifying their optimal working hours to maximize concentration and efficiency. The talk encourages viewers to reflect on their work habits and strive for smarter, not harder, work practices.

Takeaways

  • 😀 The concept of '10x developers' varies among people and has a history dating back to 1968, challenging the notion that more experienced developers always produce better results.
  • 🤔 The importance of choosing impactful work is highlighted as a common trait of 10x developers, emphasizing the need to select tasks that will have a significant effect on business outcomes.
  • 🛠️ Refactoring code for a test page, despite its seemingly lower impact, can lead to significant improvements in code quality and test coverage, as demonstrated by the speaker's experience at Coupang.
  • 🕒 The speaker suggests that investing time in refactoring can save time in the future, especially when it leads to cleaner, more understandable code that can be quickly applied in larger projects.
  • 💡 The idea that 10x developers are often 'lazy' in a productive sense is introduced, meaning they seek ways to make their work and life more efficient through continuous improvement.
  • ❓ The script encourages asking questions to identify areas for improvement, such as reducing overall workload, identifying bottlenecks, and automating repetitive tasks.
  • 📝 The practice of documenting frequently asked questions and domain-specific information in a wiki is presented as a way to streamline communication and knowledge sharing.
  • 🕗 The significance of finding and utilizing one's most productive time of the day is discussed, with the speaker sharing their personal strategy of focusing on deep work during their peak hours.
  • 🏅 The final takeaway emphasizes the importance of prioritizing high-impact tasks, continuously seeking 1% improvements, and identifying one's optimal working hours for maximum productivity.

Q & A

  • What is the main theme discussed in the video?

    -The main theme of the video is the characteristics and strategies of 10x developers, focusing on their productivity and impact.

  • How does the speaker describe the approach of different developers towards their work?

    -The speaker describes that some developers strive to contribute significantly (으쌰으쌰), while others aim to minimize their own work.

  • What historical reference is made to highlight the concept of productivity?

    -The speaker references Archimedes, who said, 'Give me a lever long enough and a fulcrum on which to place it, and I shall move the world,' to emphasize the importance of choosing impactful tasks.

  • What is a common characteristic of 10x developers according to the speaker?

    -A common characteristic of 10x developers is their ability to select tasks that have the greatest impact.

  • Why does the speaker mention a project at Coupang?

    -The speaker mentions a project at Coupang to illustrate the importance of refactoring code for long-term benefits, even if it initially seems less efficient.

  • What advice does the speaker give regarding refactoring?

    -The speaker advises that refactoring should be done to reduce future development costs and improve code readability and maintainability, especially if the code is frequently modified.

  • How does the speaker suggest developers should approach their work to improve productivity?

    -The speaker suggests finding ways to improve by 1% each day, identifying and eliminating bottlenecks, and automating repetitive tasks.

  • What is one practical example given by the speaker for improving workflow?

    -One practical example is creating a wiki document to address frequently asked questions, which helps maintain focus and efficiency.

  • How does the speaker recommend developers manage their optimal working time?

    -The speaker recommends identifying and utilizing personal peak productivity times for focused work and scheduling less demanding tasks for other times.

  • What are the three main takeaways from the video?

    -The three main takeaways are: (1) choosing tasks with the highest business impact, (2) seeking continuous small improvements, and (3) finding and utilizing one's optimal working time.

Outlines

00:00

😀 Prioritizing Impactful Work for 10x Developer Productivity

The speaker, Coding Shrimp, discusses the concept of 10x developers, emphasizing that productivity in a developer's role is not solely about working harder but smarter. The talk references a 1968 journal article comparing online and offline programming performance, suggesting that experience does not always equate to tenfold results. The speaker introduces three characteristics of 10x developers: choosing impactful tasks, leveraging the right tools, and understanding that not all developer tasks have the same business impact. An example is given about refactoring code for a test page, which, despite being for internal use, had a significant impact when applied to a main project, saving time and improving code quality. The speaker concludes that refactoring is essential for economic reasons, as it prevents mistakes and slows development pace due to complex code.

05:02

😉 Embracing Laziness and Finding Optimal Times for Peak Productivity

In the second paragraph, the focus shifts to the idea that 10x developers are often smart and lazy, always seeking ways to improve their work and life by 1%. The speaker shares questions that 10x developers ask themselves to identify areas for improvement and reduce manual effort. An example of the speaker's own practice of creating a wiki to document frequently asked questions is provided, which helps maintain workflow continuity and reduces the time needed for future modifications. The speaker also emphasizes the importance of finding one's optimal time for concentration, like early mornings for themselves, to maximize productivity. The summary concludes with the key points: prioritizing tasks with high business impact, constantly seeking small improvements, and identifying personal peak productivity times.

Mindmap

Keywords

💡10x Developer

The term '10x Developer' refers to a programmer who is exceptionally productive and capable of delivering ten times the output compared to an average developer. In the video's context, it is used to discuss the characteristics and behaviors that distinguish such developers from their peers. The script mentions that the definition of a 10x developer varies, but it generally includes the ability to choose impactful work and the pursuit of efficiency and productivity.

💡Refactoring

Refactoring is the process of restructuring existing computer code without changing its external behavior to improve nonfunctional attributes of the software. In the video, the speaker uses the example of refactoring test pages to illustrate how a 10x developer might choose to improve code quality and efficiency, which can lead to significant long-term benefits such as reduced development time for future projects.

💡Impact

Impact, in the context of the video, refers to the significance or effect that a developer's work has on the business or project outcomes. The script emphasizes that 10x developers prioritize tasks with the highest impact, which can lead to more substantial and noticeable results in the business environment.

💡Productivity

Productivity is a measure of the efficiency of an individual or system in converting inputs into outputs. The video discusses how 10x developers enhance their productivity by making strategic choices about which tasks to undertake and by improving their work processes, such as through refactoring.

💡Efficiency

Efficiency is the degree to which a system or process performs without wasting materials, energy, time, or effort. The script mentions that 10x developers are often 'smart and lazy,' seeking ways to increase efficiency by reducing unnecessary work and streamlining processes.

💡Code Quality

Code quality refers to the overall quality of the source code of a program. It is an important aspect that 10x developers focus on, as it can affect the maintainability, readability, and performance of the software. The video script provides the example of refactoring to improve code quality, which can indirectly enhance productivity.

💡Professionalism

Professionalism in the context of the video is the commitment to the highest standards of work, including the pursuit of clean and maintainable code. The script suggests that 10x developers exhibit professionalism by engaging in practices like refactoring to ensure the quality of their work.

💡Economic Value

Economic value is the worth of goods or services in monetary terms. In the video, the speaker mentions that the real reason for refactoring, according to the author of 'Refactoring: Improving the Design of Existing Code,' is to improve economic value by reducing the likelihood of errors and speeding up development.

💡Investment

In the video, investment is used metaphorically to describe the concept of putting effort into tasks or processes that will yield greater benefits in the future. The script talks about 10x developers making strategic investments of time and effort to increase their productivity and the impact of their work.

💡Optimal Time

Optimal time refers to the specific periods during which an individual is most productive or effective in their work. The video script discusses the importance of identifying and utilizing one's optimal time for focused work, which can vary from person to person.

💡Workflow

Workflow is the sequence of industrial or business processes through which a product or service is transformed. The video talks about the importance of maintaining workflow during critical tasks without interruptions, which is a strategy that 10x developers might use to enhance their productivity.

Highlights

Introduction to the topic of 10x developers.

Difference between people who work collaboratively and those who focus on minimizing their own workload.

Challenges in maintaining productivity in difficult environments.

Importance of continuing daily tasks to discover and achieve unexpected results.

Three additional characteristics of 10x developers based on personal experience.

Definition of 10x developers varies among different people.

Historical context of the term '10x developer' dating back to 1968.

Key finding from a 1968 journal: experience doesn't necessarily correlate with tenfold productivity.

Impactful work selection as a common trait among 10x developers.

Example of selecting impactful tasks: creating a test page while considering code quality.

Personal experience at Coupang involving refactoring code for a test page.

Balancing immediate productivity with long-term efficiency through refactoring.

Martin Fowler's view on refactoring for economic reasons.

Distinguishing when refactoring is necessary based on future maintenance costs.

Andrei Neagoie's perspective on 10x developers being productive because they seek to simplify their work.

Examples of questions 10x developers ask to improve efficiency.

Creating a wiki document to reduce repetitive questions and maintain flow during work.

Importance of finding and optimizing one's most productive time of day.

Murakami Haruki's emphasis on concentration as a critical trait for novelists.

Personal strategy of focusing on productive work hours early in the morning.

Summary of the three main points: choosing impactful tasks, finding small improvements, and optimizing productive hours.

Closing remarks and gratitude for viewers.

Transcripts

play00:00

안녕하세요 코딩 새우입니다 지난

play00:02

시간에요 태스 개발자에 대한 이야기를

play00:04

하고자 합니다 이야기하다 보면 같이

play00:06

으쌰으쌰 하시는 분들도 있는 반면에

play00:09

어떤 분들은 자기를 적게 하는 걸

play00:11

목표로 하시는 분들이 있습니다

play00:12

전쟁에서 승리하기 위해 포 각도 좀

play00:15

조절하자 한 것뿐인데 전쟁이고

play00:17

나발이고 그냥 바꾸는게 어렵다고만

play00:19

하는 거죠 이러면 있던 열정도 사가라

play00:22

듭니다 사실 이런 환경에서 생산성을

play00:24

올리는 것은 쉽지 않은데요 하지만 별

play00:26

의미를 안 두고 계속 매일매일 해야

play00:28

할 일을 하다 보면 내가 가 몰랐던

play00:30

것들을 발견하고 이루게 될 때도

play00:32

있습니다 오늘은 10x 개발자의 또

play00:34

다른 특징 세 가지를 개인적인 경험과

play00:36

함께 소개해 드리고자 합니다 텐엑스

play00:38

개발자의 정의는 사실 이야기하는

play00:40

사람마다 다릅니다 역사도

play00:41

오래되었는데요 1968년도 아지

play00:43

올라갑니다 한 저널에서 글리 하나

play00:46

소개되었죠 제목은 온라인 및 오프라인

play00:49

프로그래밍 성능 비교에 관한 탐색적

play00:51

실험 연구입니다 한마디로 말해서

play00:54

프로그래머의 성능 비교 결과라는 거죠

play00:56

글의 결론은 개발 경험이 오래되었다고

play00:58

해서 꼭 열배의 결과를내는 것은

play01:00

아니라는 겁니다 고대 그리스의

play01:02

물리학자 아르키메데스가 이런 말을

play01:04

했죠 충분히 긴 지렛대와 그것을 바칠

play01:07

지렛 목을 주면 지구를 움직일 수

play01:10

있다 개발자가 하는 모든 일들이 실제

play01:12

비즈니스에 똑같은 영향을 주지는

play01:14

않습니다 들어가는 대비 나오는 결과가

play01:16

달라질 수 있다는 것이죠 그래서

play01:18

10x 개발자의 공통적인 특징 하나는

play01:20

가장 임팩트가 큰 업무를 고르는

play01:22

것입니다 같은 지렛대 일을 때 더 큰

play01:25

일을 고른다 그가 아니면 같은 일인데

play01:27

더 긴 지렛 때 또는 지렛목 을

play01:30

어디다 둘 건지 고르는 거죠 실제

play01:31

예를 들어 볼까요 개발자만

play01:33

테스트용으로 쓰는 페이지를 하나

play01:35

만들어야 합니다이 업무는 일단 자주

play01:38

들어오는 요청을 처리해 줄 수 있죠

play01:40

하지만 같이 일하는 운영자분들 또는

play01:43

연관 부서 합쳐 네명 정도가 사용할

play01:46

예정입니다 그런데 기존 코드가

play01:47

엉망이죠 테스트용 페이지를 만들기

play01:49

위해서는 엉망인 코드를 그대로

play01:52

복붙하는 방법과 기존 코드도 리팩토링

play01:55

하고 만드는 방법이 있습니다 그런데

play01:57

우리 일이 이것만 있지 않죠 이미

play01:59

외부 사용자를 위한 프로젝트도 진행

play02:01

중입니다 아마 최소 몇 만 명 이상

play02:03

방문할 것으로 생각됩니다 이럴 때

play02:05

대부분은 사용자를 위해 테스트용

play02:07

페이지는 복부로 마무리합니다 왜냐하면

play02:10

후자가 임팩트가 크기 때문이죠 실제로

play02:12

쿠팡에서 일할 때 비슷한 경험이

play02:14

있었습니다 그때 테스트용 페이지에

play02:15

사용되던 코드들을 리팩토링 했죠

play02:18

일주일에 두 시간씩 점진적으로 테스트

play02:20

코드를 추가하고 역할별로 나눴습니다

play02:23

결과적으로는 테스트 커버리지 90%

play02:25

읽기 좋은 코드가 완성되었죠 테스트

play02:27

용이기 했지만 사실상 메인로 었기

play02:30

때문에 서비스를 갈아엎는 프로젝트가

play02:32

생겼을 때 제 코드를 바로 적용해서

play02:35

시간을 단축할 수 있었습니다 하지만

play02:37

총 걸린 시간을 합해 보니 3일 정도

play02:40

걸렸더라구요 기존에이 테스트 페이지를

play02:42

만든 분은 하루 만에 개발하셨다고

play02:44

합니다 만약 가라 없는 프로젝트가

play02:46

없었다면 저는 임팩트가 적은 일에

play02:48

이틀을 낭비한 셈이 되는 겁니다

play02:50

여러분들은 리팩토링을 왜 하시나요

play02:53

코드 퀄리티를 위해서 클린한 코드를

play02:55

위해서 프로페셔널리즘 실제로 리팩토링

play02:58

책의 저자 마틴 파울러는 는

play03:00

2014년 oop 컨퍼런스에서

play03:02

리팩토링을 하는 진짜 이유에 대해서

play03:04

이렇게 말했죠 이코노믹스 경제성을

play03:06

위해서라고 말이죠 자주 수정하는

play03:08

부분이 복잡한 코드 때문에 실수가

play03:11

발생하고 구성원들 모두가 코드를

play03:13

이해하느라 개발 속도가 느려진다면

play03:15

리팩토링을 해야 한다고 말합니다

play03:17

개발자는 소비자가 요구하는 기능을

play03:19

빠르게 추가하는게 중요한데 구조로

play03:21

인해 속도가 느려진다면 리팩토링은

play03:23

당연한 과정입니다 반면에 아무리

play03:25

스파게티 코드라도 거의 수정 요청이

play03:27

없는 코드는 리팩토링 할 필요 가

play03:29

없다고 말하죠 그래서 정리하자면 투자

play03:33

대비 미래의 개발 비용을 줄여 줄 수

play03:35

있을 때가 바로 리팩토링이 필요한

play03:37

시점이라고 볼 수 있습니다 캐나다에서

play03:39

온라인 테크 교육 서비스를 운영하는

play03:41

안드레이 네오라는 분은 10x

play03:43

개발자는 보통 똑똑하고 게으르기

play03:45

때문에 생산성이 올라간다고 말합니다

play03:48

항상 자신의 삶과 일을 더 쉽게

play03:50

만들기 위해서 1% 개선할 수 있는

play03:52

방법을 찾는다고 말이죠 몇 가지

play03:54

스스로 던지는 질문을 예로 들어

play03:56

볼게요 전반적인 것들을 줄이기 위해서

play03:58

지금 할 수 있는 가장 작은 노력은

play04:00

무엇일까 지금 병목 현상은 무엇일까

play04:03

지금 반복적으로 수동으로 하는 작업이

play04:06

뭐가 있지 등입니다 저희 경우 제가

play04:08

했던 가장 작은 노력은 위키 문서를

play04:10

작성하는 것이었습니다 큐라고 할까요

play04:13

저에게 많이 묻는 질문들을 도메인별로

play04:15

모아서 자리에 없거나 바쁠 때는 일단

play04:18

여기 한번 읽어 달라고 말이죠 그럼

play04:20

집중해야 할 때 흐름을 끊지 않고

play04:22

진행하기도 좋고 특히 코드 안에

play04:25

주석을 넣기도 좋습니다 왜 이런

play04:26

결정을 내렸는지 배경 등을 정리해

play04:28

두면 휴 휴가를 가거나 회사를 아예

play04:31

떠나더라도 자산으로 남아 다음에 같은

play04:33

부분을 수정하는 동류의 시간을 줄여

play04:35

줄 수 있습니다 마지막으로는라는

play04:37

최적의 시간을 확보하는 것입니다

play04:39

사람마다 일하기 좋은 시간이 따로

play04:41

있죠 무라카미 하로 키에 달리기를

play04:44

말할 때 내가 하고 싶은 이야기라는

play04:46

책에서 소설가의 자질 중에 집중력이

play04:49

중요하다고 말합니다 여기서 말하는

play04:50

집중력이란 우리가 가진 한정된 양의

play04:53

재능을 필요한 곳에 집약해서 쏟아붓는

play04:56

능력을 말하죠 저의 경우 새벽

play04:58

6시부터는 분들 출근전 10시까지가

play05:02

컨디션이 제일 좋을 때입니다 그래서

play05:04

그 시간을 완전 집중하는 시간으로

play05:06

가셨는데요 10시 이후는 회의와

play05:08

메신저 답변 퇴근 전 한 시간은

play05:11

메일을 읽고 답장하는 시간으로

play05:13

보냈었죠 멀티태스킹을 잘하시는 분들은

play05:16

낮 시간에도 개발을 잘하셨는데 저는

play05:18

흐름이 끊기면 다시 돌아오기 쉽지

play05:20

않더라고요 하지만 저와는 달리 야간의

play05:23

집중이 잘되는 분들도 많으실 거라

play05:25

생각합니다 어느 시간이든 자신에게

play05:27

맞는 최적의 시간을 찾는게 중요하겠죠

play05:30

오늘 내용 정리해 보겠습니다 첫

play05:32

번째는 투자 대비 비즈니스 임팩트가

play05:35

큰 일을 먼저 선택한다 두 번째는

play05:38

지금보다 1% 개선할 수 있는 방법을

play05:41

찾는다 마지막으로는 자신에게 최적의

play05:43

시간을 찾는다였습니다 오늘도 시청

play05:45

감사합니다

Rate This

5.0 / 5 (0 votes)

Related Tags
10x DevelopersProductivityImpactful WorkEfficiencyOptimal RoutinesCoding InsightsDeveloper StrategiesRefactoringProfessionalismSoftware Development