52P by xguru 2023-11-06 | favorite | 댓글 6개
  • 작은 프로젝트라도 각 프로젝트는 자신의 도구 상자에 새로운 기술과 도구를 추가할 수 있는 기회
  • 한 프로젝트에서 배운 기술을 다른 프로젝트에서 배운 도구와 결합하여 문제를 해결할 수 있을 때 더 큰 가치를 창출할 수 있음. 모든 것이 합산됨
  • 처음엔 언어/라이브러리를 배우지만, 경력이 발전하면서 관심범위가 넓어져야 함
  • 기술 측면뿐만 아니라 접근 방식, 방법론 및 패러다임 측면에서도 마찬가지
  • 엔지니어로서 발전하는 데 있어 진정한 가치는 단지 고립된 기술을 쌓는 데 있는 것이 아니라, 이를 각 부분의 합보다 더 큰 능력의 복잡한 그물로 엮는 것

도구 상자

  • 엔지니어링 기술을 도구 상자로 상상해 보면, 새 알고리듬/언어/프레임워크 등 새로운 것을 배울 때마다 기본적으로 이 상자에 도구가 하나씩 추가되는 것
  • 하지만 도구가 있다는 것과 도구를 효과적으로 사용하는 시기와 방법을 아는 것은 완전히 다른 문제
  • 바로 여기에 경험의 가치가 있음
  • 각 프로젝트는 규모에 관계없이 특정 도구를 사용해야 하는 상황을 이해하는 데 도움이 되는 고유한 과제를 제공함
  • "안락한 영역은 편안하지만 교훈을 주는 경우는 드뭅니다. 적극적으로 스트레칭을 할 수 있는 프로젝트를 찾아보세요. 그러면 도구 상자가 고마워할 겁니다."

  • 하지만 도구 상자는 고정된 개체가 아니라 사용자와 함께 진화함
  • 시간이 지남에 따라 더 많은 도구를 추가할 뿐만 아니라 점점 더 복잡한 문제를 해결하기 위해 새로운 방식으로 도구를 결합하기 시작할 것
  • 한 프로젝트에서 RESTful API를 사용한 경험이 다른 프로젝트에서 타사 서비스를 능숙하게 통합하는 데 도움이 될 수 있음
  • 멀티스레딩에 대한 이해는 데이터가 많은 애플리케이션의 성능을 극적으로 최적화할 수 있음
  • 핵심은 각 프로젝트마다 별도의 도구 상자가 필요하지 않다는 것
  • 하나의 도구 상자로 각 프로젝트의 고유한 요구 사항과 제약 조건의 이점을 활용할 수 있음

기술과 도구의 페어링

  • 훌륭한 엔지니어와 그렇지 않은 엔지니어를 구분하는 것은 한 프로젝트에서 배운 기술을 다른 프로젝트에서 습득한 도구와 결합하는 능력
  • 이러한 교차 수분(Pollination, 꽃받침에 꽃가루를 공급하는 것)은 보다 효율적인 문제 해결을 가능하게 하고 종종 더 훌륭한 솔루션으로 이어짐
  • 도구 상자의 품질은 "도구의 수"가 아니라 "도구가 해결할 수 있는 문제의 풍부함"에 따라 결정됨
  • 실제 사례
    • 재고 수를 정확하게 유지하기 위해 데이터베이스 트랜잭션에 대한 깊은 이해를 바탕으로 이커머스 웹사이트에서 작업했다고 가정
    • 별도의 프로젝트에서 실시간 채팅 애플리케이션을 위한 웹소켓 프로그래밍에 대해 깊이 파고들었음
    • 이제 재고 관리를 위한 실시간 대시보드를 개발하는 임무를 맡게 됨
    • 이처럼 서로 다른 프로젝트에서 배운 기술을 통합하여 강력한 솔루션을 만들 수 있음
    • 데이터베이스 트랜잭션에 대한 깊은 이해를 활용하여 재고 데이터의 안정성과 일관성을 보장하는 동시에 WebSockets를 사용하여 대시보드에 실시간 업데이트를 푸시할 수 있음
    • 이러한 기술을 결합하면 문제를 해결할 수 있을 뿐만 아니라 효율적이고 우아한 방식으로 문제를 해결할 수 있다는 뚜렷한 이점이 있음
  • 안전지대를 넘어서 뻗어나가기 : 자신의 안전지대를 넘어서는 스트레칭이 중요한 점
    • 익숙하고 덜 부담스러운 기존 스킬 세트와 일치하는 프로젝트에 끌리기 쉬움
    • 하지만 다양한 경험을 쌓을수록 도구의 폭이 넓어지고, 이러한 결실을 맺을 수 있는 능력이 향상됨
    • 새로운 것을 배우거나 이전에 해보지 않은 방식으로 생각하도록 만드는 프로젝트를 적극적으로 찾아볼 것
    • 겉으로 보기에는 전혀 관련이 없어 보이는 프로젝트에서도 많은 이점이 있다는 것을 알게 될 것

민첩성과 적응력 유지

  • 기술은 항상 발전하고 있으며, 오늘 익힌 도구가 내일은 그다지 유용하지 않을 수도 있음
  • 하지만 그렇다고 해서 도구가 쓸모없어지는 것은 아님. 오히려 변화에 적응하고 혁신하는 능력을 키울 수 있음
  • 예를 들어, 클라우드 네이티브 아키텍처가 등장했다고 해서 기존의 관계형 데이터베이스에 대한 지식이 무의미해지지는 않았음
  • SQL과 데이터베이스 설계의 기본을 이해하면 최신 데이터 스토리지 솔루션으로 작업하는 능력을 크게 향상시킬 수 있음

가치 있는 경험을 쌓기 위한 실용적인 팁

  • 도구를 마스터하는 것은 언제 어떻게 사용해야 하는지 알아가는 여정에 대한 하나의 이정표
  • 경험을 쌓기 위한 다양한 옵션이 있음
    • 다양한 프로젝트를 큐레이션 하기: 다양한 규모, 다양한 기술, 다양한 문제 영역의 다양한 프로젝트에서 작업해 볼 것. 각 프로젝트마다 도구 상자에 고유한 무언가를 추가할 수 있음
    • 반영하고 문서화하기: 프로젝트를 완료한 후에는 배운 내용을 되돌아보는 시간을 가질 것. 더 좋은 방법은 문서화하는 것. '배운 교훈'이 담긴 비공개 저장소나 공개 블로그 게시물을 통해 이해를 공고히 하고 지식을 공유할 수 있음
    • 커뮤니티에 참여하기: 오픈소스 기여 또는 개발자를 위한 맞춤형 소셜 플랫폼을 통해 커뮤니티에 참여하면 다른 방법으로는 접할 수 없는 문제를 접할 수 있음
    • 멘토와 멘토링 받기: 배운 것을 통합하는 가장 효과적인 방법 중 하나는 다른 사람에게 가르치는 것. 마찬가지로, 자신이 잘 모르는 분야를 전문으로 하는 엔지니어에게 조언을 구하거나 배우는 것을 주저하지 말 것
    • 배움을 멈추지 말기: 온라인 강좌, 웨비나, 주말에 새로운 언어를 익히는 등 지속적인 학습은 끊임없이 진화하는 커리어를 위한 윤활유

결론

  • 기술 교차 수분(Pollination)은 단순한 우연이 아니라 엔지니어링의 우아함
  • 최고의 솔루션은 종종 예상치 못한 기술의 조합에서 나옴
  • 따라서 다음에 새로운 문제와 씨름하게 될 때, 경험의 도구 상자를 자세히 살펴볼 것
  • 새로운 도구를 마스터하는 것이 아니라 수년간 쌓아온 도구를 현명하게 사용하는 데서 해결책을 찾을 수 있을 것
  • 문제 해결에 대한 이러한 다층적이고 미묘한 접근 방식이야말로 진정으로 커리어를 발전시키고 엔지니어로서 여러분을 차별화하는 요소임

ai가 문턱을 많이 낮춰줘서 이러한 전환이 더 빨라진 것 같어요

SI/SM 탈출은 선착순입니다. 선례가 하나도 없거든요. 이런 알맹이 없는 속 빈 강정을 경험이랍시고 자신은 KOSA 기준 고급이라 주장하는 개발자가 있다면, 여러분에게 절대 좋은 경험을 주지 못할 겁니다. KOSA는 공식적인 자격증명도 아닌 개쓰레기 폐기물급 데이터 쪼가리에 불과하거든요.

경험을 쌓게 기회 좀 -_-
좋소에서는 쌓을수 없다. 특히 PHP 충들이 있다면 더더욱!

요즘 절감하고 있습니다.
공부만으로는 안되더라고요.
좋은 회사(좋은 경험을 위한)로 이직하는것만이 답일까요?

다양한 프로젝트를 경험할수 있는 곳이 좋은 회사라고 말하기는 또 어려워서요.
이직이 꼭 답이라고 하진 못할 것 같아요. 이직은 정말 힘들기도 해서요.
당장은 사이드프로젝트를 진행해보는게 가장 좋지 않을까요?

감사합니다. 당장 시작해볼게요 ㅎㅎ