数字で見る!メンバーが注目している技術領域!
はじめに
最近、ゴルフのスコアが思うように伸びず、スランプに陥りかけているrihwaです。練習しても全然上手くいかない。一筋縄ではいかない感じが、なんだか仕事と通じる部分もあり、もっと打ち込んでいきたいと感じている今日この頃です。
今回は、数字で見る!シリーズ第三弾として、DWSで働いているメンバーに、技術にまつわるアレコレをヒアリングしたので、その結果を数字として大公開したいと思います!
メンバーの技術への関心を数値化してみたい!
DWSのブログでは、技術について多くの情報を発信していますが、実際にDWSに在籍しているメンバーがどのような技術に関心を持っているのかをヒアリングし、結果をランキング化してみることにしました!
「どんな技術領域に興味があるのか」、「好きなプログラミング言語やフレームワークは何か」、「技術スタックを選択する際の考え方」など、さまざまな視点からとことん深掘ります!
過去の「数字を見るシリーズ」は、社内情報を数字を用いて大公開しているので、ぜひご覧ください!
メンバーが注目する技術ランキング
好きなプログラミング言語は?
順位 | プログラミング言語 | % |
1. | TypeScript | 26% |
2. | Go | 23% |
3. | Python | 19% |
プログラミング言語のランキングを付けることは難しいという意見もありましたが、今回の調査で最も人気があったのは"TypeScript"でした。「バックエンドもフロントエンドも作れるため」という理由から、その汎用性が高さに魅力を感じているメンバーが多いようですね。
2位には"Go"が選ばれ、コメントでは、「堅実な型変換と少ないコンパイルエラー」「強力な静的型付けと一貫性のあるエラーハンドリング」「チームでの開発における利点」などが挙げられています。中には、単純に「書きやすくてかっこいいから」という理由で支持する声もありました。笑
3位は"Python"で、支持された理由として、「豊富な参考記事が存在していること」「使いやすさや直感的な読み書きのしやすさ」などが挙げられており、Pythonの柔軟性や多様な用途に対応できる点が評価されています。
これらの結果から、プログラミング言語の選択においては、それぞれの言語の特性や利点が重要視されていることがわかりました。
苦手なプログラミング言語は?
順位 | プログラミング言語 | % |
1. | Java | 19% |
1. | Ruby | 19% |
3. | C++ | 13% |
苦手意識のあるプログラミング言語について、聞いてみると、"Java"と"Ruby"が同率1位となりました。寄せられた理由としては、「文字列が長く、扱いにくい」という点や、「記法が独特で理解しにくい」という声が多かったです。
2位には"C++"がランクインしており、「複雑な言語構造により理解が難しい」という意見や「実行環境毎の差異が多く、移植性に課題がある」という指摘がありました。
他の言語に関しても、それぞれの特徴に起因する苦手意識を持っている方が多く、"COBOL" については、「古い実装背景からの派生であり、保守性において解読が難しい」という意見が寄せられました。
好きなフレームワークやライブラリは?
順位 | フレームワーク/ライブラリ | % |
1. | React | 17% |
1. | SpringBoot | 17% |
3. | Next.js | 13% |
4. | Gin | 13% |
フレームワークについての調査では、"SpringBoot"が最も支持を集めました。「開発効率が良い」「スピーディーな開発が実現できる」といったコメントが寄せられています。複雑な設定を簡略化し、迅速なプロジェクト立ち上げが可能であることが高く評価されているみたいですね。
"React" も多くのメンバーに愛用されており、「コンポーネントベースのアーキテクチャが使いやすい」「エコシステムが充実している」という声がありました。"Gin" はシンプルさと高性能さという点で人気があり、"Next.js" は「フレームワークとして使いやすく、一番触り慣れているから」という理由で支持しているメンバーもいました。
選んだ理由を見ていると、開発効率の高さや学習コストの低さ、そしてモダンな開発体験かどうかが重視されています。新しい技術を積極的に学びたいメンバーにとって、これらの要素を重要視されていることがわかりました。
好きな開発環境やツールは?
順位 | 開発環境やツール | % |
1. | Visual Studio Code | 60% |
2. | IntelliJ | 10% |
3. | Docker | 6% |
3. | AWS CDK | 6% |
開発環境やツールとして、圧倒的な支持を得ているのは"VSCode"です。「前職でも使い慣れており、長年愛用してきた」や「シンプルなUIと豊富な拡張機能が使いやすい」というコメントがありました。
次に票数が多かったのは"IntelliJ"で「豊富な機能とデバッグ能力が高い」といったコメントがあり、強力なIDEとして評価が高い印象です。また、Dockerについても「Dockerで開発環境立てるのが楽しい」や「環境の再現性が高い」といった意見が挙がり、簡単に環境を構築し維持管理できることが評価されています。
それぞれのツールや環境の利点を活用して、効率的に作業を進めている方が多い印象ですね。
興味を持っているプログラミングパラダイムは?
プログラミングパラダイムに関しては、"関数型プログラミング"に対する関心が最も高く、7割の方が興味を持っていると回答しています。「引数以外の影響を受けないため、テストが簡単」や、「オブジェクト指向型の言語には、構造化プログラミングの考え方が反映されており、今度はその上に関数型のアプローチが追加されることで、新たな進化が期待されそうという個人的な見解がある」などのコメントがありました。
実際、DWSでは毎週、外部講師を招いて関数型言語の勉強会(希望制)を開催しており、関数型プログラミングに対して、積極的に学習を取り組んでいるメンバーが多い印象です。
技術スタックを選ぶ際に重視する要素は?
要素 | % | 具体的な例 | |
1. | プロジェクトとの適合性 | 30% | エコシステムの充実度・ドキュメントの充実度・適合性 |
2. | 将来性と成長 | 20% | 新しさや先見性・将来性や成長性があるか |
3. | 興味と楽しさ | 17% | 自身の興味・ワクワクするか・楽しいかどうか |
4. | チームと学習コスト | 12% | 学習コストの高さやコスパ・チームの技術スキルとの適合度 |
5. | 技術的評価 | 8% | パフォーマンスと拡張性・セキュリティ |
5. | メンテナンスと持続性 | 8% | メンテナンスの頻度・陳腐化の度合い |
7. | コミュニティ/サポート | 5% | コミュニティとサポートの充実度 |
技術スタックを選ぶ際の重視点について、"プロジェクトとの適合性"という点が多くの支持を集める結果になりましたが、プロジェクトマネージャーの役割を担当しているメンバーからは「先見性、学習コスト、拡張性の間にトレードオフがある」との指摘がありました。その上で、対象プロジェクトの規模、工期、難易度、継続性などに応じてバランスを見つける必要があるといった具体的なコメントが寄せられました。
また、「利用者数に対して処理速度が適切かどうか、技術が広く普及しているかどうか、」な°といった、プロジェクトのニーズや環境に合わせてバランスを取りながら、最適な選択を行っている印象がありますね。
コードの可読性を向上させるための工夫は?
要素 | % | 具体的な例 | |
1. | コメントを残す | 32% | コメントを丁寧に書く・命名ルールの整備を行う・処理機能を記述 |
2. | 関数名や変数名 | 26% | 適切な命名規則の使用・変数名をわかりやすいものにする |
2. | コードのフォーマットや規約 | 26% | 同じルールを共有・メソッドチェーン時の適宜改行 |
4. | 機能分割やリファクタリング | 16% | 同じコードはリファクタしてまとめる・コードの分割とモジュール化 |
コードの可読性を向上させる方法について、”コメントを残す”の回答が多く、中には「普段から癖づけられたバッドプラクティスがないか常にアンテナを張っている」という意識を持つことの重要性が指摘されています。
また、他のメンバーは「Linterを導入し、全てのメンバーで同じルールを共有する」というツールを用いた方法を実施していたり、より読みやすくメンテナンスしやすいコードを作成することに注力しているメンバーが多い印象です。
愛用しているデバッグツールやアプローチ方法は?
デバッグの際に愛用している機能は、"IDEのデバック機能"や"GitHub Copilot"、"Printデバッグ"などを利用しているメンバーが多く、アプローチについては"ログの使用"や"コメントアウトの活用"等が挙げられました。
中には、「テクニック的な部分では、どのレイヤーで問題が発生しているかを意識してアプローチしている」といったコメントもあり、レイヤーにフォーカスしてデバッグを行い、効率的に問題を解決していくことを意識していることがわかりました。
最近学んだり、興味を持っている技術やスキルは?
順位 | 学んだり、興味を持っている技術やスキル | % |
1. | 生成AI関連 | 21% |
2. | プロジェクトマネジメント | 16% |
2. | AWS全般 | 16% |
4. | 統計学 | 11% |
直近で学習したり、興味を持っている技術やスキルに関しては、"生成AI関連"が1位の結果となりました。「プロンプトエンジニアリングから生成系AIアーキテクチャに至るまで幅広く関心を持っている」などのコメントがあり、生成AIにまつわる学習に熱心なメンバーが多いことがわかります。
次に多かったのは"プロジェクトマネジメント"で、「自身が役割として持っているわけではないが、プロジェクトを円滑に進めるために、プロジェクトマネジメントや計画の実践的なスキルを身につけることが重要」という理由から選んでいる方もいました。
その他にも、幅広い領域に興味を持っているメンバーがおり、実際DWSでは毎週何かしらの勉強会が開かれています。これらの勉強会では、最新技術や新しいツール等に関する情報共有が行われていて、メンバー同士で知識を深める場となっています。
さいごに
今回は、メンバーの技術に対する興味や関心を大公開しましたが、いかがだったでしょうか。
メンバーがあらゆる観点から技術を考え、重視している点や思考が垣間見えたのではないでしょうか。
実際の開発環境については、プロジェクトによって異なります。具体的にどんな開発環境を使っているのか興味のある方は、面談時にお気軽にお聞きください。
また、当社の採用ページにも、実際の開発環境の一部が記載されていますので、ご興味のある方はぜひご覧ください!