最近の投稿

アーカイブ

カテゴリー

最近のコメント

  1. にんじん
  2. アバター
  3. アバター
  4. タロウ
  5. アバター

ローコード・ノーコード

OutSystemsとSQLを、文系新卒未経験者の私がいきなり触ってみたら

タロウ

私は、2023年4月にBlueMemeに入社しました。IT企業に入社したとはいえ、私自身はコードや開発などの学問とは無縁の人生でした。プログラミングどころか、パソコンの基礎知識も怪しいほどです。

それなのにいきなり、ローコードと呼ばれるOutSystemsを研修で使ってみることになりました。これは、そんな私の奮闘と感想を交えた体験記です。OutSystemsでなくても、一般にローコード・ノーコードと言われるソフトウェア開発サービスを突然使わなければならなくなった人に、少しでも参考になればと思っています。

SQLって何?状態から始まった研修

OutSystems(アウトシステムズ)とは、プログラミングコードを書かなくても視覚的にアプリケーションを開発できる、一般に「ローコード(low code)」と呼ばれるプラットフォーム(基盤)です。

入社後、早々に研修が始まりましたが、私がイメージできていたのは、『よくわからないけど、開発の知識がなくてもアプリ開発ができるもの』というだけでした。ですが、OutSystemsの前に、SQLというこれまた未知の存在が行く手に立ちはだかったのでした!

前述の通り文系人間の私は、そもそも「SQL」という言葉をこの時初めて知りました。SQLは「データベース(データを管理する仕組み)」を操作するための言語の一つです。アプリ開発ではデータの登録や更新、削除などが頻繁に繰り返されるため、SQLを理解しておくことが重要だそうです。もちろん、社内研修資料もありますが、ここでは他社さんのブログ記事を紹介させてもらいます。

そもそもSQLとは?この状態からスタートした研修は、解説テキストを参考に、見よう見まねで練習問題を解いていく形式で進んでいきました。解いていくうちに、次第に解説資料に書かれてある「データ管理」という言葉がようやくしっくりきました。大量のデータの中から絞って探すもの。GoogleやYahooのような、検索機能という印象を持ちました。

SQLで苦戦したのは、エラー表示されるものの、どこでエラーが起きているのかが分からない点でした。コードを手入力するため、スペルが一文字違うだけでエラー表示されます。当たり前の人には当たり前なんでしょうが、間違っている箇所が分からないので、目を皿のようにして間違いを地道に探す日々。SQLの練習問題はいくつかあり、徐々に難易度がレベルアップするにつれて、手入力するコードの量も増えていきました。文字というよりは、呪文や模様のようなものを眺めている気分でした。

毎回、『きっとどこかで入力間違いがあるだろうな』と思いつつ、結果表示ボタンをクリックしていました。そのためエラーなく一発で成功したときは、本当に合っているのかと逆に疑ってしまうくらいには、エラー表示に慣れきっていました。

未経験者からすると、SQLとOutSystemsの難易度は同じ

OutSystemsより先にSQLの研修を受けた理由は、OutSystemsの便利さを実感しやすいようにという意図だと、トレーナーから教えてもらいました。ですが個人的な感想としては、OutSystemsとSQLの難易度はそんなに変わりませんでした。

こう言うと、『折角、最先端のローコードツールを教えてたのに!』と怒られそうです。でも、どちらも使ったことがないどころか、プログラミング経験がゼロの私からすると、OutSystemsとSQL、どちらもまずは、用語と役割の理解が困難だったのです。用語を理解した上で、使い方も理解、把握して、慣れるという工程の大変さは、どちらも同じくらいでした。

実感したOutSystemsの利点と難点

もちろん、OutSystemsを使ってWebアプリを作成していく中で、私でも利便性を実感できることがいくつかありました。

OutSystemsが便利だと感じたところ

  • 画面に配置した通りにアプリの画面を作成、表示できる。画面の設計図どおりに、Interface(作成画面)で文字や表、画像を配置していく。画面そのものをそのまま作成できることで、完成形がイメージしやすく、とても分かりやすかった。事前にOutSystemsの基本情報を調べたり、教えてもらった時に、ビジュアル的に作成できるということは知っていたが、本当に視覚的にアプリが作れることに驚いた。
  • データを画面にドロップダウンするだけで、自動でリストや表が作成できる。画面上で移動させるだけで勝手にリストが表示される。それだけで、Webページっぽさがあってすごいと思った。
  • エラー表示されるとき、どこでエラーが起きているのか表示される。SQLと比較したとき、便利で感動した。血眼になって間違い探しをする必要がなく、ほっとした。
OutSystemsの研修時に作成した、商品一覧のInterface画面
OutSystemsの研修時に作成した、商品一覧のInterface画面

OutSystemsで難しいと感じたところ

また、OutSystemsを使っていく中で、難しいなと感じたのは以下のようなことでした。

  • 用語の意味を理解し、それぞれを混同せずに判別できるようになること。
  • 入力内容に制限をかけたり、一定の変動を設定する、Logicを作成すること。コードを書く必要がない代わりに、Logic作成が必要だった。例えば、ユーザー情報の登録画面で生年月日を入力するフィールドに、未来の日付を入力するとエラー表示を設定し、入力できないようにするなど。入力された日付が今より過去ならOK(本当は、一定の年齢以上というさらに細かい設定が必要)、未来ならNGというように分類分けをし、表示内容をそれぞれ用意することが必要だった。
OutSystemsの研修時に作成していた、オークションアプリの「現在日時<入金締切日時」のLogic画面
OutSystemsの研修時に作成していた、オークションアプリの「現在日時<入金締切日時」のLogic画面
  • ValueとVariableの関係性を理解することと、それぞれにどの値を入れるのかが、特に難しかった。どちらに何の値を入れたらどうなるか、Interfaceの画面とは違って目には見えないので、データの動きを考えて、どうして予想通りの動きにならないのかが分からず、連日頭を抱えて唸っていた。
OutSystemsの研修時に何度も目にしていた、Logicのエラー表示
OutSystemsの研修時に何度も目にしていた、Logicのエラー表示

OutSystemsの練習も、習うより慣れる派

OutSystemsを学ぶ上でおすすめの方法は、『最初から全てを理解しようとするより、実際に手を動かしていく中で感覚を掴むこと。習うよりまず慣れよ』だと、アドバイスをもらいました。そして実践した方法は、結果的に自分に合っていました。

私は、先に知識を取り入れようとしても、頭に入りづらいタイプです。テキストだけを見て学習しても、大量の用語で頭がいっぱいになってしまい、理解まで行き着きません。その用語が実際にどんな役割、働きをするのかをイメージできていないので、実践しないと把握できないからです。なので、実践に知識を照らし合わせていく方が合っていました。

この「理解するよりまずは慣れろ」スタイルでアプリ開発を進めていく中で、高校生の頃数学の試験対策をしていた時のことを思い出しました。私の数学の試験対策は、ひたすら試験範囲の練習問題を全て解いていくことでした。短期間で解き方があやふやな状態から、問題を解けるようになるには、解く回数を増やし慣れることが手っ取り早かったのです。

問題をたくさん解くことで、次第に解説の意味と解き方が分かるようになりました。どうしてここからこうなった?という解の過程が多少分からなくても、同じようにすれば回答を導き出せていた面もあります。数学という学問を理解するという点では、最適な方法ではないかもしれませんが、試験日が迫った期間ではこの方法が私にとっては一番適していました。

こういった学生時代の埋もれた記憶を思い出して、曖昧であっても「何となく」という感覚と具体的な実践は、新しいことを学ぶ時には、特に重要なことかもしれないと感じました。

ローコードでも、大切なのはイメージと復習する真面目さかも

SQLとOutSystems、どちらを学ぶ上でも重要なのはイメージを持つことだと感じました。SQLでは、自分が表示させたいのはどの属性に該当するデータなのか。OutSystemsでは、作成したい機能はどんなものなのか。このような完成形を明確にイメージし、自分自身で理解していることが大切だと思いました。

ですが、イメージすることが必要だと気付きを得たものの、実際にアプリの機能を作成するためにはどうすればいいのか、その過程が分からずにアプリ開発では何度も躓きました。作成したい機能の具体的なイメージはあるけれど、作成方法が分からない。

そういったときは、同期やトレーナーに教えてもらい方法を学んで地道に習得していく必要がありました。そして教えてもらった通りに作成するだけでなく、その後もう一度自分で再現して復習し、理解を深めました。この復習をさぼると数日経てば方法を忘れてしまって、分からなくなってしまいます。何事においても、こういった知識の定着は重要なのだと実感しました。

また、イメージとフィーリングで闇雲に触って作成しても、上手くいくことはほとんどありませんでした。上手くいかない原因を考えて、突き止めてから変更することが重要でした。自分で開発しているはずなのに、現状の機能やデータの流れがどのように動くのか、訳が分からなくなる。そのため、考えを整理することも重要でした。トレーナーに相談すると、紙にデータの動きを書き出して「どうなって欲しいのか」「何が必要なのか」を視覚化し、脳内整理をしてもらいました。そうすると、データのどこが足りていないのか、間違っているのかが明確になることも多くありました。

シチズンデベロッパーへの道はこれから

研修期間中OutSystemsを触り始めて約2ヵ月で、商品名の登録画面、詳細画面(商品名をクリックすると画面遷移)の作成などの簡単なWebアプリの作成は一人でできるようになりました。まだまだアプリ開発について分からないことだらけですが、開発未経験だった状態から、この短期間でアプリを作成できたのは、ローコードならではの強みなのだろうと思いました。シチズンデベロッパー(市民開発者)としてはまだまだ遠い道のりですが、自分が欲しいアプリを自分で作成できるようになるのも、実現可能かもしれません。

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

ABOUT ME
タロウ
タロウ
犬好き広報
IT企業で広報業務をしています。趣味は漫画アニメ鑑賞と大型書店の探検、散歩中の犬を眺めることです。
最近の悩みは、脂っこいものや生クリームがきつくなってきたことです。
タロウの記事一覧

記事URLをコピーしました