왜 “정상”엔지니어가 훌륭한 팀의 열쇠인가

왜 “정상”엔지니어가 훌륭한 팀의 열쇠인가

이 게시물의 버전은 원래 소프트웨어 엔지니어에게 조언을 제공하는 보안물 인 Refactoring에 나타났습니다.

우리 대부분은 실질적으로 마술사처럼 보이는 소프트웨어 엔지니어 몇 명을 만났으며, 복잡한 정신 모델에 대해 추론하거나, 비활성이면서도 우아한 솔루션으로 도약하거나, 비현실적인 속도에서 고품질 코드의 파도를 방출하는 능력에서 우리의 나머지 사람들과는 별도로 수업을 만났습니다.

나는 내 경력을 통해이 놀라운 존재들을 많이 만났다. 나는 그들의 존재가“10X 엔지니어”의 개념의 호기심 많은 내구성을 설명하는 것이라고 생각합니다. 아이디어밈이되었습니다-이다 기반 화려하고 칙칙한 연구그리고 사람들이 그것을 방어해야한다는 주장은 종종 불쾌감을 느꼈습니다 (예 : 10X 엔지니어는 어두운 배경을 가지고 있으며, 사용자 인터페이스 작업을 거의 보지 못하고 가난한 멘토와 면접관이 아닙니다) 또는 고정 관념에 대해 뻔뻔스럽게 두 배로 줄어 듭니다 (“우리는 Mark Zuckerberg를 상기시키는 후드에서 젊은 친구들을 찾습니다”). 그러나 경험이 공명하지 않으면 젠장. 그것은 단지 진실이라고 느낍니다.

다른 엔지니어만큼 생산적인 엔지니어가 있다는 생각에는 문제가 없습니다. 내가 가진 문제는 두 가지입니다.

생산성 측정은 어려움을 겪고 불완전합니다

첫째, 생산성을 어떻게 측정하고 있습니까? 나는 당신이 사람들을 표준화하고 분류 할 수있는 진정한 생산성 메트릭이 있다는 의미에 문제가 있습니다. 놀리는 기술과 경험의 규모를 고려하십시오.

  • 마이크로 프로세서, IoT, 데이터베이스 내부, 웹 서비스, 사용자 경험, 모바일 앱에서 작업하고 있습니까?무엇?
  • Golang, Python, Cobol 또는 LISP를 사용하고 있습니까? 어떤 버전, 라이브러리 및 프레임 워크? 어떤 다른 소프트웨어를 마스터해야합니까?
  • 인접한 기술, 시장 부문 및 제품 주제 전문 지식은 무엇입니까? 설계, 보안, 규정 준수, 데이터 시각화, 마케팅, 금융?
  • 어떤 개발 단계? 어떤 규모의 사용법? Mars Rover 또는 절대 변경할 수없는 수축 소프트웨어를 위해 글을 쓰고 있습니까?

또한 사람과 그들의 기술과 능력은 정적이 아닙니다. 어느 시점에서 저는 꽤 좋은 데이터베이스 안정성 엔지니어였습니다. 어쩌면 나는 심지어 10 배 데이터베이스 엔지니어 였지만 지금은 아니었을 것입니다. 쿼리 계획을 디버깅하지 않았습니다 연령.

“10X 엔지니어”는 생산성이 사람의 불변의 특성 인 것처럼 들립니다. 그러나 특정 기술 세트에서 10 배 엔지니어 인 사람은 평균 (또는 평균 이하) 인 곳에서 더 많은 영역을 가질 것입니다. 나는 많은 세계적 수준의 엔지니어를 알고 있지만, 모든 상황에서 전반적으로 다른 사람들보다 10 배나 더 좋은 사람을 만난 적이 없습니다.

엔지니어는 소프트웨어를 소유하지 않으며 팀은 소프트웨어를 소유하고 있습니다

둘째, 더 중요한 것은 무엇입니까? 개별 엔지니어는 소프트웨어를 소유하지 않습니다. 엔지니어링 팀은 소프트웨어를 소유합니다. 개별 엔지니어가 소프트웨어를 얼마나 빨리 쓸 수 있는지는 중요하지 않습니다. 중요한 것은 팀이 자신이 소유 한 소프트웨어를 총체적으로 작성, 테스트, 검토, 선적, 유지 관리, 확장, 설계 및 수정 할 수있는 정도입니다.

모든 사람은 동일한 소프트웨어 전달 파이프 라인을 사용합니다. 회사에서 5 시간 동안 가장 느린 엔지니어가 한 줄의 코드를 배송하는 데 5 시간이 걸리면 회사에서 가장 빠른 엔지니어를 5 시간 동안 한 줄의 코드를 배송 할 것입니다. 코드를 작성하는 시간은 일반적으로 소프트웨어 개발 수명주기의 다른 모든 부분에 소요되는 시간으로 인해 왜소됩니다.

단일 엔지니어가 소유 한 서비스 또는 소프트웨어 구성 요소가있는 경우 해당 사람은 단일 실패 지점입니다.

나는 이것이 결코 일어나지 않아야한다고 말하는 것이 아닙니다. 개인이 소프트웨어를 소유하는 것이 소프트웨어를 소유하는 것이 정상입니다. 왜냐하면 당신이 직면 한 가장 큰 실존 위험은 충분히 빠르게 움직이지 않고 사업을 중단하지 않기 때문입니다. 그러나 회사로 성장하기 시작하면서 소유권은 팀에 전달되어야합니다. 개별 엔지니어는 아프고 휴가를 떠나 회사를 떠나고 비즈니스는 탄력적이어야합니다.

팀이 소프트웨어를 소유하고 있으면 엔지니어링 리더의 핵심 작업은 고성능 엔지니어링 팀을 만들어내는 것입니다. 10 배가되어야한다면 10 배의 엔지니어링 팀을 구축하십시오.

최고의 엔지니어링 조직은 일반 엔지니어가 훌륭한 작업을 수행 할 수있는 조직입니다.

사람들이 세계적 수준의 엔지니어링 조직에 대해 이야기 할 때, 종종 직원 및 주요 엔지니어와 함께 가장 무겁거나 전 대형 기술 직원과 최고 대학의 계급에서 많은 모집을하는 팀을 염두에두고 있습니다. 그러나 나는 진정으로 훌륭한 엔지니어링 조직이 당신이 비즈니스에 많은 영향을 미치기 위해“최고의”또는 대부분의 혈통 엔지니어 중 하나가 될 필요가없는 곳이라고 주장합니다. 나는 그것이 실제로 다른 방법이라고 생각합니다. 진정으로 훌륭한 엔지니어링 조직은 적절한 기술과 일반적인 전문 지식을 갖춘 완벽하게 정상적인 Workaday 소프트웨어 엔지니어가 일관되게 빠르게 이동하고, 선박 코드를 응답하고, 사용자에게 응답하고, 구축 한 시스템을 이해하며 매일 매일 비즈니스를 조금 더 전진시킬 수 있습니다.

누구나 세계에서 가장 경험이 풍부하고 훌륭한 엔지니어가 제품을 만들고 진전을 이룰 수있는 조직을 구축 할 수 있습니다. 어렵지 않습니다. 그리고 모든 스포트라이트를 개인의 능력에두면 지도자들이 업무를 수행하는 것을 막을 수있는 방법이 있습니다. 경험이 부족한 엔지니어가 노력과 에너지를 제품 및 비즈니스 모멘텀으로 변환 할 수있는 시스템을 구축 할 수 있다면 경쟁 우위입니다. 그리고 생산성의 유일한 의미있는 척도는 사업을 실질적으로 발전시키는 지 여부입니다.

진정으로 훌륭한 엔지니어링 조직은 또한 세계적 수준의 소프트웨어 엔지니어를 Mints하는 것입니다. 그러나 나는 여기서 나 자신보다 앞서 가고 있습니다.

“정상적인”엔지니어에 대해 이야기합시다

많은 기술인들이 똑똑한 아이들로서 우리의 정체성에 실제로 붙어있었습니다. 소프트웨어 산업은 Netflix의 주장에서 볼 수 있듯이 매번이 선입견을 반영하고 강화하는 경향이 있습니다. 나는 우리에게 그 수하물을 옆으로 설정하고 우리 자신에 대해 생각하도록 도전하고 싶습니다.정상 사람들.

자신을 평범한 사람으로 생각하는 것은 겸손 할 수 있습니다. 그러나 우리 대부분은 있습니다 그것에 아무런 문제가 없습니다. 특정 기준에 따라 천재 인증을받은 우리조차도 다른 방식으로는 상당히 정상적 일 것입니다.

소프트웨어 엔지니어링은 특히 추상 추론을 중심으로 특정 유형의 인텔리전스를 선택하고 개발합니다. 아무도 훌륭한 소프트웨어 엔지니어로 태어났습니다. 훌륭한 엔지니어는 태어나지 않고 만들어집니다.

“정상적인 사람들”을 염두에두고 사회 기술 시스템을 구축하십시오

재능을 고용하고 팀을 구성 할 때, 그렇습니다. 우리는 사람들이 예외적 인 방법을 식별하는 데 집중해야합니다. 그러나 소프트웨어 전달을위한 사회 기술 시스템을 구축 할 때는 사람들이 정상.

정상적인 사람들은 확인 편견, 최근의 편견, 후시 편견과 같은인지 편향이 있습니다. 우리는 열심히 일하고, 돌보며, 최선을 다합니다. 그러나 우리는 또한 사물을 잊고, 참을성이없고, 구역을 벗어납니다. 우리의 눈은 불가피하게 빨간색으로 끌려갑니다 (우리가 색맹이 아니라면). 우리는 습관을 개발하고 변화하는 것에 저항합니다. 동일한 텍스트 블록을 반복적으로 볼 때 읽기를 중단합니다.

우리는 압도 당하고 피곤해 질 수있는 구체화 된 존재입니다. 경고가 오전 3시에 우리를 깨우면 오후 3시에 같은 일을하려고 시도하는 것보다 우리의 감정 상태는 우리의 일의 질에 영향을 줄 수있는 것보다 그 경고에 응답하면서 실수를 할 가능성이 훨씬 높습니다.

시스템이 일반 엔지니어가 사용하도록 설계되면 시스템을 탐색하는 데 낭비하는 대신 제품 자체에 쏟아 질 수 있습니다.

훌륭한 엔지니어링 orgs 민트 세계적 수준의 엔지니어

훌륭한 엔지니어링 조직은 많은 영향을 미치기 위해 세계 최고의 엔지니어 중 하나가 될 필요가없는 곳입니다. 그러나 아이러니하게도, 그레이트 엔지니어링 orgs는 아무도 비즈니스와 같은 세계적 수준의 엔지니어를 민트합니다.

최고의 엔지니어링 조직은 세계에서 가장 똑똑하고 가장 경험이 많은 사람들이 아닙니다. 일반 소프트웨어 엔지니어가 지속적으로 발전하고 사용자에게 가치를 제공하며 비즈니스를 발전시킬 수있는 사람들입니다. 엔지니어가 할 수있는 곳 큰 영향을 미치는 것은 최고의 공연자에게 자석입니다. 엔지니어를 물건을 구축하고 문제를 해결하고 진보하는 것보다 엔지니어를 더 행복하게 만드는 것은 없습니다.

조직에 세계적 수준의 엔지니어가있을만큼 운이 좋으면 좋습니다. 리더로서의 역할은 의존하다 그들의 광채에. 결국,이 사람들은 당신에게 속하지 않습니다. 그들은 언제라도 문 밖으로 나갈 수 있으며 괜찮습니다.

이 사람들은 팀 플레이어가되고 자아를 확인할 수 있다고 가정하면 경이로운 자산이 될 수 있습니다. 그렇기 때문에 많은 기술 회사가 특히 실리콘 밸리에서 그들을 식별하고 고용하는 것에 집착하는 것처럼 보일 것입니다.

그러나 기업들은 이미 민트를 낸 후이 사람들을 찾는 데 너무 중요합니다. 결국 세계의 모든 편견과 불평등을 강화하고 복제하게됩니다. 인재는 인구에 균등하게 배포 될 수 있지만 기회는 그렇지 않습니다.

“최고의”사람들을 고용하지 마십시오. 올바른 사람들을 고용하십시오

우리는 개별 대행사와 특성에 너무 중점을두고 있으며, 우리를 형성하고 행동에 정보를 제공하는 시스템에 충분하지 않습니다.

나는 많은 문제 (인터뷰 과정에서 자체 선택하는 후보자, 신청자의 다양성 등)가 단순히 고용의 초점을 바꾸어 최상의 사람들과 더 합리적이고 정확한 사람들을 재정렬합니다 오른쪽 사람들.

약점 부족이 아니라 사람들이 자신의 고유 한 강점으로 고용 될 수있는 환경을 구축하는 것은 경쟁 우위입니다. 팀을 구성하는 데 중점을 두는 곳; 포용성은 윤리적 인 이유와 모든 사람을위한 공연의 기준을 높이기 때문에 포괄 성이 주어진 곳입니다. 포용적인 문화는 메리 토크 라시가 의존하는 것입니다.

이곳은 엔지니어링 인재가 나방을 화염에 맞추기 위해 끌리는 장소입니다. 비즈니스를 발전시키고 기술을 연마하고 기술을 향상시키는 것이 좋습니다. 사람들이 세계적 수준의 엔지니어가되기를 원할 때가는 곳입니다. 그리고 그것은 세계적 수준의 엔지니어들이 다음 세대를 고수하고 훈련시키기를 원하는 종류의 장소입니다.

사이트 기사에서

웹 주변의 관련 기사

출처 참조

Post Comment

당신은 놓쳤을 수도 있습니다