シェア研修、2週間目に突入です。
本日からはプログラミング研修が始まります。そして、今日の研修会場は株式会社ガイアックスさん。
とてもお洒落なオフィスでございました。エントランスに浦野さんのメッセージが書いてある定規があったり、顔を認識して今日の運勢を占ってくれるモニター(?)があったりして、他社さんのオフィスにお邪魔することでとても新鮮な気持ちになれました。
と、いうことで!本日からはプログラミング研修が始まります(二度目)
笑い方に特徴のある、外部講師株式会社HEART QUAKEの千葉順さんをお招きして行われました。
このHEART QUAKEという会社、半月働いて半月は仕事をしないというなんともユニークな企業です。
午前中は主に講師の方から、e-learningの「ゼロプロ」でも学習したHTML、Bootstrap、CSSなどの言語について補足を交えて解説していただきました。(ゼロプロとは、ゼロからプログラミングを学習するためのe-learningです!)
私はe-learningの事前学習内容をあまりはっきりと覚えていなかったため、ここで改めて復習することができて、各言語の特徴を思い出すことができました。
午後は、主にMySQLを用いてデータベースについて深く学習しました。こちらもゼロプロの方で少し学習していたのですが、様々なコードを書いて実践的に学んでいきました。
では、データベースとは。
特定のテーマに沿ったデータを集めて管理し、容易に検索・抽出などの再利用をできるようにしたもの。(出典:Wikipedia)
Excelと似たような機能になっています。
実際にはMySQLをECサイトのデータベースに見立てて、商品を高い値段順に並び替える場合、製品を削除する場合などはどのような言語を書いて表示すればよいかを練習問題を交えつつ学習していきました。
一部どんな言語や関数を使えばよいかを記しておくと、SELECT=表示、DELETE=消去、UPLOAD=追加などがあり、このあとにどこのテーブルのどんな情報を表示、消去、追加してほしいか…やWHEREを用いて条件を書いていきます。
一見単純で簡単に見えても、条件がたくさんある場合はどのように入力してよいかわからなくなってしまい、このようなプログラムを書くことを常日頃行っているエンジニアの方々の偉大さを実感しました。
また、講師の方曰く、コードを書き終えて「実行」ボタンを押してしまうと、基本的には元に戻せないとのこと。
確認ミスで重要なデータを消してしまったり、誤った操作をしてしまうと、始末書レベルで大変なことになってしまうそうです…。
これはエンジニアには限らないことなのですが、確認を怠らないことを、仕事をする際に徹底していこうと心に誓いました。
また、条件を満たすように言語を書くことも難しいと感じたのですがデータベース設計もなかなか手強いものでした。
データベース設計とは簡単にいうと、仮にECサイトを作るとした場合、データベースにはどのようなデータが必要なのかを考えること。
例えば、ECサイトにはユーザーの名前、ID、パスワード、住所、電話番号…などの顧客情報が必要であるし、取引の情報として、誰がいつ何を何個購入したかの情報、他には製品情報として、製品の名前や値段などがあります。
これらも、ただ闇雲にどのようなデータが必要か考えるのではなく、これらの情報の組み合わせでどんなことが可能になるか、を考えながらデータべースを設計していかなくてはなりません。
ECサイトの運営者が「製品を買うとポイントが製品の値段の10%つく」ような仕組みが欲しいといってきた場合、このような仕組みをつけるためにはどのようなデータが必要かを考えながらデータベースを設計しなくてはならないのです。
こちらも課題が出題されましたが、難しくて結構大変でした。
プログラミングのルールでできることの中で、新たな仕組みを実現しなければいけないことは私にとっては骨の折れる作業のように感じられました。
改めて、企画を形にして実現してくれるエンジニアのかたの偉大さを感じました。
私はアイティメディアに総合職として入社したので、いずれは営業職か編集職で仕事をすると思うのですが、エンジニアは営業が考えた企画や編集が書いた記事を実際にHPにして「形」にする人たちです。
私たちが無茶なことを言うと、エンジニアの人も困ってしまうわけです。
今まではプログラミングなんてできないし、いらないし、エンジニアにならないからいいや。と思っていましたが、自分たちの理想を「形」にしてくれるエンジニアの方々には敬意を払わないといけない。
と同時に、エンジニアのことを理解するために営業も編集もプログラミングを少しは学習しておく必要性を感じました。
どのようにホームページを作っているかを少しでもわかっておけば、無茶なお願いはしないように気をつけることもできるし、エンジニアとその他の職の相互理解も深まると思います。
自分たちの企画や記事はエンジニアの人たちがいなければ形にはならない。
このことを念頭において、配属後は仕事をしていこうと誓います。
千葉先生の講座後は、われらがアイティメディア同期、いけだくんのプレゼンテーションでした。
テーマは「文系エンジニアはどのように生まれるか」。
単純にいけだくんプレゼンがうまい!と思ったのと、いくつか学びがありました。
1 プログラミングは独学で学ぶのはよくない
2 本とウェブでプログラミングを学ぶこと、どちらにもメリット・デメリットがある
3 文系でもプログラミングを学ぶことでエンジニアのことを少しは理解できる
1 に関しては、池田くんがかなり強調して話していたことでした。
池田くんはプログラミングを独学で学んだそうですが、やはり知識が偏ってしまったり、聞けばわかることで数日悩んでしまうことがあり、効率が悪いと感じたようです。
必ず人に習え!というわけではないですが、わからないところを人に聞ける環境はあったほうがよいとのこと。
2 に関して。これも池田くんは本とWebでプログラミングを学んだようですが、どちらにもメリット・デメリットがあるとのこと。
本のメリットは体系的に学べること、デメリットは情報が古くなっていく。(技術が発展していくと)Webのメリットは常に最新の情報を得られる、そして無料なこと。
デメリットは体系的な学習が難しいこと。
最近はWebプログラミング学習サービスも増えてきているので、Webのデメリットは解消しつつあるのではないか…と思うのですが、いけだくんは体系的に言語を学ぶことをお薦めしておりました。
知識が偏るのはよくない…!んだとか。
3 は千葉先生の講義からも学ぶことができたのですが、「文系」だからってプログラミングを諦める必要はない!
興味があるのなら学ぶべきであるし、学ぶことでエンジニアの考え方や気持ちも理解できる。
私はプログラミングから逃げてきたド文系なのですが、今回の研修で難しさとともに、エンジニアとより円滑に意思疎通するために、エンジニア職でなくても、理系でなくてもプログラミング、必要だなと思いました。
なかなか骨の折れる作業ではありますが、HPがどのように構築されているのか、どのように加工するとページに反映されるのかを試行錯誤しながらコードを書いていくのは嫌いな作業ではないかもしれないです。
自分の可能性を広げていくためにも、尻込みせずに前向きにプログラミングに取り組んでいこうと思いました。