お知らせフミリアです。冬も夏もホットコーヒー派です。今日は、ソフトウェアエンジニアの心得の話をします。そもそも「エンジニア」の定義とは何でしょうか。英語でEngineer、日本語で『高度な知識を活用して技術者』を指す言葉です。engineer、エンジニア)とは、主に工学(エンジニアリング)分野の専門的な技術を持った実践者のことである。(直訳すると「工学者」であり、技術=technicとすると、技術者=technician(en:Technician)だが、実際の内容としては技術者=エンジニアとするのが適切である。逐語的には技術=technologyとすることが多い)と説明されています。エンジニアと呼ばれる人は業界ごとにそれぞれ異なる役割があり、「レコーディングエンジニア」や「フライトエンジニア」などの呼び方がされています。ソフトウェア開発における技術者の呼び方はさまざまで、「ソフトウェアエンジニア」や「ITエンジニア」、「アプリ開発エンジニア」などがあります。「システムエンジニア(SE)」という表現がされたりもしますが、これは日本でのみ通用する言葉です。グローバルでは通じません。ここでは「ソフトウェアエンジニア」という呼び方を使っていきましょう。ソフトウェアエンジニアは、ソフトウェアを作る人です。システムを設計したり、プログラムを作ったりします。プログラムがどのように動くかをドキュメント化したり、作ったプログラムをテストしたりもします。ソフトウェアを作ることが仕事ですから、「どのようなソフトウェアを作るのか」が決められていないと仕事ができません。現実問題としてソフトウェア開発に着手するときに、徹頭徹尾まできちんと設計されたソフトウェアが決められていることはありません。ソフトウェアを欲しい人たち(発注者)と作る人たち(受注者)と役割がわかれている場合は、何が作るか決められていないことに値段がつけられることもあります。ここがソフトウェア開発の最大の問題で、ソフトウェア開発がうまくいかない根本原因です。ソフトウェアを作ることは非常に労力がかかることです。インターネットとソフトウェアを組み合わせると無限の可能性が広がります。インターネットは新しい世界を見せてくれるプラットフォームであり、人間が自分を表現するインフラです。自動化やデータ管理が得意なソフトウェアの力も発揮させやすいのです。ソフトウェアを作ることはとても緻密で泥臭い作業です。誰にでもできることではありません。複雑性を制御し、新しい価値を見出すことのできるソフトウェアエンジニアは、もっと誇るべき存在です。そんなソフトウェアエンジニアが、プロとして生きていくために何を意識し、何を考えていく必要があるのかを五箇条としてまとめました。それが、「プロエンジニアになるための五箇条」です。第1条:良質なソースをたくさん読み、匠の技を盗め!(技術を習得する)第2条:自分のフレームワークを作れ!(技術を整理する)第3条:プログラムは5つの側面で作れ!(高品質なプロダクトを作る要素)第4条:チーム力を上げることにフォーカスせよ!(マネタイズできるサービスを作るためのチーム作り)第5条:己を解放せよ!(メンタルを強くする)来週、「若手のうちに知っておきたい、プロエンジニアになるための五箇条」と題してお話しします。現在50名ほどのエントリがありますが、若干席に余裕があるようです。興味のある方は、イベント募集サイトからお申し込みください。http://connpass.com/event/22020続きます。jumilla「プロ・エンジニア養成塾」「レンタルブレーン」「エンジニアメンタルケア」のフミリア・ラボ。対面レッスンとビデオ通話レッスンで指導を受けられます。詳しくはサービス内容の紹介をご覧下さい。