25P by neo 3일전 | favorite | 댓글 2개
  • 석유 및 시추 산업의 작은 회사에서 일하는 신입 데이터 엔지니어
    • 6개월 전 프리랜서 데이터 엔지니어로 고용되었으며, 작업 품질을 통해 인정받아 현재는 프로젝트의 설계, 구현 및 채용을 책임지는 기술 리드 역할을 하고 있음
    • 회사는 기술 회사가 아니기 때문에 기술 지향적인 동료가 몇 명 없으며, 그들과 거의 상호작용하지 않음
    • 현재 회사의 이사에게 직접 보고하며, 이사는 세계적으로 큰 석유 및 시추 회사에서 40년 이상의 경험을 가진 훌륭한 사람임
  • 그러나 동료나 선배로부터 많은 기술적인 것을 배우지 못해 FOMO를 강하게 느끼고 있음
    • 스스로 디자인 원칙을 배우고, chatGPT로부터 코드 리뷰를 받으며 최선을 다해 배우고 있지만, 엄격한 교차 검토가 없어서 산업의 최고 기준에 맞는 소프트웨어를 생산하지 못할까 두려움
  • 비슷한 위치에 있었던 사람이 있다면 조언을 부탁함

[투표를 많이 받은 상위 답변들 요약]

humanfromearth9

  • 나는 소프트웨어 개발에 대해 이야기 하지만 다른 도메인도 마찬가지 일 것
  • "당신이 사용하는 기술에 대해서 엄청 많이 읽으세요"

  • 나는 일을 시작했을 당시에 매일 기술 관련 글을 읽는 습관을 들였음
    • 하루 20-30분 동안 DZone의 Java, 소프트웨어 설계, 아키텍처, OOP 관련 글을 읽기
    • 반복과 습관이 중요함
  • 집중할 것
    • 모든 내용을 완전히 이해하려고 노력
      • 이해되지 않는 부분은 넘어가지 말고, 내용을 깊이 탐구
    • 글의 주제를 비판적으로 분석
      • 작성자가 무엇을 전달하려는지 파악
      • "내가 작성자라면 어떻게 했을까?" 를 생각
      • 유용해 보이는 내용을 직접 적용하고, 한계를 극복하는 방법을 고민
  • 가끔은 기사뿐 아니라, IT 서적을 읽으며 심도 있는 학습 진행
    • 특정 기술이나 주제에 대한 더 깊은 통찰 제공
  • 그리고 더 나아가 기술 비교 및 탐구
    • OOP 패턴이 어떻게 FP 패턴으로 대체 가능한지 탐구
      • OOP 클래스와 FP 클로저의 유사점과 차이점 이해
    • 다양한 패러다임 간의 차이를 비교하고, 자신의 기술적 시각 확장
  • 그리고, 기초 실무 능력 강화도 중요함
    • 트랜잭션 관리와 같은 핵심 실무 기술의 전문가 되기
    • 실무에서 자주 사용되는 필수 개념과 기술 숙달
  • 이렇게 배운 "이론을 실제로 적용하는 것"이 핵심

iepathos

  • 나도 경력 초반에 비슷한 상황이었음
  • 유명한 오픈 소스 프로젝트에 적극적으로 기여
    • 이미 사용하고 있는 프로젝트를 선택하면 친숙함을 활용 가능
    • 고품질의 PR(Pull Request)을 제출하려고 노력
      • 이를 통해 전 세계 최고의 엔지니어들로부터 무료 코드 리뷰를 받을 수 있음
      • 리뷰 과정에서 엄청난 학습 기회를 제공받고, 자신의 코드가 수천~수백만 회사에서 사용됨
    • 오픈 소스 활동은 실무 경험을 쌓는 훌륭한 방법
  • 약하다고 느끼는 분야를 찾아 집중적으로 학습
    • 예: 네트워킹, DSA(Data Structures & Algorithms)
    • 해당 주제를 공부하고, 실습을 통해 더 이상 약점으로 느껴지지 않을 때까지 연습
    • 만약 팀이 있다면, 팀 리더나 매니저가 약점을 자연스럽게 보완할 수 있는 작업을 배정해 줄 수 있음
    • 독립적으로 학습해야 하는 경우, 자신의 약점을 파악하고 스스로 극복해야 함
  • 직장에서 항상 최선을 다하기
    • 주어진 업무에 최선을 다함
      • 이는 누구나 할 수 있는 기본적인 태도지만, 지속적으로 실천하면 성공으로 이끄는 습관이 됨
    • 적극적으로 노력하면, 어떤 환경에서도 성공으로 이어지는 기반을 마련할 수 있음

vinay_ys

  • 지속 가능한 성장을 위한 중요한 교훈들
  • 효과적으로 배우는 방법 익히기
    • 지속적이고 효율적인 학습 능력을 키우는 것이 중요
      • 기술은 빠르게 변화하며, 시장과 흥미를 따라 다양한 도메인을 탐험해야 할 때가 많음
      • 이는 두 가지 측면에서 작용
        • 축복: 늦게 시작해도 노력과 지능으로 상위 퍼센타일에 진입 가능
        • 저주: 경력이 쌓여도 끊임없이 새로운 기술을 배워야 함
    • 지속 가능한 학습 전략을 구축해 시장의 변화에 유연하게 적응
  • 비기술적 역량 연마
    • 비기술적 역량은 시간이 지날수록 복리 효과를 발휘 (좋은 습관/나쁜 습관 모두 해당)
      • 절제력, 명확한 사고와 표현, 전문성, 신뢰성, 신체적/정신적 건강 관리, 의존가능한 사람 되기, 성장 마인드셋, 모호성과 불확실성 속에서 성공적으로 적응하기 등
      • 커뮤니케이션 스킬: 효과적인 협업 기술, 피드백 주고받기, 멘토링 및 코칭, 다양한 직급의 사람들과 협력 (상급자, 하급자, 동료 등)
      • 많은 독서를 통해 멘탈 모델 개발, 문제 해결 능력, 전략적 트레이드오프 및 의사결정 기술 연마
  • 위 내용들에 대해서 스스로 학습하고, 사람들의 행동을 관찰하며 교훈 얻기
    • 책을 읽고, (여기와 같은) 포럼 등에서 낯선 사람들과의 대화로 통찰력 키우기

우물 안 개구리가 될 수도 있겠지만, 그 회사에서 일하는 방법에 있어서는 스페셜리스트가 될수도 있겠네요. 모든 인프라를 맨바닥에서 다 부딪히면서 새로 만들어야할테니...

Hacker News 의견

  • 신입 데이터 엔지니어로서의 경고 신호들

    • 회사는 신입을 저렴한 노동력으로 볼 수 있음
    • 프리랜서로 고용되어 혜택 없이 일할 수 있음
    • 신입이 기술 리드로서의 역할을 수행하기에는 자격이 부족할 수 있음
    • 프로젝트의 설계, 구현, 채용에 대한 책임을 맡는 것은 1인 팀으로서의 위험을 내포함
    • 기술 중심의 동료가 적은 회사에서는 예산이 제한될 수 있음
  • 모든 사람에게서 배울 수 있으며, 독립적으로 학습하는 것이 중요함

    • 주변의 모든 사람에게서 배울 수 있으며, 웹을 통해 독립적으로 학습할 수 있음
    • 실수를 방지하거나 문제를 해결해줄 사람이 있다고 안심하지 말고, 책임을 지고 학습하는 것이 중요함
  • 자신의 위치에 대해 긍정적인 경험을 공유함

    • 높은 급여와 좋은 근무 환경을 누리고 있으며, 회사의 지원을 받고 있음
    • 착취당하지 않고 있으며, 이 사실을 명확히 하고자 함
  • 현재 위치에서 성장할 수 있는 기회를 고려해야 함

    • FAANG 회사에서 높은 수준의 프로젝트를 추구하는 것도 좋지만, 현재 산업에서 더 나은 성과를 내는 것도 흥미로울 수 있음
    • 선배 동료에게서 배우는 것은 상황에 따라 다를 수 있음
  • 멘토 없이도 독립적으로 학습할 수 있음

    • 알고리즘과 신경망 이론을 배우고, 작은 프로그램을 작성하며, 단순함을 추구하는 것이 중요함
    • 오픈 소스 프로젝트에 참여하고, GitHub에 사이드 프로젝트를 올려 자신의 설계 능력을 개발해야 함
  • 온라인 커뮤니티와 블로그를 통해 학습을 가속화할 수 있음

    • Reddit, Discord, Stackoverflow와 같은 온라인 커뮤니티를 활용하여 학습할 수 있음
    • 블로그를 시작하여 학습 내용을 기록하고, 컨퍼런스에 참석하여 지식을 확장할 수 있음
  • 기술적 결정을 내리고 그 결과를 평가하는 경험이 중요함

    • 많은 기술적 결정을 내리고 그 결과를 평가하는 것이 가치 있는 경험이었음
    • 자신의 결정에 대한 평가를 통해 통찰력을 얻고, 새로운 직장에서 존경을 받을 수 있었음
  • 더 나은 환경을 찾아 이동하는 것이 중요할 수 있음

    • 자신이 가장 똑똑한 사람이라면 다른 곳으로 이동하여 경험을 쌓는 것이 중요함
    • 좋은 선배 엔지니어가 있는 회사에서도 직접적인 멘토를 찾기 어려울 수 있지만, 경험을 통해 성장할 수 있음