SE仕事術
GWということで、ITシステムのリリースを控えている会社は少なくないと思います。リリースするシステムは是が非でも安定稼働させたいものです。 そこで、神様の力を借りて、システムの安定稼働を祈願するのはいかがでしょうか?嘘のような話かもしれませんが…
仕事をしていると、大小様々なタスクが発生します。特に、管理職やリーダーのような、上のポジションに就くと、その傾向が強くなります。 この記事ではタスクの処理方法を紹介します。以下の処理方法を適切に使い分けることで、効率良く仕事ができるようにな…
現在の開発現場・運用現場では、CD(Continuous Delivery)ツールを使用したデプロイ(サーバーへの資材配置)が一般的になっています。CDツールの設定を行うのは一部の技術者のみであることもあり、CDツールを使用しない場合の原始的な手順でのデプロイ手順…
新しい仕事を進める中で、ソフトスキル(コミュニケーションスキル)を体系化して伝えることの難しさを実感しました。既存の文書では伝えることが難しいとも感じましたので、私の方でNote(ブログ)を新たに作成し、そこにまとめました。 こちらも参考になる…
仕事を進める中で、誰かを説得しないといけない場面があります。ここで、社内や社外の事情を話したり、論理立てて説明したりすることで納得してくれれば良いのですが、それだけでは納得されにくいこともあります。 このような場面で有効な手段の一つが、比喩…
コンティンジェンシープランとは、想定外の事態が起きた時に備えて事前に定めておく対応策のことです。この記事では、プログラムのリリース時に定めておくべきコンティンジェンシープランについて、具体的に述べていきます。 ---- プログラムのリリース作業…
システムの運用においてトラブルの対策を考える際、インパクトが大きいトラブルに対しては大きな労力を、そうではないトラブルに対しては小さな労力をかけるのが効率的です。 ここで、ホビーの売買サイトの運用を例に挙げて説明します。 例えば、エンドユー…
経営や営業の都合では、開発者が直感に基づいて迅速に案件の見積をしてくれると助かります。見積が早く出てくれば、案件の優先順位付けや案件の受注もスムーズに進むようになり、利益も出しやすくなります。 要件が明確で見積時点で具体的な実装がイメージで…
既存のシステムの機能拡張の見積もりを行う際、その機能強化による影響の大きさを正しく把握する必要が肝要です。影響の大きさを把握する上で、もし新たなデータの状態が発生するような修正をするのであれば、その修正の影響が思いの他大きくなることを警戒…
何かしらの作業を行う際、自分一人で作業するとなると、どうしても時間的・能力的に限界がありますし、得意不得意もあります。一方、手が空いている人や、比較的重要ではない作業をしている人が周囲にいることも少なくありません。このような場合、自分が持…
一般的に、何かの問題を解決したい場合は、解決する道筋を考えて、問題を分割しようとするべきです。そうすることで、・やるべきことが明確になる・わからない所が出てきた時に調べやすくなる・作業分担ができるようになるといったメリットがあります。 これ…
仕事を進める上で会議は欠かせません。 例えば、以下の目的で会議を行います。・管理表やチケットで管理されたタスクの棚卸・要件や作業状況等のヒアリング・問題に対する対応案の検討・成果物に対するレビュー 会議を上手く運営すると仕事はスムーズに進み…
計画を策定する場合、自分に最終的な決定権がないという状況が往々にして起こり得ます。具体的には、取引先や上司、先輩、プロパーの決定に従わざるを得ない、ということは少なくありません。 このような場合、自分が推す案に拘り、無理に押し通そうとするの…
仕事をする上では、システムの計画や設計等で案を検討することがあります。検討する際に、ディベートの考え方を用いると、肯定・否定に偏ることなく案を検討しやすくなります。 この記事では、案を検討する上で参考になるディベートの考え方を簡単に説明した…
交渉や議論の場で、相手の主張に対して自分の主張を通したい場面があるとします。この場合、最強の主張は、相手の論理に乗っかった形で展開される主張です。 相手は、何かしらの主張を行う際に、論理を積上げます。その論理の中で何かしらの問題点があれば相…
この記事は、以前に投稿した下記の記事の焼き直しです。 情報処理技術者試験対策「クリティカルパス」https://akira2kun.hatenablog.com/entry/2018/07/08/184908 ---- この記事では、クリティカルパスの説明とその重要さを説明していきます。 【クリティカ…
IT業界は、メンタルヘルス不調が出やすい業界であると言われます。メンタルヘルス不調者が出てしまうと事業に悪影響がありますし、何より心情的に心が痛むものがあります。 この記事では、IT業界の特殊な背景と、IT業界でのメンタルヘルス対策について、簡単…
for文は意外と理解が難しく、ここで躓いた経験がある人は決して少なくありません。for文の文法を理解していたとしても、for文を使うべき箇所で使えていないこともあります。 プログラムの基本は「順次」と「分岐」と「反復」ですが、for文は最後の「反復」に…
コーディングにおいては、実行時に見つかる些細なバグの対応がつきものです。バグの対応を素早く行うことができれば、コーディングも早く行うことができるようになります。 今回の記事では、バグ対応の一般的な手順を説明しようと思います。手順を大まかに書…
PlantUMLは、テキストからUMLの図を生成することができるツールです。UMLをPlantUMLで書くことで、Gitでの管理が容易になり、差分比較もできるようになる、というメリットがあります。 下記のページにアクセスするだけで、すぐに使うことができます。図の書…
社内教育向けに見積もりの概論を説明するパワポを作成したため、公開します。https://1drv.ms/p/s!AivF3bzWXOzukWVXk5hscKYqkLkM
1つのシステムでは、様々な業務を実現しています。そして、場合によっては、業務毎でシステム内で別々のシステムに分かれていることがあり、この分かれているシステムのことを「サブシステム」と呼びます。 この記事では、サブシステムが生まれる理由や、サ…
SI業界では、開発に関する知識や経験が不十分なメンバーを試験工程の管理者として任命することが少なくありません。本来であれば、応用情報処理技術者試験(最低でも基本情報処理技術者試験)に相当する知識、及びその知識を実務で使った経験を備えた者を管…
システム保守の作業では、通常のシステム開発の他に、システム・データの調査依頼や、データの抽出・補正の作業依頼等、様々な作業が行われます。これらの作業は不定期に、時に大量に依頼されるため、作業のスピードアップが重要になります。 この記事では、…
「ソースコードから重複を排除して保守性を高める」という考え方は、実務で良いコードを書く上で重要な考え方です。この考え方が身に付かない内はオブジェクト指向の理解も不十分になるのですが、いきなりオブジェクト指向から入るとこの考え方の重要性がわ…
オブジェクト指向を利用する理由として、プログラミングの入門書には「オブジェクト指向を用いると、現実世界をプログラミングでそのまま表現できる」という意のことが書いてあることが多いです。その例として、・犬に「ワン」と鳴かせ、猫に「ニャーン」と…
Webシステムでは、同一のサブミット(リクエスト)が二重送信されることによる障害が起こり得ます。二重サブミットが発生する原因としては、以下の3つが挙げられます。①サブミットボタンを連打する②ブラウザの戻るボタンで遷移元の画面に戻り、再度サブミッ…
表題の通りですが、実装では極力要件通りに条件指定をするべきです。従属的に求まる条件で代用できるとしても、その条件は原則として指定するべきではありません。 具体的に何が言いたいのか、なぜそう言えるのか、ということについて、以下で具体例を挙げて…
設計書は、システム概要を指し示すために必要なドキュメントです。設計書があれば、実装を知らない立場の人(例えば要件定義担当や上位の設計者)との意思疎通がスムーズになりますし、開発者を新たに向かい入れる時にも実装の内容をスムーズに理解してもら…
AIや難しいアルゴリズムに憧れる人は少なくないと思いますが、そのような高度は技術が常に最適解であるとは限りません。高度ではない技術には、以下のようなメリットがあります。・人間が結果を予想しやすい・保守が容易である 一言で言うと、「扱いやすい」…