※本記事は、Geminiによる意訳+翻訳を活用し、レイアウト調整したものです。
※感想は、オリジナルです。
原文
Software Career Advice - DEV Community
意訳+要約
ソフトウェア開発者のキャリアアドバイス
このブログ記事は、引退したソフトウェア開発者による、ソフトウェア開発者のキャリアに関するアドバイスです。
詳細
忠誠心
会社は従業員を道具としてしか見ていない。従業員は、会社が自分を解雇する可能性があることを常に覚えておくべきだ。労働時間
長時間労働は避け、残業はしない。残業は、会社が従業員を搾取している証拠だ。見積もり
見積もりは、できるだけ正確に行う。見積もりが甘いと、後でトラブルになる。技術力
自分の技術を磨き、常に新しいことを学ぶ。技術力は、ソフトウェア開発者にとって最も重要な資産だ。専門化
バックエンドまたはフロントエンドのいずれかに特化することで、ジェネラリストよりも価値がある。専門化することで、より深い知識とスキルを身につけることができる。お金
お金は重要だが、それだけではない。やりがいのある仕事を見つけることが、より重要だ。C言語
C言語は、すべてのプログラマーにメリットがある。C言語を学ぶことで、コンピュータの仕組みを深く理解することができる。愚か者を我慢する
ソフトウェア開発の世界には、愚か者が必ずいる。愚か者を我慢することは、ストレスを溜め込む原因になる。愚か者を我慢するときは、距離を置くようにする。
GeminiへのQA
Q:忠誠心がお互いない場合、関係をつなぎとめているものは、何なのでしょうか?
- 共通の目標や価値観
- 相互の尊敬
- 良好なコミュニケーション
- 信頼
- 利害関係
これらの要素は、お互いに忠誠心がない場合に関係をつなぎとめるのに役立ちます。
具体的には、共通の目標や価値観があれば、お互いに協力して目標を達成するために努力することができます。相互の尊敬があれば、お互いを尊重し、相手の意見を受け入れることができます。良好なコミュニケーションがあれば、お互いの考えや気持ちを理解し合うことができます。信頼があれば、お互いに信頼し、安心して仕事をすることができます。利害関係があれば、お互いに利益を共有することで、関係を維持することができます。
もちろん、これらの要素がすべて揃っていれば、お互いに忠誠心がない場合に関係を維持することは容易になります。しかし、これらの要素がどれか一つでも欠けていれば、関係を維持することは難しくなります。
お互いに忠誠心がない場合に関係を維持するためには、これらの要素を意識して、関係を築いていくことが必要でしょう。
Q:技術力以外の資産はないのでしょうか?
技術力以外にも、ソフトウェア開発者にとって重要な資産はたくさんあります。以下にいくつか例を挙げます。
経験
経験豊富なソフトウェア開発者は、問題を解決する能力や、効率的なコードを書く能力が高くなります。コミュニケーション能力
ソフトウェア開発者は、チームメンバーや顧客と効果的にコミュニケーションを取る必要があります。問題解決能力
ソフトウェア開発者は、複雑な問題を分析し、解決策を見つける必要があります。学習能力
ソフトウェア開発の世界は常に変化しているので、新しい技術を学び続ける必要があります。創造性
ソフトウェア開発者は、新しいアイデアを生み出し、それを形にする必要があります。リーダーシップ
ソフトウェア開発者は、チームを率いてプロジェクトを成功に導く必要があります。
これらの資産は、技術力と同様に、ソフトウェア開発者のキャリアにとって重要な役割を果たします。
技術力に自信がない場合は、これらの資産を磨くことで、自分の価値を高めることができます。
さらに、以下の点も重要です。
人脈
ソフトウェア開発の世界では、人脈が重要です。人脈を通じて、新しい仕事を見つけたり、新しい技術を学んだりすることができます。ブランド
自分自身をブランドとして捉え、自分のスキルや経験をアピールすることが重要です。
これらの点を意識することで、技術力以外の資産を磨き、自分のキャリアを成功させることができます。
Q:特化することがジェネラリストより価値がある理由を教えてください
特化することがジェネラリストより価値がある理由
特化することには、ジェネラリストよりも価値があるいくつかの理由があります。
1. 希少価値
特定の分野に特化した専門家は、市場価値が高くなります。これは、その分野の知識とスキルを持つ人材が少ないためです。2. 深い知識とスキル
特定の分野に特化することで、その分野の深い知識とスキルを身につけることができます。これは、より複雑な問題を解決し、より高品質な仕事をすることを可能にします。3. 効率性
特定の分野に特化することで、その分野の仕事に効率的に取り組むことができます。これは、必要な知識とスキルをすでに持っているため、新しいことを学ぶ必要がないからです。4. 信頼性
特定の分野に特化することで、その分野の専門家として信頼を得ることができます。これは、顧客やクライアントから高く評価されます。5. キャリアパス
特定の分野に特化することで、その分野での専門的なキャリアパスを築くことができます。これは、より高い役職やより高い給与を得る可能性を高めます。
一方、ジェネラリストにもいくつかのメリットがあります。
- 幅広い知識と経験を持っている
- さまざまな仕事に対応できる
- 新しいことを学ぶのが得意
- 変化に柔軟に対応できる
結論
特化することとジェネラリストであることには、それぞれメリットとデメリットがあります。どちらが価値があるかは、個人の目標やキャリアプランによって異なります。
特化することに向いている人の例
- 特定の分野に強い興味を持っている人
- 専門的な知識とスキルを身につけたい人
- 希少価値の高い人材になりたい人
- 専門的なキャリアパスを築きたい人
ジェネラリストに向いている人の例
- 幅広い知識と経験を身につけたい人
- さまざまな仕事に挑戦したい人
- 新しいことを学ぶのが得意な人
- 変化に柔軟に対応できる人
自分の目標やキャリアプランをよく考えて、自分に合った方を選ぶことが重要です。
感想+雑記
かなり反骨精神を持っている人だなぁと読んでいて思った。
ところどころ共感できるところはあるが、それはないだろうってところもある。
環境が日本と同じではないから、それが違いになる可能性はありそう。
忠誠心は、俺も持ってないな。
日本だと、帰属意識ってやつだと思う。
給料もらえるからいるだけで、給料がでないなら、離れるだけ。
会社のために~とかは、考えたことがない。
俺は、俺のためにするので、会社のためって言うのは、綺麗事のように感じる。
あと、自分の技術力に責任をもつためにも、会社のためってのは辞めたほうがいいと思う。
何かミスったときや振り返ったときに、会社のせいにしやすいから。
自分に責任を持たすことで、下手な言い訳をしないようにする予防線になると思っている。
C言語を推していたけど、言っていることは分からんでもない。
おそらく、ローレベルの理解がないと、ハイレベルの制御をちゃんとすることはできないってことなのだろう。メモリの使われ方を、C言語は嫌でも考えるから、プログラミングの基礎知識を考えるうえで重要だと思う。
俺も、Cは、学生時代に触ったことがある。ハードよりの知識が少しあるおかげで、抽象的な話にもついていけてるような気がしないでもない。
Cを触ったからそう思うだけど、触ってなかったらどうなっていたのかは分からんから、結果論でしかないが。
愚か者とは距離を置くってのは、かなり共感できる。
仕事してると、嫌なやつは必ずいるからな。。。
自分が正しいことをしていると疑わないやつ。
指摘するとやたらと反論してくるから、面倒くさいんだよね。。。
そういう人とやりあってもいいけど、疲れるから、距離を置くってのをよくやる。
よく考えた方がいい。人付き合いがうまくできないやつは、ジリジリと首を締められていくことに。
自分も他人事ではないので、ちゃんと相手に敬意をもって接するように心がけたい。