현재 위치 - 법률 상담 무료 플랫폼 - 특허 조회 - 프로그래머는 어떻게 독립 개발자가 됩니까?
프로그래머는 어떻게 독립 개발자가 됩니까?
우리는 직장의 발전 경로와 능력 수준에 따라 프로그래머를 다음 네 등급으로 나누었다.

일반 현상제

숙련된 개발자, 선임 개발 엔지니어 및 기술 팀장

기술 전문가, 설계자, 일선 관리자

과학자, 수석 건축가, R&D 학과장

오늘 문장 에서 우리 는 일반 개발자 가 어떻게 숙련된 개발자 가 될 수 있는지 논의할 것 이다.

먼저 일반 개발자가 달성해야 할 능력의 수준을 정의한 다음, 그가 무엇을 높여야 다음 단계로 넘어갈 수 있는지를 소개합시다. (데이비드 아셀, Northern Exposure (미국 TV 드라마), 성공명언)

일반 개발자의 능력 수준

제가 자주 언급했던 기술 성장 단계의 그림을 보시죠.

일반 개발자는 첫 번째 성장 단계인 특수한 능력의 향상이다.

특수 능력의 진급 단계는 초급 단계이다. 일을 잘 하려면 우선 기본적인 능력을 갖추어야 한다. 예를 들어 프로그래밍 언어 (자바/C++/파이썬/자바스크립트 등) 가 있습니다. ), ide 1 개 (visual studio/Qt creator/Android studio/eclipse/webstorm 등). ) 와 기술 프레임워크 (Netty/Qt/SSH/MyBatis/AngularJS 등) 가 있습니다. ).

이 단계에서 가장 중요한 것은 자신의 특별한 능력을 향상시키고, 다른 사람이 당신에게 배정한 일을 빨리 얻고, 자신의 가치를 보여줄 수 있도록 하는 것이다. (조지 버나드 쇼, 자기관리명언)

이 단계에서는 최소한 다음 기준을 충족해야 합니다.

다른 사람이 분해한 잎 임무를 이해하고 완성할 수 있다.

하나의 기능 모듈 개발을 독립적으로 완성할 수 있다.

이전 개발자를 예로 들어 보겠습니다. 이 단계에서는 UI 의 페이지 프로토타입을 실행 및 조작할 수 있는 실제 웹 페이지로 변환할 수 있어야 합니다. 제품 상세 정보 표시 페이지와 같은 로그인 페이지는 시각화 페이지와 비즈니스 논리 점프를 가능하게 합니다.

안드로이드 애플리케이션 개발자를 예로 들어 보겠습니다. 이 단계에서 로그인 및 지불 등의 기능을 처리할 수 있어야 합니다. App 의 로그인 기능을 예로 들어 보겠습니다. 특정 레이아웃과 구성 요소를 사용하여 적응형 로그인 인터페이스를 구현할 수 있어야 하며 위챗, 웨이보 등 제 3 자 계정의 SDK 를 사용하여 제 3 자 계정 로그인을 할 수 있어야 합니다.

암호 암호화, 싱글 사인온, 쿠키 사용, 인증 코드, 암호 검색, 타사 로그인, 다중 터미널 동기화, 역할 인증, 사용자 데이터 저장소 등 전체 로그인 기능을 설계하기가 어려울 수 있습니다. ), 하지만 숙련 된 개발자 또는 수석 개발자가 디자인을 완료 하 고 작은 기능을 할당 하면, 당신은 디자인을 이해 하 고 구현, 전체 로그인 시스템과 통합, 정상적인 작업을 할 수 있어야 합니다.

이런 것들을 처리할 수 있을 때, 당신의 특수한 기술 수준은 적어도 이렇습니다.

필요한 개발 및 테스트 환경을 교묘하게 구축하다.

프로그래밍 언어의 기본 문법, 언어의 지식지도, 언어 자체의 기본 기능, 언어의 고급 기능에 익숙하다.

기존 기술 프레임워크의 API 를 호출하여 특정 기능을 구현할 수 있습니다.

동일한 기능을 구현하는 여러 그룹 API 에서 적절한 그룹을 선택할 수 있습니다.

개발 환경 및 다양한 보조 도구를 능숙하게 사용하여 디버깅할 수 있습니다.

재현이 쉽고 논리가 간단한 소프트웨어 버그를 해결할 수 있습니다.

새로운 프레임워크를 독립적으로 배울 수 있는 기본 API 는 DEMO 를 참조하여 기능의 기본 구현을 완료합니다.

제 총결산이 불완전하거나 버그가 있을 수 있으니 댓글 영역에서 보충해 주세요.

나는 우리 주변의 한 예가 생각나서 우리가 토론하고 있는 화제와 일치한다.

한 번은 친구 G 와 이야기를 나누면서 그의 부서가 프런트 엔드 개발을 하는 프로그래머 X 가 jQuery 를 이용해 다양한 페이지, 코드 중복, 구조가 어수선하다고 말했다. Vue.js 가 나온 후 G 는 새 버전에서 사용하고 싶어서 X 학습 Vue.js 를 배정해 회사 제품의 한두 페이지의 기능과 레이아웃을 참고하고 디자인을 단순화하며 비동기 데이터 요청 기능으로 두 페이지를 만들어 효과를 볼 수 있도록 했다. 그 결과 일주일 후, X 는 G 에게 Vue.js 가 너무 복잡해서 개발 문서와 코드를 이해할 수 없어 계속할 수 없다고 말했다. ...

만약 당신이 X 와 같은 상태에 있다면, 당신은 아직 일반 개발자의 단계에 있는 것이므로, 다른 사람의 지도와 일정에 따라 구체적인 세분화 기능을 인코딩하고 구현할 수 있습니다.

고급을 위해서는 먼저 위에 나열된 목록에 설명된 수준 (기본 요구 사항) 을 달성한 다음 숙련 개발자의 역량 요구 사항에 따라 목표 학습과 승진을 목표로 다음 단계로 꾸준히 진행해야 합니다.

보통과 숙련의 중요한 차이.

이전 기술 성장 단계도에 비해 숙련 개발자는 중간 단계에 있으며 자체 기술 체계를 갖추고 있다.

자신의 기술 체계를 가지고 있는 개념을 이해하기 위해 먼저 두 가지 개념을 살펴보겠습니다.

지식, 지식 체계

기술 및 기술 시스템

간단히 말해서 지식은 변화를 일으킬 수 있는 정보이고, 기술은 지식을 이용하여 문제를 해결하는 일련의 사상과 행동의 조합이다. 그러나 이것은 이해하기 쉽지 않다. 소프트웨어 개발 분야의 예를 들어 보겠습니다. C++ 의 가상 함수는 지식 포인트입니다. 가상 함수의 이러한 특성으로 모듈 인터페이스를 정의하여 모듈의 동적 로드를 실현하는 것은 기술입니다.

다음으로, 글쓰기의 편의를 위해, 나는 더 이상 지식과 기술을 구분하지 않고, 지식을 기술과 직접 동일시하며, 심지어 기술이라는 단어로 기술을 대신한다. 읽을 때는 문맥에 따라 구분해 주세요.

지식과 지식체계, 기술, 기술체계의 관계는 나무와 숲의 관계와 마찬가지로 스위스 군도의 칼, 가위, 스크루 드라이버, 스위스 군도의 관계와 같다.

예를 들어, 우리는 "시스템" 이 무엇인지 이해할 수 있어야 합니다.

지식체계란 특정 장면 문제를 해결하는 데 사용할 수 있는 몇 가지 상호 연관된 지식의 조합이다.

자, 이제 일반 개발자와 숙련 개발자의 차이를 돌아보는 것이 훨씬 쉬워졌습니다.

일반 개발자는 작업을 지속적으로 완료하고, 프로젝트를 계속하고, 다양한 "지식 포인트" 를 접하고 사용하기 때문에 다양한 개별 지식을 가지고 있지만, 이러한 지식은 그 지식과 거의 관련이 없습니다. 그가 가진 지식은 다음 그림과 같이 산병 유용이다.

지식 포인트가 연결되어 있지 않을 때, 문제가 발생했을 때 체계적인 사고를 하고 해결책을 얻기가 어렵다. (존 F. 케네디, 지식명언)

숙련된 개발자는 지식 포인트를 빗질하고 통합하는 과정을 거쳐 응용 프로그램 시나리오를 중심으로 분산된 지식 포인트를 연결하여 지식 체계를 형성합니다. 다음 그림과 같습니다.

지식 체계를 가지고 있을 때, 당신의 지식 체계에 해당하는 장면과 관련된 문제를 만났을 때, 관련 지식, 시스템 분석 문제, 그리고 최종적으로 문제를 해결할 수 있다. (존 F. 케네디, 지식명언)

알다시피, 숙련 된 개발자와 일반 개발자 사이의 매우 중요한 차이로 이어지는 지식 시스템이 있습니까? 숙련 된 개발자는 모듈 또는 서브 시스템의 설계 및 개발을 독립적으로 책임질 수 있으며, 문제 해결 능력과 작업 분해 능력을 분석 할 수 있으며, 일반 개발자에게 작업을 할당 할 수 있습니다.

고급 교육 방향

음, 기술적 관점에서, 일반 개발자와 숙련 된 개발자의 차이점은 일반 개발자의 지식은 시스템이 아니라 숙련 된 개발자가 응용 프로그램 장면과 관련된 지식 시스템을 구축한다는 것입니다.

이런 식으로, 정규적 인 개발자가 진보 되 고 싶은 경우에, 방향은 명확 하다: 그들의 자신의 지식 체계를 건설 하십시오.

그렇다면 지식 시스템을 구축하는 방법은 무엇입니까? 우선 제 또 다른 문장, 지식지도를 만들어서 자신을 더 가치있게 만들어라. (존 F. 케네디, 지식명언) 앞으로 기회가 생긴다면, 나는 새로운 문장 한 편을 재구조화하여 지식체계 구축에 대해 이야기할 것이다.