「システム開発」を含む日記 RSS

はてなキーワード: システム開発とは

2019-01-16

そういや前プロジェクト顧客担当者、何人か子会社転籍してたようだ

年末に見た時は本体在籍だったように思うし、新年からということなんだろうか

地方都市デカ企業システム開発案件だったけど、がっつり保守要員としてそっち地方の子会社転籍ってことなのか

本体から子会社への転籍というと都落ち感あったりもするけど

まあ子会社も安定してるんだろうし、保守要員ともなれば仕事も同じお客さんとの末永いお付き合いな訳で安定感バッチリ 案外いい話なのかもな

業務による転籍なら業務次第で本体復帰とかいくらでもあるんだろうしな

2019-01-14

シングルクリックダブルクリックを使い分けられない新入社員が入ってきた

最近の若者PCに不慣れだと聞いてたけど

まさかここまで酷いとは思わなかった。

一応、弊社はシステム開発会社なんだけど。

2019-01-13

給料が安い

ここ数か月、これを書こうか書くまいかずっと悶々としてたんだけど、

新年会という名目で久々に地元の友人と飲んで近況報告をした際に、

給料が安くて結婚はおろか婚活どころじゃないんだよ!」の【安い】の目安が、話し相手とも大幅にズれていることを再確認したのでやっぱ書く。

スペック

職業IT業界

年齢:アラフォー独身 彼女なし

年収:たしか240万。 月給は17.5万/月(みなし残業代含) ※この金額でも過去キャリアいちばん高い

貯金雀の涙程度、借金はない

転職回数:5回くらい


主にやってきた仕事

金融BtoBシステムの開発、運用保守

中小企業の社内グループウェア提案設計 → 開発 → 運用保守 の全工程

中小企業の「システム周り何でもみてくれる人」的な役回り

特殊商材のBtoCサイト販売システムディレクターUI設計運用保守

エンタメ界隈のwebサイト フロントコーディング

・監修を受けながらソシャゲキャラクターのモーションデザイン

最近Vtuber仕事もやってて、そこでUnity C#システム開発、運用保守

---

こんな感じでIT業界で固い所から面白い所まで、それなりの年数、なんとか死なずにやってきた。

そう、改めて書くと本当にけっこうな年数なんだよなぁ・・その蓄積を思うとこの給料は色々と厳しいよなぁ・・

 

 

いやマジで、この年収と蓄えで婚活とか無理じゃない?

婚活行っても相手の貴重な婚活のお相手探しの時間を奪うだけで失礼だって

いやそもそもこの年収じゃ申し込みすらできないんじゃね?そんなことない?

まぁそうじゃないにしろ婚活する時間があったらむしろ副業して稼ぎを増やしたいよ!!

2019-01-07

はてなやっぱりアホ

あるブクマページでブクマしようと思ったらログインしてなかった

会員登録ログインってボタン押す

ログインする

はてぶトップに飛ぶ

おいいいいいいいいいいいいいいいい

おれがさっきブクマしようとしたきっかけのところを無視すんじゃねーよ!!!ログインするきっかけになったページに戻せよ!

他の会員登録系もほとんどこれ

買い物しようと思ってログインしたらトップに飛ばすとか

いちいちブラウザの戻るで戻させるなよ

システム開発の怠慢だろ

2019-01-05

anond:20190105094042

改元サマータイムも大騒ぎしてたけど、日本システム開発者なんて馬鹿ばっかりだから、想定なんかしてないよ。

2038年問題とか知りもしないやつ多いし。

改元システム対応について

システム対応が大変、システム化によって使われなくという意見があるが逆だと思う。

ふつうシステム開発すれば元号の扱いは簡単で混乱する要素は少ない。すでに平成への移行も経験しているのだし。当時直接携わっていなくても平成永遠に続かないのは自明なわけで、ごくふつう設計していれば改元には備えてあるはず。御譲位がなければ突然の改元可能性もあるわけで、元号を扱うのであれば当然すぎる要件だ。(もちろん改元を前提とすること自体が不敬極まりないという考え方ゆえにシステムに盛り込んでない場合もあるのだろう)

あとは実際に変更する際のコストぐらいだろう。

比べる性質のものではないが毎年変わる税制税金のほうがよほど難しいし、コストもかかっている。

表示も入力も変換もシステムからこそ簡単にできる。むしろ積極的に使える時代が来た。

2018-12-28

何か良いビジネスいか

できること

スマホアプリ作成

webサイト作成(自信薄)

システム開発ディレクション

 

ゲームのほうが儲かりそうってここ3年くらい思ってる

発注10万円でできること、100万円でできること

仕事業界相場の一覧ほしいよな

 

システム開発だと

10万円だと、稼働してるシステムの一機能の一要素を追加するくらいか

100万円だと、ちょっとしたシステム制作するくらいか、2ヶ月くらい

2018-12-26

anond:20181226123306

てかスパコン自体が基本は寄せ集めのシステム開発ってことが分かってないな。

Top500含め独自プロセッサ使ってるスパコンなんて限られてるぞ。

贅沢にプロセッサやらインターコネクトやらまで開発できるのは、それ自体目的として日本がジャブジャブ税金つぎ込んでるから

2018-12-25

anond:20181225183650

金銭感覚がなんか違うなー。

それで叩くなら数十億規模のシステム開発発注して完成させられず予算をドブに捨てても誰もクビにならないお役所の方だろ。

2018-12-21

ななめ上いく奴

炎上しそうだから助けてやってくれ」

ってボスから押し付けられたので、うちの会社投資したベンチャーに行ってきた。

そこの責任者っぽいやつがやばかった。

新規事業立ち上げをやってきました」とか言うから若いのにすごいなあーと思って

いろいろ聞いてみた。

・いまやろうとしてる事業ってどんなん? → 未決です。

事業計画は?いくら売上作るの? → 計画してます

・どんなサービスにするの? → 未決です。

システム開発要件はなに? → 未決です。

・いつサービスロンチするの? → 年度末くらい想定だけど、未決です。

「あっ・・・(お察し)」何も決められねえ奴だ、こいつ。

しかもノースキルの口だけ野郎じゃあねーか。

どこで新規事業立ち上げてたか聞いたら、まったく聞いたことねーし、もはやその事業

存在してないし、ほぼ素人同然。しかも、落ち目ソシャゲ会社出身

なんでこんなゴミ拾ってんだよ・・・

これは年末年始なくなるフラグ立ったな。

2018-12-17

政府金銭感覚

完成しないシステム開発のためにお抱えのSIベンダーに数十億の金を投入して丸投げするのに、

官僚たちだけでは決してなし得ない官民ファンド役員成功報酬を出し渋ってチャンスを潰す。

たからみれば主導権を握れるかどうかだけが意思決定基準になってるとしか思えない。

2018-12-16

ポール・グレアムって経営者である前にLispハッカーなんだよ。

彼にはLispを書けるという明確なスキルがある。

俺が見習ってるのはその点。

自分に当てはめるなら、現代では他の言語ツールも使える必要があると解釈してるよ。

 

他人ベンチマーク評価)は定量的だけじゃなくて定性的分析必要だね。

俺のおかげで君も一つ賢くなれた。良かった。

2018-12-07

anond:20181207030700

ぼくの文章を見てどうして「独創的を書く必要がある」というふうに読み取ったかについて疑問を感じますが、独創的という言葉に含まれる「自分で新しいものを考え出す」という部分を捨てて「自ら考える」という部分に着目してください。頭で何も考えずにシステム開発ができますか。オリジナリティのある製品が作れますか。

コードが独創的である」とは何を持って独創的ですか。聞くところによれば人間が書いたコードは筆跡のように書き手の癖があり、かなりの確率作成者コードから同定できるということです。自分が書いたコードはいつでもある意味独創的なのだと思います別に結果的に他の人と似たようなコードになることはかまいません。

あなたソートの各種アルゴリズム自分で書いたことはありますか。考えてわからなければ答えを見ても良いですが、そこには単にsort関数を呼ぶ以上に自分理解できていない「ものごとの仕組み」というものがあります

独創的であろうがなかろうがそんなことはどうでもいいことです。頭から考えをひねり出しながらコードを書く機会ならいくらでもあることでしょう。

またあなたからは「機会がなければしなくていい」というぬるい思考が読み取れます。それは「勉強なんて何の役に立つの」という意味です。

そんなあなたには「思慮の足らずを自覚せよ」という警句を捧げたいと思います

2018-11-30

要望聞いて、要件定義して、数ヶ月後...

はいできました使ってね」

って、古から繰り返されたシステム開発の失敗パターンではある

数ヶ月も経てば相手は忘れるし要件が変わることもある

それを防ぐために用がなくても定例会議とかいって集まったりアジャイルとか言ってサブセットを早期リリースしたり、対策してる

2018-11-29

Core 2 Duo搭載、メモリ2GB、HDD160GB、電源を繋いでいなければ5秒と待たず

数日前、NTTで働いていたものの不満がありGoogleに移るという若手と、30年前にNTTで働いていたものの不満がありMicrosoftに移ったというベテランの話がバズった。

特に若手の方の話にあった「他のところではメモリ4GB、HDDPCで開発業務を行わされている」という話があり、プログラムを書くことを生業にしている者からすれば当たり前といえるスペックを、ちゃんとしっかり当たり前のものとするべきという主張があった。

全くもってその通りであるコンピューター減価償却期限が会計的に4年と定められているため古いものを使わざるを得ないなどという擁護など、言い訳にもならない。コンピューターに金をかけるというのは投資であるたかだか数万円分のスペック強化が生み出す労働生産力を考えれば安いものである。4年間「使わなければならない」ものではない。あくま減価償却の都合上そういう計上になるというだけの話に過ぎない。

そもそも最近はそれこそ深層学習を用いた各種手法を用いたサービス開発とか最先端研究的開発を行うのでない限り、コンピューター要求されるスペックの上昇幅は明らかに鈍っている。私は4年半ほど前に当時としてはそこそこ良いスペックCPU:当時のCore i7メモリ:16GB、SSD:256GB、GPU:760GTX)で構築したPCをいまだに現場第一線級で使っている。もちろん今新しいコンピューターを構築すればさらなる快適な環境になるだろうが、使用しているリソースとして重要なのは特にメモリの容量であり、16GBもあれば十分だ。なんなら1万円ほど投資して追加でメモリを取り付けて容量をさらに倍にすれば何の問題もなくなる。

スペックにかける数万をケチたことで将来またコンピューターを揃える必要が生じて数十万を失い、コンピューターにかける数十万をケチたことで人件費として数百万円を失っているのである。愚かとしか言いようがない。確実に負ける投資に勤しむ会社にはそのうち倒産という未来が待っているので、楽しみにしていると良い。

さて、某大手SIer企業の話をしたいと思う。

就活の一環としてインターンに参加した某大手SIer企業業務の一部を実際に担当するタイプインターンだったが、データ流出などへの対策として自前のコンピューターの持ち込みは固く禁じられ、会社から一台のコンピューター支給された。

Core 2 Duo搭載、メモリ2GB、HDD160GB、電源を繋いでいなければ5秒と待たず電池が切れるノートパソコンである

(^o^)

もう一度言う。Core 2 Duo搭載、メモリ2GB、HDD160GB、電源を繋いでいなければ5秒と待たず電池が切れるノートパソコンである

\(^o^)/

搭載OSWindows 7であったことだけがせめてもの救いといえるかもしれない。筐体には昔なつかしのVista Ready的なシールが貼ってあった。いとワロス

インターンからこの待遇だった可能性もある。そりゃ突然大勢学生を受け入れるために最新鋭のコンピューターをたくさん用意することはできないだろう。だから普段倉庫に置いてあるような古いコンピューターを急遽持ち出してきたと考えれば、このスペックにも納得がいく。だが近場の人(正社員)の机にちらほらと似たスペックPCが置いてあることに気が付き、私は絶望的な気分になった。

嘘だろう?

働き方改革」のためにITソリューションの導入を支援したりして大手企業からたくさん金を貰っているんだろう?

システムの開発をしているんだろう?ついさっきの説明では社員さんは自信満々にシステム開発の話をしていたぞ?なんか手を動かしてる感じの話しぶりだったぞ?

これでどうやって開発をするというのだ?まさかメモ帳ソースコードを書いているのか?

頭の中でぐるぐると色んな思いが渦巻きながらも、予め構築していた外行き用のシミュレート人格を使って当たり障りのない会話をこなし、インターンの日々は過ぎていく。その間、開発など一度もしなかった。彼らは開発をしているのではない。開発の管理をしていたのだ。

まあエクセルポチポチとマスを埋めることと下請け電話をかけて圧をかけるのが主たる業務ならこの程度のスペックでもいいかもしれないなと思い、インターンを終えた。私はSIer業務をあまりにも知らなかった。後に聞いたのだが、彼らは会社説明会で「文系でも大丈夫!」などと言ってたという。それはそうだろう。特に強い専門性を帯びた仕事ではない。エクセル電話が使えればOKだ。これが就活で人気企業とされ、高給取りとしても知られる企業実態かと死んだ魚のような目でオフィスを眺めながら思った。

そして彼らのような会社企業IT導入に深く噛んでいたりするのだ。そういうことを業務としてやっているという話を聞いた。

4GBもメモリが載っていたらマシである。彼らから見れば立派なハイスペックマシンだ。何しろ彼らが普段使っているマシン化石なのだから

下請けは彼ら上流を基準にして開発環境を構築しているようだった。何しろ彼らは下流に開発環境リスト要求して細かく干渉しているのだから、相当強く突っぱねられる社長がいないところはされるがままであろう。結果としてあふれかえるのがゴミ改めクソスペック……ゲフンゲフン、上流のSIer推奨の開発環境だ。

SIerこそがこの国のITの発展を妨げているという話を聞いた。その理由は、大した技術もない奴らが金を巻き上げる構造固定化されてしまうからだそうだ。

今回見てきた企業特別ひどいところだった可能性はある。たまたま大外れを引いた可能性は十分にある。サンプル数が1なのに一般化して他を罵倒するのはよくない。

から対象SIer全体ではなく、対象を今回インターンに行った会社に限り、上記の言説を少し改めようと思う。「大した技術知識も無い奴らが金を巻き上げる上に『IT専門家ヅラ』をして知ったかぶりを繰り返し、業界全体の足を引っ張っているから」、ITの発展が妨げられているのだ。

健全の極みである。とっとと潰れてしまえと、心の底から思う。だが金はあるからうそうつぶれはしないのだろう。忌々しいものである

2018-11-12

ネットワーク監視ツールのご紹介

多分、夫はシステム開発仕事合法)に従事している可能性が高いと思われます

違法ではないが、劣悪な労働環境なので、スタッフをこき使う酷い企業なのでしょう。

 

サーバ監視

詐欺のような違法行為をやってるのではないか?という心配があるなら、自宅のサーバ(大きい音を出してる大きなコンピューター)を監視してみましょう。

夫が外出中の間に、10分程度で済む作業です。

自己責任でお願いします。)

 

(1) 監視用のノートパソコンを用意する。

奥さん普段使っているノートパソコンでいいので、1台用意します。

ノートパソコンに「Wireshark」というソフトインストールします。

 

Wiresharkを使った通信監視(前編)――基本的な使い方とパケット解析

https://knowledge.sakura.ad.jp/6286/

 

(2) Amazon等で「リピーターハブ」1台と「LANケーブル」2本を買う。

PLANEX 5ポート ギガビット リピーターハブネットワークタップ) FXG-05RPT

https://www.amazon.co.jp/dp/B00FAE7XAG/

エレコム LANケーブル 1m スーパーフラット CAT6準拠 LD-GF/BK1

https://www.amazon.co.jp/dp/B0000CE5FK/

 

(3) サーバーのLANケーブルリピーターハブを挟む。

[サーバ]→LANケーブル→[ルーター]

という接続順になってると思いますが、以下のように変更します。

[サーバ]→LANケーブル→[リピーターハブ]→LANケーブル→[ルーター]

LANケーブルを抜いて指し直す作業は、なるべく短時間で済ませてください。事前にシミュレーション練習を行い、10秒以内を目指して下さい。

 

(4) リピーターハブ信号取り出し用のLANケーブルを挿す。

上記リピーターハブに、さらに1本LANケーブルを挿します。

これを「キャプチャー用のLANケーブル」と呼ぶことにします。

 

(5) キャプチャー用のLANケーブル監視用のノートパソコン接続する。

(1)で用意したノートパソコンに(4)のキャプチャー用のLANケーブルを挿します。

 

(6) Wireshark通信内容を監視する。

ノートパソコンWiresharkを使って、サーバーの通信内容を傍受してみましょう。

内容を解析すれば、違法行為をしているか判断材料が得られるでしょう。

10分程度監視したら、元に戻しておいてください。

 

万一夫に監視がバレた場合、夫に責められる可能性があるなら、事前に弁護士相談しておくと良いでしょう。

 

E-MAILへのモニタリング | 法律Q&A | ビジネスQ&A | 東京都港区法律事務所 ロア・ユナイテッド法律事務所

https://www.loi.gr.jp/knowledge/businesshomu/homu03/houmu07-02-10.html

2018-11-11

増田プログラマー養成講座 その21 データベース設計 (1)要件定義

前回まで、データベースを使ったWebアプリ作成して、SQLの使い方を学びました。

今回からデータベース設計について学んでみよう。

 

参考書

これらの参考書ガッツリ読めば、データベース設計のやり方は分かる。

 

リレーショナル・データベースは昔からある枯れた(=安定した)技術なので、鉄板ノウハウが蓄積されている。

先人の知恵に沿って使うなら、データベース設計で悩む余地は少ない。=攻略は意外と簡単

 

データベーススペシャリスト教科書

経済産業省認定情報処理技術者試験で「データベーススペシャリスト」という資格もある。

 

データベースエンジニア」という肩書きを名乗れば、ただのプログラマーよりも高給取りになれる。勉強した後、自分知識棚卸してみるつもりで資格を取ってみるのもいいだろう。

データベーススペシャリスト試験教科書には、浅く広くDB知識網羅されているので、1度眺めてみたらいいかも。

 

 

 

データベース設計の流れ

データベース設計(database design)は、ソフトウェア開発工程においてデータベースの詳細なデータモデルを作る工程である

 

  1. 要件定義:「CRUD表」の作成
  2. 概念設計:「概念モデル」の作成 → ER図(実体参照モデル)の作成
  3. 論理設計:「論理モデル」の作成 → テーブル定義表の作成
  4. 物理設計:「物理モデル」の作成 → 論理モデルを実際にデータベース上で作成インデックス作成など

(分類方法にもよるけど)データベース設計は、このようなステップを経る。それでは順番に見ていこう。

 

 

 

1.1 永続化するデータを決定する

いわゆる「要件定義」だ。

実際にシステムを使うことになるユーザーヒアリング調査して、データベース内に永続化(格納)すべきデータを決定する。

 

CRUD表とは?

データCRUD操作(Create 追加、Read 参照、Update 更新Delete 削除)が、いつ、どこで発生するか?をまとめた表のこと。

 

データベース 設計 CRUD表」等のキーワードGoogle画像検索してみよう。どんな表か分かる。

↑このページの「図2 標準的CRUD図(例)」みたいな表を作って確認すれば、扱うデータの過不足がなくなる。

 

複雑なシステムだと、完全なCRUD表を作るのは面倒だよねw

だが安心して欲しい!

押さえておくべきポイントはあるので、そこだけ手抜きをしなければ、大失敗は避けられるだろう。

 

マスタートランザクションの違い

実は、後でテーブルを作るときに、データ更新頻度によって2種類に分類できるんだ。

 

 

トランザクションデータの扱いは、気を付けないとデータベースの性能低下に直結する。

どっちのタイプデータなのか?要件定義の段階から見分ける癖を付けておこう。

 

要件定義練習

試しに、Amazonのような通販サイトなら、どんなデータを扱うことになるのか?想像してみよう。

仕入先、在庫数、受発注配送会社顧客情報商品カテゴリー、商品スペック、などいろいろあるだろう。

いつどこでCRUDが発生するか?どれがマスターデータで、どれがトランザクションデータだろうか?

 

 

 

(ここまでの説明URLを8個も貼ってしまったので、続きは次回にしよう。)

次回は「概念設計」以降のステップを見てみよう。

 


anond:20181015215004 未経験からプログラマーなんだが全然からない

anond:20181016015826 増田プログラマー養成講座 その1 パソコンの用意

anond:20181016164341 増田プログラマー養成講座 その2 プログラムデータ+処理、プログラム言語の種類

anond:20181016180059 増田プログラマー養成講座 その3 構造プログラミングの基本(順次、反復、分岐

anond:20181016193144 増田プログラマー養成講座 その4 子ども向け教材「Scratch」で構造プログラミング練習

anond:20181017161003 増田プログラマー養成講座 その5 オブジェクトとは何か?

anond:20181017191404 増田プログラマー養成講座 その6 OOPの種類、PHPの準備

anond:20181019181549 増田プログラマー養成講座 その7 OOPの仕組み(前半)

anond:20181020230044 増田プログラマー養成講座 その8 OOPの仕組み(後半)

anond:20181022232327 増田プログラマー養成講座 その9 MVCフレームワークを使ってみよう

anond:20181023184616 増田プログラマー養成講座 その10 OOP参考書

anond:20181024214133 増田プログラマー養成講座 その11 データベースを使ってみよう

anond:20181026145516 増田プログラマー養成講座 その12 データベース参考書

anond:20181028152656 増田プログラマー養成講座 その13 SQL文法

anond:20181031014212 増田プログラマー養成講座 その14 Webアプリの試作品作成

anond:20181101225335 増田プログラマー養成講座 その15 Webアプリの完成見本

anond:20181101230220 増田プログラマー養成講座 その16 Webアプリの完成見本(続き)

anond:20181104161900 増田プログラマー養成講座 その17 Webアプリの骨組み

anond:20181104233013 増田プログラマー養成講座 その18 SQLデータの追加と取得

anond:20181110120715 増田プログラマー養成講座 その19 SQLデータ更新

anond:20181110182445 増田プログラマー養成講座 その20 SQLデータの削除

anond:20181111205255 増田プログラマー養成講座 その21 データベース設計 (1)要件定義 ←★今ここ★

anond:20181119224031 増田プログラマー養成講座 その22 データベース設計 概念物理

anond:20181024214737 増田プログラマー養成講座 コンテンツ一覧

2018-10-30

プロダクトオーナー素人って言う問題

これアメリカとかだと違うんだろうか

毎度お客さんに「システム開発とは」を一から教えてるんだけど

教育料取りたいくら

せめてベンチャーシステム作るぞっていう人はそこらへん死ぬほど勉強してほしいんだが

ベンチャーとは」「起業とは」「マネタイズとは」「システムとは」「どういう人材必要か」とか大体教えてる気が

あれ、コンサルに片足踏み込んでるのかこれ

やっぱ個人で受注してると地獄度高いな

大きい企業相手にするようにしたい

(いやそれもしてるんだけど、大きい企業でも直属の担当者レベルかわんねーなそういや。メガベンチャーとかとかに関わればいいのかな)

2018-10-28

増田プログラマー養成講座 その13 SQL文法

前回は、データベース参考書を見た。

今回は、DBで使うプログラム言語SQL」の文法を見てみよう。

 

リレーショナル・データベース(Relational Database、RDB)とは?

WikipediaRDB説明を見てみよう。

関係データベース(relational database)は関係モデルにもとづいて設計、開発されるデータベースである

関係データベース管理するデータベース管理システム (DBMS) を関係データベース管理システム (RDBMS) と呼ぶ。

Oracle Database、Microsoft SQL Server、MySQLPostgreSQLDB2、FileMakerH2 Database などがRDBMSである

 

関係モデルIBMエドガー・F・コッドによって考案された現在もっとも広く用いられているデータモデルである

データベース利用者は、クエリ(問い掛け)をデータベースに与え、データ検索したり、変更することができる。

 

データは表に似た構造管理されるが、関係と呼ぶ概念モデル化される。

関係は組(タプル、表における行に相当する)、属性アトリビュート、表における列に相当する)、定義域(ドメイン)、候補キー(主キー)、外部キーなどによって構成される。

SQLなどに代表されるデータベース言語(問い合わせ言語)を用いて、関係に対して制限・射影・結合・和・差・交わりなどの関係代数演算(集合演算を含む)ないし関係論理演算を行うことで結果を取り出す。

関係複数持つことも可能で、互いを関連させることも可能である

要するに、

 

SQLとは?

WikipediaSQL説明も見てみよう。

SQLエスキューエル)は、関係データベース管理システム (RDBMS) において、データ操作定義を行うためのデータベース言語(問い合わせ言語)、ドメイン固有言語である

エドガー・F・コッドによって考案された関係データベース関係モデルにおける演算体系である関係代数関係論理関係計算)にある程度基づいている。

 

SQLは、シークェルと読まれることもある。

これは、SQLの元となったデータベース言語が、IBMが開発したRDBMSの実験実装であるSystem Rの操作言語SEQUEL (Structured English Query Language)」であったことが由来である

SEQUEL (Structured English Query Language)」を略して「SQL」と呼んだらしい。

 

  1. 質問する、尋ねる
  2. 問い合わせ[クエリー]を行う

英語クエリーは、質問する、問い合わせる、という意味なんだね。

 

SQL3分

SQL説明するとき、3つのグループに分類される。

 

↑このページをよく読んでくれ。理解できたらSQL説明は終わりだ!!!

 

 

 

…というと、説明することがなくなるので、ちょっとまとめておこう。

このページの「表1●SQLDDLDML,DCLの三つに大別できる。このうちプログラマが最も多く使うのはDMLだ」という図を見てみよう。

 

という3種類に分けてる。順番に見てみよう。

 

DDL(Data Definition Language:データ定義言語

データベーステーブル、ビュー、インデックスユーザーなどを作成/変更/削除するときに使うSQL

これでデータベースを使う準備ができる。

  • 「CREATE」…作成する。
  • ALTER」…変更する。
  • DROP」…削除する。

 

DML(Data Manipulation Language:データ操作言語

データ操作するときに使う。いわゆる「CRUD」のことで、SQLのうち、このDMLを覚えれば、とりあえずRDBは使えるようになる。

CRUD(クラッド)とは、ほとんど全てのコンピュータソフトウェアが持つ永続性の4つの基本機能イニシャルを並べた用語

その4つとは、Create(生成)、Read(読み取り)、Update(更新)、Delete(削除)である

ユーザインタフェースが備えるべき機能情報の参照/検索/更新)を指す用語としても使われる。

 

この中で一番活躍するのは、「SELECTコマンド命令文)だろう。

SELECTは、いろんな条件を付けてデータを絞り込む/加工することができて、便利なんだ。(Excelなどの表計算ソフトよりも高機能

 

JOIN(結合)

RDBは「リレーショナル」(関係)という冠言葉が付いてることからも分かるように、関係がある表と表をくっつけて、データを加工できる。

表と表をくっつける操作のことを「結合」という。

SQLでは「JOIN」というコマンドを使って表と表を結合できる。

↑このページにある丸と丸が重なった図を見てくれ。この図は「ベン図」といって包含関係を示す図だ。図を描いて塗りつぶせば、欲しい部分が分かりやすくなるだろう。

 

結合の種類

表と表のつなげ方には、何通りかパターンがあるよ。

  • 結合は、「内部結合」(INNNER JOIN)と「外部結合」(OUTER JOIN)の2種類に分類できる。
  • 外部結合はさらに、「左結合」(LEFT JOIN)と「右結合」(RIGHT JOIN)と「完全結合」(FULL JOIN)の3種類に分類できる。

 

内部結合は単純だ。外部結合はちょっとややこしい。

外部結合は「LEFT JOIN」の形がよく使われると思うので、まず最初にLEFT JOINの仕組みを理解すれば大丈夫だろう。

(LEFTの仕組みを基準にして、RIGHTやFULLとの相違点を意識すれば、表のつなぎ方を間違えにくい?)

 

DCL(DataControl Language:データ制御言語

トランザクション」は、データ更新に失敗したとき、元に戻せる機能だ。(安全装置

  • 「COMMIT」…更新処理の確定
  • 「ROLLBACK」…更新処理の破棄

 

言葉だけだと意味が分かりづらいと思う。

Google画像検索で「トランザクション」を検索して、分かりやすそうな図解を探してみよう。

↑このページの「図1 処理失敗による不整合の発生」を見てみよう。

 

銀行で口座間の送金を考えてみる。Aさんの口座からBさんの口座へ50万円送金したい。

  1. Aさんの口座から50万円減らす。
  2. Bさんの口座に50万円追加する。

この2つの処理が両方とも成功しないと、送金は失敗だ。(Aさんは送金できてないのに貯金が減ったら怒る。Bさんは送金されてないのに貯金が増えてラッキー!)

AとBの両方が成功したら更新処理を確定する。AとBのどちらか、または両方が失敗したら更新処理は破棄してなかったことにする。(やり直し!)

これがトランザクションだ。

 

クレーム対応難易度

ちょっと話がそれるけど、トラブルの重大さ=クレーム対応難易度について考えてみよう。

  1. 人身事故 …人命にかかわる事故は取り返しがつかない。文句も一番キツイ絶対ミスがあってはならない分野のシステム開発はなるべく避けよう。
  2. 金銭絡み …(命の次に)お金大事という人は多い。人は金の話になるとシビア文句も強烈だ。決済など金銭絡みのシステムでは、RDBトランザクションを使おう。
  3. 上記以外 …その他のクレームは、それほどハードではない。匿名掲示板とか、どうでもいいゴミ情報投稿されるシステムなら、トランザクションは使わなくてもOKだろうw

 

DB管理ツール

ここまで、SQLRDB操作する方法について話した。

RDBは、SQLコマンド操作するだけでなく、DB管理ツールを使って操作することもできる。

DB管理ツールについても知っておこう。

 

この講座では「phpMyAdmin」というDB管理ツールで「MySQL」を操作した。

他にも、Google検索で「DB 管理 ツール GUI」などで探してみよう。商用だけでなく無料でも便利なソフトがたくさんあるね。

 

など。

 

SQLパズルだ!

SQLを駆使すると、欲しいデータをホイホイ取り出せる。

SQLコマンドを組み立てる作業パズルのような要素もあるので、遊びだと思ってSQLに取り組んでみて欲しい。

SQL パズル」でGoogle検索すると、いろんなテクニックが紹介されているので、時間があったらチャレンジしてみよう!

 

SQLの話は、それだけで1冊の本になるぐらい広範だ。今回は、SQL概要説明するだけになってしまった。

SQLの詳細については、前回紹介したSQL参考書などを読んでみてね。

 

まとめ

 

次回は、データベースを使ってWebアプリを作ってみよう!

データベースって便利だな~~~!!!」と実感して欲しい。

 


anond:20181015215004 未経験からプログラマーなんだが全然からない

anond:20181016015826 増田プログラマ養成講座 その1 パソコンの用意

anond:20181016164341 増田プログラマ養成講座 その2 プログラムデータ+処理、プログラム言語の種類

anond:20181016180059 増田プログラマ養成講座 その3 構造プログラミングの基本(順次、反復、分岐

anond:20181016193144 増田プログラマ養成講座 その4 子ども向け教材「Scratch」で構造プログラミング練習

anond:20181017161003 増田プログラマ養成講座 その5 オブジェクトとは何か?

anond:20181017191404 増田プログラマ養成講座 その6 OOPの種類、PHPの準備

anond:20181019181549 増田プログラマ養成講座 その7 OOPの仕組み(前半)

anond:20181020230044 増田プログラマ養成講座 その8 OOPの仕組み(後半)

anond:20181022232327 増田プログラマ養成講座 その9 MVCフレームワークを使ってみよう

anond:20181023184616 増田プログラマ養成講座 その10 OOP参考書

anond:20181024214133 増田プログラマ養成講座 その11 データベースを使ってみよう

anond:20181026145516 増田プログラマ養成講座 その12 データベース参考書

anond:20181028152656 増田プログラマ養成講座 その13 SQL文法 ←★今ここ★

anond:20181031014212 増田プログラマ養成講座 その14 Webアプリの試作品作成

anond:20181024214737 増田プログラマ養成講座 コンテンツ一覧

2018-10-26

増田プログラマー養成講座 その12 データベース参考書

前回は、MySQLphpMyAdminを使って、リレーショナル・データベースRDB)を少し触ってみた。

今回は、RDBの使い方や仕組みについて理解を深めるための資料を探してみよう。

 

本は、買う価値のある本と、買わなくてもいい本の2種類があるね。

  • 買う価値のある本:何度も読み返す本。
  • 買う価値のない本:1度読んだら終わりの本。(図書館で借りる。図書館にない場合は買う。読み終えたら古本屋などに売却)

どちらの本かは自分判断で決めよう。(1度で理解できない本は、何度も読み返すことになるだろう。)

 

初めてRDBを使う人のためのガイダンス

本書は,新人エンジニアデータベース全般について勉強したいとき最初に読む本です。

データベースに関する知識を広く浅く網羅的に紹介してた。

最初に読めば、DB全体を俯瞰する地図を手に入れたようなもの。その後の見通しが良くなる。

 

入門書(初級レベル

本書はMySQLをはじめて触る方を対象として,開発環境の準備からSQL基本的な書き方,PHPによるWebシステム開発まで,図解でわかりやす解説します。

MySQL入門書カラフルな図解が分かりやすい。

まずは、データ操作の基本「CRUD」(Create=追加、Read=取得、Update=更新Delete=削除)を理解しよう。

CRUDが分かれば、DBを使ったWebアプリを作れる。→ここがIT土方の最低レベルだぜ!

 

豊富な図解とていねいな解説により、やさしく・楽しくデータベースSQL学習できる入門書です。

本書は、データベース操作する問合型言語SQL」の文法練習できる。

SQLが読める&書けるようになれば、RDBを使ったプログラミングで苦労しなくなる。

 

 

 

上記2冊の入門書程度の知識を身に付ければ、RDBに関しては初心者から脱却できるはずだ。

RDBを使うプログラムを作るなら、まずはこの程度の知識クリアしておけば、十分だろう。


次の段階では、既存DBを使うだけでなく、「ゼロからDB設計、構築してくれ」と頼まれるようになるはずだ。

時間があったら、DB設計スキルを身に付けておこう。

(以下の話は、今の段階では無視してもOKRDBにある程度慣れたら読んでみて!)

 

 

 

ミックさんのDB

データベースの本はいろいろあるけど、「ミック」という人が書いた本はRDBの要点がまとまってるので、なるべく早い段階で一通り目を通しておくことをお勧めする。(ミックさんの本は買って何度も読み返してる。)

 

DOAデータ中心アプローチ

RDB設計方法はいろいろあるが、古典的手法として「DOA」(データ中心アプローチ)がある。

なぜこの古臭いDOAが、今でも重要なのだろうか?

DOAと、他の「OOAObject Oriented Approach:オブジェクト指向アプローチ)」「POA(Process Oriented Approach:プロセス中心アプローチ)」を比較した図を見てみよう。

OOAは、言い方を変えれば、

[ユーザー] ←→ [プログラム] ←→ [DB]

という流れになっている。

まりユーザーから見ると、間にある[プログラム]は、[DB]を包んでいる「ラッパー」でしかない。

=[DB]のデータ構造スキーマ)さえシッカリしていれば、間にある[プログラム]は取り替えてもあまり困らない。

 

RDBを使うシステムなら、DB設計プログラム設計よりも重要になる。

(後で[プログラム]を変更するよりも[DB]を変更する方が影響は大きい)

から今日でもDOAは十分に役立つ手法だと思って理解して欲しい。

 

DOAは、ざっくりと3ステップでやる。

  1. 分析会社業務などを分析して、データCRUDが発生してる所を列挙する。
  2. 論理設計データ間の関係分析して、「ER図」を作る。
  3. 物理設計ER図を基にして、DB設計する。

慣れたらER図を書かなくても、頭の中で思い浮かべるだけでもテーブルを作れるようになる。

 

最初DOAを知っておけば、今後他の設計方法を使うときでも、比較検討基準として使えるので、損はないはずだ。

それでは、DB設計の本を見てみよう。

 

DB設計(中級レベル

初級者が押さえておくべきDB設計の基礎知識ポイント正規化非正規化のケーススタディテーブル設計のやってはいけないバッドノウハウ、注意すべきグレーノウハウなどを丁寧に解説します。

DB設計入門書。著者はミックさん。

DOA正規化階層構造木構造)のデータの扱い方など、DB設計の基本を網羅的に説明している。

 

現場で使えるアイデアが満載 デキるDBエンジニアになろう!

私が設計スキルを付けるために実際に行ってきた「身の回りのものを題材にERDを書く」という方法サンプルを今回は8種類書き下ろさせていただきました。

手前味噌ではありますが、本書をお読みいただき実践していただくことで「実務で具体的に手が動く」というレベルに達していただけると考えています

DB設計入門書

DOAの考え方、ER図の書き方などが説明されている。

 

RDB理論上級レベル

RDBSQLは「関係代数」という数学が、その基礎を支える理論になっている。

関係代数」などを解説

RDBを改造したり、自作したくなったら、RDB原理を知っておきたい。

この手のコンピューターサイエンスの本って、難しくてつまらない本が多いけど、この本は図解が多くて、珍しく分かりやすい本だったw

 

ネット

本の情報は、出版された瞬間から陳腐化が進む。

最新の情報は、ネット確認することができる。

 

公式サイトオンラインマニュアル

自分が使うデータベースマニュアルは最も基本的な1次情報になるので、不明点があったらまず確認するようにしたい。

など、公式サイトオンラインマニュアルをチェックしておこう。

 

ミックさんの解説記事

ミックさんは、ネットでもDB技術論の記事を公開されており、参考になるかも?

(↑無料Webサーバー「Yahooジオシティーズ」は2019年3月閉鎖予定なので、読むなら今のうち?)

 

階層構造になっているデータカテゴリー情報など)をRDBに保存するとき、主なやり方が3通り紹介されてた。(上記の本でも紹介されてる)

  1. SQLで木と階層構造データを扱う(1)――入れ子集合モデル
  2. SQLで木と階層構造データを扱う(2)――経路列挙モデル
  3. SQLで木と階層構造データを扱う(3)――入れ子区間モデル

自分は(2)の「経路列挙モデル」が分かりやすくて、いつも使ってる。

 

…という具合に、ネット上の公開記事にも参考になる情報がたくさんあるよ。

(ここまでの説明URLを9個張ってしまったので、もうこれ以上URLを張れない。><

他にもGoogle検索などで役立つ記事を探してみよう!(唐突な締めw)

 

NoSQL

データストア(データを保存する道具)は、RDB以外にもいろいろある。→「NoSQL」とか呼ばれている。(自分検索してみてw)

RedisHadoop、ElasticSearch、OpenStack…いろいろな道具が発明されてるね。

RDB以外のデータストアを使うときでも、RDBと相違点を比較しながら学べば、取っ掛かりが持てて、理解スムーズになるだろう。

RDBは、知っておいて損はない。使いまくって、体得しよう!

 

まとめ

RDBSQLパズルみたいなものから、楽しんで学んで欲しい。

 


anond:20181015215004 未経験からプログラマーなんだが全然からない

anond:20181016015826 増田プログラマー養成講座 その1 パソコンの用意

anond:20181016164341 増田プログラマー養成講座 その2 プログラムデータ+処理、プログラム言語の種類

anond:20181016180059 増田プログラマー養成講座 その3 構造プログラミングの基本(順次、反復、分岐

anond:20181016193144 増田プログラマー養成講座 その4 子ども向け教材「Scratch」で構造プログラミング練習

anond:20181017161003 増田プログラマー養成講座 その5 オブジェクトとは何か?

anond:20181017191404 増田プログラマー養成講座 その6 OOPの種類、PHPの準備

anond:20181019181549 増田プログラマー養成講座 その7 OOPの仕組み(前半)

anond:20181020230044 増田プログラマー養成講座 その8 OOPの仕組み(後半)

anond:20181022232327 増田プログラマー養成講座 その9 MVCフレームワークを使ってみよう

anond:20181023184616 増田プログラマー養成講座 その10 OOP参考書

anond:20181024214133 増田プログラマー養成講座 その11 データベースを使ってみよう

anond:20181026145516 増田プログラマー養成講座 その12 データベース参考書 ←★今ここ★

anond:20181028152656 増田プログラマー養成講座 その13 SQL文法

anond:20181024214737 増田プログラマー養成講座 コンテンツ一覧

2018-10-25

anond:20181024214737

臨時Java入門講座

この講座を書くきっかけとなった増田anond:20181015215004経験からプログラマーなんだが全然からない 2018-10-15)を改めて読んでみると、

という条件みたいなので、ちょっと方針を転換してみようと思う。

 

とりあえず今月中に、

の2点を最低限のラインとして、スキルアップを図る。

 

もしも、試用期間が1ヶ月ぐらいで、今月中に「仕事ができない」と判断されたらクビになる、とかだったら仕方ないけど、来月以降も居座ってもいいなら、何とかなるんじゃないでしょうか?

 

ニーズ予測

Javaを使っている」という情報だけでは、何のシステムを作っているのか?正直分からないけど、可能性としては、

  1. Web系のシステム開発:何らかのWebフレームワークを使って、Webサービスを開発している。
  2. 社内の基幹システム:社外には公開しないので、ゆっくり開発できる。金融機関とかもゆっくり&じっくり作ってますね。
  3. AndroidアプリJavaスマホアプリを開発している。UnityならC#Unreal EngineならC++を使うだろうからゲーム系ではないかも?

どれかに賭けるなら、Web系:50%、基幹系:30%、スマホ20%ぐらいの可能性だろうか?

 

Java講座をやるなら、

  1. Spring Bootなどのフレームワークを使って簡単Webアプリを作ってみる。
  2. 簡単Androidアプリを作ってみる。

という内容を11月中にできればいいかな?

2018-10-22

増田プログラマー養成講座 その9 MVCフレームワーク

前回はオブジェクト指向プログラミングOOP)で使う様々な仕組みについて学びました。

今回はOOPWebアプリを作ってみよう!

 

今日学ぶこと

 

OOPの使いどころ

OOP文法を学んだ後、OOP長所が発揮される場面をどうやって説明したらいいのか?を考えてみた。

横田意見を参考にして、「フレームワーク」を使って、OOPの使い方を見てみよう。

 

フレームワークとは?

framework →「枠組み」「骨組み」「構造」などという意味英語

システム開発で使われる「フレームワーク」とは、よく使われる機能のパーツを用意して、まとめて1つのパッケージにしたプログラム群のことだ。

 

イメージとしては、いろんなおかずが入ってる豪華な幕の内弁当のようなものだ。

ただし、ご飯のマスだけが空になっていて、プログラマー自分ご飯を用意しないと、弁当としては完成していない形になってる。

普通の白いご飯を作って追加しても良いし、好みや必要に応じて、炊き込みご飯やまぜご飯を作って追加しても良い。

ゼロから豪華な幕の内弁当を作るのは大変だけど、ご飯だけ用意すれば完成するので楽ができる。

 

プログラムの開発でフレームワークを使うと、プログラマー必要最小限のコードを書くだけでアプリを完成させられるので楽ができる。

 

ライブラリーフレームワークの違い

フレームワーク」と似た用語で「ライブラリー」という用語がある。

イメージとしては、ライブラリーは、ばら売りのおかずだ。

弁当を作るときに使いたいおかず(ライブラリー)を自分で考えて探し出し、選ばないといけない。

フレームワーク最初からおかずが全部用意されているので、自分でわざわざ選ばなくてもOK

 

プログラム動作で見た場合フレームワークライブラリーでは決定的な違いがある。

↑このページの「図1●フレームワークにおける制御の反転」という図解を見てみよう。

制御の反転」(Inversion of Control、IoC)といって、自分の書いたコードが主役から脇役になってる点が違う。

 

(主役と脇役という説明は適切ではないかもしれないけど、イメージとしてはそんなかんじ?)

 

MVCフレームワークとは?

フレームワークはいろんな機能全部入りで、こいつを使えば、ちょっとコードを書くだけで、高機能アプリがすぐに作れる。

ここでは「MVCパターン」という仕組みで作られた「MVCフレームワーク」を使ってみよう。

 

MVCは「Model」「View」「Controller」の略で、MとVとCの3つを自分で用意すれば、アプリが作れちゃう仕組みだ。

MVC歴史は古くて、GUI(Graphical User Interfaceグラフィカルユーザインタフェース)を作る方法定番だ。

→「MVC 仕組み」でGoogle画像検索すると、分かりやすい図解がいろいろ出てくる。

 

(参考)

Wikipedia説明は、文章学術的で難しいけど、正確な説明になってると思う。

↑このページの「MVC概要」という図が、MVCの仕組み=動作の流れを分かりやす説明してる。

 

MVCの仲間たち

MVCパターンと似たような仕組みが、他にもいろいろある。

 

こういうプログラム設計に関するノウハウは、「アーキテクチャー・パターン」という分野に蓄積されている。詳細はGoogle検索してみよう。

 

WAF(Web Application Framework

Webアプリを作るときに使われるMVCフレームワークには、いろいろある。

WAFを使うと、Webアプリが手軽に作れる。

 

有名なものとして、

などが挙げられる。

 

PHPOOP学習しているので、ここではPHPのWAFの1つであるCodeIgniter」を使ってみよう。

 

CodeIgniterコードイグナイター)

CodeIgniterは使い方がシンプルで、覚えるルールが少ないので教材に向いているだろう。

それでは、CodeIgniterを使ってみよう。

 

準備

↑このページの「Downloadから「3.1.9.zip」という圧縮ファイルダウンロードする。(2018年10月現在バージョン3.1.9でした)

 

ダウンロードしたファイル解凍して、「CodeIgniter-3.1.9」というフォルダが出てきたら、「waf」という名前に変えよう。(「waf」はWeb Application Frameworkの略。)

今「waf」フォルダの中には、「index.php」というファイルや、「application」「system」などフォルダがあるね?

この「waf」フォルダを以前用意したXAMPPの中にコピーする。(参照:anond:20181017191404 増田プログラマー養成講座 その6 OOPの種類、PHPの準備)

=「C:\xampp\htdocs」(Cドライブの中の「xampp」の中の「htdocs」というフォルダ)の中に「waf」をコピーして下さい。

=「C:\xampp\htdocs\waf」という位置コピーできたらOK

 

動作チェック

これで「Welcome to CodeIgniter!」というWebページが表示されたら、CodeIgniter動作確認OKです。

 

CodeIngiterの設定

$config['base_url'] = 'http://localhost/waf/';

 

Webアプリ作成

それでは「Hello, world!」と表示させるシンプルWebアプリを作ってみよう。

 

MVC「C」作成する。

<?php

defined('BASEPATH') OR exit('No direct script access allowed');

 

class Hello extends CI_Controller {

 public function index()

 {

  $this->load->view('hello_index');

 }

}

ここで注目して欲しいのは、「class Hello extends CI_Controller」という部分です。

フレームワークが用意している「CI_Controller」というクラス継承して、自分で「Hello」というクラスオブジェクト設計図)を作っている、という点です。

ここでOOPの仕組み~継承を使ってるわけですね。

 

MVCの「V」を作成する。

次に、

<?php defined('BASEPATH') OR exit('No direct script access allowed'); ?>

<!DOCTYPE html>

<html>

<head>

 <meta charset="utf-8">

 <title>Test</title>

</head>

<body>

 <p>Hello, world!</p>

</body>

</html>

 

これでWebアプリができました!

今回は簡単なので、MVC「M」は用意しませんでした。(CとVだけで完成)

 

Webアプリ動作確認

Webブラウザーで「http://localhost/waf/index.php/hello」というURLアクセスして下さい。

画面に「Hello, world!」と表示されたら、Webアプリ作成成功です!

 

Hello, world!」の表示だけではショボ過ぎるけど、Webフレームワークを使えばもっといろいろな機能が作れます

詳細は、CodeIgniterマニュアルを参照して下さい。

↑このページで「ユーザガイド(日本語)」を読んでみて下さい。

 

まとめ

 

次回は、OOP理解を深めるための参考書を紹介してみます

 

Webアプリを作るときデータベースがないと不便なので、次の次ぐらいにSQLを学ぼう。

MySQLデータベース)を使えば、掲示板などのWebアプリも作れるようになります

 


anond:20181015215004 未経験からプログラマーなんだが全然からない

anond:20181016015826 増田プログラマー養成講座 その1 パソコンの用意

anond:20181016164341 増田プログラマー養成講座 その2 プログラムデータ+処理、プログラム言語の種類

anond:20181016180059 増田プログラマー養成講座 その3 構造プログラミングの基本(順次、反復、分岐

anond:20181016193144 増田プログラマー養成講座 その4 子ども向け教材「Scratch」で構造プログラミング練習

anond:20181017161003 増田プログラマー養成講座 その5 オブジェクトとは何か?

anond:20181017191404 増田プログラマー養成講座 その6 OOPの種類、PHPの準備

anond:20181019181549 増田プログラマー養成講座 その7 OOPの仕組み(前半)

anond:20181020230044 増田プログラマー養成講座 その8 OOPの仕組み(後半)

anond:20181022232327 増田プログラマー養成講座 その9 MVCフレームワークを使ってみよう ←★今ここ★

anond:20181023184616 増田プログラマー養成講座 その10 OOP参考書

anond:20181024214737 増田プログラマー養成講座 コンテンツ一覧

2018-10-05

転職について(採用側編)

前置き

いろいろ有って2年ほど努めた会社を離れることになった。職種WEBエンジニア。主にフロントエンド担当ポジションとしてはリーダー格。所属会社はいわゆるWEBベンチャー

何社も経験しているジョブホッパーだが、スキル経験はこの会社で一番貯めることが出来たし、一緒に働いてきた仲間はいい人たちだったので感謝している。しか事業方向性自分方向性がずれ始めたので会社を離れることになった。

この会社では採用担当することが出来、そのおかげか今回の転職活動人生で最もスムーズで、かなり質の高いオファー複数もらうことが出来た。どこも魅力的な会社で高い評価を頂いているので、辞退する会社には正直申し訳なく思う。もちろん超売り手市場の超売り手職種ということもあり、自分の実力以外の側面も強いのだが。

そこで2回に渡ってありきたりだけど、転職について書きたいと思う。今回は採用側としての視点で書く。

自分身バレ以上に応募者のプライバシーのほうが問題なので、ある程度ぼかして書いてます

採用側としての立ち位置

自分採用側としての立ち位置は以下の通りである

実際に通した人・通さなかった人

100名近く会って実際に通したのは5〜10程度。一次通過率厳しすぎじゃね?って思われるかもしれないが、自分としてはできる限り通すつもりでやった。それでもこの結果だった。

さなかった人

9割以上で通さなかったのはこういった人たちである

スキルがあまりにも低すぎる・ミスマッチな人

フロントエンドエンジニアということなので、最低限「HTML/CSS/JavaScriptコーディングできる人」「Gitを使った開発ができる人」という観点でだけしか見ていないのだが、それすら至っていない人が多かった。

職業訓練校で習ったので、AdobeHTMLCSSは出来ますjQueryプラグインは設置できますGitってなんですか?」とか「制作会社LPを量産してきました。Reactってなんですか?」とかそういう人である

いくら売り手市場とはいえWebアプリ開発者を求めているので、このレベルの人を採用して教育するほどの余裕はない。最低限学習意欲や、キャッチアップする能力があればいいのだが、こういう人に限って「これから頑張ります」という感じなので、正直お断りしていた。

こういう人は本来であれば書類スクリーニングすべきなのだが、会社自体が有名ではないせいか応募母数が多くないので、こういう人も書類は通していた。

逆にSIer社内SEから転向組の方も多かったが、「JAVAで基幹システム作っていますバージョン管理SVNです。Angularってなんですか?」とか「社内システム開発でベンダーコントロールしてました。希望年収は現職と同じく700万です」とか。もちろんGitHubアカウントなど持っていない。なぜ弊社に応募してこようと思ったのか謎である

恐らく流行モダンフロントエンドRailsGitHubでPR開発という、ベンチャーによくあるキラキラした部分に惹かれてきたんだろうけど、それにしても準備しなさすぎじゃないですか?この手の人に少し技術的に突っ込んだ質問をすると、大体とんちんかんな回答が返ってくる。

そもそもいくら応募母数が少ないとはいえこういう人を書類通過させるのもどうかと思う。もうちょっと書類スクリーニングしてくれと言ったが、自分意見は通らなかった。ちなみにその上司もも会社にいない。

職歴・経歴・スキル募集ポジションに大きな乖離がある人

上記に書いた社内SE氏もここに含まれるだろうが、それ以外にもこういう人がいた。

「43歳で現在雑用アルバイト会社ホームページ担当を片手間でやってます(一応paizaではS判定)。ところどころ空白期間あり(聞いたらガチニートだった)。Gitってなんですか?」とか「38歳でコンサル会社マーケティング担当ですが、技術スキル手に入れたいのでキャリアチェンジしたいです。スクールWEBコース勉強してますVue.jsってなんですか?」とか。

どちらも普通な書類落ちレベルだが、前者の方はpaiza経由なので面談確約だし(paiza経由でGit知らないとかギャグかと思った)、後者の方もポテンシャルによっては通してもいいのだが、年齢の割にちょっとキャリアに考えが甘すぎると思ったのでお断りした。

人柄に問題ありすぎな人

正直なところ、自分ジョブホッパーだしあまり性格がいいとは言い難いし、実はそこまで人柄は見ていないのだが(どんな人にも長所短所はあると思うので)、それにしてもちょっとこの人とは働きたくないなと言う人はお断りした。

具体的には「前回面談で日程勘違いですっぽかしたにもかかわらず、再設定された面談で一切謝罪もなかった」とか、退職理由を聞いたら「上司や同僚とうまくいっていない、自分にはもっとふさわしい職場がある」とか、技術的に少し乖離があります大丈夫ですか?と聞いたら「そんなの調べれば出来るし、大した問題ではない」と逆ギレ的に回答してくるなど。

ちなみにこれは全部同じ人。あまりにもひどいので速攻でお帰りいただいた。エージェント経由だったので、一応人柄でこれは駄目でしょ的なフィードバックを返したけど、多分こういう人は改まらないだろう。そもそもすっぽかした人を再面談なんてありえないと思うんだけどね(これは会社批判)。

ジョブホッパー自分が言うのもアレだが、こういう人は次の職場でも同じ問題で離職することになるだろう。まずは自分客観視することからおすすめしたい。

あと、印象に残っているのがいわゆる「意識高い系である

その人はもともと難関大学と出て難関資格を持っていて、それなりに高い給与をもらっているハイスペックな人だったが、WEBエンジニアになりたいということで海外エンジニア留学したといいう人である

と、ここまで聞けばポテンシャルだけでも一次通過でいいような気もするが、肝心のGitHubの成果物がいわゆるスクール勉強したものそのままという感じで、あまりクオリティが良いものではなかった。

聞いてみると、その成果物スクールの仲間で作ったもので、実装は他の人がやっていて、自分プロマネポジションをやっていたということである

年齢も若い人だったので「弊社みたいな有名ではないベンチャーではなく、いわゆるメガベンチャー的なところとか受けなかったのですか?あなたならそこでも活躍できそうですよ?」と聞いてみたところ「そういう大きなところでは、自分で手を動かすことが出来なさそうだから考えてないです」とのことである。言ってることとやってることがちぐはぐである

こういう人に必要なのはスクールに行くことではなく、まず自分がやりたいことを明確化して、実際にそれを実現するには何が必要かを考えることではないだろうか。

正直なところ、無理にエンジニアになるよりも大きな会社で、プロデューサーポジションかに行ったほうが幸せな気がする。ただそういうところも「意識高い系はいらんだろうけど。

通した人

通した人は母数があまりに少ないのだが、だいたい同じような傾向である

年齢や経歴はバラバラだけど、方向性はだいたい一緒である。正直なところ、実はそこまでハイスペックな人を求めているわけではないし、有名ベンチャーみたいにアウトプット原理主義というわけでもないのだが、ハイスペックな人はだいたい上記が当てはまる。

さてこれだけ頑張って一次面接通しても、最終的に採用に至ったのは2名である経営者現場判断はまた別なんだろうし、うちで欲しい人はよそでも欲しいので辞退もそれなりにあった。

採用に参加するのはおすすめ

エンジニアエンジニアリング以外したくない、自分業務以外はしたくない、という人も多いだろうが、採用に参加するのは自分にもメリットがあるのでおすすめである

チーム作りとかそういう意識高い的なことでもなく、ひたすら自分の他メリットとして考えても十分有用である。実際に自分面接官として苦労した話をすると共感を得ることが出来て、非常に有効だった。

次は求職者側の視点で書く。

追記

id:xlc 人が集まらないのはあなた会社に魅力がないから、という前提を忘れているんでないかい?

まさにそのとおりで、だからこそ採用に苦労するし、それどころか自分を含めて次々と離職している。ただ今回は自分採用視点でのナレッジを活かしたいからこういうのを書いた。

リファラルがどうのとマネージャーが言ってきたときは「うちの会社リファラルで人を採用できるような魅力あると思う?」と言ったらぐぬぬとなっていたw。

採用手当以前に、まずは作っているプロダクトと労働環境を魅力的にしろと。

M社の例の怪文書採用強者側の視点で、自分が書いたのは採用弱者側の視点。強弱にかかわらず最終通過率が殆ど変わらないのが興味深いと思う。

id:thesecret3 100名も会って採用1~2名なら人材紹介か社長一本釣りのほうがよくないか

社長エンジニアの実務層への伝手はほぼ皆無だし(ビジネス出身だし)、人材会社エージェントを使ってたけどほとんど効果なかった(M社と同じ感想)。いわゆるヘッドハンターを使うほどの金はないし。エグゼクティブではない実務レベルの人をヘッドハンティングするのは。。。これに関しては求職側編で書く。

アーカイブ ヘルプ
ログイン ユーザー登録
ようこそ ゲスト さん