おい!私たちは皆、IT 分野で働くことに興味があったのでここを見ました。しかし、最初に目にした IT の専門分野に着目するのではなく、IT 企業で考えられる分野のリストを少し見てみる価値はあるでしょうか? これは私の短いレビューの第 2 部です。最初の では、採用担当者、人事、システム管理者、DBA、DevOps などの専門分野を検討しました。今日は、チーム、ひいてはプロジェクトの「バックボーン」となる専門分野について見ていきます。私がどこかで何か間違えた場合は、あまり叱らないで、むしろコメントで訂正してください。私はすべてを Java 開発者の観点から見ているので、すべての専門分野のニュアンスを単に理解していないだけかもしれません。
6. PM - プロジェクトマネージャー
プロジェクト マネージャーの仕事は、技術プロジェクトを適切に計画、組織、管理し、チーム メンバー間のコミュニケーションを改善して、作業が可能な限りスムーズかつ効率的に行われるようにすることです。これらのスペシャリストは、クライアントのニーズとクライアントが追求する目標を理解し、プロジェクトを論理的かつ前向きな結論に導くために、従業員の行動を可能な限り調整する必要があります。プロジェクトは、資金提供の停止、顧客側の作業への不満など、さまざまな理由により常に正常に完了するとは限らないため、肯定的です。PM の主な仕事は、従業員のグループを調整して問題を解決することです。開発者は常に非常に社交的であるとは限らず、常に互いに有能にコミュニケーションできるわけではないため、技術的な問題が発生します。そのため、これはプロジェクトに悪影響を与えるだけです。あるいは、たとえば、開発者が何かで行き詰まった場合、長い間座っていて、問題に対処する方法がわからない場合があります。私たちは皆、自分が何かを知らない、またはできないことを認めたくないのですが、開発者はさらにそうです。ここでPMが役に立ちます。PM は、追加情報を求められる人、またはすでに同様の事態に遭遇した人を見つけるのを手伝ってくれます。PM の責任には次のものが含まれます。- プロジェクト全体の目標を設定する。
- これらの目標を達成するための計画を策定する。
- プロジェクトの期限と現状報告を維持する。
- プロジェクトのリソース管理 (従業員と技術機器)。
- プロジェクトチームメンバー間の相互作用の調整を改善する。
- プロジェクトの有効性と計画されたスケジュールの順守を追跡する。
- プロジェクトのリスク評価を実施する。
- さまざまな会議を開催して、目標、現在の進捗状況、プロジェクトのプラス面とマイナス面について話し合う。
- PM がチームを代表して顧客とコミュニケーションをとるため、英語中上級以上。
- 広範な技術知識はありますが、あまり深くはありません。深く掘り下げることなく、誰が何をするのか、作業が一般的にどのように行われるのかを理解できます。
- プロジェクトとそれに関わるチームを管理するスキル。
- PM の仕事は主にチームメンバーや経営陣とのコミュニケーションで構成されるため、優れたコミュニケーションスキル。
- 対応スキルを開発しました。たとえば、チームや会社を代表して顧客の電子メールに手紙を送信する必要があることがよくありますが、間違って書かれた手紙や間違いのある手紙は誰も評価しません。
- プロジェクトに取り組んでいる間に発生する問題を解決するのに役立つ分析的思考。
- 時間管理スキル。これを使用すると、プロジェクトをスケジュールと予算内に収めることができます (結局のところ、時間 = お金です)。
- リソースとタスクの計画スキル。
- デリバリーマネージャー( DM ) はPM -a の直接の継続であり、PM グループの直上に立ち、より高いレベルでプロジェクトを調整します。
- プログラム マネージャー- 相互に関連する複数のプロジェクトを調整しますが、私自身は DM との違いをよく理解していません。
- 最高技術責任者( CTO ) - 製品の開発とその作成プロセスの改善を担当するテクニカル ディレクター。
- 最高経営責任者( CEO ) - 最高経営責任者。
- アカウント マネージャー( AM ) - 顧客サービス マネージャー。
- 再トレーニングして別の専門分野に移動します))
7. フロントエンド開発者
フロントエンド開発者は、ユーザーが Web アプリケーションで表示および操作するアプリケーションの視覚的な部分の実装を担当する開発者です。原則として、これらのスペシャリストは、フロントエンド開発者が作成したアプリケーションの視覚部分を継続する、アプリケーションの論理 (サーバー) 部分を担当するバックエンド開発者と協力します。フロントエンド開発者は、バックエンド開発者と同様に、あらゆるプロジェクトの開発のバックボーンです。プロジェクトをサポートしてくれる人たち。結局のところ、どんなビジネスであっても、それはいわば平凡な勤勉な労働者にかかっています。したがって、開発者はそのような働き者として行動します。原則として、他の専門分野の代表者よりもはるかに多く、どのプロジェクトでも最も必要とされています。 フロントエンド開発者の責任には次のものが含まれます。- 新しい機能の開発と古い機能の改善。
- パフォーマンスを向上させるためにコードをリファクタリングしますが、場合によっては大幅に低下する可能性があります。可読性により、他の開発者がコードとそのロジックをすぐに理解できるようになります。拡張性。将来、古い機能の一部を再利用することで新しい機能を実装しやすくなります。
- サーバーに送信されたコードのレビュー (レビュー)。たとえば、ある開発者がコードを書き、別の開発者がそれをレビューし、修正が必要な点についてコメントを付けて最初の開発者に戻すことができます。
- クライアントおよびチームメンバー(フロントエンド開発者とバックエンド開発者の両方)とのコミュニケーション。
- デザイナーによってコンパイルされた グラフィックUI/UXレイアウトの技術的実装。
- アプリケーションのパフォーマンスを追跡する。
- バグ(エラー)を修正します。
- 英語レベル -中級;
- Web 開発プロセス全体 (設計、開発、展開) の理解。
- Angular 5+で動作します。
- JavaScript、TypeScript、RxJS、Sass、webpackの知識。
- レイアウトスキル ( HTML、CSS );
- Gitを使用するスキル。
- デザインパターンを理解する。
- Linux に関する十分な知識。
- テックリード- この分野の技術専門家(第一人者)。
- チームリーダー- 開発チームのリーダー(現場指揮官)。ここから、 CTOなどの管理職に成長することができます。
- フルスタック開発者-バックエンドとフロントエンドの両方の部分を所有する開発者。つまり、バックエンドについて学ぶ必要があります。
- ソリューション アーキテクト- 製品の内部デバイスと外部インターフェイスのアーキテクチャについて意思決定を行う専門家。
- 技術コンサルタント- 何らかのテクノロジーの技術コンサルタント。
- 再トレーニングして別の専門分野に移ります。
8.バックエンド開発者
バックエンド開発者- アプリケーションのビジネス ロジックを担当するサーバー部分を作成および改善します。これは、アプリケーションのビジュアル (インターフェイス) 部分と接続します (たとえば、 REST APIを介して)。アプリケーションのサーバー部分 (バックエンド) とアプリケーションのビジュアル部分 (フロントエンド) の組み合わせにより、エンド ユーザーが対話する Web アプリケーションが形成されます。バックエンド開発者は、バックエンド全体の作成、保守、テスト、デバッグを担当します。これには通常、コア アプリケーション ロジック、データベースとの対話、さまざまなAPIとの対話、およびその他の内部プロセスが含まれます。このプロファイルのスペシャリストは、言語の構文と基本フレームワークの知識に加えて、データベース、特にリレーショナルデータベースに関する一般的な知識、コードの単体テストと統合テストを作成できること、アプリケーション ビルダーの知識が必要です。 - MavenまたはGradle 、 Gitを使用できること- オーム バックエンド開発者の責任には次のものが含まれます。- 新しい機能の開発。
- コードのリファクタリング。
- 他のバックエンド開発者からのコードをレビューする。
- 新しいバックエンド開発者を支援するドキュメントを作成する
- プロジェクトに参加する人は、アプリケーションのロジックをすぐに理解します。
- バグの修正。
- テストの作成 (単体テスト、統合テスト)。
- 他のチームメンバーとのコミュニケーション。
- 英語レベル -中級;
- Java Coreの知識- Java 言語の構文と一連の基本テクノロジー。
- Web 開発プロセス全体の理解。
- SQL言語の知識。
- PostgreSQLやMySQLなどのリレーショナル データベースの知識。
- JDBC、Hibernateを介してデータベースと対話するスキル。
- 基本的な Spring フレームワーク(Spring Core、Spring Data、Spring Web)の知識。
- Git、Mavenの知識。
- JUnitやMockitoの使用など、単体テストおよび統合テストのスキル。
- 技術責任者;
- チームリーダー;
- フルスタック開発者-フロントエンドを学ぶ必要があります。
- ソリューションアーキテクト;
- 技術コンサルタント;
- 再トレーニングして別の専門分野に移ります。
9.QAマニュアル
マニュアル品質保証は、製品の品質を保証する専門家です。その目標は、アプリケーション開発プロセス自体を改善し、ドキュメントを分析し、それに基づいて製品の操作におけるエラーや不正確さを特定することです。通常、 QA マニュアルで扱われる品質保証は次の内容で構成されます。- リスク評価を実施する。
- 仕様と要件の分析。
- 製品の品質を向上させるためのアイデアを生み出す。
- テスト計画を作成する。
- 得られたテスト結果の分析と文書化。
- 要件、仕様、その他の文書を検討する。
- システムとその技術的特性を表示し、仕様(要件のリスト)に準拠しているかどうかを確認します。
- 効果的なテスト戦略と計画を作成する。
- QA オートメーションが自動テストを作成するのに基づいて、テスト スクリプト (テスト ケース) を作成します。
- テストケースの手動実行、結果の分析。
- テスト中に失敗や不一致が発生した場合は、レポートを作成し、タスクを作成し(バグを作成し)、改善のために開発者に送信する必要があります。
- 製品の回帰テスト。
- テスト段階の文書化。
- 機能の不一致やバグについて開発チームとコミュニケーションをとる。
- 英語レベル -中級;
- アプリケーションの品質保証の方法論と実践についての十分な理解。
- 回帰テストの知識。
- エラーを文書化する能力。
- ソフトウェア要件を詳細にレビューするスキル。
- 基本的な技術的方向性。
- JSON、XMLを理解する。
- SQL の基本的な知識。
- テスト ドキュメントを整理するためのツール (例: Testrail )を使用するスキル。
- 細部への注意;
- 批判的な考え方。
- QA リード-チーム内のQAのリーダー。
- 再トレーニングして別の専門分野に移ります。たとえば、フロントエンド開発者またはバックエンド開発者になります。
10. QA自動化
QA オートメーションは、さまざまなソフトウェア ツールを使用して、個人的にまたはQA マニュアルによって作成されたスクリプトに基づいてテストを作成する製品品質のスペシャリストです。 QA オートメーションは、 QA マニュアルの次のレベルのようなものです。QA マニュアルがすべてを手動で行う場合、 QA オートメーションは、ある種のプログラミング言語を使用して、アプリケーション機能の正しい動作をチェックするテストを作成します。通常、これらのテストは、アプリケーションの構築時、毎日のある時点など、特定の条件下で自動的に実行されます。通常、AQA の責任には次のものが含まれます。- 要件、仕様、その他の文書を検討する。
- テスト ケースとスクリプトを実行するためのテスト環境の作成とセットアップ。
- 定義された品質保証基準および方法論に従って、Seleniumを使用したテスト ケース (テスト計画) の自動化を設計、作成、実行します。
- アプリケーションの手動テストを研究し、自動化の可能性について提案します。
- 最新の自動化テスト ケースを維持する。
- ドキュメントを書くこと。
- 必要なテスト範囲のレベルを維持する。
- 必要に応じて、手動テストを支援します。テスト管理ツールを使用して、開発中の製品のテスト ケースとスクリプトを手動で実行できます。
- 開発への参加、つまり品質管理プロセスの管理への参加。
- 機能の不一致やバグについて開発チームとコミュニケーションをとる。
- 英語レベル -中級;
- 品質保証の方法論と実践についての十分な理解。
- テストは何らかの言語で記述する必要があるため、1 つの言語 ( JavaやJavaScriptなど) の構文に関する優れた知識。
- Seleniumを使用して自動テストを作成します。
- CI/CDに精通していること。
- Gitを使用する能力。
- 細部への注意;
- 批判的な考え方。
- QA リーダー;
- 再トレーニングして別の専門分野に移ります。
GO TO FULL VERSION