NDA に署名しました。日々の業務について何を言えるかわかりませんが、あまり詳細には触れずに説明できるよう努めます。
私はアメリカの多国籍企業のソフトウェアエンジニアで、チャットボットAIと各種サービスとの通信を安全かつ円滑に行うためのミドルウェアをプログラミングし、サービスに関連する情報を顧客に提供しています。 .
私は主に JavaScript と、バックエンドでの JavaScript の実行環境である Node.js を使用します。アプリは複数の Red Hat Linux (RHEL) サーバー上で実行されます。
Node.js を選択したのは、Node では初期の開発が速く、進捗状況をできるだけ早く管理者に示す必要があったためです。 Node.js は非同期モデルを使用します。これは、API との間のリクエストなど、大量の I/O 操作を効率的に処理するのに優れています。 Node は水平スケーリングにも適しています。つまり、アプリケーションを実行するサーバーを簡単に追加して、トラフィックやワークロードの増加に対処できます。
私は Windows 上で開発していますが、アプリ自体は RHEL サーバー上で実行されます。 RHEL を選択したのは、高度にカスタマイズ可能であり、強力なセキュリティ対策で知られているためです。深いレベルでの構成の管理は、Windows よりも Linux の方がはるかに簡単です。これは、複数のセキュリティ層や認証を処理する場合に不可欠です。さらに、マイクロソフトなどの外部企業への依存度も低くなります。 RHEL は高性能アプリケーション向けに最適化されており、標準の Linux よりも優れたメモリおよびリソース管理を提供します。また、他のエンタープライズ グレードのソフトウェアとの幅広い互換性があり、監視、ロギング、システム パフォーマンス管理のためのツールが含まれているため、複雑な技術スタックへの統合が容易になります。
このアプリはマイクロサービス アーキテクチャに基づいており、アプリにできるだけ多くのモジュールを含めることができ、さまざまな目的に適応できます。たとえば、私のミドルウェアは AI だけでなく、安全な I/O と API 通信が不可欠な他のアプリケーションもサポートします。
チームは約 30 ~ 40 人で構成されていますが、私は主にこのミドルウェアを自分で開発していますが、インターンに手伝ってもらっています
この仕事で最も難しいのは、他の人とのコミュニケーションだと思います。サービスを実装するために API やアプリについて他のチームに連絡する必要があるとき、または他のエンジニアからの意見が必要なとき、チームが応答しなかったり、役に立たない答えを返したりしてイライラすることがあります。本当に強引でなければなりませんが、私はそれが特に好きではありません。
私の仕事で最も難しいのは、常に急ぐ必要があるため、テスト駆動開発などのベスト プラクティスに従う時間がほとんどないことです。
この仕事の最も素晴らしい部分は、コーディングそのものと、さまざまな機能をミドルウェアに実装するためのソリューションを見つけ出すことです。
私の将来の目標は、ブログを書いたり、プログラミングのトピックについて講演したりして、テクノロジー分野で著名な人物になることです。だからこそ私は英語がとても重要だと感じており、スピーキングとライティングのスキルを向上させることに取り組んでいます。私は優れた講演者および技術ライターになりたいです。
TypeScript でさらにコーディングしたいと思っています。現時点では JSDoc でタイプ セーフを確保していますが、より TDD に重点を置き、TypeScript を仕事に取り入れていきたいと考えています。
私の分野または私に関連して他にご質問はありますか?コメントでお気軽にお知らせください。
以上が目に見えないものをエンジニアリングする: ソフトウェア エンジニアとしての私の仕事の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。