新入社員の時に以下の2点について教えてもらったことを今も守っている。
1.実際コーディングする前に、何がやりたいのか先に言葉にする。ー>ソフトウェアの設計の概念だと思っているし、今も常に実践しようとしている。
2.コードは自分の為ではなく、引き継ぐ人のために書くべきであるー>SIerとしてコードは顧客への納品物であったため、読みやすさも重要なポイント。->メインテナンス性が上がる。
同業の先輩や同僚にアドバイスされたことで、最も仕事上の教訓になったことは何ですか?
新入社員の時に以下の2点について教えてもらったことを今も守っている。
1.実際コーディングする前に、何がやりたいのか先に言葉にする。ー>ソフトウェアの設計の概念だと思っているし、今も常に実践しようとしている。
2.コードは自分の為ではなく、引き継ぐ人のために書くべきであるー>SIerとしてコードは顧客への納品物であったため、読みやすさも重要なポイント。->メインテナンス性が上がる。
「CTOとは、エンジニアの代表ではなく自らのビジョンに基づいて意志決定する役割である」ということです(同業の先輩からの教えではありませんが)。
わたくしがCTOになってしばらくした後、経営メンバーに対して提案を行う機会がありました。エンジニアたちの声を集め意見を取りまとめた上で、ある施策の提案を行ったのです。その内容を聴いて社長がひとこといいました。「そのことについてのあなたのビジョンはなんなのですか?」と。
つまり、CTOというの...
ソフトウェアを作っていると、日々大小様々な選択をすることになります。
コードの1行をどう書くか、設計をどうするか、フレームワークは何を選ぶか、品質を優先するかリリースを優先するか、などなど。
どんな場面であっても「ベストな選択」が明らかなわけではなく、ソフトウェアを使う相手、開発体制、将来の事業の方向性、競合製品など、様々な要素を考慮して、ようやく「納得のいく選択」ができるのです。
大事なのは、コードだけを見てもベストな選択は見え...
僕がiOSエンジニアをしていた時の話です。
テックリードをやっている先輩が「自分より優秀な人をどんどん採用して、引退したい。それが組織として一番良いから」ということを言っていました。
その時は何を言っているんだろうという気持ちが強く、そのため印象に残っているのですが、思い返すと、かなり大切な要素を二つ含んでいます。
①権限を適切に移譲すること②チームの能力を自分の能力の部分集合にしないこと
自分に判断や責任が集中してしまうとボト...
印象的だったのは "俺たちのような人間は走り続けていないと止まっているのと同じなんだ" と言われた言葉です。
私の場合は、学歴や肩書ではなく、仕事のアウトプット(今ままで立ち上げたプロダクト)が、自分の価値だと思っています。しかし、過去の実績は日々陳腐化していく為、アウトプットを生み出し続けないといけない。
新しいことにチャレンジするというのは、大きなエネルギーが必要になります。特に年齢を重ねトラックレコードが積み上がれば積み上が...
特定の技術が流行っている状態というのは既にその技術を使って活躍している組織、エンジニアが大量にいるという事と同義です。そして技術を習得するにはそれなりのコストがかかるため、すでに流行っている技術に対して遅れて取り組んだ場合にその領域でトップグループに躍り出るのは至難の業です。また、ソフトウェア業界では常に新しい技術が出続けます。2年前の技術が今は古いといった事も珍しくありません。だからこそ技術に関する強み、優位性を維持し、事業・サービス...
組織の規模が大きくなってくると、どんな課題が出てくるでしょうか?
たとえば、ラリー・E・グレイナーの5段階企業成長モデルをベースにリクルートマネジメントソリューションズが開発した「組織の発展段階モデル」というのがあります。
https://www.recruit-ms.co.jp/issue/column/0000000815/
上記でいう「ひずみ」というのは一般的に起こりえることであり、自社特有の課題ではないということを理解してお...