🦧

ハッカソンに参加してきた

2023/11/18に公開

データ利活用やってみよう!ハッカソン2023 成果発表会
https://www.youtube.com/watch?v=UhCCVWH3IRY
私の発表は19:20から

開発したアプリ

Mizaru(ミザル)

ラブシーンを見ざる、聞かざる、チャンネル変える理由を言わざる

概要

(小林製薬のCM風に読んでください)

子供と一緒にテレビを見ている時にラブシーンが放映。気まずいですよね。
そこでMizaru(ミザル)!
ラブシーンのある番組が始まる前にアラートが出ますので、さりげなく番組を変えることができます。
これで一家団欒できます
大阪TVコンチネルのMizaru!

まあ、笑いとりにいくためみたいなテーマです。

他のチームが、困っている人を助けたり生活を便利にするアプリなどを提案する中で、クッソしょーもないアプリを開発したんで、絶対賞をとることなんてないだろうと思ってましたが、まさかまさかの優勝でした。

(発表の時は、別件で外に出ていたため不在となってしまいました。運営の方すみませんでした)

ハッカソン黎明期のような情熱のある内容だった、という評価をいただきまして、一応は私みたいなハミ出し者でも認められたのかな、ということで今回のハッカソンの振り返りを記事にまとめたいと思います。

この記事を読んで、エンジニアになろうという方が出てきましたら幸甚です。

あ、ちなみにこの先に笑い要素はないです。
ふざけたテーマですが、開発は真面目にやったんで。

チームビルディング

しょーもないテーマだったので、集まったのは3人

まあ人数が多ければ良いってものじゃないし、他のチームには5人以上集まっているところもあるけど、半分は離脱するよ〜くらいの感じで思ってました。

結局、他のチームには離脱者がほとんどおらず、私のチームが一番離脱率が高かったです

私も、途中から馬鹿馬鹿しくなってきて(テーマが、ではなく何でこんなモチベーション低い奴らと開発してるんだろうという気持ち)投げ出そうかと思いましたが、そんなことやってたら自分が嫌う雑魚エンジニアと一緒だ、と思い、なんとか成果物として紹介できるレベルまで一人でコツコツ作っていました。

どんなふうに開発していったか

まずサーバー側(データベース、サーバー側コード)はスプレッドシートとGoogle Apps Scriptを使いました。
私個人ではfirebaseを使うことが多いのですが、メンバーの一人は全くプログラミング素人だったので簡単に使えるスプレッドシートとGASを使いました。

メンバーとは週一でミーティングすることになっていましたが、うち一人はミーティングにほとんど参加せず、またスキルも何も持ち合わせていなかったので邪魔にしかならないのでクビにしました。

残る一人はそこそこ開発はしてくれましたが、本職エンジニアという割にはあまり開発に積極的ではなく、ほとんどのコードは私一人で作成しました

結果的にはスプレッドシートやGASにした意味はほとんどなく、むしろ処理の遅さやデバッグのやりづらさのデメリットだけが残りました

ぶっちゃけ、最初から私一人で進めたほうがスムーズだったし、完成度高めれたよな〜というのが正直なところです

ノーコードについて思うこと

最近多いですよね。ノーコード。

率直に言ってノーコードはあまり好きではないですが、その理由は新しいものを拒む老害的思想ではなく、ノーコードの売り出し方が自分に合わないと思うからです。

今回のハッカソンも、特にノーコードで作ってくださいという要旨はなく、何ならスマホアプリ開発という縛りもありませんでした。

しかし実際に参加してみると、しきりにノーコードツールClickを勧めていましたし、何だかんだでほとんどのグループがClickを使って開発していました。
(そういえば、中間発表前に「Clickの開発のお手伝いなのか」というクレームを入れて離脱されたグループもありました)

最初から「ノーコードClickでアプリを作成してみよう」とか「Clickの活用方法を考えて」だったら、素直にClickで作っていました。
しかし、ハッカソンの募集要項にも書かずに、いざ行ってみたら誘導するようなやり方は、ネットワークビジネスの勧誘と同じ感じがして、私はその反発心からClickを使わずFlutterを勉強して開発しました。

もう一点は、ノーコードツールが「専門知識不要」というように、勉強しないことを正当化するような売り出し方をすることです。

日本の社会人の勉強時間は、先進国でも最低クラスらしいですので、「勉強不要」という謳い文句は日本人受けが良いのかもしれません。
でも、そんな日本の凋落を加速させるマーケティングも何だかな〜という気がします。

そしてエンジニアとして思うのは、モノを作りたいから必要な知識を習得するのであって、専門知識不要なことがモノづくりをする動機にはならない、いわゆる理由と結果が逆ってことです。

もちろん簡単に作れるに越したことはありませんが、ノーコードで作れるレベルのアプリは普通にプログラミング学んでもそんなに難易度高くないので、ノーコードになったからといってやる気がメキメキ湧いてくることはないと思います。

何をするにしろ勉強は大事。でも簡単なアプリ程度だったら、ノーコードでサクッと作れるよ、という売り出し方だったらノーコードツールに対する心理的抵抗は少ないかもしれません

コーディングは簡単(プログラミングは簡単とは言っていない)

ノーコードの会社的には、コード作成は難しいというイメージをアプリ童貞に植え付けたほうが商売チャンスが増えるのかもしれません

しかし、アプリケーション開発において難しいというか肝心なのはモデルやロジックの設計であり、文盲でもない限りコード作成は決して難しいものではありません。
さらに近年はchatGPTを使えばサンプルコードを吐き出してくれます

そして、ノーコードがカバーしてくれる範囲はあくまで「コード作成」の部分だけです。
ですので、コード作成がノーコードになったところで、アプリ作成自体にかかる労力はそんなに変わりません。

今回参加したハッカソンのように、デモンストレーションしかしないのであればノーコードで絵だけを書いて、こんなサービスがあったらいいな(実用できるかは知らんけど)、みたいな提案をしたらいいんでしょうけど、それはビジネスピッチでやれば宜し。

少なくともエンジニアリングがメインであるハッカソンにおいては、ノーコードを選ぶ理由はないと思います

良いエンジニアと知り合いたい

繰り返しになりますが、私は独学でプログラミングを学び、勤め先はIT全く関係のないJTCで、しかもIT部門でもありません。
なので、世の中のエンジニアという人種をほとんど知りませんし、自分のレベルがどの程度なのかもわかりません。
ですが5年近く勉強してきて、ハッカソンやイベントに参加してエンジニアを知るとおおよそのレベルが見えてきます

  • 約束を守れない。当日ドタキャン当たり前
  • ゴミを出したら片付けない。ペットボトルの分別もできない
  • アイデア話して作った気分になる。作ってもいないのに完成したと言う
  • 3割くらい作ったら投げ出す。忙しいとか言い訳は得意

これを見たら、それってエンジニア以前に社会人としてどうなの?というレベルかもしれません

でも考えてみてください。
そもそもフリーランスとかでエンジニア名乗る連中なんて、会社勤めができなくて辞めた社会不適合者です。

プログラミングスクールがキラキラエンジニア像を植え付けたせいで、なんかカッコいいイメージがついているかもしれませんが、現実はこんな雑魚が大半です。

言語とかはその気になればゼロからでも数ヶ月で使えるようになります。

でも根本的な性格はそうそう変えられない。

だから、最後まで責任を持ってやる性格だけどプログラミング経験ゼロの人か、プログラミング経験ありだけど上記のような典型的エンジニアだったら、私は迷うことなく前者の人を選んでアプリ作成方法を教えます

今回のメンバーも、結局はスキル云々よりも「きちんと開発する」という約束すら守れない人間でした。

なので、良いエンジニアと知り合いたいというのは、きちんと人としての常識があり、かつモノづくりに情熱のある人という意味です
(もちろん素晴らしいエンジニア技術を持っていれば大歓迎です)

現在も、地方創生のハッカソンに参加していたり、個人の事業として爬虫類マッチングアプリの開発など、いろいろ趣味開発しています。

情熱をお持ちの方、ぜひいろいろモノづくりしましょう!

Discussion