Engineering Manager, 리더란?

비고
Tags
Select
recommand
 

참고한 링크

 

참고링크 내용 정리

요즘IT (리더로 성장하고 싶은 개발자를 위한 3가지 기술)

하는 일

  • 프로젝트 관리
    • 출시 시기와 중점을 둬야 하는 일을 관리하는 기술
    • 기업 입장에서는 기능을 모조리 넣으면서, 출시일도 당기고, 인력을 최소한으로 쓰고 싶어 하지만 불가능한 이야기. 제품의 범위를 줄이고 필요한 최소기능을 지속적으로 기민하게 업데이트하는 개발 방법론이 애자일이며 이걸 가능하게 매니징하는 사람이 엔지니어링 매니저의 역할임.
  • 팀 관리
    • 사람 관리
    • 팀원들에게 큰 그림을 보여줄 수 있어야함 (현재 위치를 알고, 자신이 무엇을 해야하는지 생각하게됨)
    • 개개인들의 강점/약점을 파악하고 적절하게 보완함
  • 프로세스 관리
    • 진행하는 과정 관리
    • 프로세스 관리는 실패를 막고, 우연을 막고, 철저하게 품질을 관리하고, 최적화하는 과정을 만드는 것.

필요 자질

  • 엔지니어링 역략
  • 매니지먼트 역량
    • communication
      • 투명성. 사람들이 알아야 할 정보를 충분히 공급한다.
      • 개방성. 남의 말을 경청하는 사람
      • 투명하게 모든 정보를 공유하고, 개방적인 자세로 다른 사람의 말을 잘 듣는 것이 소통의 핵심
    • teamwork
    • positive attitude
    • work ethic (프로의식)
    • leadership
      • 인사이트. 현재 시장을 파악하고 향후 변화의 큰 물줄기를 분간하는 능력 인사이트가 있어야 기술 변화를 내다보고, 개발 방식과 방향을 결정할 수 있음. 리더에게 기술, 제품, 시장에 대한 인사이트가 없으면 개발만 하다가 도태된다.
  • 프로젝트 리딩, 테크니컬 리딩, 피플 매니징
 

오늘의 집 (Engineering Manager 채용공고)

하는 일

  • 담당하는 팀들의 비전로드맵을 이해하며, 각 팀이 역할을 수행할때에 필요한 리소스 확보
  • 담당 엔지니어링 팀의 전략과 중장기 로드맵 도출 및 실행
  • 팀의 상황과 영향력을 측정하여 명확한 기대 목표 설정
  • 종속성 또는 영향력이 큰 프로젝트의 전반적인 계획 및 실행
  • 담당 엔지니어들의 효과적인 성장퍼포먼스 극대화
  • 프로젝트들의 기술적 기여 (e.g. Architecture Design 과정 참여)
 

뱅크샐러드 (팀과 함께 성장하는 Engineering Manager의 역할)

하는 일

  • Task Managing - 일 관리
    • 여러 팀의 프로덕트 스펙을 개발 가능한 단계까지 리뷰
    • 티켓으로 여러 팀의 요청 업무를 파악하고 우선순위에 따라 적절한 담당자를 배정
    • 실시간으로, 지속적으로 팔로업하면서 Blocker를 제거
    • 일의 시작부터 끝까지 일련의 과정이 원활하도록 모든 팀원을 서포팅
  • Visioning - 팀 관리
    • 팀원이 팀에서 어떤 역할을 수행하며 얼마나 성장할 수 있는지 명확한 방향을 제공
    • 목표 설정으로 봐도 됨. 회사의 목표, 팀의 목표 등
  • 1on1 - 사람 관리 (people skill)
    • 팀원이 원하는 것을 듣고 매니저가 원하는 기대치를 전달하는 1:1 대화 자리
    • 여러 고민을 매니저에게 공유하고 해결방법을 찾습니다
    • 비교적 쉬운 업무 고민부터 예민한 문제까지 많은 주제가 1on1에서 오갑니다
    • 매니저가 팀원을 관찰하고 매니징 전략을 생각할 수 있는 유일한 수단 (그래서 주기적으로 해야함)
 

Tech Lead vs Engineering Manager

notion image
 

센드버드 (실리콘 밸리의 엔지니어링 매니저(리더)들은 대체 무엇을 하는가?)

하는 일

notion image
  • Team Achievement
    • impact and performance of the team
    • 피상적인 성과보다 성과 자체가 좋을 때나 나쁠 때 엔지니어링 매니저가 어떤 역할을 했는지가 더 중요합니다.
    • 🔥
      5명의 현역 슈퍼 엔지니어가 있기 때문에 자연스럽게 팀의 성과와 임팩트가 잘 나왔고, 매니저 A가 없었더라도 같은 성과가 나왔을 경우 매니저 A가 이 팀에 기여한 가치는 0입니다.
    • 이에 반해 B 매니저가 이끄는 신생팀은 개인의 역량이 있었지만, 업무 프로세스와 신뢰 관계가 확립되지 않아 성과가 좋지 못했습니다. 하지만 B가 팀 내 협업 효율성을 높일 수 있는 방법을 찾거나, 이를 위한 프로세스에 큰 영향을 미치거나, 팀 내 신뢰 관계를 구축하고, B 덕분에 팀의 성과가 이전보다 2~3배 향상됐다면, 이번 팀에서 B의 기여는 이전 성과의 2~3배를 만든 부분입니다.
  • People Management
    • 두 번째 항목은 사람을 이끄는 능력, 즉 팀원 개개인의 성장건강한 조직문화
    • 직원과 기업의 관계에서 가장 이상적인 상황은 '직원이 회사에 바라는 것(급여/가치 있는 경험/성장/명예 등)'과 '회사가 직원에게 바라는 것(특정 프로젝트의 성과, 리더십 등)'이 잘 일치하는 것
    • 하지만 현실적으로 두 사이에는 괴리가 있을 수밖에 없기 때문에 경영자(리더)는 개인과 팀 또는 조직 단위의 괴리를 최소화하고 동조를 이끌어내는 방안(motivate)을 찾는 것이 중요
    • 그 일환으로 팀원들의 성장을 도모하는 것이 관리자의 역할입니다. 효율적으로 일하는 방법을 가르쳐주고, 양질의 코드좋은 기술적 의사결정을 할 수 있도록 멘토링해주며, 직접적인 피드백을 제공하거나 다른 선배들의 피드백을 받을 수 있는 환경과 프로세스를 만들어야 합니다. 농담으로 엔지니어들은 코드를 디버그하는 반면, 엔지니어링 관리자들은 사람들을 디버그한다고 흔히들 말합니다. 팀원들이 힘들 때, 갈등이 생기거나 어떤 일이 진행이 안 될 때, 빨리 잡아서 그런 상황에서 벗어날 수 있도록 도와주는 것이 관리자의 역할입니다.
  • Collaboration
    • 외부외의 협력 (타 팀 간의 조율)
    • 회사에 근무할 때 다른 팀이나 조직과 협력하는 경우가 많습니다. 이런 사업들이 잘 지원이 되고 있는지, 기대 관리를 분명히 해서 막힘이나 갈등이 없도록 소통을 잘 하고 있는지 등에 대해서 엔지니어링 관리자가 핵심적인 역할을 할 것입니다.
  • Organizational Impact
    • Org Impact라고도 하는데, 이는 관리자의 팀 내에서뿐만 아니라 팀이 속한 조직과 회사 전체에 좋은 영향을 주는 부분
    • 채용 프로세스 개선에 기여, 면접관으로 참여
    • 고객과의 미팅에서 회사나 조직을 대표하여 의사결정과 인터페이스를 함
    • 조직이나 회사 내 중요한 이니셔티브를 주도
    • 비효율적인 커뮤니케이션이나 프로세스를 파악하여 개선

Revelo (Engineering Manager: Salary, Skills, Responsibilities)

  • https://www.revelo.com/blog/engineering-manager
    • 요약

    • An engineer manager oversees the work of engineers and other technical staff within an organization. They are responsible for ensuring that projects are completed on time.
    • 함께 일하는 사람들
      • sales and marketing teams to determine what customers want and need
      • software developers to create it.
      • other managers to develop budgets and schedules.

      책임

    • Team Building
      • develop policies, procedures, and systems
      • When conflicts arise, the engineering manager resolves them.
      • 🔥
        They also keep track of projects and deadlines to ensure they're on schedule.
    • Project Management
      • 🔥
        responsible for project planning, execution, and monitoring.
      • assign tasks to contractors and employees
      • Reviewing project proposals
      • Developing project plans
      • Tracking progress
        • time management
      • Ensuring quality control
        • test products to ensure they meet quality standards.
      • Coordinating with other departments
      • Reporting to upper management
      • Providing customer support
    • Check Team's Work (팀워크 X, 팀’s 워크)
      • checks their team's work to ensure it meets all requirements.
      • develop quality control procedure
    • Prepare Documentation
      • create and maintain documentation
        • Engineering plans
        • Operating procedures
        • Product specifications
        • Blueprints

      필요 자질

    • Analytical Skills
      • 복잡한 문제를 풀어나가기 위해 분석적 사고와 스킬이 필요함
      • 이슈를 이해하고 솔루션을 개발하기 위해 이슈에 대한 강한 이해도가 필요함
      • 너무 질질 끈다면 회사 입장에서 돈을 버리는 것이므로, 일정에 대한 분석 능력도 필요
    • Detail-Oriented
      • 작은 문제도 큰 문제를 야기할 수 있다. 그래서 detail-oriented 필요함.
      • have to check the work of their subordinates to ensure that it meets all the requirements. (If they miss something, it can result in costly mistakes )
    • Leadership skills
      • must be able to lead a team of engineers.
      • motivate them and ensure that they work together efficiently.
      • 그렇지 않으면 데드라인이나 높은 품질의 결과물을 내놓을 수 없다.
    • Communication Skills
      • 기술적 문제를 비개발자에게 설명할 수 있는 커뮤니케이션 능력
      • 회사의 목표를 개발 팀 내에 전파
    • Organizational Skills
      • 엔지니어링 관리자는 여러 프로젝트를 동시에 처리할 수 있도록 잘 조직화되어 있어야 한다.
    • Technical Skills
      • have a general understanding of engineering concepts (기술적인 부분들에 대해 이해할 수 있을 정도의 제너럴한 지식은 있어야함)
    • Interpersonal Skills
      • have to deal with people
      • must be able to build relationships and resolve conflicts
      • be able to give constructive feedback(건설적 피드백)
 

Resources for employers (Engineering Manager job description)

An Engineering Manager is a professional responsible for planning and coordinating projects, supervising teams, and researching new products in the field of engineering.

하는 일

  • oversees the development
  • execution of projects
  • manages budgets
  • supervises multiple teams
  • 프로젝트가 제 시간과 예산 안에 마무리 될 수 있도록 관리
  • conduct research and development for new designs, products, and processes
  • maintaining technical accuracy
  • coordinating work with other managers and staff

책임

  • Planning and executing strategies for completing projects on time
  • Proposing and managing budgets for projects
  • Supervising the work of multiple teams

필요 자질

  • Analytical skills for evaluating information carefully and solving complex problems (복잡한 문제 해결을 위한 분석적 스킬)
  • Communication skills for overseeing staff and working with other management personnel
  • Detail-oriented with the ability to catch minor errors which can result in major problems
  • Organizational skills for keeping track of various budgets, employees, and schedules simultaneously
 

LeadDev (What is an engineering manager?)

하는 일

  • 할당된 프로젝트의 완료를 보장하기 위한 일들 수행
  • 필요 시에는 직접 투입되어 일을 하기도 하지만, 전반적으로는 다른 엔지니어들을 directing 하며 목적을 달성한다.
    • task를 완료하기 최적의 사람에게 할당한다.
  • 다른 팀들과의 조율하는 역할을 통해 팀에 기여한다.
  • 태스크 수행에 방해되는 장애물을 해결하고 팀 내 리소스를 확보하여 프로젝트가 성공적으로 흘러갈 수 있도록 조율한다.
  • need to know how to delegate
    • 여기서 people skills이 중요함
    • motivate engineers
    • 팀원들의 강점/약점 파악 (적기에, 적절한 인원을 사용하여 최적의 결과물을 내놓기 위함)
  • 상부 보고를 위한 기술적 자원(문서 등)을 제작
  • 비개발자에게 테크적인 이슈들을 잘 가공하여 전달
  • 딥한 기술적 배경지식 소유 & 가진 지식을 개발자들에게 잘 전달

필요 자질

  • Technical qualifications
    • 태스크를 보통 직접 치진 않지만, 제너럴한 기술적 지식들은 반드시 알고 있어야함. 그래서 적어도 5년 이상의 경력을 요구함
  • Project management skills
    • 🔥
      코드를 쳐다보기 보단, 간트 차트(진행상황 파악)를 보는 데 시간을 더 많이 쓴다. - 프로젝트 현황 파악에 힘써야 한다는 의미임. 주 역할임.
      🔥
      현실적인 마감일 설정부터 예산 추적에 이르기까지 모든 과정을 처리하면서 복잡한 프로젝트를 수행하는 방법을 이해해야 한다.
  • Communications skills
    • 목표를 팀 내에 전파할 수 있어야 하고, (motivate 측면 & 같은 목표를 지향하기 위함)
    • 진행사항을 상관에게 잘 보고할 수 있는 능력
  • Leadership
    • 팀원 사기 증진
    • 충돌 해결
    • 팀원들이 잘 성장할 수 있도록 리딩
 

indeed (What Does an Engineering Manager Do?)

하는 일

🔥
plan, direct and supervise team members in engineering or tech companies.
  • set project timelines
  • complete administrative tasks like budgeting
  • responsible for coordinating technical and engineering projects
  • work closely with other core departments like sales, customer service and marketing to meet deadlines.
🔥
managing a team and assigning tasks to specific members
  • 프로젝트 업데이트 사항과 목표와 관련하여 필요한 사람들을 모아 미팅을 주최함. (지속적인 프로젝트 팔로업 및 매니징을 의미함)
  • 더 나은 생산성을 위해 프로덕트, 서비스, 절차들을 분석함.
  • 채용과 온보딩 프로세스에 참여
🔥
performing quality checks of the output of each department before approving work
🔥
관리 상의 정책과 절차들을 설립하고 팀원들에게 잘 전달함

필요 자질

  • complete coursework in quality control
  • financial management (개발팀에 필요한 예산 관리)
  • business data analytics
  • human resource management
  • effective communication
    • 팀원들에게 업무 지시
    • 상부 보고
  • Hard skills help them complete technical tasks, supervise team members and lead projects.
  • Soft skills relate to personal traits and help engineering managers communicate clearly with clients and manage time effectively.
  • 건설적 피드백 스킬
  • 분석적 스킬
    • 진행사항 파악 및 복잡한 기술적 문제 해결
  • Detail-orientation
    • 모든 보고(코드리뷰를 의미하는듯)를 보고 코드 상의 minor, major error 들을 수정할 수 있어야 한다.
    • A single line can save your days' worth of taxing hard work.
  • Ability to work under pressure
    • 프로젝트 진행사항에 대해 잘 알고 있어야 데드라인 내에 프로젝트 완수에 대한 압박감 등을 이겨내고 침착함을 유지할 수 있다.
    •