私の最新の仕事(むしろインターン)によって提起された質問があります。
状況を整理するために-私は21歳で、大学の2年目を終えてから、システム管理/ QAの仕事を2年ほど経験しましたが、基本的には、 ITセクターが運営されています。現在にさかのぼり、ここに私が英国の主要な研究機関の1つで実習生を募集しています。
私がしなければならないのは、さまざまなテクノロジー(主にAWS / Java / Bash)を使用して内部ツールを作成することです。すべては大丈夫です、私は仕事をしていますが、私は幸せではありません。なぜですか-アドホックな問題で働くことが期待されているからです。それは、設計に時間を費やすことなく、ものをすばやく作成することです。私のマネージャーは、問題が発生するとすぐに問題を「急ぐ」ことが予想されると明示的に述べました。結果として、物事をやり直し、再設計する必要があり、それらはまだ完全ではないことが判明しました。テストに関する限り-最小限に抑えてください。動作しているようであれば、問題ありません。
この仕事のやり方に反対するのは間違いですか?システム全体を考え、さまざまなコンポーネントに焦点を合わせ、それらがどのように相互作用するかを見て、将来問題になる可能性のあるさまざまな「キーポイント」に焦点を合わせたいと思うのは間違っていますか?「迅速な仕事」ではなく、良い仕事をしたいのは犯罪ですか?特定の問題セットに応じて最適なものを選択できるように、問題に適用可能なデータ構造を調査するのは間違いですか、それとも間違った態度ですか?私の理解の限りでは、「ソフトウェアエンジニアリング」の「エンジニアリング」ビットはこれと正確に関係しています。問題の領域を調査し、情報に基づいたソリューションを考え出し、必要に応じて改良しますか。
私は英国のArm'sオフィスでインタビューに行ってきましたが、彼らは彼らのSCRUMルームを見せてくれました。問題の解決には時間がかかる場合があります-SCRUMの通常のこと-「ここ」での実行方法とはまったく異なります
ソフトウェア業界全般について間違った考えを構築しましたか?そのことについてあなたの意見を聞きたいです。純粋でシンプルなものを作りたいからといって、純粋にソフトウェア開発を「始めた」のですが、質の高いものを作りたいのです。さまざまなシナリオでソフトウェアが使用されていることを確認したいのですが、完全な証拠を見たいと思います。それがすべてのソフトウェアエンジニアの原動力ではないでしょうか。構文を学ぶだけで誰もがプログラマー/コーダーになることができると思いますが、私にとって本当の楽しみは、現実世界で実行可能な設計を実際に考えなければならないときに始まります。
私は大学の課題を見て、コーディングを直接開始していたため、75%を超えるマークを簡単に取得でき、「ソフトウェア開発ライフサイクル」モジュールを高く評価することはありませんでした。しかし今、現実の世界で、正式なプロセスや、要件が明日変更されるかどうかわからない状況に内在するフラストレーションなしで作業するのがどれほど悪いかを見たとき、 「要件分析を明確に定義していない?)
私は、一部の人々が汚い仕事をするのにコードモンキーを必要とするだけの地位に着いたと信じているのが本当に好きです。これは、ソフトウェアの世界がどのように動作するかということではありません。
because I'm expected to work in an ad-hoc matter. That is create things quickly, without spending time on designing
-締め切りがあり、企業が結果を出すことが期待されているThe Real World™へようこそ。