프로그래머라는 직업은 무엇인가요?
프로그래머에는 컴퓨터 전공자, 소프트웨어 개발 전공자, 전자정보 전공자, 커뮤니케이션 전공자, 소프트웨어 공학자 등이 포함될 수 있습니다. 프로그래머는 주로 소프트웨어 설계, 프로그램 코딩을 포함하여 폭넓은 분야를 가지고 있습니다. 요즘에는 사무직 기술자도 프로그래머라고 부를 수 있습니다.
프로그래머의 필수 능력
1. 개발 도구에 능숙함
프로그래머로서 최소한 2~3개의 개발 도구를 능숙하게 사용하는 것이 프로그래머의 기초입니다. C/C++ 및 JAVA는 가장 권장되는 개발 도구입니다. C/C++는 높은 효율성과 높은 유연성으로 인해 여전히 많은 시스템 수준 소프트웨어가 C/C++로 작성되는 강력한 도구가 되었습니다. JAVA의 크로스 플랫폼과 WEB과의 우수한 통합성은 JAVA의 장점이며, 관련 기술 집합인 JAVAOne인 JAVA는 향후 주류 개발 도구 중 하나로 자리잡을 가능성이 높습니다. 둘째, VB, PowerBuilder, Delphi, CBuilder와 같은 간단한 시각적 개발 도구를 익히는 것이 좋습니다. 이러한 개발 도구는 개발의 어려움을 줄이고 프로그래머의 개체 모델 개념을 강화할 수 있습니다. 또한, 쉘, 펄 등 기본 스크립트 언어를 마스터해야 하며, 최소한 이러한 스크립트 코드를 읽을 수 있어야 합니다.
2. 데이터베이스에 익숙함
데이터베이스가 왜 그렇게 중요한가요? 프로그래머로서 그들은 당연히 자신만의 이유가 있습니다. 많은 응용 프로그램이 데이터베이스 데이터를 중심으로 하고 있으며, 많은 데이터베이스 제품이 있습니다. 그 중에는 관계형 데이터베이스가 여전히 주류 형태이므로 프로그래머는 적어도 하나 또는 두 개의 데이터베이스에 능숙합니다. 관계형 데이터베이스의 핵심 요소에 대해 매우 명확해야 하며, SQL의 기본 구문에 능숙해야 합니다. 많은 데이터베이스 제품이 시각적 데이터베이스 관리 도구를 제공하지만 SQL은 기초이자 보편적인 데이터베이스 운영 방법입니다. 상용 데이터베이스 시스템에 접근할 수 없다면, mySQL, Postgres 등과 같은 무료 데이터베이스 제품을 사용하는 것이 좋습니다.
3. 운영체제를 이해하세요
현재 주류 운영체제는 Windows와 Linux/Unix입니다. 이러한 운영체제를 능숙하게 사용하는 것이 필요하지만 이것만으로는 충분하지 않습니다. 진정한 프로그래밍 마스터가 되려면 운영 체제, 메모리 관리 메커니즘, 프로세스/스레드 스케줄링, 신호, 커널 개체, 시스템 호출, 프로토콜 스택 구현 등에 대한 심층적인 이해가 필요합니다. 소스 코드 개발을 위한 운영 체제로서 Linux는 현대 운영 체제의 거의 모든 특성을 갖춘 훌륭한 학습 플랫폼입니다. Windows 시스템의 커널 구현 메커니즘에 대한 정보는 적지만 인터넷을 통해 여전히 많은 정보를 얻을 수 있습니다. 네트워크 프로토콜 TCP/IP를 이해합니다.
오늘날 인터넷이 대중화되었을 때 인터넷을 지원하는 프로토콜인 TCP/IP 프로토콜 스택을 제대로 이해하지 못했다면 이 교훈을 빨리 따라잡아야 합니다. 네트워크 기술이 소프트웨어 작동 모드를 변경했습니다. 초기의 클라이언트/서버 구조부터 오늘날의 WEBServices, 그리고 미래의 그리드 컴퓨팅에 이르기까지, 이 모든 것은 TCP/IP 프로토콜 스택 기반의 네트워크 프로토콜 지원과 분리될 수 없습니다. TCP/IP 프로토콜의. 최소한 ISO 7계층 프로토콜 모델, IP/UDP/TCP/HTTP와 같은 일반적인 프로토콜의 원리, 3방향 핸드셰이크 메커니즘을 이해해야 합니다.
4. DCOM/CORBA/XML/WEBServices의 존재 의미를 이해합니다
기술의 발전과 함께 소프트웨어와 네트워크의 원활한 통합은 소프트웨어 시스템의 위치 독립성이 중요한 특징 중 하나입니다. DCOM/CORBA는 현재 두 가지 주류 분산 컴퓨팅을 위한 중간 플랫폼입니다. DCOM은 Microsoft COM(Component Object Model)의 확장이고 CORBA는 OMG에서 지원하는 사양입니다. XML/WebServices의 중요성은 자명합니다. XML은 구조화된 표현 방법과 뛰어난 표현 능력을 통해 인터넷에서 "에스페란토"로 알려져 있으며 분산 컴퓨팅의 초석 중 하나입니다.
5. CMM에서 소프트웨어 엔지니어링을 분리하지 마세요
대규모 소프트웨어 시스템 개발에서 엔지니어링 개발 제어는 개인적인 영웅심을 대체하고 소프트웨어 시스템의 성공을 보장하는 것이 됩니다. 뛰어난 프로그래머는 뛰어난 프로그래밍 능력과 개발 기술을 엄격한 소프트웨어 엔지니어링 사고와 결합합니다. 프로그래밍은 소프트웨어 수명주기의 한 부분일 뿐입니다. 우수한 프로그래머는 마케팅 분석, 타당성 분석, 요구사항 분석, 구조 설계, 상세 설계, 소프트웨어 테스팅 등
7. 요구사항 이해 능력
프로그래머는 작업 순서에 설명된 요구 사항을 올바르게 이해할 수 있어야 합니다. 여기서 프로그래머는 소프트웨어의 기능적 요구사항뿐만 아니라 소프트웨어의 성능 요구사항에도 주의를 기울여야 한다는 점을 분명히 해야 합니다. 그들은 모듈이 전체에 미치는 영향과 잠재적인 위협을 올바르게 평가할 수 있어야 합니다. 2~3년 정도 프로젝트 경험이 있는 숙련된 프로그래머가 이를 이해하지 못한다면 이는 그가 진지하게 일했지만 진심으로 일하지 않았다는 의미일 뿐입니다.
8. 모듈식 사고력
훌륭한 프로그래머로서 그의 생각은 현재 업무에만 국한될 수 없습니다. 자신이 작성한 모듈이 현재 시스템 없이도 존재할 수 있는지, 간단한 캡슐화를 통해 다른 시스템이나 다른 모듈에서 직접 사용할 수 있는지 고민해야 합니다. 이를 통해 코드를 재사용할 수 있고, 노동 중복을 줄일 수 있으며, 시스템 구조를 더욱 합리적으로 만들 수 있습니다. 모듈적 사고 능력의 향상은 프로그래머의 기술 수준 향상을 나타내는 중요한 지표입니다.
추천 튜토리얼: "PHP"
위 내용은 프로그래머의 직업은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!