形はなんでもいいです。設計書でもUML図だけでもコードスケルトンでも。あ、ソースコードでもいいかな(ガソリン投下)「アウトプット」がないとどれだけスバラシイ設計でも0点になってしまいます。(ただの妄想だもの)そして、レベルアップするにはアウトプットを繰り返すことが非常に重要だと僕は感じています。設計するには当然「知識」が必要ですが、設計しているスコープのすべてを完璧に知るのは不可能ですよね。社内(あるいは委託先)にその道のスペシャリストがいたらもう最高。丸投げしちゃいましょう。OSSや、ロイヤリティを払ってライブラリを使用するのもいいでしょう。丸投げできない場合は、有識者じゃなくていいので、複数のエンジニアで意見交換をしましょう。周りをうまく使うのも大事な技術ですね。(リソース管理の話ではないです。)重要なのは、無理して自分だけでやろうとしないこと。煮込んだクソコードが出来上がります。言い放つマネージャー職もいますね。現役時代はクソコードを量産してきたことでしょう。今日は深く掘りませんが、以下に僕が意識しているキーワードを挙げておきます。自分の技術、確認してみませんか?僕がいままで一緒に仕事をしてきたエンジニアでイケてる方々はほぼ例外なく、「アウトプット」が上手い人達でした。「アウトプット」をすると「フィードバック」があるから。そこでブラッシュアップされ、知識が増える。何度も「アウトプット」をすることでみせ方もうまくなる。「アウトプット」とあわせて、「レビュー」することは、クオリティをあげる目的だけでなく、技術レベルをあげるのにも非常に有効です。僕らはスタートアップです僕は、新卒で入社した大手企業を退職し、現在はスタートアップでエンジニアをやってます。駆け出しのスタートアップの場合、同じレイヤーのエンジニアが社内にいることは稀でしょう。それでも(だからこそ)設計レビュー・コードレビューは重視したいと思ってます。誰かに説明するだけで自身で気づくことも多いです。ひとりで全部やる時代は終わっています。社内外のエンジニアと、どうコミュニケーションしていくかでエンジニアライフも、大きく変わると感じています。19:51僕が考えるサラリーマンエンジニアに必要な「設計力」Tweet広告を非表示にするもっと読むコメントを書く2017-12-26gitbookで設計書を作成したら最高だった話こんにちは。Calendarの記事です。今日は設計書の話です。設計書をどんなツールで書くかは、僕らソフトウェアエンジニアの尽きない悩み(楽しみ)ですね。最近はまったツールが最高に良かったので紹介させてください。僕のツールに求める要件は以下です。編集がカジュアルにできるUMLが書ける。Wordpros良くも悪くもスタンダードなツールですね。だれでも編集できるのが強みです。Visioと組み合わせれば、UMLも後から編集可能ですconsVisioは標準にするには少々値が張ります。バイナリ形式なのでバージョン管理はしづらいです。ページが増えたり画像を貼ったりすると重くなって詰みます。gizmoのプラグインがgoodですクラウドなので同時編集ができるのもいいですバージョン管理は独自機能で(一応)できますcons外部サービスなのでそもそも許可してもらえないことが多いですねこちらも、ページが増えたり画像を貼ったりすると重くなって詰みますgitbookprosテキストベースなのでバージョン管理しやすいですマークダウンで書けますplantumlとの親和性が高いです。他のpluginも豊富ですgitとの親和性が高い(gitbookだし)のもいいですカジュアルさがちょうどいい。トップページになります。設定しておくと、githubでみても、READMEとして表示されるので、一元管理できるのもいいです。ビルドディレクトリのルートでビルドします。デフォルトはhtmlです。pdfとかも吐けます。buildファイルの追加この例では、docs/下に文書を作成、配置します。