QA/밥벌이

좋은 엔지니어 되기

eddiej24 2025. 4. 15. 21:20
  • 많은 SW 엔지니어들이 SW에 대한 열정 없이 일 함
    • 단순히 좋은 급여를 받기 위해 일하지만, 열정이 없으면 결국 성과가 저하됨
  • 좋은 엔지니어는
    • 엔지니어링의 본질을 이해하고 깊이 있는 지식을 쌓아야 함
    • 새로운 기술을 지속적으로 배우고 비판적으로 접근해야 함
    • 실전에서 배운 지식을 적용하고 개선하는 습관이 필요

무엇이 좋은 엔지니어를 만드는가

  • 엔지니어 정의
    • "과학적 원칙을 적용해 문제를 분석하고 설계, 코드 작성, 제작, 창조 등을 통해 문제를 해결하고 세상을 더 나은 곳으로 만드는 사람"
  • SW 엔지니어 요구 역량
    • 컴퓨터 작동 원리 이해
    • HW, SW 상호작용 방식에 대한 깊은 이해 필요
    • 추상화된 언어나 기술에만 의존하지 않고 기초부터 학습해야 함

도메인에 대한 깊이 있는 이해

  • 기초 원리에 대한 강력한 이해가 필요함
    • HW 엔지니어 ⇒ 재료의 특성과 응용 지식
    • SW 엔지니어 ⇒ 메모리와 CPU의 작동 원리 이해
  • 기초 원리에서부터 학습해야 함
    • HTTP, 메모리 구조, 시스템 동작 등 기본 개념에 대한 깊은 이해 필수
    • 상위 레벨에서 시작하지 말고 기초부터 쌓아가야 함

지속적인 학습

  • 최신 기술 및 개발 동향을 계속 학습해야 함
  • 새로운 기술 장/단점 비판적 분석 필요
  • 학습 과정에서 발견한 새로운 주제에 대해 더 깊이 파고들기

기술의 한계와 문제점 이해하기

  • 도구나 언어의 장/단점 명확히 이해
  • 특정 언어나 도구를 과도하게 신봉하는 태도 경계
    ⇒ 늘 변화하는 IT, 과거의 지식이 현재에도 맞다고 보장할 수 없음
  • 프로젝트에 맞는 최적 도구 선택 중요

실전에서 지식 적용하기

  • 이론만 알아서는 의미 없음
  • 실전 적용 예시
    • 소규모 프로토타입 구축
    • 일상에서 발생하는 문제 해결
    • 배운 내용 다른 사람에게 설명하고 가르치기

더 나은 엔지니어가 되는 방법

비판적 사고 능력 키우기

  • 비판적 사고는 엔지니어링의 핵심 요소
    • 비판적 사고가 부족하거나 이를 소홀히 하면 비효율성과 복잡성을 초래함
  • 비판적 사고 능력 강화하기
    • 새로운 개념을 접할 때 무조건 받아들이지 말고 효과성과 타당성을 검토해야 함
    • 특정 접근 방식의 장/단점과 대안을 논리적으로 분석해야 함

더 많은 책 읽기

  • 독서는 지식을 습득하는 효과적인 방법
    • 단순히 책의 내용을 받아들이지 말고 비판적으로 접근해야 함
  • 비판적으로 읽기 위한 질문 예시
    • "이 접근 방식에 문제가 있는가?"
    • "더 나은 방법이 있는가?"
    • "내가 다르게 한다면 어떻게 할 것인가?"
    • "이 책에서 설명하는 내용이 실제로 옳은가?"
  • 노트 작성 습관 기르기
    • 배운 내용과 생각을 정리하고 기록
    • 모르는 주제가 언급되면 추가로 조사

배운 지식을 프로젝트에 적용

  • 이론에서 실전으로 연결
    • 배운 내용을 실제 프로젝트에서 적용해야 진정한 학습이 이뤄짐
    • 개념을 실제로 구현하면서 깊이 있는 이해 가능
    • 작은 프로젝트나 프로토타입이라도 직접 만들어 보는 것이 중요
  • 실전 적용 과정에서 얻는 이점
    • 이론에서는 보이지 않던 실제 문제 직면
    • 문제 해결 과정에서 지식 구체화 & 개선 가능
    • 문제 해결 능력과 논리적 사고력 강화 됨
  • 배운 내용을 적용하는 방법
  • 작은 프로토타입 구축
    • 새로운 프레임워크, 언어, 개념 학습 후 작은 프로젝트 시도
      (예. DB 인덱싱 학습 후 간단한 검색 시스템 구현 및 성능 비교)
    • 실제 문제 해결
      • 일상이나 작업에서 발생하는 작은 문제 해결해 보기
        (예. 반복 수작업 자동화, 성능 저하 문제 개선 등)
    • 배운 내용 가르치기
  • 지속적으로 지식을 적용하면 이론적 이해가 실전 역량으로 전환되며, 더 유능한 엔지니어로 성장 가능

자기 코드 평가 및 개선

  • 자기비판은 뛰어난 엔지니어의 핵심 습관
  • 자기 평가의 목표
    • 스스로에게 과도하게 엄격해질 필요는 없음
    • 지속적인 개선의 기회를 찾는 것이 핵심
    • 코드를 작동시키는데 만족하지 말고 성능, 유지보수성, 가독성 개선 방안 탐색
  • 지속적인 자기 평가의 효과

결론

  • 기본 원리의 깊은 이해 + 비판적 사고 + 실전 적용이 핵심
  • 배우고, 적용하고, 끊임없이 개선하는 태도 필요
  • 최고 엔지니어의 특징
    • 배움을 멈추지 않고 새로운 지식을 습득
    • 자신의 가정을 끊임없이 의심하고 개선 방안을 찾음
    • 배운 지식을 실제 문제 해결에 적용하고, 동료와 협업하며 성장함
  • 연지니어링은 평생의 여정
    • 호기심, 꾸준함, 성장에 대한 의지 필요

셀프 요약

본질, 기초에 대한 이해
깊이 있는 지식 습득
꾸준한 학습과 성장

  • 최신 기술 및 개발 동향 파악
  • 더 많은 책 읽기

비판적 접근

  • 새로운 기술 장/단점 비판적 분석
  • 예시
    • "이 접근 방식에 문제가 있는가?"
      "더 나은 방법이 있는가?"
      "내가 다르게 한다면 어떻게 할 것인가?"
      "이 책에서 설명하는 내용이 실제로 옳은가?"

배운 지식 적용

  • 소규모 프로토타입 구축
  • 일상에서 발생하는 문제 해결
  • 배운 내용 다른 사람에게 설명하고 가르치기

작동 원리 이해
상호작용 방식에 대한 깊은 이해 필요

도구나 언어의 장/단점 명확히 이해  + 대안을 논리적으로 분석

기록하는 습관
동료와 협업

 

 

출처 - Geeknews