SIerの社長ブログ

最近のマイブーム

最近は朝のスキマ時間を趣味に割り当てています。趣味といっても少しやって飽きると次の趣味に移る感じなのでユルめです。

今のマイブームは朝食のオムレツづくり。

ホテルの朝食等でコックさんがフライパンをトントンと叩くとオムレツがクルっと回る職人芸がカッコイイなと。

YouTubeでコツを紹介する動画を見ながら練習しました。

omelet.jpg

作ったときは上出来と思ったのですが、写真にするとアラに気が付きますね。。一応中身のトロっとした具合は好みどおり(笑)

朝食はトーストと牛乳程度で十分と思うタイプだったのですが、最近はオムレツにほうれん草やソーセージを炒めたのを中に入れて具沢山にするのが気に入っています。

ちなみに、オムレツの前のマイブームはぬか漬け。気に入っていた具材はきゅうり、茄子、オクラ、ゆで卵、アボカド。これは美味しかったのですが、数日サボるとぬか床がダメになるのがどうにも厳しくやめてしまいました。また気が向いたら始めようかとも思うのですが、ぬか漬けは美味しくなるまでに一苦労なのですよね。


3年かけたプロダクト

3年かけたプロダクト、ほぼ実装が完了し、まもなく完成へ向けた最終段階へ入ります。リリースはこの秋冬の予定。長かったです。

開発中に削った機能もいくつかあるのですが、満足できる内容に仕上がってきています。

3年ほど前のブログに掲載したDBのダイアグラムは、設計を進めた結果、倍くらいの規模になりました。(前回と同様にテーブル名を隠しています)

er.png

リリース後はPMF(プロダクト・マーケット・フィット)を目指した改善を続けます。


コロナ禍、一時的に一部の売り上げが下がったものの、現在は受注状況も開発実行も問題はなく、無事に事業を運営できています。ただ、3月末に導入したテレワークは現在も継続中でオフィスはガランとしています。

技術の会社だから当然なのですが、テレワーク移行のテクニカル面は容易でした。ソース管理はもともとクラウド上に設置したGitを利用していたので何もすることがなく、社内のファイルサーバーは、適切にセキュリティ設定を行ったクラウドストレージに移行。社員間で共有・更新するタイプのファイルはGoogleスプレッドシートを使っています。

逆に危惧したのはコミュニケーション面。いまのところは社員の協力で良好な状態を保っています。選択したテレワークのコミュニケーション方法はWeb会議とメールのみ。コミュニケーションが偏らないように、メールは本文に宛先を書いてプロジェクトチーム全員宛に送るルール。

少々変わっていると思うのですが、社内連絡の電話は原則禁止にしました。Web会議を使って情報の共有を図っています。

さて、このタイミングで求人をやります。数ヵ月後に展開する新しいプロダクトには、新たな力が必要なのです。社会全体の景気を考えると時期尚早なのでしょうが、雇用は微力ながらも当社ができる社会貢献。コロナ禍で求人数は減少し、求職者数は増加しているので、普段は出会えない方と出会えるのではないかと、実は少し期待しています。

面接はオンラインを基本にしますが、最終面接は直接お会いしようと思います。できることはやっておこうと会議室の会議テーブルに飛沫感染対策用の透明アクリルパーティションを設置しました。サイズは少し大きめの横600mm、縦700mm。写真のとおり2枚並べました。TV番組で知ったのですが、飛沫感染対策のアクリルパーティションは、高さが大事なのだそうです。

acrylic.jpg


リモートワーク

リモートワークを導入してから1ヵ月が経ちました。エンジニアは私を除きフルリモート体制。目立った業務上の問題はなく、仕事はいつも通り進んでいます。

今はリモートワークも社会貢献の一つですよね。リモートが難しい業務で通勤されている方に感謝しつつ、その分自分たちは少々の困難は上手に乗り越えてリモートを優先しようと思います。

そして不景気に負けないよう、キャッシュフローの余裕を維持しつつ、気を引き締めて事業に臨みます。


週末の映画

昨年の秋、ボヘミアンラプソディーを観たのをきっかけに、週末に映画を観るのがマイブームになっています。8ヶ月ほどで、この21本。

ボヘミアン・ラプソディ

アクアマン

グリーンブック

サムライマラソン

シンプル・フェイバー

パンブルビー

ビリーブ 未来への大逆転

美人が婚活してみたら

ハンターキラー 潜行せよ

キングダム

マックイーン モードの反逆児

愛がなんだ

バイス

記者たち 衝撃と畏怖の真実

ビルエバンス タイムリメンバード

コンフィデンスマンJP

空母いぶき

ゴジラ キングオブモンスターズ

メンインブラック インターナショナル

ザ・ファブル

さらば愛しきアウトロー

お気に入りは、マックイーン、グリーンブック、ボヘミアン・ラプソディー、愛がなんだ、ゴジラあたり。ボヘミアン・ラプソディーは圧巻のライブが良すぎて、2度映画館に足を運びました。

休日に仕事しても、夕方から映画館に行くと気分上々です。(休日出勤しているのは私だけ。社員はちゃんと休んでいます。。)

IMG_7511.jpg


ベンチャー企業が新規事業に取り組む企業だとするなら、当社はベンチャー企業に該当します。当社の事業モデルは自社プロダクトの開発・運営と、エンドユーザーから直接受注する受託システム開発です。

ベンチャー企業と似た言葉にスタートアップがあります。一般にスタートアップはベンチャーキャピタルから資金調達を行い、上場か売却を目標にします。この上場・売却はエグジットと呼ばれます。当然、これが最大の目標になります。

実際にスタートアップの企業を訪問すると、他の企業にはない独特の雰囲気を感じます。失敗を恐れず、絶対にエグジットするという意気込みが全社に浸透しているのだと思います。

当社は前述のとおりベンチャー企業には該当しますが、スタートアップには該当しません。エグジットは目標にしていません。代わりにゴーイングコンサーン(健全な経営を継続すること)を目標にしています。ベンチャーキャピタルから資金調達することはなく、資金調達は自己資金と金融機関からの借金です。

借金と言っても当社は実質無借金経営です。実質無借金とは、金融機関からの借り入れより現預金のほうが多いことを指します。一見無駄なようですが、急な資金需要で困らないようにX千万円の余裕資金を金利を払って確保しているのです。

ところで、スタートアップは数年程度の期限付きでエグジットを目標にします。これはベンチャーキャピタルの当然の要求事項です。

対して、当社も成長を目指していますが、その期限はありません。経営者(役員と私)は、成長速度より社員と顧客を大事にします。ゴーイングコンサーンで重要なのは安定した社員と顧客の存在だからです。私の時間は社員と顧客のために使います。これは求人活動に向けたポジショントーク。でも事実です。

ちなみに株主は大事にしません。株主は私だから(笑)

煌びやかさでは負けるけど、転職するなら非スタートアップのベンチャー企業は如何でしょうか。腰を据えてイノベーションに取り組めます。

office02.jpg


成長へ舵を切る

会社を設立して14年が経ちました。ありがたいことに、今の規模には充分な得意客を獲得できていて、最近ではシステム開発については、新規の営業活動が不要な状況が続いています。

ここで成長に舵を切ります。この数年、質と安定を重要視していたこともあり、規模を拡大していなかったのです。

今回は採用基準を少し緩くして広く人材を募集します。

---

最近の会社のメリットを列挙しました。

・仕事は自社プロダクトの開発と、エンドユーザー企業から受注したシステム開発です。

・メジャーな開発スタイルのみを採用。使用するプログラミング言語はC#,Swift,Kotlin,PHPあたりです。

・経歴に関わらず、新しい技術に取り組めます。例えばVBでスタンドアロンしかやっていなくても、C#でWeb開発に取り組めます。

・プロジェクトは数名×数ヶ月程の規模が中心で、全員が全体を見渡せます。

・メーカーやシステム会社からの下請けはありません。自分たちで全てを作り上げます。プログラミングだけの下請け等ではないので、システムの常識をしっかりマスターできます。例えばセキュリティについて深い知識を得られます。(セキュリティについては必ず学習して頂きます)

・希望すれば、最上流工程の要件定義から、品質管理、環境構築まですべてのスキルが身に付けられます。

・AWS上の開発サーバーを自分で構築・管理できます。経験がなくても大丈夫。難しくありません。

・社内はフランクなムード。無駄に緊張することなく仕事に取り組めます。

・派遣や客先常駐は当然ありません。自社で自分のデスクで「自分の仕事」ができます。

※現在の採用ページ

rec.png


C#とコードファースト

久しぶりに自分でプログラムを書いています。

hhkb.JPG

普段はシステム開発のお客様対応や受注活動を優先しているので、フルタイムプログラマとはいかないのですが、できる範囲で集中してやっています。プログラミングに入れ込むのはHYSOLIDの開発以来、約3年ぶり。

HYSOLIDのときはC++でネイティブのコードをガリガリ書く感じでしたが、今回の開発言語はいろいろな要素をスマートに記述しやすいC#。最近の開発言語は進化しているので、久しぶりにプログラムを書こうとすると浦島太郎状態なのですが、気を取り直して最近のC#の言語仕様のキャッチアップから始めました。

実際に書くと最近のプログラミング言語は素晴らしいと実感できます。例えば、従来は実装の苦労が多かった非同期で動作するコードもエレガントに書けてしまうのです。デメリットはしっかり学習して取り組まないと、甘いコードを書いて、それが後でトラブルの原因になるところでしょうか。

今回、サーバー側のデータベース周りのプログラミングは、コードファーストと呼ばれる、プログラムの記述からデータベースが生成できる方式を採用しました。この方式は開発中のDB設計変更がとても楽です。

一般的な手法のDB設計変更は、(1)設計書を修正、(2)DBの定義を修正しDBに反映、(3)プログラムを修正の3ステップです。DB設計はできる限り後から変更が発生しないように、細心の注意を払うのでストレスフルな作業になります。しかし、コードファーストの場合は、いきなりプログラムの修正から始めてDBに自動反映できるので、設計時も変更時も従来よりカジュアルにこなせます。

時代は変わっていくのですね。。


DBダイアグラム

最近、自社プロダクトの設計に着手しました。今回は仕様策定とDB設計を同時に進めています。

今回のプロダクトは凝れるだけ凝ってみるつもりです。

凝ったシステムは、多くの複雑な仕様を盛り込むので、設計の甘い箇所が発生しやすくなります。そこで、仕様策定と並行してDB設計を行い、データモデルを明確にすることで、仕様や設計の曖昧さを排除していくのです。

データモデルはシステム全体の複雑度に大きく影響します。より優れたプロダクトを、適切な範囲で小さめの複雑度に納めるように仕様のバランスをとるために、この仕様策定とDB設計を同時に進める方法は優れています。

例えば、Aの機能を入れるならBの機能を入れても、データモデルの複雑度はほとんど変わらないので、一緒に設計しておくべきだとか、Cの機能を入れるなら、Dの概念を検討すべきだとか。データモデルを設計することで、いろいろなことが明らかになります。

現在設計中のデータモデルはこんな感じです。詳細はお見せできないので、テキストを消したダイアグラムを貼り付けました。本当は長方形の中にデータベースのテーブル名が書いてあります。

diaglam.png

データベースのテーブルは、「商品」や「売上」、「顧客」などの単位になっています。上から下に向かって1:Nの関係です。

テーブルの関係に0:Nの関係があり得るかなどを詳しく表現する方法や、主キーをはじめとしたDBの項目まで記入する方法もあるのですが、その書式には拘らず、この方法を採用しています。

逆に拘っているのは把握しやすさ。ダイアグラム内にテーブルをバランス良くレイアウトすることを大切にしています。システムが一定以上の規模になると、データ構造が完全に頭に入った状態を維持し続けるのは難しいので、この図が見やすいことは、とても重要なのです。

【補足】

DB設計は、その全要素が開発時の生産性や拡張性、性能に大きく影響するので、大事なのは見た目だけではなく、DB設計の全てです。微細なところも大事な範囲に含まれます。逆に良好にDBが設計されていても、ダイアグラムがきれいに書かれていないシステムは時々見かけます。


週末の沖縄

半月ほど前になるのですが、週末に沖縄に行ってきました。

沖縄旅行は初めてなので本島を選びました。海で泳ぐにはまだ寒かったのですが、それでも沖縄の暖かな風が心地よかったです。

今回は、土曜日の朝の飛行機で沖縄に行き、翌日の夕方の便で戻る1泊2日の日程。

いつも旅行にいくと、あちらこちらと足を伸ばすのですが、今回は観光は1日目だけにして、2日目はビーチを散歩したり、ホテルのバルコニーでのんびり過ごしたりしました。

okinawa.jpg

景色の良いところで過ごす、何もしない時間は本当に贅沢ですね。短時間でも驚くほどリフレッシュできました。

沖縄、また近いうちに行こうと思います。今回は南の方を少し回っただけなので、次は本島の北のほうか、離島を狙うつもりです。


プロフィール

山口達雄
山口達雄

SIerの社長ブログへようこそ。大規模システム開発のプロマネから、OSネイティブなプログラミングまでこなす現役エンジニアです。

SIerとは:「エスアイヤー」と読みます。情報システム開発において、コンサルティングから設計・開発・保守まで一貫したサービスを個別企業のお客様に提供する会社のことです。


カテゴリ