ブックマーク / qiita.com/hirokidaichi (20)

  • "技術的負債"論の道案内 - アーキテクチャの資本コストと情報の非対称性 - Qiita

    はじめに ソフトウェアと組織経営をめぐる問題で避けては通れないのが、「技術的負債」と言う言葉です。一般には、「早さ」を求めて構築されたシステムの構造的な課題が、徐々に蓄積し、債務であるように徐々に開発速度そのものを遅くして行くと言う現象のことを意味しているように捉えられます。 これは、技術組織を持つ経営者や、ソフトウェアエンジニアではない発注者にとっては理解しにくいものです。またソフトウェアエンジニアであっても「古くなってしまったコード」や「わかりにくコード」全般のことを技術的負債と呼び、それをもって何かを説明したかのように考えてしまうことはままあります。 これらに起因して、双方のコミュニケーションが破綻してしまうこともよく見られる景色です。 技術的負債の経済効果は毎年マイナス12兆円 このような構造的な問題をはらむ技術的負債は、老朽化したレガシーなシステムとして、事業の組織改革を遅らせて

    "技術的負債"論の道案内 - アーキテクチャの資本コストと情報の非対称性 - Qiita
    daiki_17
    daiki_17 2019/12/19
  • 100名に聞いた!エンジニアリングマネージャーの給与と責務の実態調査 - Qiita

    はじめに ソフトウェアエンジニアリングマネージャ(以下、EM)に求められる責務は、多岐にわたっています。 流動性が高いITの業態である一方、日型メンバーシップ雇用と米国型のJD型雇用との隙間にあって、責務と権限の曖昧な状況の中に置かれることも少なくないように思われます。 このような状況下で、メンバーからも経営からも双方にそれぞれの考える理想的なマネージャであることを求められることもしばしばあるようです。結果として、マネージャの休職など精神的なストレスも高さが問題になっています。 また、ソフトウェアエンジニアにとって、プログラミングにおけるスキルとくらべ、マネジメントに対するそれのモビリティ(会社を変えても有効であると思える程度)が低く見えると言ったことから、ソフトウェアエンジニアにとってキャリア形成に効きづらいのではないかと考えてしまうことも自然なことです。 その結果、ソフトウェアエンジ

    100名に聞いた!エンジニアリングマネージャーの給与と責務の実態調査 - Qiita
    daiki_17
    daiki_17 2019/02/26
  • エンジニアリング組織論への招待:リファレンスガイド第1章/第2章 - Qiita

    はじめに 稿は、拙書のエンジニアリング組織論への招待~不確実性に向き合う思考と組織のリファクタリングに関する参考となる書籍を企画意図とともにあげていく試みです。できる限り、専門書ではなく平易な文体の書籍を参考としてあげていきますので、このあたりを深掘りしたいなと思ったら、その箇所のみの参考書籍を併読していただけるとより理解が深まると思います。 Chapter 1 思考のリファクタリング 第1章は、「仕事」と「学力テスト」という2つの違いを論じながら、16世紀から20世紀初頭にいたるまでの科学哲学の歴史を辿っていくというのが「裏テーマ」となっています。そこから、「知識を得る」とは何かということを浮き彫りにし、それこそが<エンジニアリング>であると論じるということが書を通じた論理展開の骨子です。 そのため、直接の参照ではありませんが、科学という概念が西洋社会でどのように生まれてきたのかとい

    エンジニアリング組織論への招待:リファレンスガイド第1章/第2章 - Qiita
    daiki_17
    daiki_17 2018/03/31
  • 経営者マインドが足りない!vs. 現場に任せてくれない!の対立をなくすカードゲームをつくった話 - Qiita

    デリゲーションポーカーを作った プランニングポーカーみたいに権限委譲を促進するカードゲーム、「デリゲーションポーカー」をいきおいでつくった。さらにLINEスタンプも作った。 カードゲーム販売ページ LINEスタンプ販売ページ デリゲーションポーカーの元ネタはこちら参照 権限と責任の話 経営者マインドが足りない!の欺瞞 よくネットで炎上しがちなひとが「経営者マインドが従業員に足りない!」というようなアメリカ人には大和魂がない!的なそりゃそうだろとしか言いようのない言説を口にします。 この表現はさておき、このような言説を口にしてしまう背景には何があるでしょうか。このような人はきっと自分の会社の従業員にもっといろんなことを任せていきたいと思っているのでしょう。 ところが、そのような期待値をしっかりと部下に対して伝えることができていないため、メンバーも自分自身の成長のタネがどこにあるかわからずに、

    経営者マインドが足りない!vs. 現場に任せてくれない!の対立をなくすカードゲームをつくった話 - Qiita
    daiki_17
    daiki_17 2018/02/22
  • 半年で40kg痩せた!ダイエットでわかるリーンなプロジェクトマネジメント手法 - Qiita

    はじめに 最近は年を取ってきたのか、様々な人にマネジメントの考え方やソフトウェアアーキテクチャの設計についてのメンターリングをすることが多いのですが、その時に必要なのはやはり説得力です。僕は基的には欲望に弱い人間なので、すぐに欲望のままに行動します。それは主に知識欲と欲です。そのため、20歳からどんどんと太っていき、才能がないと突破できないとされる100kgの壁も悠々と突破するような人間ができあがりました。 すると不思議なもので、声が聞こえてくるのです。 「こいつ、マネジメントとかいってるけど、セルフマネジメントできておらんやんけ」 これは全くの幻聴なのですが、そういった幻聴を聴くくらいには心に内臓脂肪が溜まってきていました。 そんなタイミングと「胃痛を空腹と勘違いし回鍋肉をべた結果、胃痛が加速する」という経験を経て、ちょっくらダイエットでもして見るかと考えるようになりました。 さて

    半年で40kg痩せた!ダイエットでわかるリーンなプロジェクトマネジメント手法 - Qiita
    daiki_17
    daiki_17 2017/12/25
  • 不安とストレスから解放される見積りとスケジュール方法 - Qiita

    エンジニア組織を強くするためのを出版しました Qiitaでエンジニアリングをめぐる様々なコミュニケーションの問題とその解決策や考え方を書いてきた。それらの背後にあるエッセンスをこの度書籍として出版するに至りました。 エンジニアリング組織論への招待 ~不確実性に向き合う思考と組織のリファクタリング この書籍は、エンジニアリングを「不確実性を削減する」という第一原理で捉え直し、様々なエンジニアリングとその間のコミュニケーションをめぐる現象を説明していくものです。 はじめに 何かはじめてのことをする場合、人はとても「不安」を感じます。人は未来を考えることができる生き物です。その特異な能力ゆえに、未来に起こるかもしれないよくないことを考えると「不安」を感じてしまうのです。 仕事プロジェクトなどは、「間に合わなかったらどうしよう」とか「この仕事はちゃんと終えられるのだろうか。」など、未来のことを

    不安とストレスから解放される見積りとスケジュール方法 - Qiita
    daiki_17
    daiki_17 2016/09/09
  • 新入社員が来てメンターになれって言われたけど、どうすればいいのかという対話テクニック - Qiita

    エンジニア組織を強くするためのを出版しました Qiitaでエンジニアリングをめぐる様々なコミュニケーションの問題とその解決策や考え方を書いてきた。それらの背後にあるエッセンスをこの度書籍として出版するに至りました。 エンジニアリング組織論への招待 ~不確実性に向き合う思考と組織のリファクタリング この書籍は、エンジニアリングを「不確実性を削減する」という第一原理で捉え直し、様々なエンジニアリングとその間のコミュニケーションをめぐる現象を説明していくものです。 はじめに 最近、メンター制度として新入社員や若手のメンバーに対して、先輩をつけて相談事に乗ってあげたり、仕事のサポートをしたりといったような教育プログラムを組む企業が増えています。このメンターという役割は、ちょっとした訓練が必要だったりするのですが、このあたりの研修や訓練をせずにいきなり明日からメンターね!なんてことがままあります。

    新入社員が来てメンターになれって言われたけど、どうすればいいのかという対話テクニック - Qiita
    daiki_17
    daiki_17 2016/05/09
  • もう保守されない画面遷移図は嫌なので、UI Flow図を簡単にマークダウンぽく書くエディタ作った - Qiita

    はじめに Webサービスやアプリを企画したり、立ち上げたりする際にプロトタイピングツールや、ExcelPowerpoint、Illustraterなどを駆使した謎のファイルで画面遷移図を描くことがある。 こういう図を元に仕様を決めて行って、サービスを作っていくのは以下の点で困る。 画面遷移図が保守されない。 書くのが非常に面倒くさい ユーザーのモチベーションの流れが追いづらく、見た目ばかりに注目してしまうものになりがち マシンリーダブル(ソフトウェアで構造を取り出せない)でない。 このような欠点があってどうにも扱いづらい。 そんなわけで、markdown風のテキストから簡単に画面遷移図を描けないかなとコンパイラを作成し、次にそれをインタラクティブに編集できるエディタを作成した。 UI Flows図について 画面遷移図的なものを書く際に、僕が個人的につかっていた表現方法として、UI Flo

    もう保守されない画面遷移図は嫌なので、UI Flow図を簡単にマークダウンぽく書くエディタ作った - Qiita
    daiki_17
    daiki_17 2016/04/02
  • エンジニアなら知っておきたい障害報告&再発防止策の考え方 - Qiita

    システムには障害がつきものです。どんなにしっかりと作られたサービスであっても思わぬところで、バグやミスが発覚して、トラブルになるものです。大事なのはこういった障害を次への糧にしていくこと。失敗というのは大事な資産なので、管理できるようにしましょうという話。 あわせて読みたい あきらめるにはまだ早い!ソースコードの品質向上に効果的なアプローチ メンタリングの方法について基礎をまとめました。内心でなく行動を変えることが障害報告とも共通します。 新入社員が来てメンターになれって言われたけど、どうすればいいのかという対話テクニック 半年で40kg痩せた!ダイエットでわかるリーンなプロジェクトマネジメント手法 心理的安全性ガイドライン(あるいは権威勾配に関する一考察) 障害の種類と障害報告について 障害には、小さなもの、たとえば画面に表示されているテキストの乱れから、すべての画面で50xエラーが発生

    エンジニアなら知っておきたい障害報告&再発防止策の考え方 - Qiita
    daiki_17
    daiki_17 2016/03/09
  • 2015年に備えて知っておきたいリアクティブアーキテクチャの潮流 - Qiita

    はじめに もうすっかり年末なので、これから2015年にかけてアプリケーションアーキテクチャがどのようになっていくのかという個人的な考え/妄想や背景について、「リアクティブ」というキーワードをもとににまとめてみたいと思います。 Google Trendsを見ると"reactive programming"という言葉は2010年前後から、ゆっくりとバズをし始め、現在も上昇を続けています。 また、仕事としては、2010年ごろから大規模なWebサービス開発において、フロントエンド、バックエンド、アルゴリズム改善といった様々な箇所で、リアクティブプログラミングの要素を取り入れながら、アーキテクチャの改善を進めてきました。そのため、こういったアーキテクチャがコード品質の維持や安定性の向上、実際的で複雑な問題の解決にも適応可能であるということを実感として持っています。 近年、そういった要素が様々なツール

    2015年に備えて知っておきたいリアクティブアーキテクチャの潮流 - Qiita
    daiki_17
    daiki_17 2014/11/29
  • [翻訳]なんでGoってみんなに嫌われてるの? - Qiita

    原文:http://npf.io/2014/10/why-everyone-hates-go/ 酔っぱらった勢いで訳出してるので、違ってたら修正リクエストください。 訳者の1行でわかるサマリ それって、Goのシンプルな言語哲学が、ML系言語好きのアイデンティティを挑発しちゃってるからじゃないの? いや、実際みんなって訳じゃないんだろうけど。最近、なんてGoをみんなそんなに批判的なのかって言うquoraの質問が出たもんで。(わるい、普段はquoraへのリンクを張らないんだけど、それがこの記事のきっかけだからね。)この質問への回答を見るまえにもう、僕には、次みたいなことが書かれていることがわかってた: Goは70年代に立ち往生した言語だ Goは40年間に及ぶプログラミング言語研究の成果を無視してる Goはブルーカラーの凡夫のための言語だ Go使いはJava1.0で仕事しても大丈夫なんだろう。

    [翻訳]なんでGoってみんなに嫌われてるの? - Qiita
    daiki_17
    daiki_17 2014/10/17
  • 何かのときにすっと出したい、プログラミングに関する法則・原則一覧 - Qiita

    エンジニア組織を強くするためのを出版しました Qiitaでエンジニアリングをめぐる様々なコミュニケーションの問題とその解決策や考え方を書いてきた。それらの背後にあるエッセンスをこの度書籍として出版するに至りました。 エンジニアリング組織論への招待 ~不確実性に向き合う思考と組織のリファクタリング この書籍は、エンジニアリングを「不確実性を削減する」という第一原理で捉え直し、様々なエンジニアリングとその間のコミュニケーションをめぐる現象を説明していくものです。 デメテルの法則 別名最小知識の法則。デメテルは、豊穣の女神。アスペクト指向などの研究であった「デメテルプロジェクト」に由来。 基的な考え方は、任意のオブジェクトが自分以外(サブコンポーネント含む)の構造やプロパティに対して持っている仮定を最小限にすべきであるという点にある。 単純化して説明すると、オブジェクトの"メンバーのプロパテ

    何かのときにすっと出したい、プログラミングに関する法則・原則一覧 - Qiita
    daiki_17
    daiki_17 2014/07/22
  • あきらめるにはまだ早い!ソースコードの品質向上に効果的なアプローチ - Qiita

    エンジニア組織を強くするためのを出版しました Qiitaでエンジニアリングをめぐる様々なコミュニケーションの問題とその解決策や考え方を書いてきた。それらの背後にあるエッセンスをこの度書籍として出版するに至りました。 エンジニアリング組織論への招待 ~不確実性に向き合う思考と組織のリファクタリング この書籍は、エンジニアリングを「不確実性を削減する」という第一原理で捉え直し、様々なエンジニアリングとその間のコミュニケーションをめぐる現象を説明していくものです。 はじめに この記事は数百万行の動的型付き言語のWebアプリケーションのリファクタリング、アプリケーションアーキテクチャの再設計の経験を基に、有効だと思われる考え方やアプローチを抜粋して紹介するものです。言うまでもなくあらゆるコードベース、アーキテクチャにおいて有効なものとは限りませんので、各々の環境や状況から適切に判断してください。

    あきらめるにはまだ早い!ソースコードの品質向上に効果的なアプローチ - Qiita
    daiki_17
    daiki_17 2014/07/19
  • 「オブジェクト指向プログラミング」と「関数型プログラミング」のたった一つのシンプルな違い - Qiita

    はじめに 関数型プログラミングとオブジェクト指向の抜き差しならない関係について整理して考えるという記事がkenokabeさんという方が挙げていて、拙著の 新人プログラマに知っておいてもらいたい人類がオブジェクト指向を手に入れるまでの軌跡について言及があったので、補考として挙げておく。 暗黙的状態と明示的状態 これまで、関数を「わかりやすくきれいに書く方法」とオブジェクト指向が「どのようにして生まれてきたか」について話してきた。 新人プログラマに知ってもらいたいメソッドを読みやすく維持するいくつかの原則 新人プログラマに知っておいてもらいたい人類がオブジェクト指向を手に入れるまでの軌跡 一見、それぞれ関係ないように思うかもしれないが、実は大きなテーマでつながっている。 『それは「状態」をどのように取り扱い単純化するか。』ということだ。そして、これがいわゆる関数型プログラミングとオブジェクト指

    「オブジェクト指向プログラミング」と「関数型プログラミング」のたった一つのシンプルな違い - Qiita
    daiki_17
    daiki_17 2014/07/15
  • 片手間のJavaScriptから脱出するためにこれからのWebエンジニアが理解すべきこと - Qiita

    はじめに 最近、こういった記事が世間をにぎわせている。こりゃエヴァの話なんてしてる場合じゃねぇ!と思ってさくっとこの辺の事情を理解するために必要なことをまとめてみる。 Railsが時代に合わなくなってきた Javascriptを使うのをやめろ:Railsの時代遅れ云々についての結論 昔ながらの「片手間に書くJavaScript」の限界 GoogleTwitterでも実現できないのだから使うな問題 この話は、どの地点の何の話をしているのかよくわからないのです。現在ではかなりステップバック&改善が行われ、Safari自体のクラッシュはアプリのクラッシュと比べて、あまり多いとは思いません。むしろ、一昔前に比べてかなり改善しているという認識です。iOSのバージョンが古いとかでなければ、現状でも十分ユーザビリティの改善につながっているでしょう。 しかし、この問題の結構大部分を占めているのは個人的に

    片手間のJavaScriptから脱出するためにこれからのWebエンジニアが理解すべきこと - Qiita
    daiki_17
    daiki_17 2014/07/04
  • ペアプログラミングして気がついた新人プログラマの成長を阻害する悪習

    最近、あまりプログラミングが得意でない人のサポートをする形で、長い時間にわたってペアプログラミングを行っている。そのなかで、気がついた悪い習慣と成長するための良い習慣というものをまとめてみる。 この記事のバックグラウンドとなる体系的知識がになりました。 エンジニアリング組織論への招待 ~不確実性に向き合う思考と組織のリファクタリング あわせて読みたい 経営者マインドが足りない!vs. 現場に任せてくれない!の対立をなくすカードゲームをつくった話 新人プログラマに知ってもらいたいメソッドを読みやすく維持するいくつかの原則 新人プログラマに知っておいてもらいたい人類がオブジェクト指向を手に入れるまでの軌跡 ペアプログラミングして気がついた新人プログラマの成長を阻害する悪習 あきらめるにはまだ早い!ソースコードの品質向上に効果的なアプローチ 心理的安全性ガイドライン(あるいは権威勾配に関する一

    ペアプログラミングして気がついた新人プログラマの成長を阻害する悪習
    daiki_17
    daiki_17 2014/05/26
  • 新人プログラマに知っておいてもらいたい人類がオブジェクト指向を手に入れるまでの軌跡 - Qiita

    あわせて読みたい 新人プログラマに知ってもらいたいメソッドを読みやすく維持するいくつかの原則 ペアプログラミングして気がついた新人プログラマの成長を阻害する悪習 「オブジェクト指向プログラミング」と「関数型プログラミング」のたった一つのシンプルな違い あきらめるにはまだ早い!ソースコードの品質向上に効果的なアプローチ 2015年に備えて知っておきたいリアクティブアーキテクチャの潮流 この記事について この記事は新人向けの研修内容を再編集してお送りいたします。 ここで述べる内容はどのようにして現在のプログラミングスタイルが生まれてきたかを理解することで、よりよいプログラムを書くためのもので、正確なソフトウェア工学の歴史を学ぶためのものではありません。正確な歴史を把握したい場合は、原典をあたるようにしてください。 また、想定している読者は「よくあるオブジェクト指向プログラミングの学習」を既にし

    新人プログラマに知っておいてもらいたい人類がオブジェクト指向を手に入れるまでの軌跡 - Qiita
    daiki_17
    daiki_17 2014/05/14
  • 新人プログラマに知ってもらいたいメソッドを読みやすく維持するいくつかの原則 - Qiita

    エンジニア組織を強くするためのを出版しました Qiitaでエンジニアリングをめぐる様々なコミュニケーションの問題とその解決策や考え方を書いてきた。それらの背後にあるエッセンスをこの度書籍として出版するに至りました。 エンジニアリング組織論への招待 ~不確実性に向き合う思考と組織のリファクタリング この書籍は、エンジニアリングを「不確実性を削減する」という第一原理で捉え直し、様々なエンジニアリングとその間のコミュニケーションをめぐる現象を説明していくものです。 あわせて読みたい 新人プログラマに知ってもらいたいメソッドを読みやすく維持するいくつかの原則 新人プログラマに知っておいてもらいたい人類がオブジェクト指向を手に入れるまでの軌跡 ペアプログラミングして気がついた新人プログラマの成長を阻害する悪習 この記事について この記事は、新人向けの研修内容を再編集してお送りします。 この記事の内

    新人プログラマに知ってもらいたいメソッドを読みやすく維持するいくつかの原則 - Qiita
    daiki_17
    daiki_17 2014/05/09
  • そろそろ理解しておきたいのでDockerのソースコードをビジュアルに読む! - Qiita

    まずはツールの紹介 昨今、注目を浴びているアプリケーションコンテナを作ったり管理したりできるDocker。 そろそろ中身も理解しておきたいところ。特に最近はlibcontainerというのができて、lxc依存すら切り離されているとの噂。 ただ、結構ソースコードの量も大きくなっているので(2014/4月現在 テストコード除いて70000行弱)、 さっと大まかに理解するためのツールを書いてみました。 このツールはgoのastからパッケージの間の依存関係を読んで、graphvizの解釈するdot言語に吐き出すツールです。 たとえば、最近話題のgo-xslateの全体像をつかもうと思ったら、 のようにすることで、 拡大 こんな感じにパッケージ間の依存関係を図示することができます。 これだけでも何となくどんな構造になってるかわかってきそうですね。 不安定性の表示 govizにはdot言語の出力の他に

    そろそろ理解しておきたいのでDockerのソースコードをビジュアルに読む! - Qiita
    daiki_17
    daiki_17 2014/04/14
  • MVCの流れを簡単にまとめてみる - Qiita [キータ]

    理解しやすいように適当に遮ったり、言い切ってしまったところもあるがご容赦いただきたい。 MVCの登場 MVCは、SmalltalkのGUIライブラリのモデルとして登場した。 これはGUIアプリケーションを記述する際に、適切なモデル化を進めるのにとてもいい考え方だと思われていたし、実際にそうだった。 これはアーキテクチャパターンとして、それぞれがどのように依存するべきか、どこにコードを書くべきかということを端的に表している。 安定依存の原則というものがある。これは、要件が安定しているモジュールに依存し、要件が変動しやすいモジュールには依存しないようにするという原則だ。MVCアーキテクチャでは、GUIアプリケーションの安定関係をModel > View > Controllerの順でとらえている。データ処理や業務要件というのは安定しており、UIパーツもまた比較的安定している。それらを統合してア

    MVCの流れを簡単にまとめてみる - Qiita [キータ]
    daiki_17
    daiki_17 2014/01/15
  • 1