Skip to main content

Effective & Impactive 엔지니어

Goal

  • Effective & Impactive 방법론들을 정리
  • 비즈니스(도메인) 관점에서 최선의 효과내야 한다.
  • 이펙티브한 방법론, 방향성, 태도, 시스템 모두 정리한다.
  • 5년 후, 10년 후 커리어 관리를 포함해야 한다.

참고서적

커리어 및 소프트 스킬에 도움이 많이 될 수 있는 책 목록이다.

1.커뮤니케이션 스킬

커리어 성장을 위한 커뮤니케이션

적극적으로 조언 구해야 한다. 멘토로 삼아야 된다.

  • 다른 사람들이 가만히 있는 사람에게 갑자기 피드백을 주기 어렵다.
  • 1.건설적인 피드백을 달라고 많이 얘기를 해야 한다.
  • 2.그리고 내가 정한 커리어 Path에 대해서 물어봐야 한다.
  • 예를들어 매니징을 잘하는 프론트 개발자가 되려면 주니어 Level에서 어떻게 해야 하는가 ?

진짜 문제는 아무도 혼내지 않는다는 것이다.

  • 혼나는것도 이제 돈을 내야 한다. 컨설팅 혹은 멘토링 등으로
  • 그래서 상급자를 대하는 태도가 정말중요하다.
  • 많이 배우려는 태도, 많이 생산해 내려는 태도, 효과적으로 아이디어를 내는 태도, 롤모델으로부터 배우려는 태도

솔선수범

회의에서 되도록 의견을 최소 1개 이상 내려고 해라.

  • 비즈니스 관점에서 더 나은 제안
  • Next Step에 대해서 의견을 제시
  • 리스크 관리 측면에서 의견을 제시하기

주도적으로 프로젝트 리딩

  • 규모가 있는 프로젝트라면 스스로 기술에 대한 검증 PoC를 진행하고 공유 및 리뷰 받는다.
  • 기획이나 설계 단계에서 자신의 프로젝트 설계나 내용에 대해서 당사자들과 공유하고 토론할 수 있도록 이끈다.
  • 프로젝트에 대해서 퀄리티를 높일 수 있는 방법에 대해서 고민하기
  • 프로젝트 이후 문서화나 모니터링 시스템에 대해서 적절한 가이드라인 혹은 장애가 났을때 대응하는 방법

2.비즈니스 이해(도메인 이해)

벤치마크

3.커리어 관리

스스로 나중에 어떤 삶을 살지 계속 나와의 대화를 해야 한다.

큰 그림에서 조직/인가 관계 생각해 보기

조직 및 팀에는 여러 사람들이 있다.

  • 회사 입장에서 모두 월급을 줘야 하는 비용이다.
  • 사람들이 어떠한 생각과 목적을 가지고 있는지 고민해보기
  • 비용대비 높은 생산성을 가지고 있는 사람
  • 월급 루팡하는 사람, 일 적게 하려고 하는 사람,
  • 승진에 욕심있는 사람, 솔루션을 많이 가지고 있는 사람
  • 능력이 부족한 사람 등

4.기술적 성장

기술적 성장 싸이클

기술적으로 성장하는것은 개인의 몫이 되버린 환경이다.

  • 그냥 스터디만 하고, 그냥 강의듣고 정리하는것으론 부족하다.
  • 실제 비즈니스 임팩트를 내야 한다.

가장 이상적인 기술적 성장 싸이클

1.회사에서 KPI, OKR이 내려온다.

  • OKR를 달성하기 위한 하위 기획들이 만들어 진다. 하위 기획에 대해서 철저하게 이해 해야 한다.
  • 이러한 비즈니스 이해를 바탕으로 기술을 배워야지 비즈니스 임팩트를 가져갈 수 있다.
  • 내가 담당하게 될 프로젝트에 대해서 인지 혹은 미래를 위해 준비 한다.

2.리서치를 진행한다.

  • 사내 시스템을 이해한다. (기존의 비즈니스, 기존의 기술 스펙을 이해 한다.)
  • 테크니컬 Best Pratices 사례를 수집한다.(기술적 완성도 높이기 위함)
  • 다른 회사에서는 어떠한 기능들이 있는지 밴치마크를 하며 조사한다.(비즈니스 조사, 더 좋은 아이디어를 내기 위함)

3.학습을 진행한다.

  • 책이나 youtube를 보고 학습을 한다.
  • 가능 하면 토이 프로젝트를 만들어 본다.

4.업계에 적용을 해본다.

  • 이론과 실습의 완벽한 조화
  • 잘 성장하는 주니어는 이 싸이클을 잘 활용 한다.
  • 팀 기술 > 업계 메인 기술 > 주변, 최신 기술로 확장 하자.

5.how to be a 10x Software Engineer

도구를 충분하게 조사하고 익숙해지자.

나무를 자르는데 8시간이 있다면 7시간은 도끼를 가는 데 쓰겠다.

  • 하급 엔지니어는 무딘 도끼로 자르는데 8시간 소비한다. 엄청 힘들고 결과도 좋지 않다.
  • 선임 엔지니어는 우선 마트로 간다. 전기톱을 고른다. 나무를 자르는 방법을 배운다. 연습한다. 그리고 돌아와서 5분동안 나무를 자른다.

하지 말것

  • 바로 코딩에 뛰어 드는 것
  • 도구에 대해서 익숙하지 않은 상태로 꾸역꾸역 해 나가는 것이 좋지 않다.

해야 할 것

  • 랜딩페이지를 구축하기 코딩은 집어 던지고, 노션과 + 우피와 같은 서비스를 사용 한다.
  • 평소에 React, AWS 등 도구들을 배우는데 시간을 할애할 것 - 도구들이 hot stand by
  • 제품의 요구사항을 어떻게 개발할지 고민을 많이 할 것 ( 도구를 닦는것은 미리미리 )

도움을 요청할 것

시니어일 수 록 많은 질문과 도움을 요청한다.

  • 팀원에게 5분만 질문하면 즉시 해결되었을 문제를, 코드베이스를 살펴보면서 코드를 살핀다.

비즈니스 가치 제공 중심으로 생각 할 것

10x 엔지니어는 무엇보다도 투자자 이다.

  • 투자 대비 보상을 항상 생각해야 한다. 기회비용을 이해해야 한다.

하지 말것

  • 정말 멋진 신기술이 나왔다. 이것을 프로젝트에 적용하는데 5일이 걸렸다. (제품과 전혀 무관한 작업)
  • 다음 스프린트에 리팩토링에 시간을 투자, 코드가 구조화 되는 방식이 마음에 들지 않는다. ( 기회 비용, 기능을 구축하는게 더 돈이 된다. )
  • 이 플랫폼은 너무 레거시 이므로 새 플랫폼으로 마이그레이션 합시다. ( 마이그레이션으로 고객경험이 개선되는가? 아니면 그냥 점직적 개선인가? )

해야 할 것

  • 시간 대비 아웃풋이 어떻게 나오는지 체크해 볼 것

ref

개발자 Soft-Skill 자료들

코드 검토를 완료하기 위한 CL 작성자 가이드

https://google.github.io/eng-practices/review/developer/