Django

開発時間が減少しそう…Djangoオンリーに切り替えるか検討

Djangoのみで開発に切替しようか検討

プログラミングに割ける時間が、新たなことをはじめたくて少し減りそうです…


SPA開発の技術を習得したいですが、いつまでもシステムが完成に向かわないと便利にしてあげることができないのも困る。

今後やりたいこと

それは、子供たちやプログラミング初心者への『ゼロ→イチに』にための情報発信をしたいと思ったことが大きい。

プログラミングは、

『ゴールとそれに対するものごとのプロセスを考える』

ということを何度も繰り返すことをするので、論理的思考が鍛えられる。


仕事をしているうえで、早くに出世をされている執行役員や取締役と話していも、

『いやー、なんか全体が把握できていないなぁ。思い付きで言ってるなぁ』

いろんな要因を考慮したり、今、言ったから思い付きでいってるなぁ。なんて、思うことがよくある。

誰かがすでに体系化したことをすることに慣れている人が多いうえ、プロジェクトや新たなことをはじめたとしても、最後の管理までをすることをしていない、結果から過程はどうだったのかを振り返ることがないことが、一般的にはほとんどだからです。(会社って意外とこの目的がちゃんと達成されたかや、振返ってどうだったかを出来ていなくてPDCAが回せない)

仕事の出来る人は、ドキュメント化することと、状況の変化に応じて影響する先を把握する能力が高く、計画の変更を常に実施し、目的を忘れないひとです。時には、目的を変更したり、その目的に対する過程をすぐに組み立てることができる人です。

自分がしている仕事術

ごろう
マインドマップ作成・WBS・ガントチャートをひたすら繰り返す

これで、ぼくは人より仕事ができるようになった

たったこれだけです。これは、大規模プロジェクトのマネジメントをする中で、失敗し得た方法です。
これを行う訓練はプログラミングに非常に似ている。というか、一緒。

動くものが、システムか、人かの違いぐらいです。

IT人材不足60万人時代に突入

これは、2021年経済産業省が発表しているIT人材の需要と供給について予測したものです。

現在は、IT人材不足は17万人程度ですが2030年には60万人不足されるとされています。
大きな市の人口でも足りません…それぐらい、IT人材は不足しているうえに、優秀な人材は日本から流出している事例も発生しています。

ポイント

需要が高い業界は、会社としても成長しやすい

当然ですが、需要が多いので多少質が悪くても大丈夫という時代がもう来ています。

子供たちが大人になった時に、IT分野にいった方が当然需要は高く、成長産業で高給取りを目指しやすくなるのです。

ごろう
IT業界を目指す方が、絶対に競争には勝ちやすくなる!

日本の生産性の低さは先進国TOP

日本は、先進国で一番生産性の低い国です。ちなみにOECD加盟38か国中28位です。
遊ぶことの方が大切と考えているイタリアの方が生産性は高いです…

遊びことをするためにポモドーロタイマーという集中する時間と休憩時間を定期的にとり生産性を上げる方法が考えられたりする国です。そんな国より日本は生産性が低いのです…

注意ポイント

暗記勉強ばかりして、論理的思考や状況の変化に弱い

だからこそ、論理的思考や求められることが変わった時に、どう変化させまたゴールに導くかを考えることのできる思考を訓練することが大切。

みんなプログラミングを1度は勉強する方がいい(持論)

これは、完全な持論です(笑)

でも、大真面目です。Excelや、社内システムを使う上でも一度でもプログラミング経験をしていると、

業務 = システム を結び付けること

これができるようになると思います。

システムは、あくまでもツールであり目的を達成するための補助器具なのです。
発注業務は、見積もりをもらって利益がでるようにして協力会社に依頼するから、システム上利益率がいくらでないとエラーになるのかぁ。

って理解することができます。

ごろう
業務とシステムが結びついてない人って意外と多い💦

プログラマーやSEになって欲しいこともあるけど、未来の日本を支えるための人材を育てたい。

障がいがある人でもIT技術で仕事や役立つ仕事をしてもらえるようにしたい!って思いです。

だから、プログラミングをするための情報発信をするための資料を作ったりコンテンツを作りたい!

未来のに日本を支えるこどもの能力を高めてあげたい!

そのお手伝いとして、ゼロ→イチの手助けを作成したい。

Djangoのみで開発するかを考える

今のままVuejsでSPAで作成

今、作りたいと思っている機能を考えます

  1. シフト表作成
  2. シフト表希望入力機能
  3. シフト表チェック機能(夜間・最低労働時間)
  4. 有給休暇管理機能
  5. タスク管理機能
  6. 定期タスク作成機能
  7. 社内掲示板
  8. レシピ管理機能
  9. 請求書等発行機能
  10. 支援計画管理機能
  11. 支援日報管理機能
  12. 顧客マネジメント機能(自分が使いたい機能)

おー、結構な数がありますね(笑)
ある程度、開発は早くなるとしても今でも67時間ぐらいかかっていますが、1機能も実装ができていない…

1日に開発に充てられている時間は、今は約3時間です。


開発は、慣れてこれば早くはなってくると思います。そのうえで、工数を予想してみます。
シフト関係200時間、有給管理機能60時間、タスク関係100時間、社内掲示板40時間、レシピ管理80時間、請求書発行機能90時間、支援関係120時間、顧客マネジメント100時間…

合計790時間…263日ですね

約9か月で完成までいけそうです。ちなみにこれは、テストやデプロイする工数はありません…テストは、動かしながら作るのでこれより少し増えるかな。デプロイもかなり時間は要すると思う。80時間は見ておかないといけないかな。

とりあえず、開発だけの工数で考えて、1日3時間ペースで続けることができなくて、1日のうち1時間を当てた場合は、2年以上かかります…てか、集中して作らないと思い出し作業が入るので、時間は伸びちゃいます…

長すぎるなぁ

2時間当てた場合はちょうど1年ぐらいで、作成できそうですね

Djangoのみで作成した場合

Djangoのみで作成した時を計算してみます。

作成した部分がないので、一からの作成で想定します。


ログインとシフト関係150時間、有給管理機能30時間、タスク関係60時間、社内掲示板25時間、レシピ管理45時間、請求書発行機能60時間、支援関係60時間、顧客マネジメント70時間…

合計500時間…290時間の差が出てきます。

以前、SPAを調べている時に今までの開発方法より1.5倍ちょっとかかるようになると書いてありましたが、おおよそ同じような感じのイメージになりました。

どうしよう

Djnagoのみで作成するか、SPAで作成していくか悩みます…

なんで悩んでいるか再確認する…

  • 他にしたいことが出てきて割り当てれる時間が減る
  • Serializerの内容が理解できていないから時間がかかる
  • TypeScriptが理解できていないから時間がかかる
  • axiosでの通信がまだ理解できていないから時間がかかる
  • vuetifyが理解できていないから時間がかかる
  • vuejsが理解できていないから時間がかかる
  • vuexが理解できていないから時間がかかる

まぁ、ほとんどが技術てきなことが理解できていないからですね(笑)

SPAでする利点

  • SPAを覚えて損はない
  • これからの技術だから
  • 今後バックエンドをFirebaseにするとサーバー管理をなくすことも検討できる
  • オリジナルサービスを考えることもできる

Djangoのみで開発する利点

  • 開発スピードがあがる
  • Vuejsを取り入れてaxios便利にもできる
  • 少し使い慣れている
  • デプロイが楽になりそう

それぞれの利点を並べてみた。

ここで、いつも迷ってしまうのは、ユーザーは業務の問題解決がしたいのであって、SPAでおしゃれにしてほしいなんて思っていない。

わたし「今、新しい技術で作ってるんでもう少し待っててくださいねー」

友人「新しくなくても、使えたらそれでいいよー」

グサッ!自分も普段は仕事ではユーザー側だから言っている意味は本当にわかる(笑)

しかも、社内システムならアクセスは少ないからSPAのひとつのメリットである、サーバーの負荷軽減のメリットはないしね。

開発費用がかかっているなら、間違いなくDjangoのみでも開発をすすめるなぁ(笑)

ごろう
TypeScriptのUdemy動画を購入したから、それを見てから判断しようかな

-Django

© 2022 ごろう@縁紡ぐ