コンピューターとプログラミングに学ぶ仕事の効率化

昨今、コンピューターやプログラムと無縁の仕事は無いといっても過言ではない状況になっている。仕事の効率化の手段としてコンピューターやプログラムを利用するのはもちろんのこと、その構造や思考方法にも学ぶべきところは多い。
コンピューターに学ぶ効率化
コンピューターの性能向上を実現する3つの方法
- 回路の大規模化
- 専用の回路を組み込むことで計算速度を向上する
- 並列化
- 作業する回路を増やすことで計算速度を向上する
- メモリアクセスの高速化
- メモリへのアクセスを早くすることで計算速度を向上する
回路の大規模化
人間では「暗記」が相当する。掛け算の九九を覚えることが数学に、英単語を覚えることが英会話に有効なことは誰でも体験しているはずだ。基礎的な知識や技術を覚えることは仕事の効率を上げる。また、繰り返すことや訓練することで経験を積み、行動に習熟することも暗記と同様の効果を発揮する。
ビジネスでは事業や技術をゼロから開発するよりも、すでに存在するものを購入したほうがコストを抑えることができる場合がある。購入や買収で取り込んだ技術や知識は、組織の新しい回路となる。
具体的には
- キーボードのショートカットを覚える
- セミナー、研修へ参加する
- 場数を踏む
- 必要な技術やノウハウを購入する
- 必要な技術やノウハウを持っている人を雇う
並列化
一人が処理できる仕事量には限界がある。組織を作ったり仕事を外注化することで、個人の限界を超えた量の仕事をこなしたり、より短時間で処理することができる。また同じタスクを複数人数で同時に行い選別することで、よりよい成果を得ることができる。
具体的には
- 組織、コミュニティを結成する
- 外部へ仕事を依頼する
- コンペティションを行う
- ライバルを設定する
高速化
必要な情報へのアクセス方法をシンプルにすることで、仕事の効率を上げることができる。作業する机の周りに必要な本や書類を置くことや、各種情報を一元管理することで実現できる。
具体的には
- スマートフォンを利用する
- 本棚やブリーフケースを設置する
- 本や雑誌、書類を自炊する
- Evernoteなど情報管理ツールを利用する
プログラミングに学ぶ効率化
制約を設ける
「機械語」はコンピューターが直接解釈、実行できる言語である。制限も少なく、自由度が高い言語でもあるが、人間にとってはわかりにくい。現在普及している多くのプログラミング言語は、オブジェクト指向、多層化、ライブラリ、スコープなどの手法や概念を採用している。これらはプログラミングを効率的に行うためだけではなく、人間が理解しやすいよう制約を設けるルールであるといえる。自由度が高いことが問題となる場合には、制約や制限を設けて扱いやすいようにする。
具体的には
- マネージャーを置く
- 短期間での目標を設定する
- 労働時間を区切る
- 仕事や責任の範囲を明確にする
情報の共有
複数人で作業することが多いプログラミングでは、情報の共有が重要である。また一人で作業する場合であっても、現在の自分、過去の自分、未来の自分はそれぞれ別人格であると捉え、それぞれにうまく説明するつもりで作業をマネジメントしなければならない。
- コメントとインデント
- インデントでコードを見やすくする
- コメントを残して文脈を共有する
- 仕様書、作業ログ
- 仕様書に基づいて作業する
- 外部にアウトプットすることで思考を整理する
- 作業ログをリアルタイムに記述する
- 変数名
- 変数名は一定のルールに則って、わかりやすいものにする
具体的には
- グループウェアを導入する
- 作業記録、連絡ノートはオンタイムで記述する
- マニュアルや注意書きはそれが必要な場所でいつでも閲覧できるようにする
- 会議でノウハウを共有する
まとめ
プログラミングは高度に洗練された頭脳労働のひとつである。プログラマーの仕事方法やそのプロダクトであるプログラムは可能な限り効率が追求されており、他の仕事で応用できる部分も多い。
参考
記事のデータ
文責 | |
---|---|
公開日 | 2012年5月13日 |
カテゴリー | |
タグ | 思考法/情報を利用する/技術と手法/経営とビジネス |
関連する記事 |