じゃあ、おうちで学べる

本能を呼び覚ますこのコードに、君は抗えるか

達人と呼ばれる技術力を持ったソフトウェアエンジニアになりたくて

zyさんの「技術力が高い」という幻覚を読んでの感想。

sizu.me

技術力とは

私の経験でも、技術力は単なる専門知識や技術の習得を超えた、もっと包括的で深い概念です。実用日本語表現辞典において「技術力」とは、「手段や手法を用いて物事を成し遂げる能力」と定義されています。この定義は、技術を単に適用することではなく、それを利用して広範囲な目標を達成する、特に問題解決能力を含む幅広い能力を示唆しています。言い換えれば、技術力は具体的な技術的スキルだけではなく、それらを応用し、実際の課題に対して実効性のある解決策を生み出す能力を意味します。これには、新しい技術を学び、既存の技術を創造的に応用することも含まれます。

技術力への信頼とその重要性

私が考えるに、高い技術力は複雑な技術の使用能力だけに限らず、他者からの信頼と依頼を獲得する能力にも反映されます。人々が「あの人に任せたい」「あの人に相談したい」と感じる時、それは技術的な能力だけではなく、人間性やコミュニケーション能力が高いことを示します。こうした能力は、チームワークやプロジェクトの成功に不可欠です。技術力を持つ人は、単にタスクをこなすだけでなく、チームメンバーと効果的に協力し、プロジェクトの目標に貢献します。

「技術力が高い」「技術力が低い」という一般的な評価はしばしば狭い視野に基づいています。真の技術力の評価は、直接的な事業貢献やコミュニケーション能力を超えた、より幅広い能力に基づくべきです。これは、個々のポジションや視点によって異なり、難解なコードを書く能力だけでなく、既存のコードを効率的に活用し、迅速に顧客に価値を提供できる能力も含まれます。技術力は、新しい課題に対応する柔軟性と、既存のソリューションを改善する創造性を併せ持つことです。

このように、高い技術力は、技術的なスキルに加えて、人間性、信頼性、問題解決能力、コミュニケーション能力などの多面的な資質が組み合わさったものです。これにより、他者から頼りにされ、尊敬されるエンジニアとなることが可能です。

ソフトウェアエンジニアの役割

ソフトウェアエンジニアは、一人で全てを行う天才ハッカーや家で働きもせずに自称ソフトウェアエンジニアを名乗っている場合を除いて、技術を活用して問題を解決し、新しい価値を創造する重要な役割を担っています。彼らは技術的な問題に直面するだけでなく、企業の一員としてのプロフェッショナルな責任も持ちます。これには、会社の目標達成、業務の効率化、社内外の関係構築など、より広範な責務が含まれます。

社内で問題が発生した際、彼らは解決策の策定と推進における主導的な役割を果たし、問題点の指摘にとどまらず、修正パッチの提供など具体的かつ建設的な貢献を行います。この積極的で前向きなアプローチは、問題の根本的な解決につながり、ソフトウェアの品質向上や優れたソリューションの提供に貢献します。

総じて、ソフトウェアエンジニアとしての技術力と、企業の一員としてのプロフェッショナルな貢献は、それぞれが重要な役割を果たします。彼らは技術的なスキルと共に、組織内での協力と責任感を兼ね備えていることが求められます。

まとめ

私が若い頃、私は寡黙で不器用だが技術に深く向き合う、達人と呼ばれるソフトウェアエンジニアの存在を信じていました。しかし、時が経つにつれて、「技術力が高い」という言葉が単に技術的なスキルの高さだけを意味するのではないことを理解しました。この言葉には、問題解決能力、信頼性、コミュニケーション能力など、多面的な資質が含まれています。たとえそれが誤解や幻想に基づいていたとしても、持ちうる技術力を活かして他者を支援し、互いにリスペクトを持つことが、ソフトウェアエンジニアとしての成長への道であると気づきました。このような姿勢が、周囲から達人として認識されるための重要な要素となっています。

あとは、「技術力が高い」という幻覚を読んでたらそーだいさんのソフトウェアエンジニアと技術力を思い出した。読み返してもとても良かったので合わせて紹介しておきたいです。

speakerdeck.com

私、もしくは私たちが技術力と呼んでいるナニカについての話でした。

追記したこと

後日このブログを読み返してみると、僕にとって、あの日ハッカーに憧れた自分が、「ハッカーの呪縛」から解き放たれるまで 的な意味合いもあったのだと思います。ただの思いつきかもしれませんが、技術分野でトップに立てなかった自分に対する、ある種の弁解や自己正当化の意味もあるのかもしれません。もしかしたらこれから私が歩む道によっては別の意味を持ってくるのか?