[Daily Contents] 개발자의 성장


Learning Methodology

  • 좋은 개발자가 되려면 끊임없이 공부를 해야한다!!

    • 지금 좋은 개발자라고 해서 10년 뒤에도 좋은 개발자라고 할 수는 없음.
  • 내가 모르는 분야여도 벽 너머의 분야들도 관심을 가지고 배우는 자세가 필요

    • (내 생각) 개발자가 공부가 중요하긴 하지만 어느 분야든 간에 꾸준히 공부하지 않으면 안 되는 것 같다.

Promise

  • 주어진 업무를 주어진 시간 안에 약속된 퀄리티로 전달하는 것

  • 내가 지킬 수 있는 약속이 어느정도인지 범위를 파악
  • 남들이 나한테 기대하는 기대의 정도 (나 또한 남들에게 올바른 기대를 걸도록 노력해야 함)
  • 약속을 맞추기 위한 나의 노력
  • 내가 할 수 없는 약속을 거절하는 능력도 중요

Expectation

  • 협업을 할 때는 그 사람이 지금까지 해왔던 일, background를 어느 정도 파악해놓으면 효율적이다.

Forecasting / Resource

  • 내가 해본 적 없는 일의 계획을 세우는 건 힘들지만, 그래도 해야 한다. 이걸 잘 하는 게 중요하다.
  • 배우거나 경험을 통해 예측을 늘릴 수 있다.
  • 예측이 어려운 부분의 리스크를 파악하고, 최대한 정량화

Explanation

  • 만약 계획에 변경이 필요할 때 다른 사람들의 계획과 충돌할 수 있으므로 혼자 끙끙 앓지 말고 동료들과의 공유가 중요

  • 계획은 무조건 길게 짜는 게 좋을까?

    • 지금 내가 할 수 있는 일들은 디테일하게.
    • 다른 사람들의 계획이랑 얼마나 연관되어 있을까?
  • 내가 성과를 만들어 냈다면 알리는 게 중요!

    • 내가 성과를 냈다고 해서 주변에서 다 알아주지 않는다. 성과를 알아봐줄 수 있는 사람에게 가서 얘기하기
      • 쑥스럽거나 부끄러워도 내가 한 일은 내가 알려야 한다.
      • 내가 잘한 일이 있을 때, 누군가에가 내가 잘했음을 설명하는 자료를 만드는 시간을 아끼지 마세요!

Product

  • 개발자는 어떤 제품을 만드는 지도 중요
  • 개발자로서 빠르게 성장하려면? 그 회사의 핵심, 주력 제품을 개발해보는 것

  • 1위 기업 vs 후발주자 스타트업

    • 없는 마켓을 개척하는 경우가 아니면 역량을 기르기 위해서는 선두하는 기업에 가는 게 좋을 수도
    • 대신 스타트업에서는 폭발적인 성장이 가능
  • 규모가 큰 기업에서 주력/원하는 프로젝트를 맡지 못했을 경우 어떻게 할까?
    • 팀 이동을 위해 노력하는 사람들이 많다.
    • 핵심 부서가 아니더라도 부서가 성장해서 폭발적인 성장을 하는 경우도

Algorithm

  • 알고리즘 공부로 얻어야 하는 통찰

    • 문제에 대해 논리적으로 접근할 수 있는 사고력
    • ↑를 바탕으로 직접 손으로 구현하는 능력
  • 너무 라이브러리에 의존해서 개발하지 말자! (구현력 업)
  • 우리가 풀이를 알고 있는 문제는 극히 일부. 세상에는 모르는 문제가 더 많다. 시행착오를 하면서 최적의 해를 찾아가는 과정이 중요한 거지, 알고리즘 문제를 풀 때 이 문제는 ㅇㅇ 유형! 하고 외우는 건 별로 도움이 되지 않는다.
  • 현업에서는 정답이 아니라 특정 부분을 포기하고 시간 복잡도를 낮추거나 그런 방식도 많이 쓴다.

Hiring in Silicon Valley

  • 실리콘밸리 개발자가 되는 법
    1. 미국에서 학교를 나온다 (취업 비자 얻기가 비교적 쉬움)
    2. 해외에 있는 지사에 있다가 본사로 간다
    3. 진짜진짜 뛰어나면 특별한 비자나 영주권을 따고 간다
  • 한번 실리콘밸리에 가면 그 다음부터는 일자리가 많다.

English

  • 개발자에게 영어 업무는 필수다.
  • 영어 회화는 지금부터 최대한 빨리 하자

마치면서

  • 배움의 방법론을 완성하는 게 좋은 개발자가 되는 데에 중요하다.
  • 일정을 맞추는 게 정말 중요하다. 지킬 수 있는 약속만 하고 약속은 꼭 지키자.

댓글남기기