転職希望者向けのスクール事業を開始しました!合わせて入門書の販売も開始しました!

この度、株式会社サイゼントにて、未経験でプログラマー転職を希望する方向けのスクールを開講しました!
それに合わせ、スクールのカリキュラムを入門書としてまとめ上げ、Amazon kindleにて販売を開始しました!

今回始めたスクール事業と入門書販売は
「受託開発事業・SES事業を担う会社自ら、新入社員向けの研修をブラッシュアップして外部公開したもの」
であり
「プログラマーとして必要な実践的なスキルを短期間で身につけられる
という特徴を持ちます。

実践的なスキルを身につけることを目的としているため、取り扱うプログラミング言語も、実際の開発現場で採用されることが多いJavaとしています。

今回始めたスクール「サイゼントアカデミー」の情報は以下のページにあります。
https://academy.cyzennt.co.jp/

また、入門書「絶対にJavaプログラマーになりたい人へ」の情報は以下のページにあります。試し読みもできます!
https://www.amazon.co.jp/dp/B0D2VJ3GF2?ref_=cm_sw_r_mwn_dp_89VCZMESGWHP4AHHPEHH&language=ja_JP¤cy=JPY

ご興味がありましたら、ぜひ上記ページにアクセスしてみてください!


スクール事業と入門書販売は、社長の想いに共感した複数の社員達の協力によって、実現したものです。
「このスクールと入門書は世に送り出すべきだ」と考える私を含めた社員達が、忙しい開発業務の合間を縫って時間を捻出し、ようやく公開に漕ぎつけたものです。
また、得意分野が異なる社員達が、それぞれの知見を持ち寄ることで完成したものでもあります。
このスクールと入門書は、一人の力では決して世に送り出せなかったものです。

スクールと入門書に対する私の想いは以下のものです。
これは社長や他の社員達の想いとは異なるものかもしれませんが、そう違わないはずです。


プログラマー転職を目指すための未経験者向けのスクールは決して新しいものではなく、既に様々なスクールが乱立しています。
どのスクールも立派なカリキュラムです。カリキュラムをやりきれば、達成感と自信が生まれると思います。
未経験転職を成功させ、プログラマーとしてバリバリ活躍する、という夢を叶えられそうな内容です。

しかし、スクールで教えているスキルと、実際に実務で必要になるスキル、本当に乖離はしていないのでしょうか?
弊社にもスクール卒業生が入社してくることがあります。しかし、残念ながら、弊社の研修による学び直しが必要になってしまっています。

受託開発事業やSES事業を担う弊社では、未経験の社員に実践的なスキルを教えなければなりません。
実戦的なスキルが身につけることができなければ、受託開発事業ではお客様が望むシステムを納品できず、SES事業ではすぐに契約を打ち切られ、会社として収益を上げることができません。
また、研修期間中の社員は収益を上げることができないため、実践的なスキルを身につけるのに1年も2年もかけるわけにはいきません。

生徒からの入校料が収益源であるスクール専業の企業と異なり、弊社の場合は、お客様から支払われる開発費用が収益源です。
受託開発事業やSES事業を担う弊社には、未経験者に実践的なスキルを効率的に教える責務があり、この責務を果たすことができなければ収益を得ることはできません。
会社が設立された2011年以降、未経験者を採用して社員数を増やしながら13年間事業を継続できていることが、弊社が責務を果たしていること、そして、弊社の研修内容に競争力があることの何よりの証拠です。

そして
そのような競争力のある研修を、社員の間でだけ共有するのは勿体ないのではないか?
と考え、研修を「スクール」という形でブラッシュアップして外部公開したものが、今回開講した「サイゼントアカデミー」です。

また、スクールのカリキュラムの内容は、入門書という形で、別途販売することとしました。

スクールとして外部公開するまで、弊社の研修では、既存の入門書を使用して基礎を学んだ後に弊社独自の課題で応用を学ぶ、という形を取っていました。
しかし、実践的な内容を満遍なく身につけようと思うと、複数の入門書から必要な個所をピックアップする、という形を取らざるを得ませんでした。
これは、入門書の購入費用がかさむというだけでなく、体系的な理解を妨げたり、研修の指示や管理を難しくしたりするものでした。

そこで、研修の外部公開を機に、弊社の研修で教えていることを一冊の入門書という形にまとめ上げ、この問題を解消しました。
入門書「絶対にJavaプログラマーになりたい人へ」を読むことで、実践的な内容を一冊の入門書でワンストップで身につけることが可能になります。

本書には、Javaの基礎のみでなく、以下の内容も含まれます。

  • JUnitを含めた単体テスト技法
  • データベース操作やテーブル設計
  • 代表的なフレームワーク(JSP・サーブレット、Springフレームワーク)

本書には、「レガシー」と言われるような古い技術の内容も含まれます。例えば、「JSP・サーブレット」がそれに該当するでしょう。
しかし、これは「急がば回れ」であると考えており、最前線に立ち続けるベテランのプログラマーと同じように、古い技術から順番に土台を積み上げることで新しい技術も理解しやすくなる、と考えて残している内容となります。
また、社会のインフラを支えるシステムでは、信頼性の確保を最優先するために古い技術を採用していることがあります。そのような社会的な意義が大きいシステムの開発でも活躍することができるようになり、プログラマーとしての仕事の幅を広げることができます。

入門書「絶対にJavaプログラマーになりたい人へ」を購入して勉強するだけでも、プログラマーとしての実務で求められるスキルを効率良く身につけることができます。
しかし、未経験者にとってプログラムの勉強はハードルが高いものです。行き詰まった時にサポートしてくれる人がいた方が安心ですし、より効率的に学習を進めることができます。
また、試しにプログラムを動かしたり、課題を解いたりする中で、本当に自分が書いたプログラムは正しいのか、実務で通用するものなのか、不安になることがあると思います。この不安を解消するためには、実務経験者からのフィードバックが必要になります。

サポートしてくれる人や、フィードバックをくれる実務経験者の協力が欲しくなりましたら、是非ともスクールへのご入校を検討してください!

スクール「サイゼントアカデミー」と入門書「絶対にJavaプログラマーになりたい人へ」は、実務で通用するプログラマーの育成に貢献できるものであると確信しています。

人間は学び始めの時に自信過剰に陥りやすい

表題の通り、人間には、学び始めの時に自信過剰に陥りやすい、という特徴があります。
一般的に、ある分野について学び始めた時は自信過剰になり、更に学ぶとその分野の知見の深遠さに気付き自信がなくなる、そしてそれ以降は徐々に自信がついていく、という経過をたどります。

これは心理学の用語で「ダニング=クルーガー効果」と呼ばれます。
知識・経験の程度と自信の高低については、以下の図が分かりやすいでしょう。


IT分野においては、IPAの高度情報処理技術者試験(ネットワークスペシャリスト試験、データベーススペシャリスト試験等の区分に分かれた試験の総称)のような難しい試験に若手の内に合格して自信過剰になる、というのが分かりやすい例でしょう。
高度情報処理技術者試験は確かに各々の分野の最高峰とされる試験であり、人によっては2~3年の経験と勉強で一部の区分に合格することができますが、若手の内に最高峰とされる試験に合格できてしまうことが一つの罠になっています。

最高峰とされているものの、実際には、この試験に合格するだけでは以下の知見を身につけることはできません。

  • 製品固有の知見
  • 最新の知見
  • 現場固有の知見やアドホックなテクニック

高度情報処理技術者試験に合格するとその分野については極めたと感じて自信過剰になってしまいがちですが、実務経験が伴っていないと上記のような知見が抜けてしまいがちなため、「各々の分野のスペシャリストになるための下地が身に付いた」というのが正しい理解です。


自信過剰に陥ると、その分野に精通している人物から実力を低く見られてしまうので、注意が必要です。
例えば、SESの面談の時に「○○はできますか」とスキルを確認する質問をされることがありますが、ここで、案件・現場の固有の事情や導入技術等の具体的な情報を確認することなく自信満々に「できます!」と答えてしまうと、自信過剰である(実力的に未熟である)と見られてしまう可能性があります。
その分野について勉強していたとしても、自分が知らない知見があることを常に考えて、謙虚になるのが重要です。


若くして立派な資格を持っているのにも関わらず人物面の理由で面談に落ちてしまった、という話を聞いたので、今回の記事を投稿しました。
私自身も、若い時に自信過剰になり、周りと上手くコミュニケーションが取れなくなり、評価を落としたことがありました。

自信が生まれるほど勉強すること自体は素晴らしいことですが、努力して身につけた知見を実務の中で上手く活かすためにも、謙虚さを忘れないようにすることが大事です。

問題は分割して考えるべき

一般的に、何かの問題を解決したい場合は、解決する道筋を考えて、問題を分割しようとするべきです。
そうすることで、

  • やるべきことが明確になる
  • わからない所が出てきた時に調べやすくなる
  • 作業分担ができるようになる

といったメリットがあります。

これは、プログラミングにも言えることです。
初学者の場合、何かのプログラムを作る時に「何から手をつけたら良いのかわからない」という状態になることがあります。
この状態になった時は、どのように処理を組み合わせれば作りたいものを作れそうか、日本語で良いので列挙することが重要です。
そうすることで、思考を整理できますし、熟練者に質問もしやすくなります。


例として
「Windows端末で、ワンタッチでファイル内の”a”の文字を”b”に置換する」
という問題を考えてみます。

まずは、以下のような2つの問題に分割することができます。

  • どのプログラミング言語で実装するか
  • どのようなロジックで実装するか

「どのプログラミング言語で実装するか」という問題に関しては、今回は手軽さ・性能の高さ・汎用性の高さのバランスが良いC#で実装することにします。

「どのようなロジックで実装するか」という問題については、更に以下の3つの問題に分割することができます。

  • C#のプログラムをワンタッチで実行する
  • ファイルの入出力を行う
  • “a”の文字を”b”に置換する

「C#のプログラムをワンタッチで実行する」については、「Hello World!」と呼ばれる文字を出力するだけの最も簡単なプログラムを実行してみるのが良いです。
今回は、以下のように、batファイルから実行する方法を採用します。これにより、batファイルをダブルクリックするだけでC#のプログラムを動かすことができるようになります。

・フォルダ構成

・execute.bat

・replace.cs

・実行結果

コンソールが立ち上がり、”Hello World!”と出力される。


「ファイルの入出力を行う」については、ファイルを入力して1バイトずつ読み込んでそのまま出力するだけのプログラムを作るのが良いです。
先に作ったプログラムを少し改変してみます。

・フォルダ構成

・replace.cs

・input.txt

・実行結果

filesフォルダの下にoutput.txtが生成され、中身はinput.txtと同じになる。


あとは、読み込んだ文字について「”a”の文字を”b”に置換する」処理を追加すれば、今回の問題は解決します。
先ほどのプログラムを改変してみます。

・replace.cs

・実行結果

filesフォルダの下にoutput.txtが生成され、中身は以下の通りになる。


今回は、新人研修の度に毎回教えていることを記事にしました。
新人研修の時はJavaのプログラムの課題を題材にしていますが、題材を問わず同じことが言えます。

問題を分割して考えられるようになるだけでも仕事を進めやすくなるので、今まで意識できていなかったという方には改めて意識することをお勧めします。

ラポール形成とは

ラポール形成とは、相手との信頼関係を築くことで、コミュニケーションを円滑に進められるようにするためのテクニックです。
元々カウンセリングのテクニックですが、ビジネスにも応用可能です。


自分の立場からの意見を通したり、アドバイスにより相手の行動を変えて欲しいと思っていたりする場合、正論や成功体験を一方的に語るだけでは反感を買うだけとなり、聞き入れてもらえません。
そこで、相手の話を聞き、相手の立場に理解し共感することで、心理的な信頼関係を最初に築くことが重要になります。

まずは、相手を尊重し、相手の言うことに耳を傾けることが重要になります。
その際、相手の言うことを否定せずに、相手を理解しようとすると良いです。
(たとえ、自分の立場や信条、価値観、といったものに相いれない話だとしても、一旦理解することに努めて下さい)
社内外や家族の人間関係のような、プライベートな話までしてくれるようになるのが理想的です。

自分の意見を発したりアドバイスをしたりするのは、このようにして信頼関係を得てからです。
信頼関係を得てからであれば話を聞き入れてもらいやすくなりますし、相手の立場や心理状態に合わせた形でより適切に意見やアドバイスができるようになるという副次的なメリットもあります。


例えば、TOEIC高得点を取りたがっている新人エンジニアに対して、自分は基本情報処理技術者試験を優先して欲しいと思っているとします。
ここで、頭ごなしに基本情報処理技術者試験を優先するように言うのはNGです。

その代わり、まずはなぜTOEIC高得点を取りたがるのかを聞く必要があります。
そうすると、「今は海外のエンジニアと仕事するのが当たり前なのでTOEICを勉強したい」のような回答が返ってきます。
その気持ちを尊重した上で、「国内で実績を重ねないと海外でも相手されにくい。まずは基本情報処理技術者試験でエンジニアとしての基礎を固めて、国内で実績を重ねてから、海外のことを考えた方が良い」のような形でキャリアパスを提示しながら基本情報処理技術者試験を勧めると、聞き入れてもらえる確率が高くなります。


以前に「IT業界におけるメンタルヘルス対策」という記事を書きましたが、その時に「ラポール形成」については別の記事に書こう、と決めていました。
そう決めたままで今まで投稿していなかったのを思い出したので、投稿しました。

専門的な知識無しにビジネスの場で応用できるテクニックですので、覚えておいて損はないでしょう。

相手の論理に乗っかった主張が最も受け入れられやすい

交渉や議論の場で、相手の主張に対して自分の主張を通したい場面があるとします。
この場合、相手の論理に乗っかった形で展開される主張が一番通しやすいです。

相手は、何かしらの主張を行う際に、論理を積上げます。
その論理の中で何かしらの問題点があれば相手の主張は崩れるので、相手は相手自身の論理を否定することができません。
そのため、相手の論理の中で自分の主張に取り込むことができる部分があれば、その部分は相手に否定されることがなくなります。

例えば、自分が投資商品の販売員だとし、相手が見込客だとします。
そして、相手が、以下のような主張をしたとします。
主張 「私は投資はしない」
論理①「私は心配性なので、リスクは負いたくない」
論理②「投資は金額が減ったり増えたりするので、リスクがある」
論理③「だから、私は、投資せずに全額預金する」

ここで、相手の論理の中には、自分の主張に取り込めるものがあります。
それは論理①です。
預金は見た目の金額は減らないものの、物の値段が上がった時(インフレになった時)に、実質的に金額が減るデメリットがあります。
しかし、金(金属の金)へ投資していれば、物の値段が上がった時に金の値段も上がり、金の値段が上がったタイミングで換金することでそれを防ぐことができます。

以上のことを踏まえると、以下のように論理を組み立てることで、少なくとも論理①の部分については否定されることがない強固な主張となります。
主張 「あなたは金へ投資した方が良い」
論理①「あなたは心配性なので、リスクは負いたくない」←絶対に否定されない
論理②「預金はインフレの時に価値が目減りするリスクがある」
論理③「だから、あなたは、資産の一部を金で持った方が良い」


なお、心理学には似たような概念として、「一貫性の原理」というものがあります。
「一貫性の原理」とは、「人間は、やると決めたことや人に宣言したことを、一貫性をもってやり遂げようとする傾向がある」という原理です。
「その方が社会的に信用を得やすい」という理由と、「その方が判断にかかるコストを少なくできる」という理由により、このような傾向になりやすい、と言われています。

ただし、「一貫性の原理」は、論理について説明した概念というよりは、心理的バイアスについて説明した概念であるため、今回の私の記事で説明したテクニックとは少し趣が異なってきます。
論理を組み立てるというよりは、人間のバイアスを使った少しずるいテクニック、という色が強くなります。


いかがでしょうか。

IT業界においては、設計したりプログラミングしたりするだけでなく、時には交渉や議論が必要になります。
そこで、今回取り上げたようなテクニックが役に立つことがあります。

交渉や議論におけるテクニックはこれからも解説していきたいと思います!