技術とか戦略とか

証券レガシーシステムを8年いじってから転職した普通の文系SEによるブログ。技術のみではなく趣味の戦略考察についても。

SE仕事術

ループ処理のテスト観点

ループ処理を単体テストする時の小ネタです。ループ処理を最初から最後まで全件チェックするのは大変なので、以下のように誤りが生じやすい箇所に絞ってテストを行うと効率良くテストを行うことができます。(ループはN回行うものとします) ・ループの1回目…

10000STEPのクラスを作ってしまった話

「1クラス1000STEPを超えたらクラス分割を考える」という話をどこかで見たり聞いたりした記憶がありますが、金融業界の実務では10000STEP越えのクラスを目にすることは少なくありません。そして、私も趣味(ゲームの戦闘部分の作成)で10000STEP越えのクラス…

リーダーシップ状況論の実践

リーダーシップ状況論(組織の成熟度に適したリーダーシップの分類)については、以前に情報処理技術者試験対策として記事にしました。 情報処理技術者試験対策「リーダーシップ状況論」 https://akira2kun.hatenablog.com/entry/2018/07/10/234418 試験対策…

ヘッダレコード・データレコード・トレーラレコードとは

企業間でやりとりするファイルでよく見かけるフォーマットとして、レコードが「ヘッダレコード」「データレコード」「トレーラレコード」に分かれているフォーマットがあります。このフォーマットについて覚えておくと、出向先のソースコードを読むのが楽に…

アンカリングを用いた交渉術

アンカリングとは、先に与えられる情報をベースに意思決定してしまうことを指す心理面の現象のことです。この現象は交渉の場面で役に立ちます。先に厳しめの要求を出すことで、その要求をベースに交渉を進めることができます。厳しめの要求を出した後、相手…

ジョブ管理システムとは

「ジョブ管理システム」とは、処理の実行タイミングや実行順を管理するシステムのことです。例えば、Windowsではbatファイルをダブルクリックすると処理が実行されますし、Linuxでは「sh hoge.sh」と入力すると処理が実行されます。実運用では、システムをま…

システム障害が起きた時に元請けSIerの中で起こること(体験談)

二次請けや三次請けで本当に開発しかしない職場だと、システム障害が起きた時にその対応がどれくらい大変なのかが伝わりにくいことがあります。今回の記事は、システム障害が起きた時に元請けSIerでどのような対応を行う必要があるのかを書きたいと思います…

「共通化の罠」を見た感想

数日前にTwitterで「共通化の罠」という動画がバズりました。 https://togetter.com/li/1354658 内容はリンク先の動画を見ての通りなのですが、一言でまとめると「複数のモジュールで同じロジックを使用していたので、そのロジックを共通モジュールとして外…

プログラミング言語のスキルチェンジのコツ

COBOLからJavaのスキルチェンジは苦労すると良く聞きます。サーバーサイドCOBOLからフロントエンドJavaへのスキルチェンジの場合は言語の違い以外にも色々覚え直さないといけないことがある(Webサーバの仕様やHTTP通信の仕様等)のでまた別の話になるのです…

報連相が必要な理由

報告・連絡・相談は、組織で働く者には欠かせないスキルです。IT業界は内向的な人が多く、報告・連絡・相談が苦手な人が少なくない業界です。(私も正直あまり得意ではありません)それだけに、報告・連絡・相談ができる若手は、たとえ技術力に多少の不足が…

障害事例は宝物

金融システムのようなミッションクリティカルなシステムの開発では、ミスは許されません。自分が起こしたミスから学ぶのはもちろんなのですが、他者が起こしたミスから学ぶというのも大切な姿勢になります。 どのようなミスが障害につながるのかは障害事例を…

石の上にも三年

最先端の技術を取り扱うイケてるIT企業のことはわかりませんが、少なくとも普通のSIer(業務システムを作っているITゼネコン)に関してはタイトルのことわざ通りだと思っています。そろそろプログラミングでついていけなくて悩む新人が増え出す季節なので、…

あるあるバグ事例:幅を持たせた条件指定の狭間に落ちるケース

コーディングをしていて表題のようなケースでバグになったことがあるのを思い出したので、注意喚起ということで紹介します。有効桁数の考慮不足等で境界値の条件指定が完全にカバーされていないと、境界値付近のデータが来た時にどの条件にも当てはまらずに…

オブジェクト指向とは現実世界を正しく捉えることである

と書くと色々物議を醸すことが多いのですが、本当にそう思う出来事があったのでメモ代わりに記事にします。 私の趣味であるゲーム攻略での出来事なのですが、既存のツールをベースに新たなツールを作ろうと思い、ツールの開発者の方にソースを見せてもらいま…

テスト環境を使用する時の心構え

始めての現場でテスト環境に触れる時、テスト環境がどのような環境か良く分かっていないと知らず知らずの内にテスト環境を壊してしまいがちです。このあたりのことは情報処理技術者試験の勉強をしても身に付かなかったりするので、あえて文章にしてみます。 …

セキュリティルームでの共連れのリスクと防止法

IT業界だと機密情報を取り扱うことが多いので、それに関連しての記事です。 機密情報を取り扱う部屋(セキュリティルーム)では、入退室時にカードキーや暗証番号等を使用した認証が必要になります。この認証について、リスクになるのが「共連れ」と呼ばれる…

改めてDevOpsとは

「DevOps」という単語はセミナーで良く耳にしていたのですが、「ツールを導入し、開発部門と運用部門の連携を密にし、リリースの速度を上げる」というざっくりとした印象しか記憶にありませんでした。他社のエンジニアと話したら「DevOpsはWeb画面のテストを…

再現テストの重要性

これも情報処理技術者試験には出題されないのですが、IT技術者が理解しておくべき大事なテスト手法の一つに「再現テスト」があります。再現テストとは、バグの発生手順を確認するためのテストです。バグの発生手順が不明確だと、正しい原因にたどり着くこと…

現新比較~無影響確認の手法~

情報処理技術者試験では出題されないのですが、IT技術者として当然知っておくべきテスト手法として「現新比較」というものがあります。これは、システムを改修した際に思わぬ箇所に影響が出ていないことを確認する(無影響確認)ための手法であり、改修前の…

事前検証の重要性(技術的リスク、顧客要望への対応)

一般的な考え方になりますが、不確実性が高い場合は、無理に計画を立てて進めるよりも、事前検証により不確実性を事前に解消することの方が重要になります。例えば、技術的にできるかどうかわからないという不確実性がある場合、ウォーターフォール的に大き…

ソフトウェアの保守性の重要性と上げる方法

ソフトウェア品質特性の一つとして、「保守性」という特性があります。これは、ソフトウェアの修正のしやすさを示す特性であり、保守性が備わっているソフトウェアは保守開発の際に低コスト・高品質で開発することが可能になります。品質の高いシステムを開…

1つのバグを発見した時の対応について~バグの横展開~

「横展開」は「横展」と呼んだり「水平展開」と呼んだりすることもあるそうなのですが、今回はその話です。 品質を上げる上では、レビューやテストにてあるプログラムのバグを1つ見つけた場合、「他にも同じようなバグが潜んでいないか」という視点で別途チ…

完全Doneの考え方

少しマイナーなのですが、アジャイル開発の手法の一つで「完全Done」と呼ばれる手法(考え方)があります。これは何かと言うと、「ある作業について完了とする基準を定め、その基準を満たさない限りは完了とみなさない」という手法であり、昨日話した品質の…

バグ対応コスト~なるべく早く品質を作り込むことの重要性~

SEとして持っておくべき考え方として、「品質はなるべく早い段階で作り込む」というものがあります。急がば回れということわざがあるように、品質を気にせずやみくもに先に進めるという判断をしてしまうと、目先の進捗はあがるものの、後で作業の戻りが発生…

HULFT(ハルフト)とは

出向先で突然HULFT(ハルフト)絡みの開発案件の話を振られ、「ああ、同行している若手は多分何の話かわからないだろうな」と思ったので、この記事を書きます。 HULFTとは、一言で言うと、ファイル連携の機能を持ったセゾン情報システムズの製品です。特定企…

プライバシーマーク取得企業で働く上での心がけ(一般社員向け)

私が勤める会社でもプライバシーマークを取得しており、一般社員向けの研修があったので、内容を簡単にまとめます。研修テキストはネットに上げられませんし上げてもあまり意味はないので、一般論的なことを簡単にまとめるだけにします。詳細なことに関して…

情報処理技術者試験の点数と実際の理解度(私見)

前回の記事で「基本情報と応用情報は実態として同レベルなのではないか」という話をしたので、それに関連してもう一つ実態の話をしようと思います。試験に余裕で合格するのとギリギリ合格するのとでは差がありすぎるのでは、という話です。 情報処理技術者試…

「自分でやった方が早い病」をやめてみた

自分でなんでもやる仕事の進め方(自分でやった方が早い病)を変えざるを得ない状況になったのですが、いざやめてみると色々と新たに見えてきたことがあったので記事にします。 「自分でやった方が早い病」とは、簡単に言ってしまうと人に仕事を任せられずに…

ソース管理ルールが信頼されないことによるデグレード例と対策

新人にソース管理ルールを教えている時にふと書きたくなったので。 ソース管理は、Git等のバージョン管理ツールを使用し、運用ルールを整備することで行います。ソース管理の概要は下記のページがわかりやすいと思います。 【社内勉強会】バージョン管理の重…

メンタル不調による休暇・離職を防ぐための心構え

IT業界はメンタル不調者が多い業界と聞きます。前職ではメンタル不調で休暇・退職する人を何名か見てきましたし、他社の技術者の人からもメンタル不調の話はよく聞きます。幸い今の職場ではメンタル不調者は現れていないのですが、IT業界にいる限りはい…