GN⁺: Ask HN: 배울 수 있는 훌륭한 시니어 없이, 엔지니어로 어떻게 성장할 수 있을까요?
(news.ycombinator.com)- 석유 및 시추 산업의 작은 회사에서 일하는 신입 데이터 엔지니어
- 6개월 전 프리랜서 데이터 엔지니어로 고용되었으며, 작업 품질을 통해 인정받아 현재는 프로젝트의 설계, 구현 및 채용을 책임지는 기술 리드 역할을 하고 있음
- 회사는 기술 회사가 아니기 때문에 기술 지향적인 동료가 몇 명 없으며, 그들과 거의 상호작용하지 않음
- 현재 회사의 이사에게 직접 보고하며, 이사는 세계적으로 큰 석유 및 시추 회사에서 40년 이상의 경험을 가진 훌륭한 사람임
- 그러나 동료나 선배로부터 많은 기술적인 것을 배우지 못해 FOMO를 강하게 느끼고 있음
- 스스로 디자인 원칙을 배우고, chatGPT로부터 코드 리뷰를 받으며 최선을 다해 배우고 있지만, 엄격한 교차 검토가 없어서 산업의 최고 기준에 맞는 소프트웨어를 생산하지 못할까 두려움
- 비슷한 위치에 있었던 사람이 있다면 조언을 부탁함
[투표를 많이 받은 상위 답변들 요약]
humanfromearth9
- 나는 소프트웨어 개발에 대해 이야기 하지만 다른 도메인도 마찬가지 일 것
-
"당신이 사용하는 기술에 대해서 엄청 많이 읽으세요"
- 나는 일을 시작했을 당시에 매일 기술 관련 글을 읽는 습관을 들였음
- 하루 20-30분 동안 DZone의 Java, 소프트웨어 설계, 아키텍처, OOP 관련 글을 읽기
- 반복과 습관이 중요함
- 집중할 것
- 모든 내용을 완전히 이해하려고 노력
- 이해되지 않는 부분은 넘어가지 말고, 내용을 깊이 탐구
- 글의 주제를 비판적으로 분석
- 작성자가 무엇을 전달하려는지 파악
- "내가 작성자라면 어떻게 했을까?" 를 생각
- 유용해 보이는 내용을 직접 적용하고, 한계를 극복하는 방법을 고민
- 모든 내용을 완전히 이해하려고 노력
- 가끔은 기사뿐 아니라, IT 서적을 읽으며 심도 있는 학습 진행
- 특정 기술이나 주제에 대한 더 깊은 통찰 제공
- 그리고 더 나아가 기술 비교 및 탐구
- OOP 패턴이 어떻게 FP 패턴으로 대체 가능한지 탐구
- OOP 클래스와 FP 클로저의 유사점과 차이점 이해
- 다양한 패러다임 간의 차이를 비교하고, 자신의 기술적 시각 확장
- OOP 패턴이 어떻게 FP 패턴으로 대체 가능한지 탐구
- 그리고, 기초 실무 능력 강화도 중요함
- 트랜잭션 관리와 같은 핵심 실무 기술의 전문가 되기
- 실무에서 자주 사용되는 필수 개념과 기술 숙달
- 이렇게 배운 "이론을 실제로 적용하는 것"이 핵심
iepathos
- 나도 경력 초반에 비슷한 상황이었음
-
유명한 오픈 소스 프로젝트에 적극적으로 기여
- 이미 사용하고 있는 프로젝트를 선택하면 친숙함을 활용 가능
- 고품질의 PR(Pull Request)을 제출하려고 노력
- 이를 통해 전 세계 최고의 엔지니어들로부터 무료 코드 리뷰를 받을 수 있음
- 리뷰 과정에서 엄청난 학습 기회를 제공받고, 자신의 코드가 수천~수백만 회사에서 사용됨
- 오픈 소스 활동은 실무 경험을 쌓는 훌륭한 방법
- 약하다고 느끼는 분야를 찾아 집중적으로 학습
- 예: 네트워킹, DSA(Data Structures & Algorithms) 등
- 해당 주제를 공부하고, 실습을 통해 더 이상 약점으로 느껴지지 않을 때까지 연습
- 만약 팀이 있다면, 팀 리더나 매니저가 약점을 자연스럽게 보완할 수 있는 작업을 배정해 줄 수 있음
- 독립적으로 학습해야 하는 경우, 자신의 약점을 파악하고 스스로 극복해야 함
- 직장에서 항상 최선을 다하기
- 주어진 업무에 최선을 다함
- 이는 누구나 할 수 있는 기본적인 태도지만, 지속적으로 실천하면 성공으로 이끄는 습관이 됨
- 적극적으로 노력하면, 어떤 환경에서도 성공으로 이어지는 기반을 마련할 수 있음
- 주어진 업무에 최선을 다함
vinay_ys
- 지속 가능한 성장을 위한 중요한 교훈들
- 효과적으로 배우는 방법 익히기
-
지속적이고 효율적인 학습 능력을 키우는 것이 중요
- 기술은 빠르게 변화하며, 시장과 흥미를 따라 다양한 도메인을 탐험해야 할 때가 많음
- 이는 두 가지 측면에서 작용
- 축복: 늦게 시작해도 노력과 지능으로 상위 퍼센타일에 진입 가능
- 저주: 경력이 쌓여도 끊임없이 새로운 기술을 배워야 함
- 지속 가능한 학습 전략을 구축해 시장의 변화에 유연하게 적응
-
지속적이고 효율적인 학습 능력을 키우는 것이 중요
- 비기술적 역량 연마
- 비기술적 역량은 시간이 지날수록 복리 효과를 발휘 (좋은 습관/나쁜 습관 모두 해당)
- 절제력, 명확한 사고와 표현, 전문성, 신뢰성, 신체적/정신적 건강 관리, 의존가능한 사람 되기, 성장 마인드셋, 모호성과 불확실성 속에서 성공적으로 적응하기 등
- 커뮤니케이션 스킬: 효과적인 협업 기술, 피드백 주고받기, 멘토링 및 코칭, 다양한 직급의 사람들과 협력 (상급자, 하급자, 동료 등)
- 많은 독서를 통해 멘탈 모델 개발, 문제 해결 능력, 전략적 트레이드오프 및 의사결정 기술 연마
- 비기술적 역량은 시간이 지날수록 복리 효과를 발휘 (좋은 습관/나쁜 습관 모두 해당)
- 위 내용들에 대해서 스스로 학습하고, 사람들의 행동을 관찰하며 교훈 얻기
- 책을 읽고, (여기와 같은) 포럼 등에서 낯선 사람들과의 대화로 통찰력 키우기
우물 안 개구리가 될 수도 있겠지만, 그 회사에서 일하는 방법에 있어서는 스페셜리스트가 될수도 있겠네요. 모든 인프라를 맨바닥에서 다 부딪히면서 새로 만들어야할테니...
Hacker News 의견
-
신입 데이터 엔지니어로서의 경고 신호들
- 회사는 신입을 저렴한 노동력으로 볼 수 있음
- 프리랜서로 고용되어 혜택 없이 일할 수 있음
- 신입이 기술 리드로서의 역할을 수행하기에는 자격이 부족할 수 있음
- 프로젝트의 설계, 구현, 채용에 대한 책임을 맡는 것은 1인 팀으로서의 위험을 내포함
- 기술 중심의 동료가 적은 회사에서는 예산이 제한될 수 있음
-
모든 사람에게서 배울 수 있으며, 독립적으로 학습하는 것이 중요함
- 주변의 모든 사람에게서 배울 수 있으며, 웹을 통해 독립적으로 학습할 수 있음
- 실수를 방지하거나 문제를 해결해줄 사람이 있다고 안심하지 말고, 책임을 지고 학습하는 것이 중요함
-
자신의 위치에 대해 긍정적인 경험을 공유함
- 높은 급여와 좋은 근무 환경을 누리고 있으며, 회사의 지원을 받고 있음
- 착취당하지 않고 있으며, 이 사실을 명확히 하고자 함
-
현재 위치에서 성장할 수 있는 기회를 고려해야 함
- FAANG 회사에서 높은 수준의 프로젝트를 추구하는 것도 좋지만, 현재 산업에서 더 나은 성과를 내는 것도 흥미로울 수 있음
- 선배 동료에게서 배우는 것은 상황에 따라 다를 수 있음
-
멘토 없이도 독립적으로 학습할 수 있음
- 알고리즘과 신경망 이론을 배우고, 작은 프로그램을 작성하며, 단순함을 추구하는 것이 중요함
- 오픈 소스 프로젝트에 참여하고, GitHub에 사이드 프로젝트를 올려 자신의 설계 능력을 개발해야 함
-
온라인 커뮤니티와 블로그를 통해 학습을 가속화할 수 있음
- Reddit, Discord, Stackoverflow와 같은 온라인 커뮤니티를 활용하여 학습할 수 있음
- 블로그를 시작하여 학습 내용을 기록하고, 컨퍼런스에 참석하여 지식을 확장할 수 있음
-
기술적 결정을 내리고 그 결과를 평가하는 경험이 중요함
- 많은 기술적 결정을 내리고 그 결과를 평가하는 것이 가치 있는 경험이었음
- 자신의 결정에 대한 평가를 통해 통찰력을 얻고, 새로운 직장에서 존경을 받을 수 있었음
-
더 나은 환경을 찾아 이동하는 것이 중요할 수 있음
- 자신이 가장 똑똑한 사람이라면 다른 곳으로 이동하여 경험을 쌓는 것이 중요함
- 좋은 선배 엔지니어가 있는 회사에서도 직접적인 멘토를 찾기 어려울 수 있지만, 경험을 통해 성장할 수 있음