で、私が掲示することを答えプログラミングの特定のタイプのための専門家や専門家がそこにいる:別の質問に、私はソフトウェア開発でより多くの専門になる可能性が高いがあることを指摘しました。
技術に固有ではない(学問ではなく)現在、業界に妥当な量で存在していることが知られている専門分野(たとえば、この議論ではwinformsは専門分野ではない)はどのようなものでしょうか。必要に応じてそのようなスペシャリストが働かなければならない業界にも興味があります。
で、私が掲示することを答えプログラミングの特定のタイプのための専門家や専門家がそこにいる:別の質問に、私はソフトウェア開発でより多くの専門になる可能性が高いがあることを指摘しました。
技術に固有ではない(学問ではなく)現在、業界に妥当な量で存在していることが知られている専門分野(たとえば、この議論ではwinformsは専門分野ではない)はどのようなものでしょうか。必要に応じてそのようなスペシャリストが働かなければならない業界にも興味があります。
回答:
エンベデッドシステムプログラミング(30年以上携わっています)には、他のほとんどの種類のソフトウェア開発とはまったく異なる考え方が必要です。コンピューティング能力の範囲は、数量が30セントの8ビットマイクロコントローラーから、Linuxまたは他の一般的なOSを実行する32ビットマイクロプロセッサーまで、幅広く異なります。現在、この規模の両端でプロジェクトを行っています。最小のマイクロのコードメモリは数KBで、RAMは数百バイトしかない場合があります。コストが3ドルのミッドレンジの16ビットマイクロには、256KBのプログラムストレージと16KBのRAMがある場合があります。
限られたメモリリソースに加えて、ソフトウェア開発の他の領域とは異なる組み込みプログラミングの側面の1つは、プログラマーがハードウェアをレジスタレベルで直接処理することが多いということです-マイクロ自体または接続された周辺機器UART、SPI、I2Cなどのシリアルバス経由のマイクロ。このため、ローエンドの組み込みマイクロは通常、Cまたはアセンブリ言語でプログラミングされています。
組み込みシステムは多くの場合、リアルタイムイベントを処理するため、組み込みファームウェアプログラムには、通常、多くの割り込みルーチンと、可能であれば小さなRTOS(リアルタイムOS)があります。そのようなシステムのデバッグでは、ブレークポイントをPCからリモートで設定できるように、microへの専用線を数本使用してハードウェア支援が必要になることがよくあります。ロジックアナライザー、バスアナライザー、オシロスコープは、これらのシステムのデバッグに使用される追加のツールです。
組み込み開発のハードウェアの側面から、開発者は多くの場合、電子工学のバックグラウンドを持っています。(私はEEとCSの両方で学位を取得しています)。
「開発者DBA」の役割/チームは存在しますが、十分に一般的ではないか、高く評価されていません。
大規模な店舗について話すと、運用DBAチームは、管理および監視、災害復旧の提供、SAN、ネットワーク、OSチームとの連絡などを行うために、数千のSQL Serverインスタンスを持っている場合があります。
開発チームには誰がいますか?チューニング?インデックス?設計?コーディング基準?
私自身、開発者DBAとして、私はデータベースよりも多くのクライアント開発者に出会いました... :-)
もちろん、ビジネスの知識も役に立ちます。投資銀行業務で複雑なデリバティブの価格を設定するコードを改善するために雇われている場合、いくつかの主題の専門知識は、気まぐれなコーディングスキルと同じくらい重要です。
また、次のような特定の種類のソフトウェアソリューションを知ることにも違いがあります。
おそらく他にもありますが、これらは、上記のカスタマイズを行うほとんどすべてのタイプの会社で潜在的に働くことができる専門分野の別の形式です。私の場合、私はここ数年、コンテンツ管理システムに取り組んできました。これは、ある意味で専門であると言えるでしょう。
この分野には多くの専門分野があるため、Web開発のようなものは十分に具体的ではないかもしれません。