2023년 CTO를 위한 8가지 과제
디지털 트랜스포메이션의 가속화로 인해 기업 내 기술 문제를 관리하는 최고기술책임자(CTO)의 역할이 점점 더 중요해지고 있습니다. CTO...
각 제품마다 우리는 벤처의 미래를 결정하는 많은 타협과 도전에 직면합니다. 그러나 가장 중요한 딜레마는 기술, 즉 기술 선택이며, 이는 미래의 모든 측면에 영향을 미치기 때문입니다. 이 글에서는 이러한 결정을 내릴 때 발생하는 딜레마를 제시하고자 합니다.
각 제품벤처의 미래를 결정짓는 많은 타협과 도전에 직면해 있습니다. 하지만 기술, 즉 기술 선택이는 미래의 모든 측면에 영향을 미치기 때문에 가장 중요한 딜레마입니다. 이 글에서는 이러한 결정을 내리는 것과 관련된 난제를 제시하고자 합니다.
다음에 적합한 기술 선택 제품 개발 에 상당한 영향을 미칠 수 있는 중요한 구성 요소입니다. 프로젝트 성공할 수 있습니다. 이 게시물에서는 귀사에 적합한 기술을 결정할 때 고려해야 할 가장 중요한 변수에 대해 설명합니다. 제품 개발 필요합니다. 다음 5가지 규칙은 다음과 같습니다. 제품 개발에 적합한 기술 선택:
1. 프로젝트 요구 사항 정의
기술 선택 프로세스를 시작하기 전에 프로젝트의 요구 사항을 종합적으로 파악하는 것이 중요합니다. 여기에는 해결하려는 문제, 대상 고객, 원하는 기능 및 기술 요구 사항의 개요가 포함됩니다. 잘 정의된 요구사항 목록은 프로젝트의 요구사항에 따라 다양한 기술을 평가하는 데 도움이 될 수 있습니다.
제품이 발전함에 따라 사용자, 데이터, 기능의 증가를 따라잡을 수 있는 기술이 필요합니다. 기술을 얼마나 쉽게 확장할 수 있는지, 확장 리소스를 사용할 수 있는지 살펴보세요. 확장 가능한 기술을 사용하면 제품이 향후 성장에 대응할 수 있습니다.
3. 유연성 및 적응성
제품 요구 사항은 시간이 지남에 따라 달라질 수 있으므로 이러한 변화에 적응할 수 있는 기술을 선택하는 것이 중요합니다. 새로운 기능을 간편하게 추가하거나 기존 기능을 수정하여 제품의 관련성을 유지하고 최신 상태를 유지할 수 있는 기술을 찾아야 합니다.
4. 개발자 전문성
귀사의 전문성과 경험 팀 다양한 기술을 활용하는 것은 프로젝트의 성공에 매우 중요합니다. 익숙한 기술을 사용하면 학습 곡선을 줄이면서 생산성을 높일 수 있습니다. 새로운 기술이 프로젝트에 더 적합하다면 직원에게 적절한 교육과 지원을 제공해야 합니다.
5. 보안
데이터 보안과 개인정보 보호의 중요성이 커짐에 따라 각 기술의 보안 측면을 평가하는 것이 중요합니다. 선택한 기술이 제품의 보안 요구 사항을 충족하고 관련 규정 및 업계 표준을 준수하는지 확인합니다.
프로그래머로 일하면서 많은 제품과 많은 CTOs를 통해 작업의 가장 중요한 측면과 관련된 문제, 프로젝트 및 기술과 관련된 어려움을 파악할 수 있었는데요, 그 중 몇 가지를 소개합니다:
제품은 고가용성이어야 하며 구현 및 운영에 문제가 없어야 합니다. 각 기술은 적절한 환경에서 잘 작동하도록 설계되었기 때문에 결정이 매우 중요합니다. Elixir와 GoLang이 있는 환경에서 고가용성 웹 애플리케이션에 C ++를 넣는 것은 다소 위험한 선택일 수 있지만, 이를 통해 강력하고 확장 가능한 애플리케이션을 만들 수 있습니다. 반면에 IOT 리소스가 거의 없는 경우에는 결정이 달라질 수 있습니다. Ruby 는 위에서 언급한 각 질문에 대한 답이 될 수 있으며, 이는 모두 애플리케이션이나 웹사이트를 유지 관리할 때 고려하는 사항과 타협점에 따라 달라집니다.
매년 수많은 기술이 만들어지고, 그 중 일부는 개발 당시에는 혁명적인 기술입니다. 문제는 지금이 그 기술을 사용할 시기인지 여부입니다. 기술의 성숙도는 전문가의 존재 여부뿐만 아니라 기본적으로 커뮤니티가 문서, 라이브러리, 강좌, 기사 등의 형태로 어떤 일을 하는지에 따라 달라집니다.
GitHub의 새 리포지토리 수를 비교할 수는 없습니다. JavaScript JavaScript에는 새로운 대형 프레임워크와 라이브러리가 많고 각각 개발 및 구축 패키지가 필요하기 때문입니다. 루비에서는 하나의 주요 프레임워크와 이와 관련된 에코시스템이 있기 때문에 이미 많은 인증 라이브러리나 API 고객들이 구축 및 유지 관리되고 있으며, 그에 대한 문제점도 잘 알려져 있습니다. 따라서 저희의 트랜잭션 시스템이 은행 는 다음을 기반으로 합니다. Java JavaScript와 ExpressJS가 아니라, 여러분이 알고 있는 스타트업이 선택한 새로운 기술에서 아무도 문제를 해결하지 못해 애플리케이션 아키텍처를 길들이는 데 문제가 있다는 것입니다.
하지만 펄이나 코볼은 누구나 들어봤을 정도로 오래 전부터 잘 알려진 기술이지만 안타깝게도 개발자들이 이 기술로 작업하도록 장려할 만큼 유행하지는 않습니다. 특히 연령대가 높을수록 프로그래머의 수가 적기 때문에 트렌드는 인재를 유치하는 데 중요한 요소입니다.
IT 프로젝트를 처리하는 동안 우리는 프로그래밍을 하지는 않지만 무슨 일이 일어나고 있는지 정확히 이해해야 합니다. 먼저 LinkedIn에 가서 해당 국가에 얼마나 많은 전문가가 있는지 확인하면 우리가 다루고 있는 환경이 얼마나 큰지 알 수 있습니다. 또한 클러치 를 확인하고 소프트웨어 하우스 시장 처럼 보입니다. 급격한 성장과 빠른 구인난에 대비해야 합니다. 물론 잠재적 후보자가 많다고 해서 품질이 좋은 것은 아니지만, 인재를 확보하고 다양한 전문가에게 제안을 전달하기가 더 쉬워집니다.
또한 회사의 직원이 교체 가능하다고 가정해야합니다. 코로나 이후 기간에는 격리로 인해 많은 회사를 차단할 수 있었기 때문에 특히 중요합니다. 이러한 접근 방식을 사용하면 전문가 유출의 위기를 피하고 기술 문서를 확장 할 수 있습니다.
위의 포인트를 조합하면 운영 비용이 발생하므로 실제로 애플리케이션을 유지 관리하는 데 드는 비용과 개발 팀. 하지만 애플리케이션의 전체 백엔드에 대해 기억해야 하며, 제품 운영에 중요한 서비스를 위해 IaaS 및 SaaS 솔루션을 선택할 수도 있습니다.
각각의 자체 호스팅 서비스 관리는 추가 비용이 발생하고 목표와 멀어지게 하는 부담이 됩니다. 제품 개발의 초기 단계에서는 Netlify나 Heroku와 같이 잘 알려진 솔루션이라도 전체 환경을 하나의 파이프라인으로 통합하므로 처음부터 모든 것을 만드는 데 팀의 시간을 낭비하지 않아도 됩니다.
장기적으로는 도로에 바로 사용할 수 있는 인프라가 처음부터 다시 만드는 것보다 더 저렴할 수 있습니다. 운영 비용, 주어진 기능에 대한 팀의 성과, 기술의 성숙도, 시장에서 사용 가능한 직원의 범위가 매우 중요합니다.