ホームページ  >  記事  >  プログラマーは何をしますか

プログラマーは何をしますか

angryTom
angryTomオリジナル
2019-08-03 13:40:1496323ブラウズ

プログラマーの職務責任: 1. 詳細な設計、コーディング、ソフトウェア プロジェクトの内部テストの組織化と実装を担当します; 2. プロジェクト マネージャーおよび関連スタッフが顧客とコミュニケーションし、良好な顧客関係を維持できるように支援します; 3. . 需要調査、プロジェクト実現可能性分析、技術的実現可能性分析、需要分析に参加する; 4. ソフトウェア部門が開発したソフトウェア プロジェクトを提供するための関連ソフトウェア テクノロジに精通し、習得する; 5. プロジェクト マネージャにタイムリーなフィードバックを行う責任がある。 6. ソフトウェア開発の状況を把握する; 6. ソフトウェア開発および保守プロセスにおける主要な技術的問題の解決に参加する; 7. 関連する技術文書などの作成に責任を負います。

プログラマーは何をしますか

このチュートリアルの動作環境: Windows 7 システム、Dell G3 コンピューター。

プログラマー(英語プログラマー)とは、プログラム開発やプログラム保守に携わる専門家です。プログラマーは一般にプログラムデザイナーとプログラムコーダーに分けられますが、特に中国ではこの 2 つの境界はあまり明確ではありません。ソフトウェア実務者は、ジュニア プログラマー、中級プログラマー、シニア プログラマー (現在はソフトウェア デザイナー)、システム アナリスト、システム アーキテクト、およびテスト エンジニアの 6 つのカテゴリに分類されます。

具体的な職務内容は次のとおりです:

1. ソフトウェア プロジェクトの詳細な設計、コーディング、組織化と内部テストの実装を担当し、同時にシステムの実行も担当します。小規模なソフトウェア プロジェクトの分析作業を行って、Assign プロジェクトの実装とテクニカル サポート作業を完了します。

2. プロジェクト マネージャーおよび関連担当者が顧客とコミュニケーションをとり、良好な顧客関係を維持できるように支援します。

3. 需要調査、プロジェクト実現可能性分析、技術的実現可能性分析、需要分析に参加します。

4. ソフトウェア部門が開発したソフトウェア プロジェクトを提供するための関連ソフトウェア テクノロジに精通し、習得します。

5. ソフトウェア開発状況をプロジェクトマネージャーにタイムリーにフィードバックし、実際の状況に基づいて改善提案を行う責任を負います。

6. ソフトウェア開発および保守プロセスにおける重大な技術的問題の解決に参加し、最初のソフトウェアのインストールとデバッグ、データカットオーバー、ユーザートレーニング、およびプロジェクトの推進に参加します。

7. 関連する技術文書の作成を担当します。

8. ビジネス分野の技術開発トレンドを担当。

説明:

具体的な内部分業は異なりますが、プログラマーのグループは、各人の分業と協力によって結合されます。会社の上司、プロダクトマネージャー、APP、ミニプログラムなどの製品の運用部門や事業部門の機能アイデアがプログラミングを通じて実現されます。

もちろん、プログラミングが必要なのは APP や小さなプログラムだけではありませんが、初心者向けのこの質問に答える立場にあるため、誰もが使用する APP の機能開発の例を取り上げて、プログラマーがどのように機能するかを説明しましょう。仕事!

  • 01 フロントエンド開発: ユーザーに表示されるページの実装を主に担当します

アプリを開くと、起動ページをクリックし、内部の各モジュール、関数、タイトルなどが別ページにポップアップ表示されます。

インターネット企業には、プログラマーの他に、プロダクトマネージャー、インタラクションデザイナー、UIデザイナーなどの職種があり、一般的にインタラクションデザイナーやUIデザイナーは、上司のAPPやUIのアイデアをもとに仕事を進めていきます。アプリに関するプロダクトマネージャーの意見 アプリ関連モジュールの企画では、ボタンが1つなのか3つなのか、上下左右に配置されるのかなど、各ページの見た目をデザインします。等

各ユーザーがホームページの「My」をクリックして「My」ホームページにジャンプできることを実現するには、プログラマーや兄弟姉妹がプログラムを通じて実装する必要があります。

通常、同様の作業を主に担当するプログラマーは、内部分業の観点からフロントエンド開発者と呼ばれます。

  • 02 バックエンド開発: 主にバックエンド データの開発を担当します。

初心者であろうとなかろうと、データベースという概念については、おそらく聞いたことがあるでしょう。

これは、スーパーマーケットで買い物をするときのようなものです。棚に並べられたカラフルで陳列された商品は、APP のフロントエンドです。たとえば、キュ​​ウリ味のパックを買いたい場合、多くの人に人気のポテトチップスを購入したのですが、棚には他のフレーバーが数種類しかないことに気づき、このとき店員にキュウリ味はありますか?と尋ねます。

プログラマーは何をしますか

集計担当者が倉庫管理者のところに行って倉庫を見て、何か残っている場合は持ってきてくれます。

あなたには見えませんが、集計担当者、倉庫管理者、および倉庫自体は、私たちが使用している APP のバックエンド開発が行っていることに似ています。彼らはデータベースの秩序性を確保し、必要なときにデータベースの秩序性を確保し、必要なデータを迅速かつ正確に見つけることができ、フロントエンドのニーズに迅速かつ正確に対応できます。

プログラマーは何をしますか

  • 03 テスト: 製品発売前の品質管理を主に担当します

開発エンジニアがアプリを配置するとき、小さなプログラムなどの開発が完了した後、正式に発売される前に、社内の品質管理者、つまりテストエンジニアが製品の全体的な性能と安全性をテストする必要があります。

最も基本的なテスト作業には機能テストが含まれます。つまり、テスト エンジニアは初心者ユーザーとして製品を使用して、製品がスムーズに応答し、ニーズを実現できるかどうかを確認できます。

プログラマーは何をしますか

2 番目の重要なテストは、製品の互換性テストで、モバイル デバイスの異なるモデル間やソフトウェア間での互換性に問題がないかどうかをテストします。

3 番目はパフォーマンス テストで、主に大規模なトラフィックを前提として製品がクラッシュすることなく正常に動作できるかどうかに依存します。

最後は、製品が危険にさらされるのを防ぐためのセキュリティ テストです。オンラインになった後に悪意のある攻撃を受ける。

知識の拡大: プログラマーにとって必須のスキル

開発ツールに精通している

A としてプログラマーは、プログラマーの基礎である少なくとも 2 ~ 3 つの開発ツールの使用に習熟しています。その中でも、C/C と JAVA が最も推奨される開発ツールです。C/C は、次の理由により最も人気のある開発ツールとなっています。効率性と柔軟性が高く、開発ツールの中でも強力なツールであり、多くのシステムレベルのソフトウェアは今でも C/C で書かれています。 JAVA のクロスプラットフォームと WEB との良好な統合は JAVA の利点であり、JAVA とその関連技術セット JAVAOne は将来的に主流の開発ツールの 1 つとなるでしょう。次に、VB、PowerBuilder、Delphi、CBuilder などの簡単なビジュアル開発ツールを習得すると、開発の難易度が下がり、プログラマのオブジェクト モデルの概念が強化されます。さらに、シェルや Perl などの基本的なスクリプト言語を習得し、少なくともこれらのスクリプト コードを読めるようにする必要があります。

データベースについて知る

データベースはなぜそれほど重要なのでしょうか?プログラマーとしては、当然のことながら、データベース データを中心としたアプリケーションが多く、データベース製品も数多くありますが、その中でもリレーショナル データベースが依然として主流であるため、プログラマーは少なくとも 1 つまたは 2 つのデータベースに習熟しています。リレーショナル データベースの主要な要素について明確に理解している必要があり、SQL の基本構文に習熟している必要があります。多くのデータベース製品は視覚的なデータベース管理ツールを提供していますが、SQL はその基礎であり、普遍的なデータベース操作方法です。商用データベース システムにアクセスできない場合は、mySQL、Postgres などの無料のデータベース製品を使用することをお勧めします。

オペレーティング システムを理解する

現在の主流のオペレーティング システムは Windows、Linux/Unix であり、これらのオペレーティング システムの使用に習熟する必要がありますが、それだけでは十分ではありません。 。真のプログラミングマスターになるには、オペレーティングシステム、そのメモリ管理メカニズム、プロセス/スレッドのスケジューリング、シグナル、カーネルオブジェクト、システムコール、プロトコルスタックの実装などを深く理解する必要があります。ソース コード開発用のオペレーティング システムとして、Linux は優れた学習プラットフォームであり、最新のオペレーティング システムのほぼすべての特性を備えています。 Windows システムのカーネル実装メカニズムに関する情報は少なくなっていますが、依然としてインターネットを通じて多くの情報を入手できます。

ネットワーク プロトコル TCP/IP を理解する

インターネットが非常に普及している今日、インターネットのサポート プロトコル TCP/IP をよく理解していないと、 IP プロトコル スタック、このレッスンをすぐに理解する必要があります。ネットワーク テクノロジはソフトウェアの動作モードを変えました。初期のクライアント/サーバー構造から今日の WEB サービス、将来のグリッド コンピューティングに至るまで、これらすべては TCP/IP から切り離せません。プロトコル スタック ベースのネットワーク プロトコルのサポートには、TCP/IP プロトコルを深く理解することが非常に必要です。少なくとも、ISO の 7 層プロトコル モデル、IP/UDP/TCP/HTTP などの一般的なプロトコルの原理、および 3 ウェイ ハンドシェイク メカニズムを理解する必要があります。

DCOM/CORBA/XML/WEBServices の存在の重要性を理解する

テクノロジーの発展に伴い、ソフトウェアとネットワークのシームレスな統合は避けられない傾向です。ソフトウェア システムの位置 無関連性は、将来のコンピューティング モデルの重要な特徴の 1 つです。DCOM/CORBA は、現在主流の 2 つの分散コンピューティングの中間プラットフォームです。DCOM は Microsoft COM (コンポーネント オブジェクト モデル) の拡張であり、CORBA は、 OMG によってサポートされる仕様。 XML/WebServices の重要性は自明のことであり、XML はその構造化表現手法と超表現力により、インターネット上では「エスペラント語」として知られており、分散コンピューティングの基礎の 1 つです。

ソフトウェア エンジニアリングを CMM から分離しないでください

大規模なソフトウェア システムの開発では、エンジニアリング開発管理が個人の英雄的な行為に取って代わり、システムの成功を保証します。ソフトウェア システムのプログラミング マスターが必ずしも優れたプログラマーであるとは限りません 優れたプログラマーは、優れたプログラミング能力と開発スキル、および厳密なソフトウェア エンジニアリングの考え方を兼ね備えています プログラミングはソフトウェア ライフ サイクルの一部にすぎません 優れたプログラマー プログラムの各段階における基本スキルソフトウェア開発では、市場分析、実現可能性分析、要件分析、構造設計、詳細設計、ソフトウェアテストなどを習得する必要があります。

要件理解能力

プログラマは、タスク順序に記述された要件を正しく理解できなければなりません。ここで明確にしておきたいのは、プログラマはソフトウェアの機能要件に注意を払うだけでなく、ソフトウェアのパフォーマンス要件にも注意を払う必要があり、モジュールが全体に及ぼす影響と潜在的な脅威を正しく評価できなければならないということです。プロジェクトの経験が 2 ~ 3 年ある場合 プロジェクト経験のある熟練プログラマがこのことを理解していない場合、それは、その人が真剣に取り組んでいたものの、心からではなかった可能性があることを意味するだけです。

モジュール思考能力

優秀なプログラマーとして、彼の思考は現在の業務タスクに限定されることはなく、自分が作成したモジュールが現在の業務から分離できるかどうかを考える必要があります。システムは存在し、単純なカプセル化を通じて他のシステムまたは他のモジュールで直接使用できます。これにより、コードが再利用可能になり、作業の重複が減り、システム構造がより合理的になります。モジュール的思考能力の向上は、プログラマーの技術レベルの向上を示す重要な指標です。

プログラミング関連の知識について詳しくは、プログラミング チュートリアルをご覧ください。

以上がプログラマーは何をしますかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。