タグ

ブックマーク / kuranuki.sonicgarden.jp (18)

  • プログラミングにおける設計力を高めるには 〜 良いコードを書くために | Social Change!

    プログラミングとはコードを書くことだけではありません。どういった構造にするのか、データはどう扱うのか、どのライブラリを使うのか、いくつもの設計を踏まえてコードを書くのです。設計を表現したものがソースコードです。 設計の良し悪しは品質に影響します。では、良い設計を作るスキルは一体どうやって身につけることができるのでしょうか。プログラミング言語の文法は知識なので、独学でも学ぶことができますが、設計に関してはそうはいきません。 稿では、プログラミングにおける設計力を高めるためにはどうすれば良いのかを考察します。ここで言う設計は、画面や仕様ではなく、ソフトウェア内部の設計ですが、抽象化するとクリエイティブな仕事全般に通じるかもしれません。 稿の内容は「良い設計」について論じたものではなく、どうすれば身につくのかを考えたものになります。また、私たちソニックガーデンで行っている、良いコードを書ける

    プログラミングにおける設計力を高めるには 〜 良いコードを書くために | Social Change!
  • マネージャの資質とマネジメントの本質 | Social Change!

    前回の記事では、「マネジメント」と「管理」は違うものであるという主張を述べた。管理はマネジメントの手段の一つに過ぎず、現代の再現性の低い仕事や多様な人材がいるチームビルディングにおいて、昔ながらの管理という手法は通用しないのではないか、と。 では、マネジメントとは何で、それを職務とするマネージャの役割は何か、その質について考えてみたい。 マネージャに求められる能力の誤解 以前にシステム開発の現場でプロジェクトマネージャをしていた頃は、マネージャたるもの技術や業務、顧客のことまですべて把握して理解していなければいけないと考えていたし、そう実践していた。 マネージャの大事な仕事の一つは、決断することだと考えていたし、その決断に伴う責任を負うことである、とも。そのためには、あらゆることを知っていないと判断ができない、だから大変だけど向き合ってきた。 しかし、そんな全知全能であろうとするのは遅か

    マネージャの資質とマネジメントの本質 | Social Change!
  • プログラミング経験がない経営者のためのソフトウェア開発 11の事実 | Social Change!

    今やどんなビジネスでもITが関係している。ITを支えているのはソフトウェアだ。あらゆるものがソフトウェアで実現される時代になった。そんな事業や生活に密接に関わるソフトウェアだが、その開発について知られていないことも多い。 とくに経営者がプログラミング経験がないことで、ソフトウェア開発のリーダーシップをとるときに的外れなマネジメントをしてしまうことがある。あまねく経営者がプログラミング経験があれば良いのかもしれないが、それは現実的ではない。 プログラミング経験がなくても、せめてソフトウェア開発の特性について知っておくと良さそうなこともあると思い、なるべく専門用語を使わずに稿を書いた。 プログラミングは製造ではなく、設計である いまだにソフトウェア開発を、ビルや家屋の建築に喩える人がいるし、工場でモノを製造するようにプログラムが作られると思っている人もいる。 ここが間違いのもとだ。ハードウェ

    プログラミング経験がない経営者のためのソフトウェア開発 11の事実 | Social Change!
  • イマドキの会議の生産性を上げる3つの基本 〜 議事録を捨てて「議事メモ」をとろう | Social Change!

    仕事を進める上で会議は避けて通れない。公式なものからフランクなものまで、誰かと仕事をする限りは会議をしないということはない。仕事の時間のうち、会議の占める割合も大きいのではないだろうか。 その会議をどれだけ生産的にするか、会議そのものの生産性をあげることは、仕事全体の生産性に大きく影響する。今まで通りの会議スタイルで、これからも生産性を気にせず会議を続けていくのは、非常に無駄であり、もったいない事だ。 イマドキのツールや環境を活かすことで、より高い生産性の会議に変えることができるはずだ。生産性の高い会議をするための工夫について書いた。会議の当たり前を変えていこう。 みんなの見えるところでメモを取ろう どんな打ち合わせであっても、何らかのメモを一緒に見ながら打ち合わせをすると良い。そのメモは、紙やホワイトボード、テキストエディタを画面で共有するのでも、なんでも構わない。会議に参加している全員

    イマドキの会議の生産性を上げる3つの基本 〜 議事録を捨てて「議事メモ」をとろう | Social Change!
  • 業務改善とシステム化を一緒にやってしまう「業務ハッカー」という新しい職業 | Social Change!

    前々回の記事『理想の働き方改革より現場の業務改善を 〜 現実的で効果的な「業務ハック」のはじめ方』では、業務改善とシステム化を一緒にやってしまう「業務ハック」というコンセプトについて書いた。 そして、今週末には業務ハックの初の勉強会が開催される。おかげさまで好評なため、大阪でも開催することに。(業務ハック勉強会@東京、業務ハック勉強会@大阪) 今回の記事では、そんな「業務ハック」に取り組む職業「業務ハッカー」、すなわち業務改善とシステム化を一緒にやってしまう仕事について書いた。 業務改善とシステム化を兼業する「業務ハッカー」の土壌 「業務ハック」では、現行業務の分析と見える化を行い、ボトルネックを発見し、もっとも効果的な部分から小さく始めていくことを特徴としている。そして、なんでもかんでも作るのではなく、便利なツールやプラットフォームを駆使して、もっとも費用対効果の高いところだけをプログラ

    業務改善とシステム化を一緒にやってしまう「業務ハッカー」という新しい職業 | Social Change!
  • 数字や営業が苦手なプログラマだから辿り着いた「エクストリーム経営」 | Social Change!

    「心はプログラマ、仕事は経営者」プログラマである自分が働きたいと思える会社を作りたいと思って経営をしてきた。結果として、セルフマネジメントでフラットで自己組織化された組織、最近だとホラクラシーと呼ばれるような経営をしている。 いい会社だと言ってもらえることもあって誇らしく思うのだが、果たして当に良い会社かどうかはわからない。価値観に合致するプログラマにとっては良いかもしれないけれど、合わない人や他の職種の人にとっては全然ダメな会社かもしれない。 よく取材などでも聞かれるが、今の経営スタイルは、たいそう立派な理念や理想があって実現した訳ではなく、プログラマである自分自身が苦手なことをせずに済むように、逆に出来ることと得意なことは徹底的に活かそうとしてきたに過ぎない。 思い返せば、徹底的に極端にしてきたことが功を奏したことから、この経営スタイルは、もし名付けるなら「エクストリーム経営」と呼べ

    数字や営業が苦手なプログラマだから辿り着いた「エクストリーム経営」 | Social Change!
  • コピペするプログラマに足りないもの 〜 プログラミング脳の鍛え方 | Social Change!

    長くなったので先に三行でまとめておこう。 コピペするプログラマが生まれるのは教育の問題ではないか(仮説) 文法は学んでも処理の流れから考えることは教わっていない(根拠) ロジックを訓練するには脳内プログラミングが良いのでは?(提案) 少し前に私のMediumで、こんな記事を書いた。タイトルが言葉足らずだったおかげで、少し話題になった。「量産型プログラマを撲滅したい」 今回の記事では、この中で書いたコピペするプログラマがなぜ生まれるのか、どうすれば良いのか、考えてみたい。 どうすれば見分けられるのか 書いたプログラムを説明させてみれば、その人が、ちゃんと考えて作れる人か、コピペでしか作れない人か、すぐにわかる。自分の書いたプログラムの流れを説明できるということは「わかって書いた」ということだ。わかっていなければ説明できない。 「わかって書く」という一見すると当たり前のことができない人もいる。

    コピペするプログラマに足りないもの 〜 プログラミング脳の鍛え方 | Social Change!
  • セルフマネジメントの必須スキル「タスクばらし」そのポイント | Social Change!

    私たちソニックガーデンでは、指示命令のマネジメントを捨て、メンバーそれぞれが自分で考え自律的に行動することで、高い生産性を発揮しつつ様々な変化に対して柔軟に対応できる組織づくりに努めている。 そんなメンバーたちに求めるのはセルフマネジメントができることだ。セルフマネジメントができるために身に付ける素養は少なくない。しかし、セルフマネジメントを身につける最初の一歩は何かを聞かれたら「タスクばらし」だと答えるだろう。 記事では、セルフマネジメントをマスターするための最初の必須のスキル「タスクばらし」について紹介する。 「タスクばらし」とは 「タスクばらし」とは、読んで字のごとく、仕事をタスクにバラすことである。仕事に取り掛かる前に、その仕事の要素を分解し、どのように進めるか道筋を立てることで、どれくらい時間がかかるか、リスクは何か、見通しを得ることができる。 当たり前のことだと思っていたが、

    セルフマネジメントの必須スキル「タスクばらし」そのポイント | Social Change!
  • 成長のスピードが早い人と遅い人の3つの違い 〜 テーマをもって仕事に取り組んでいるか | Social Change!

    これまで多くの人の成長を見てきましたが、人によっては成長のスピードが非常に早い人とそうでもない人がいて、そこには幾つか違いがあると気付きました。 この記事では、その気付きから成長のスピードが早い人と遅い人の違いは何があるか考えてみました。もしかすると、ほんの少し意識を変えることで成長のスピードを早くすることができるかもしれません。 1)仕事のあとに「ふりかえり」をしているか 自分の仕事の進め方はいつ改善されるのでしょうか。毎回、同じことを繰り返すだけでは進歩がありません。仕事が終わったら、自らの仕事ぶりをふりかえり、良かったところを伸ばし、まずかったところを直すと良いでしょう。 私たちの会社では、仕事の「ふりかえり」に慣れていないメンバーは、最初のうちは週に1度くらいの頻度で「KPT」というフレームワークを用いて行っています。詳しくは、このブログの「ふりかえり」に関する記事に書いてあるので

    成長のスピードが早い人と遅い人の3つの違い 〜 テーマをもって仕事に取り組んでいるか | Social Change!
  • ガントチャートの功罪 〜 新規事業で工程表を作ることに意味はあるか? | Social Change!

    「納品のない受託開発」を通じて、新規事業におけるソフトウェア開発を手伝わせて頂いていることもあり、そこで得た知見を活かして新規事業の審査員のような仕事をさせて頂くことがあります。 そこで審査のために提出された資料の中にあるガントチャートや工程表を見るとき、いつも違和感を感じていました。この記事では、ガントチャートが新規事業においては有効ではないという気付きについて書きました。 ガントチャートは決められた工程の管理をするのに最適 ガントチャートや工程表は、あらかじめ完成品が見えており、工程がはっきりしたものを「製造」していくときに非常に役に立ちます。どの工程にどれくらいの工期がかかるのか見えるようにすることで全体の計画が把握できます。 ガントチャートを有効に使うためには、きちんと工程を分解できること、とりかかる工程の順番がはっきりしていること、それぞれの工程にどれくらいの期間がかかるのか見積

    ガントチャートの功罪 〜 新規事業で工程表を作ることに意味はあるか? | Social Change!
  • 「頭の回転」は才能ではなく努力で鍛えられる 〜 打ち合わせのアドリブ力を上げる4つの要素 | Social Change!

    一方通行の報告だけの会議は生産的ではありません。生産的な会議とは、その場でディスカッションをしてアイデアを出し合って、その打ち合わせの時間内に結論や成果を出すような会議です。そのためには、打ち合わせでの発言の質が大事になります。 会議で良い発言をするためにも、頭の回転の速さが求められますが、それは才能ある人だけの特権でしょうか。否、そんなことはなくて、努力をすることで身につけることができるのではないか、と私は考えています。この記事では、会議でのアドリブに強くなるための思考スピードを鍛える方法について考察しました。 デキる人は「持ち帰って検討します」を言わない 打ち合わせをしていても、その場で考えることをギブアップして「持ち帰って検討します」「あとで考えてみます」みたいな発言が出ることがあります。そうした後回し思考の発言が出ると、打ち合わせは進まなくなってしまいます。 優秀だなと思う人との打

    「頭の回転」は才能ではなく努力で鍛えられる 〜 打ち合わせのアドリブ力を上げる4つの要素 | Social Change!
  • 上司をなくせばうまくいく「ホラクラシー」採用と育成の仕組み 〜 ギルドを2年やって得た学び | Social Change!

    先日、私たちの会社ソニックガーデンのウェブサイトを少しリニューアルしました。会社を始めて5期目になって、少しずつ人も増えて組織も変化してきました。会社の顔であるウェブサイトもあわせて変化させたいと考えました。 この記事では、この1〜2年ほどのソニックガーデンで起きた出来事と変化について書きました。これからの具体的な戦略や施策については、また日々の経営の中で変わっていくものなので、またいずれ振り返って書くことになるでしょう。 カルチャーを受け継ぐ若者を「弟子」から育てる 採用について起業当時と大きく変わったことは、新卒採用を始めたことです。2014年から毎年1名ずつ採用をして、現在2名の若者が働いてくれています。彼らは、顧問プログラマが「一人前」と呼ばれるのに対して「弟子」と呼ばれています。 「納品のない受託開発」では人月商売をしないので人がいても売上には直結しませんし、仕事ができるようにな

    上司をなくせばうまくいく「ホラクラシー」採用と育成の仕組み 〜 ギルドを2年やって得た学び | Social Change!
  • ふりかえりで初心者が陥りやすい落とし穴 〜 性格も実力も急に変えられないが行動は改善できる | Social Change!

    私たちソニックガーデンでは、現場での人材育成の手段として個人の「ふりかえり」と、そのレビューを行っています。それを「ワークレビュー」と呼んでいますが、仕事の進めかたや、仕事に対する姿勢についてふりかえった内容を、メンターがレビューすることで行動の改善と成長を促します。 進めかたとしては、まずは対象者が一人で良かったこと(Keep)や問題(Problem)について洗い出しを行うのですが、ふりかえりに慣れていない初心者がつまづいてしまう様子を何度か見てきました。この記事では「ふりかえり」で、よく陥りやすいパターンと、その解消法について書きました。 自分の内面のことを問題にしてしまう ふりかえりをして問題を洗い出すときに、慣れていないと、ついやってしまうのが自分の内面や性格のことを問題としてあげるケースです。 たとえば、思っているよりも成果を出せていない、それは躓いたときに先輩に相談できてないか

    ふりかえりで初心者が陥りやすい落とし穴 〜 性格も実力も急に変えられないが行動は改善できる | Social Change!
  • 地方に暮らすエンジニアの抱える課題と希望 | Social Change!

    先日、島根県の松江で行われた「松江Ruby会議06」というイベントで講演をしてきました。講演のテーマは『「納品のない受託開発」とエンジニアの働きかたのこれから』というもので、「納品のない受託開発」「地方」「Ruby」「ギルド」について話して欲しいと依頼を受けました。 色々と新しいネタも入れた資料ですが、今回の記事では、地方で働くエンジニアについて、その講演で話したことをもとに考えてみたいと思います。 “地方”を言い訳にしている人たち あちこちの地方に講演で伺うことも多く、懇親会などに参加すると地方における問題を聞かされます。確かに様々な問題があるのもわかります。だからといって何か提案をしても「そうはいっても地方だと難しい・・・」という言葉をよく聞くのです。 しかし、果たして当に「地方」が問題なのでしょうか。 そこで思い出すのは、東京にいても現状を変えようとしない人たちの言葉です。彼らはこ

    地方に暮らすエンジニアの抱える課題と希望 | Social Change!
  • なぜアジャイル開発はうまくいかないのか 〜 Don’t just do agile. Be agile. | Social Change!

    私たちソニックガーデンの「納品のない受託開発」に取り組むソフトウェア開発のスタイルは、一般的に「アジャイル開発」と呼ばれるものに近いです。 しかし実際のところ、私たちは「アジャイル開発」をしようなんてかけ声をかけたこともないですし、普段から社内で「アジャイル開発」が話題になることもありません。「アジャイル開発」をしようと思ってしている訳ではないにも関わらず、「アジャイル開発」をやっているように見えるというのです。 この記事では、「アジャイル開発」について私たちが考えていること、そして、なぜ多くのアジャイル開発は失敗してしまうのか、うまくいくためにどうすればいいのか考えてみました。 2012-12-28 / Giåm 結果としてのアジャイル開発〜究極のアジャイル 「あなたにとってのアジャイルとは何ですか?」 先日、ある勉強会で質問されました。ちょっと想定外の質問だったので、しばし考えたあと私

    なぜアジャイル開発はうまくいかないのか 〜 Don’t just do agile. Be agile. | Social Change!
  • アジャイル開発の本質 〜 アジャイルとウォーターフォールの違いとは | Social Change!

    アジャイル」という言葉が一人歩きしてしまっていて、たまに話をしていても通じないときがあります。 それくらいアジャイルという言葉が広く知られるようになったんだと思う一方で、かえって話が通じなくて、もどかしく感じることもあります。だからといって、そこで「正しいアジャイルとは」みたいな議論をしたい訳でもないのです。 広まれば広まるほど、そういった言葉の認識の齟齬が出るのは仕方ないですね。その正しい定義みたいなところを追求するのもナンセンスなので、そんなつもりはないですが、ただ自分がどう考えているかについては書いておいても良いかな、と考えました。ここは私のブログですしね。 そこで、この記事では、私の考えるアジャイル開発の質について、そしてウォーターフォールとの違いについて書きました。 アジャイル開発では機能を全部つくらない これまで私の中で、アジャイルと言えば当たり前の前提がありました。それは

    アジャイル開発の本質 〜 アジャイルとウォーターフォールの違いとは | Social Change!
  • 自ら考え行動する社員に育つための3つの哲学 〜 若手の教育を任された上司や先輩にむけて | Social Change!

    Students and Teacher in a Classroom at Cathedral High School in New Ulm, Minnesota… / The U.S. National Archives 多くの会社で新社会人を迎え入れる季節になりました。若い人たちをどう育てるのか、企業にとってとても重要なテーマです。私たちソニックガーデンでも、毎年なんとか新卒社員を採用し、師匠のもとで弟子という形で教育しています。 私の考える教育方針の哲学はシンプルで「子供扱いしないこと」「育てるのではなく育つ」「守るのではなく見守る」というものです。 これは、私が様々な先輩や上司の元で働かせて頂いた中で感じたことを思い出して考えたものです。これから若手を育てなければいけない立場になった先輩や上司の人たちにとって参考になればと思い、それを記事にしてみました。 子供扱いしないこと 人は

    自ら考え行動する社員に育つための3つの哲学 〜 若手の教育を任された上司や先輩にむけて | Social Change!
  • エンジニアに求められるコミュニケーション能力とは〜社交性なんてなくたって仕事はできる | Social Change!

    エンジニアにとってコミュニケーション能力は必要でしょうか。この話題については、賛否両論あるでしょうし、そもそもコミュニケーション能力とは何かを考えなければいけないでしょう。 私たちの会社ソニックガーデンでは、プログラマの仕事を「ソフトウェアのエンジニアリングすべてに責任を持つ仕事」と定義しています。具体的には、お客さまと対話して要件を引き出すことから、データ構造から画面までの設計を行ったものをソースコードで表現し、クラウドでの運用まで面倒をみるという、ソフトウェアを作って動かす全てを行います。 そう話すと、よく聞かれる質問があって「コミュニケーションが苦手なエンジニアはどうすれば良いでしょうか?」というものです。もし当に誰とも話をしたくないし出来ないというのであれば、残念ながら、と言うしかありません。しかし、コミュニケーションと一括りにしてしまっていて誤解があるのかもしれません。 そこで

    エンジニアに求められるコミュニケーション能力とは〜社交性なんてなくたって仕事はできる | Social Change!
  • 1